Pedido, Fatura e Entrega: A História Completa
Visão Geral
Um objetivo importante das APIs DCP é fornecer aos concessionários funções comerciais em seu DMS, ajudando-os a melhorar suas operações.
Processo de Pedido de Peças

O processo começa quando o revendedor cria um pedido de peça em seu DMS.
Seu DMS deve chamar o API de Concessionárias para recuperar os métodos de envio disponíveis para o revendedor e mostrá-los na tela.
O revendedor deve ter acesso ao catálogo de peças BRP, obtido através do API de Peças, para pesquisar e selecionar as peças a serem encomendadas.
Se ainda não foi feito, o revendedor faz login no BOSSWeb com suas credenciais através do seu DMS, e você salva o access_token retornado pela API de Autenticação do Revendedor.
O revendedor usa o Validar função no seu DMS para enviar o pedido de peças para ser validado.
- A API de Pedido de Peças recebe a carga útil e a envia para o SAP.
- Seu DMS recebe a resposta e exibe o resultado para o revendedor.
- Se mensagens de erro aparecerem, elas são exibidas para o revendedor, que deve corrigir o pedido de peças e validar o pedido modificado.
- O revendedor verifica o pedido de peças e os custos resultantes, incluindo taxas de entrega, para garantir que estão conforme o esperado.
🛑 Você tem que lidar com o tempo limite no Validar função se houver mais de 30 itens de linha no pedido de peças.
Veja a Verificar Fluxo de Dados seção da API de Pedido de Peças para informações sobre como lidar com o tempo limite.
Quando o revendedor está satisfeito com o pedido de peças, ele usa o Criar função no seu DMS.
- O SAP valida o pedido de peças; se for válido, ele cria e salva o pedido.
- O resultado é retornado para o API de Pedido de Peças: ou o pedido de peças criado é retornado, ou uma mensagem de erro é retornada.
- Se o pedido de peças for criado, você o salva no banco de dados do DMS. Se houver uma mensagem de erro, ela é exibida para o revendedor.
🛑 O pedido de peças retornadas é não completo quando o SAP o retorna pela primeira vez. Por exemplo, as informações de entrega não estão disponíveis quando o pedido de peças é criado.
🚴♂️ Em média, leva 2 segundos por item para o SAP processar um pedido de peças. Portanto, um pedido de peças com 60 itens leva pelo menos 2 minutos para ser processado.
Sua interface de usuário DMS deve lidar com este longo processamento em segundo plano.
O SAP trabalha em segundo plano para completar o pedido de peças. As principais atividades são:
- Confirme a disponibilidade das peças e em qual armazém elas estão disponíveis.
- Prepare o pedido de envio do(s) armazém(s) onde as peças estão disponíveis.
- Observe que as peças podem ser enviadas de diferentes armazéns; neste caso, o revendedor recebe mais de um envio.
- Se uma peça não estiver disponível, o SAP determina uma data de disponibilidade e atualiza o pedido de peças com a informação.
Seu DMS deve chamar o API de Pedido de Peças Obter serviço para atualizar as informações do pedido de peças. Uma chamada para o Obter serviço deve ser feita enquanto o pedido de peças estiver aberto (não concluído).
A chamada para o API de Pedido de Peças Obter o serviço pode ser feito em intervalos regulares ou quando o pedido de peças é exibido ao revendedor. Ao atualizar o pedido de peças, o revendedor pode ver as informações de entrega e fatura para cada item.
Dependendo do número de itens na ordem de peças, o SAP pode levar de 10 a 15 minutos para processá-la completamente.
Quando a SAP prepara o pedido de peças, as informações de entrega são enviadas para o(s) armazém(ns), e os itens são entregues ao revendedor.
O revendedor recebe o(s) documento(s) de entrega e a(s) fatura(s) relacionadas ao pedido de peças. Continue lendo para obter a história completa!
As principais informações a lembrar no processo de negócios:
- Leva tempo para o SAP processar o pedido de peças, e seu DMS deve chamar o API de Pedido de Peças Obtenha serviço para atualizar o pedido de peças no banco de dados do seu DMS.
- O SAP processa pedidos de peças em uma média de 2 segundos por item, então um pedido de peças com 60 itens leva pelo menos 120 segundos, ou cerca de 2 minutos.
- Uma vez que os sistemas de backend processam o pedido, o API de Pedido de Peças Obtenha serviço retorna o pedido de peças concluído, e a resposta contém os documentos de entrega e referências de fatura.
- Uma vez que o pedido é enviado ao revendedor, eles recebem o(s) documento(s) de entrega e a(s) fatura(s).
Processo de Recebimento de Peças
Você vê que o processo de negócios de pedido de peças em alto nível é bastante simples.
Quando o revendedor recebe uma entrega, ele quer vincular as peças ao pedido de peças correspondente. É uma maneira de o revendedor garantir que todas as peças solicitadas foram recebidas.
O departamento de serviços pode precisar das peças para apoiar as atividades de manutenção e reparo.
Às vezes, as peças podem ter sido encomendadas especificamente para um cliente, e o revendedor quer informar ao cliente que as peças estão prontas.
Quando a entrega do pedido de peças e as faturas são separadas, as coisas ficam complicadas para os revendedores.
É quando o API de Entregas e API de Faturas vêm ao resgate.
Conectando os Pontos
Vamos ver como podemos conectar os diferentes elementos de pedido de peças para ajudar os revendedores.
Os Tipos de Documentos
Existem três tipos de documentos envolvidos no processo de pedido de peças.
Tipo de Documento | Descrição |
|---|---|
Pedido de Compra / Pedido de Venda | Um pedido de compra é criado com uma chamada para o API de Pedido de Peças. O número do pedido de venda retornado na API de Pedido de Peças Criar a resposta do serviço identificou o pedido de compra. 👉 Nos payloads retornados pela API triad, o pedido de compra é identificado pelo número do pedido de venda. 👉 O API de Pedido de Peças Obtenha o serviço também retorna os pedidos de compra criados no BOSSWeb. |
Documento de Entrega | O documento de entrega é recebido pelo revendedor com cada pacote que é entregue. O número do documento de entrega é encontrado no documento de entrega e na ordem de compra, no delivery_progress propriedade de cada item quando o status_code do item é shipped. Este número de documento de entrega pode ser usado para recuperar um documento de entrega com uma chamada para o API de Entregas. |
Fatura | O revendedor recebe a fatura, que está vinculada tanto a um pedido de compra quanto a uma entrega, uma vez que apenas os itens entregues são faturados. O número da fatura é encontrado na fatura, e também na ordem de compra, na delivery_progress.billing_documents propriedade de cada item quando o status_code do item é shipped. Este número de fatura pode ser usado para recuperar um documento de fatura com uma chamada para o API de Faturas. |
Como Eles Se Conectam?
Uma vez que o pedido de peças é enviado, o(s) documento(s) de entrega e a(s) fatura(s) estão disponíveis.
Às vezes, um pedido de peças pode ser enviado ao revendedor em várias entregas.
Isso significa que o revendedor recebe mais de um documento de entrega e fatura.
Como mostrado na imagem abaixo, os tipos de documentos listados acima podem ser vinculados a outros tipos de documentos usando as propriedades de referência quando o pedido de peças é enviado!

👉 A informação mais importante é que o documento de entrega e a fatura podem ser vinculados ao pedido de peças.
Não Esqueça do BOSSWeb
Os revendedores costumam criar o pedido de peças no BOSSWeb. Para que o processo de recebimento de peças funcione com API de Entregas e API de Faturas, todos os pedidos de peças devem ser carregados em seu DMS.
É por isso que o API de Pedido de Peças Obter serviço deve ser usado para recuperar os pedidos de peças e carregá-los em seu banco de dados DMS.
Uma Entrega Não É Uma Caixa
👉 Lembre-se de que uma entrega não é necessariamente apenas uma caixa!
Uma entrega é um grupo de itens de pedido de peças enviados juntos e pode conter muitas caixas.
Por exemplo, um pedido de peças contendo 10 itens pode ser enviado em três caixas. Isso é visível nas informações de rastreamento dos itens (descritas abaixo): você encontra três números de rastreamento diferentes. Isso significa que o transportador está enviando três caixas.
Também é possível que um pedido de peças seja entregue através de muitos documentos de entrega. Por exemplo, itens em um pedido de peças podem ser enviados de diferentes armazéns.
Transportadora e Número de Rastreamento
A BRP utiliza transportadoras de terceiros para entregar os pedidos de peças aos concessionários. O número de rastreamento da transportadora também é uma informação importante no documento de entrega.
Quando o item do pedido de peças está sendo enviado, o tracking_details array para o item encontrado na API de Entregas resposta contém a lista de tracking_no e tracking_url fornecidos pela transportadora.
"tracking_details": [
{
"tracking_no": "1ZA6V7586880873601",
"tracking_url": "https://wwwapps.ups.com/WebTracking/track?loc=en_CA&AgreeToTermsAndConditions=yes&track.x=26&track.y=5&trackNums=1ZA6V7586880873601"
},
{
"tracking_no": "1ZA6V7586880873594",
"tracking_url": "https://wwwapps.ups.com/WebTracking/track?loc=en_CA&AgreeToTermsAndConditions=yes&track.x=26&track.y=5&trackNums=1ZA6V7586880873594"
}
]Mas espere!
Por que tracking_details é um array?
Com base no tamanho e peso do item, a transportadora pode precisar enviar mais de uma caixa para um item, resultando em vários números de rastreamento.
O concessionário poderia usar o número de rastreamento para encontrar o documento de entrega correspondente.
Infelizmente, a API interna da BRP não fornece um serviço de "pesquisa por número de rastreamento".
💯Se o seu DMS puder fornecer uma função de "pesquisa por número de rastreamento", isso seria de grande valor para o concessionário!
Entrega Dividida: Um Pesadelo para o Concessionário
Voltando ao processo de pedido de peças, uma vez que o pedido de peças está pronto no armazém da BRP, as caixas são preparadas e uma etiqueta de envio com o número de entrega é colocada em cada caixa.
Vamos supor que temos um pedido com 10 caixas.
O caminhão da transportadora chega ao armazém da BRP e é carregado com todas as caixas disponíveis, não apenas as 10 caixas que solicitamos. Mas então, o caminhão está cheio, e 3 das 10 caixas não foram carregadas!
O caminhão parte, e outro chega mais tarde. As últimas três caixas são carregadas neste caminhão. Desde que as primeiras caixas foram enviadas, as últimas três receberam um novo número de entrega.
👉 Um número de entrega começa com "85". Um número de entrega fracionada começa com "89".
Quando o revendedor recebe as últimas três caixas, o número de entrega no rótulo de envio é 8500163056.
Mas o número de entrega fracionada é algo como 8900031064.
Como você conecta os 2?
Primeiro, você pode obter o pedido de peças atualizado ligando para o API de Pedido de Peças Obtenha serviço. As informações de entrega do item parecerão assim:
"delivery_progress": [
{
"status_code": "shipped",
"status_date": "2023-03-17T14:25:56Z",
"status_descr": "",
"qty": 1,
"availability_date": "2023-03-17",
"delivery_no": "8900031064",
"delivery_item_no": "000040",
"delivery_qty": 1,
"delivery_creation_date": "2023-03-17T14:25:40Z",
"pgi_date": "2023-03-17T14:25:56Z",
"carrier_name": "",
"split_delivery_no": "8500163056",
"split_delivery_item_no": "000040"A split_delivery_no propriedade fornece o número de entrega original, e a delivery_no propriedade agora contém o novo número de entrega dividido.
Por que isso é importante?
❗❗ Porque o documento de entrega original não será atualizado com as informações de envio ❗❗
Se você chamar a API de Entregas para obter o documento de entrega 8500163056, a tracking_nos propriedade está vazia.
Quando chamado para o documento de entrega 8900031064, as informações de rastreamento estão disponíveis.
Alguns Cenários
Esta seção apresenta alguns dos diferentes cenários de pedido de peças, entrega e fatura, e como usar a API de Pedido de Peças, API de Entregas e API de Faturas para ajudar o revendedor a gerenciar o processamento e a recepção do pedido.
O Caso Mais Fácil: Um para Um para Um
A situação mais fácil é quando o revendedor recebe um pedido de peças como uma única entrega com uma única fatura.

Ao receber a entrega, o revendedor pode usar o número de entrega (8500001234) encontrado na etiqueta de envio para encontrar o pedido de peças correspondente usando o número do pedido de venda (1000005678).
Uma Entrega Parcial
Neste cenário, o revendedor faz um pedido de peças com cinco itens. A BRP pode enviar rapidamente três itens, então o revendedor recebe uma entrega com três itens.

Ao receber a entrega, o revendedor pode usar o número de entrega (8500001234) encontrado na etiqueta de envio para encontrar o pedido de peças correspondente usando o número do pedido de venda (1000005678).
O pedido de peças pode ser atualizado no DMS do revendedor para indicar que três itens foram recebidos e dois ainda estão pendentes.
Se a BRP enviou os dois itens restantes, a propriedade tracking_nos do pedido de peças contém os números de rastreamento da transportadora. O revendedor pode usar esses números de rastreamento para localizar os pacotes.
Múltiplas Entregas
Neste cenário, o revendedor faz um pedido de peças com 5 itens, e a BRP envia os itens em 2 entregas, possivelmente porque os itens são enviados de diferentes armazéns.

Novamente, ao receber uma entrega, o revendedor pode usar o número de entrega no rótulo de envio para encontrar o pedido de peças correspondente usando o número do pedido de venda.
Múltiplas Entregas de Múltiplos Pedidos
Neste cenário, o revendedor tem dois pedidos de peças: um com cinco itens e outro com dois itens. Duas entregas são feitas.
Como mostrado no diagrama abaixo, a primeira entrega contém dois itens do primeiro pedido de peças e dois itens do segundo pedido de peças.

Ao receber a primeira entrega (8500001234), os itens 1 e 2 podem ser vinculados ao pedido de peças usando o número do pedido de venda (1000005678). Os itens 10 e 11 estão vinculados ao outro pedido de peças usando seu número de pedido de venda (1000001234).
Quando a segunda entrega (8500005678) é recebida, os itens são vinculados ao pedido de peças usando o número do pedido de venda (1000005678).
❗ Observe que existem duas faturas diferentes para a primeira entrega (8500001234) porque as peças são de dois pedidos de peças diferentes (1000005678 e 1000001234).
Implementando um Processo de Recebimento de Peças
Esta seção apresenta um exemplo de implementação de um processo de recebimento de peças usando a API de Pedido de Peças, API de Entregas e API de Faturas.
Três cenários são usados para apresentar o processo de recebimento de peças:
- Um pedido simples com um item e uma entrega.
- Um pedido com muitos itens e muitas entregas.
- Um pedido com muitos itens e entregas divididas (veja a seção Entrega Dividida: Um Pesadelo para o Revendedor).
Cada cenário começa com o revendedor recebendo uma caixa com uma etiqueta de envio.
👉 Nestes exemplos, o pedido de peças é recuperado com uma chamada para o API de Pedido de Peças.
No entanto, na Requisitos DSP seção da API de Pedido de Peças, os requisitos 10 e 11 especificam que seu DMS deve recuperar o pedido de peças existente chamando o serviço da Obter.
Isso significa que quando um sales_order_no é obtido da API de Entregas ou API de Faturas, o pedido de peças deve ser recuperado do seu banco de dados DMS.
Coleção Postman
A DMS - Recebimento de Peças a coleção contém as consultas nos cenários apresentados abaixo.
👉 Você pode experimentar esses exemplos no ambiente QA, mas você deve usar os mesmos números de revendedor.
Um Pedido Simples - Com a Entrega
O revendedor recebe uma caixa, e a etiqueta de envio indica um número de entrega: 8500045713.
O processo de recebimento começa chamando o API de Entregas para obter as informações de entrega.
Obter a Entrega
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8900000704' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME' Obter o Pedido de Peças
O sales_order_no encontrado na API de Entregas resposta é usado para obter o pedido de peças.
👉 Na realidade, seu DMS deve procurar o pedido de peças em seu banco de dados.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/parts/orders?dealer_no=0000690005&sales_order_no=1030223136' \
--header 'Authorization-Dealer: THE_ACCESS_TOKEN' \
--header 'Authorization: Bearer REPLACE_ME'Neste exemplo, a parte recebida está facilmente vinculada ao pedido de peças.
Obter a Fatura
O número da fatura pode ser recuperado da lista de pedidos de peças deshipping_lines.deliveries.billings.billing_no objetos, e chamando a API de Faturas para obter a fatura.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/invoice/9030149646' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME'Um Pedido Simples - Com a Fatura
O revendedor recebe uma fatura com o número 9030149646.
O processo de recebimento começa chamando o API de Faturas para obter as informações da fatura.
Obter a Fatura
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/invoice/9030149646' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME'Obter a Entrega
Podemos obter a entrega e/ou o pedido de peças da fatura.
👉 Lembre-se de que na resposta da fatura, o sales_order_no e delivery_no são por item!
Você deve escanear os itens para recuperar todos os valores de sales_order_no e delivery_no!
Este exemplo é simples, então temos apenas 1 item.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8500045713' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME' Obter o Pedido de Peças
O sales_order_no encontrado no API de Faturas ou na API de Entregas a resposta é usada para obter o pedido de peças.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/parts/orders?dealer_no=0000690005&sales_order_no=1030223136' \
--header 'Authorization-Dealer: THE_ACCESS_TOKEN' \
--header 'Authorization: Bearer REPLACE_ME'Um Pedido com Vários Itens e Várias Entregas
Neste exemplo, um pedido com muitos itens é enviado em várias entregas.
O revendedor recebeu uma caixa com o número de entrega 8500045915, e o API de Entregas é chamado para obter as informações da entrega.
👉 Observe que o processo de recebimento de peças também pode começar com a fatura, como mostrado na seção Um Pedido Simples - Com a Fatura acima.
Obter a Entrega
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8500045915' \
--header 'Dealer-Number: 0000690377' \
--header 'Authorization: Bearer REPLACE_ME'A entrega contém 2 itens. Você deve processar os itens e extrair de cada um deles o sales_order_no e sales_order_item_no.
👉 Lembre-se de que uma entrega pode ter itens de muitos pedidos parciais!
Você não pode assumir que todos os itens são do mesmo pedido, então você deve extrair todos os sales_order_no e sales_order_item_no.
O código ficaria assim (este é um extrato de um script do Postman).
// Get the response from the API
var response = pm.response.json();
// We keep the delivery number
var deliveries = [];
var delivery_no = response.delivery_no;
// save the all delivery items
response.items.every( delivery => {
console.log( delivery );
var delivery_item_no = delivery.item_no;
var sales_order_no = delivery.sales_order_no;
var sales_order_item_no = delivery.sales_order_item_no;
var deliveryObj = { delivery_no: delivery_no,
delivery_item_no: delivery_item_no,
sales_order_no: sales_order_no,
sales_order_item_no : sales_order_item_no };
deliveries.push( deliveryObj );
return true;
});
pm.collectionVariables.set( "DELIVERY_RECEIVED", deliveries );
Obtenha o Pedido de Peças
O sales_order_no encontrado na API de Entregas resposta é usado para obter o pedido de peças.
Esta consulta usa o primeiro sales_order_no do deliveries array criado acima.
👉 Na realidade, seu DMS deve procurar o pedido de peças em seu banco de dados.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/parts/orders?sales_order_no=1030382589&dealer_no=0000690377' \
--header 'Authorization-Dealer: THE_ACCESS_TOKEN' \
--header 'Authorization: Bearer REPLACE_ME'Encontre os Itens
O pedido de peças contém 12 itens, então o próximo passo é identificar os itens que correspondem às peças recebidas.
Ao revisar os itens do pedido de peças, encontre aqueles que correspondem aos itens na entrega. Eles correspondem se tiverem os mesmos delivery_no e delivery_item_no valores.
var response = pm.response.json();
// Look to all the parts order items and find those matching the delivery
response.order.items.every( item => {
// For each item, look at the shipping lines
//console.log( item );
item.shipping_lines.every( shipping_line => {
// find the item corresponding to the delivery
deliveries.every( delivery => {
// check the order item delivery for a match
shipping_line.deliveries.every( item_delivery => {
if( item_delivery.no == delivery.delivery_no &&
item_delivery.item_no == delivery.delivery_item_no ) {
console.log( "Found " + item_delivery.no +
" " + item_delivery.item_no );
return false;
}
return true;
});
return true;
});
return true;
});
return true;
});
As informações de entrega dos 2 itens estão copiadas aqui.
"deliveries": [
{
"status_code": "shipped",
"status_date": "2023-06-26T12:17:32Z",
"status_descr": "",
"qty": 1,
"availability_date": "2023-06-28",
"no": "8500045915",
"item_no": "000010",
"delivery_qty": 1,
"creation_date": "2023-06-26T11:16:16Z",
"carrier_name": "",
"split_delivery_no": "",
"split_delivery_item_no": "",
"billings": [
{
"billing_no": "9030153034",
"billing_item_no": "000202",
"billing_creation_date": "2023-06-26T22:00:16Z",
"billing_qty": "1.000",
"is_cancelled": false,
"cancellation_billing_no": ""
}
]
}
],
"deliveries": [
{
"status_code": "shipped",
"status_date": "2023-06-26T12:17:32Z",
"status_descr": "",
"qty": 1,
"availability_date": "2023-06-28",
"no": "8500045915",
"item_no": "000020",
"delivery_qty": 1,
"creation_date": "2023-06-26T11:16:16Z",
"carrier_name": "",
"split_delivery_no": "",
"split_delivery_item_no": "",
"billings": [
{
"billing_no": "9030153034",
"billing_item_no": "000203",
"billing_creation_date": "2023-06-26T22:00:16Z",
"billing_qty": "1.000",
"is_cancelled": false,
"cancellation_billing_no": ""
}
]
}
],Uma vez que os itens são encontrados, eles podem ser marcados como recebidos.
Obter a Fatura
Ao mesmo tempo, as informações da fatura para esses itens podem ser recuperadas, e o API de Faturas pode ser chamado para obter a fatura.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/invoice/9030153034' \
--header 'Dealer-Number: 0000690377' \
--header 'Authorization: Bearer REPLACE_ME'Você verá na resposta retornada que a fatura contém 14 itens de 3 pedidos de partes diferentes: 1030382581, 1030382589 e 1030382592.
Novamente, os itens da fatura relacionados aos nossos dois itens de pedido podem ser encontrados usando o sales_order_no e sales_order_item_no propriedades de ambas as respostas.
👉 Lembre-se de que você também pode obter o PDF da fatura.

Obtenha a Próxima Entrega
No dia seguinte, o revendedor recebeu outra caixa com o número de entrega 8500045963.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8500045963' \
--header 'Dealer-Number: 0000690377' \
--header 'Authorization: Bearer REPLACE_ME'Esta entrega também contém dois itens, e o processo para encontrar o pedido de peças correspondente é repetido.
Um Pedido com Entrega Dividida
Como explicado na seção Entrega Dividida: Um Pesadelo para o Revendedor, uma entrega dividida ocorre quando algumas caixas não são enviadas como esperado, e uma nova entrega é criada, mas a etiqueta de envio não é atualizada.
O revendedor recebe uma caixa, e a etiqueta de envio indica um número de entrega: 8500013805.
O processo de recebimento começa ligando para o API de Entregas para obter as informações de entrega.
Obter a Entrega
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8500013805' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME' 👉 Note que a delivery_qty propriedade é nula para os itens. Isso indica que a entrega foi dividida, mas a confirmação é encontrada no pedido de peças.
Obter o Pedido de Peças
O sales_order_no é encontrado na API de Entregas resposta e usado para obter o pedido de peças.
👉 Na realidade, seu DMS deve procurar o pedido de peças em seu banco de dados.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/parts/orders?dealer_no=0000690005&sales_order_no=1030223136' \
--header 'Authorization-Dealer: THE_ACCESS_TOKEN' \
--header 'Authorization: Bearer REPLACE_ME'Neste exemplo, a parte recebida está facilmente vinculada ao pedido de peças.
Obter a Fatura
O número da fatura pode ser recuperado da lista de pedidos de peças deshipping_lines.deliveries.billings.billing_no objetos, e chamando a API de Faturas para obter a fatura.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/invoice/9030149646' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME'Obter a Entrega Dividida
Como seu DMS recebe pedidos de peças todos os dias, o revendedor pode recuperar as informações da entrega dividida usando o número de entrega 8900000704.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8900000704' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME' Processar os Itens
Vamos olhar para o item da resposta de entrega com o delivery_item_no propriedade definida como "000020".
{
"delivery_item_no": "000020",
"product_code": "420931795",
"product_description": "OIL SEAL",
"order_qty": null,
"delivery_qty": null,
"package_qty": 1,
"sales_order_no": "1030223136",
"sales_order_item_no": "000301",
"dealer_po_no": "test",
"tracking_details": []
}Como temos o pedido de peças, podemos pesquisar a entregas de cada item pedido para encontrar aquele com a delivery_item_no propriedade igual a "000020". Encontramos este item.
{
"ordered_line": {
"item_id": "0050568414291EECBA9EA6F32052A8E9",
"item_no": "000300",
"product_code": "420931795",
"product_descr": "OIL SEAL",
"order_qty": 5,
"dealer_po_item_no": "",
"dealer_product_code": "",
"sales_uom": "PC",
"min_order_qty": 1,
"is_sales_bom": false,
"product_line": "SNO",
"product_type": "30",
"texts": []
},
"shipping_lines": [
{
"item_no": "000301",
"product_code": "420931795",
"product_descr": "OIL SEAL",
"ship_qty": 5,
"sales_uom": "PC",
"price_uom": "PC",
"package_uom": "PC",
"in_package": {
"qty": 1,
"uom": "PC"
},
"package_count": 5,
"msrp_unit_price": 18.49,
"wholesale_unit_price": 10.98,
"net_unit_price": 11.2,
"currency": "USD",
"is_substitute_product": false,
"substituted_product_code": null,
"product_line": "SNO",
"product_type": "30",
"plant": {
"name": "BRP - BELOIT",
"city": "BELOIT",
"state": "WI",
"country": "US"
},
"pricings": [
{
"condition_type": "gross_amt",
"total_amount": 54.9,
"currency": "USD"
},
{
"condition_type": "tax_amt",
"total_amount": 3.36,
"currency": "USD"
},
{
"condition_type": "subtotal_amt",
"total_amount": 56,
"currency": "USD"
},
{
"condition_type": "surcharge_amt",
"total_amount": 1.1,
"currency": "USD"
}
],
"deliveries": [
{
"status_code": "shipped",
"status_date": "2022-06-17T14:05:14Z",
"status_descr": "",
"qty": 5,
"availability_date": "2022-06-16",
"no": "8900000704",
"item_no": "000020",
"delivery_qty": 5,
"creation_date": "2022-06-16T16:19:06Z",
"carrier_name": "",
"split_delivery_no": "8500013805",
"split_delivery_item_no": "000020",
"billings": [
{
"billing_no": "9030033039",
"billing_item_no": "000301",
"billing_creation_date": "2022-06-16T22:00:10Z",
"billing_qty": "5.000",
"is_cancelled": false,
"cancellation_billing_no": ""
}
]
},
{
"status_code": "shipped",
"status_date": "2023-08-14T19:23:24Z",
"status_descr": "",
"qty": null,
"availability_date": "2022-06-15",
"no": "8500013805",
"item_no": "000020",
"delivery_qty": 0,
"creation_date": "2022-06-10T15:43:11Z",
"carrier_name": "",
"split_delivery_no": "",
"split_delivery_item_no": "",
"billings": []
}
],
"statuses": []
}
]
}Olhando para o deliveries array, encontramos a entrada com o número de entrega que usamos (8500013805) e outra com um número de entrega de 8900000704. Essa última entrada tem a split_delivery_no propriedade definida como 8500013805, o número de entrega encontrado na etiqueta de envio.
A entrada de entrega 8900000704 contém as informações corretas da fatura (faturamentos).
👉 Se você não encontrar o item enquanto olha para a delivery_item_no propriedade, pesquise novamente usando a split_delivery_item_no.
É raro, mas não impossível que o delivery_item_no seja diferente entre as entregas originais e divididas.
Obter a Fatura
As informações da fatura para esses itens podem ser recuperadas, e a API de Faturas pode ser chamada para obter a fatura.
Observe que os dados da fatura contêm o número de entrega fracionada (8900000704).
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/invoice/9030033039' \
--header 'Dealer-Number: 0000690377' \
--header 'Authorization: Bearer REPLACE_ME'Rastreamento do Envio
Para o revendedor, rastrear o envio é um aspecto essencial do pedido e recebimento de peças. As informações de rastreamento são obtidas em duas etapas:
- Obtenha o pedido de peças atualizado através do API de Pedido de Peças para obter as informações de entrega.
👉 Lembre-se que na API de Pedido de Peças Requisitos DSP a seção, requisito 11 especifica que seu DMS deve recuperar o pedido de peças existente diariamente chamando a API de Pedido de Peças Get serviço.
O revendedor pode acessar as informações de entrega e faturamento recuperando o pedido de peças atualizado diariamente.
Vamos dizer que seu DMS recuperou o seguinte pedido de peças.
O pedido de peças contém nove itens. Você verá na entregas seção que há três números de entrega (não):
- 8502050884 com oito itens.
- 8502049960 com 1 item.
- 8502051148 com 1 item.
Os números de entrega podem ser usados para obter informações de entrega chamando a API de Entregas.
{
"delivery_no": "8502050884",
"dealer_no": "0000690012",
"customer_address": {
"street": "1601 MAIN STREET",
"city": "LUXEMBURG",
"state": "WI",
"country": "US",
"postal_code": "54217-1311"
},
"shipping_condition": "S0",
"ship_to_no": "0000690012",
"ship_to_address": {
"street": "1601 MAIN STREET",
"city": "LUXEMBURG",
"state": "WI",
"country": "US",
"postal_code": "54217-1311"
},
"last_change_date": "2024-05-17T00:00:00Z",
"items": [
{
"delivery_item_no": "000010",
"product_code": "271001039",
"product_description": "SPACER",
"order_qty": 2,
"delivery_qty": 2,
"package_qty": 1,
"sales_order_no": "1031012033",
"sales_order_item_no": "000101",
"dealer_po_no": "9329",
"tracking_details": [
{
"tracking_no": "1Z65R5V50303332698",
"tracking_url": "https://wwwapps.ups.com/WebTracking/track?loc=en_US&AgreeToTermsAndConditions=yes&track.x=26&track.y=5&trackNums=1Z65R5V50303332698"
}
]
},O revendedor pode usar a URL para acessar o site da transportadora e verificar o status do envio.
Por exemplo, seguindo o tracking_url o link abre o site da FedEx aqui:

Receba as Entregas com Antecedência
Outra maneira de ajudar o revendedor é recuperar as informações de entrega com antecedência.
👉 Na API de Entregas Requisitos Funcionais seção, há um requisito opcional que seu DMS recupere as entregas existentes diariamente.
Por exemplo, entradas de entrega que mudaram nos últimos 7 a 30 dias podem ser solicitadas diariamente.
curl --location 'https://cloud-api.brp.com/dcp/v4/deliveries?last_change_date_from=2023-10-31' \
--header 'Dealer-Number: 0000693441' \
--header 'Authorization: Bearer REPLACE_ME' Você vê que as primeiras e últimas entregas têm informações de rastreamento na trackings propriedade. Isso indica que os itens foram enviados. A outra entrega, sem as informações de rastreamento, está pronta e aguardando para ser retirada pelo transportador.
Nas informações da última entrega, há dois diferentes tracking_no, isso significa que os 2 itens foram enviados em pacotes diferentes.
Usando a URL para visitar o site da transportadora mostra os dois pacotes na remessa.