Guia de casos de uso da API de envio direto do fornecedor v2021-12-28
Saiba como usar a API de envio direto do fornecedor (DF).
Use o API de envio direto de pedidos para trocar documentos relacionados à remessa com a Amazon.
Tutoriais
Os tutoriais desta seção descrevem como:
- Enviar solicitações de etiquetas de envio
- Obtenha uma ou mais etiquetas de envio
- Criar etiquetas de envio e etiquetas de contêineres
- Enviar confirmações de envio e atualizações do status da remessa
- Obtenha uma ou mais guias de remessa
- Receba uma ou mais faturas de clientes (Somente na Índia)
Enviar solicitações de etiquetas de envio
A operação submitShippingLabelRequest
permite que os fornecedores solicitem informações da etiqueta de endereço da Amazon para cada pedido de compra. Você pode enviar várias solicitações de etiquetas de endereço em massa em uma chamada de API seguindo o esquema. Quando as etiquetas de endereço forem criadas pela Amazon, elas estarão disponíveis para download usando a operação getShippingLabel
.
Observação
O
submitShippingLabelRequest
A operação só está disponível para fornecedores que usam operadoras da Amazon.
Verifique as solicitações de envio de etiquetas de envio
Você pode verificar o status de suas solicitações de etiquetas de envio usando o API de transações de PDF do fornecedor. Aguarde até 15 minutos para que o sistema mostre o status após o envio. Se o status da transação não for atualizado após 30 minutos, abra um Entre em contato conosco caso na Central de Fornecedores.
O diagrama a seguir mostra o fluxo de trabalho para enviar solicitações de etiquetas de endereço.
Requisitos comerciais
-
O pedido de compra deve ser confirmado com sucesso via API, EDI ou Central de Fornecedores antes de você enviar a solicitação de etiqueta de envio. Solicitações de etiquetas de envio para pedidos de compra não confirmados ou cancelados são rejeitadas.
-
Se estiver usando etiquetas de endereço próprias da Amazon, o envio das informações do item ou do pacote na solicitação é opcional.
submitShippingLabelRequest
obrigatório
submitShippingLabelRequest
obrigatórioPara solicitar etiquetas de endereço, chame a operação submitShippingLabelRequest
e passe o seguinte parâmetro:
Nome | Descrição | Obrigatório |
---|---|---|
shippingLabelRequests | Solicite uma ou mais etiquetas de envio. Tipo: < ShippingLabelRequest > matriz | Sim |
Exemplo de solicitação
POST "https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels"
{
"shippingLabelRequests": [
{
"purchaseOrderNumber": "2JK3S9VC",
"sellingParty": {
"partyId": "999US"
},
"shipFromParty": {
"partyId": "ABCD"
},
"containers": [
{
"containerType": "carton",
"containerIdentifier": "123",
"trackingNumber": "XXXX",
"dimensions": {
"length": "12",
"width": "12",
"height": "12",
"unitOfMeasure": "IN"
},
"weight": {
"unitOfMeasure": "KG",
"value": "10"
},
"packedItems": [
{
"itemSequenceNumber": 1,
"buyerProductIdentifier": "B07DFVDRAB",
"packedQuantity": {
"amount": 1,
"unitOfMeasure": "Each"
}
}
]
}
]
}
]
}
submitShippingLabelRequest
obrigatório
submitShippingLabelRequest
obrigatórioUma resposta bem-sucedida inclui o seguinte:
Nome | Descrição | Obrigatório |
---|---|---|
transactionId | GUID para identificar essa transação. Esse valor pode ser usado com o API de transações de PDF do fornecedor para retornar o status dessa transação.<barra.>Tipo: string | Não |
Exemplo de resposta
{
"transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605"
}
Obtenha a etiqueta de endereço
A operação nextToken">getShippingLabels
retorna etiquetas de endereço para todos os pedidos que atendem aos critérios de filtro especificados na solicitação. Você já deve ter solicitado etiquetas de endereço usando a operação submitShippingLabelRequest
antes de usar essa API para disponibilizar etiquetas de frete para envio. A Amazon recomenda que os fornecedores verifiquem as etiquetas de endereço pelo menos uma vez por hora durante o horário comercial. Dependendo do volume de negócios, você pode optar por verificar com mais frequência. Você pode obter até 100 etiquetas de endereço em uma chamada de API. Se houver mais de 100 etiquetas de endereço, você pode usar o valor nextToken para obter o próximo conjunto de etiquetas de endereço.
As etiquetas de envio expiram 90 dias após a data de criação (a submitShippingLabelRequest
encontro).
Observação
Essa é uma operação restrita e, portanto, requer um token de dados restritos (RDT) para autorização. Para obter mais informações, consulte o Guia de casos de uso da API de tokens.
O diagrama a seguir mostra o fluxo de trabalho de integração ao recuperar etiquetas de endereço:
getShippingLabels
obrigatório
getShippingLabels
obrigatórioPara recuperar uma lista de etiquetas de endereço, chame a operação getShippingLabels
e passe os seguintes parâmetros:
Nome | Descrição | Obrigatório |
---|---|---|
shipFromPartyId | O fornecedor warehouseId para atendimento de pedidos. Se não for especificada, a resposta conterá pedidos para todos os depósitos.Tipo: string | Não |
limit | O limite para o número de registros retornados. Tipo: inteiro | Não |
createdAfter | As etiquetas de envio que ficaram disponíveis após essa data e hora serão incluídas na resposta. Deve estar em ISO 8601 formato de data/hora. Tipo: string (data e hora) | Sim |
createdBefore | As etiquetas de envio que se tornaram disponíveis antes dessa data e hora serão incluídas no resultado. Deve estar em ISO 8601 formato de data/hora. Tipo: string (data e hora) | Sim |
sortOrder | Classificar em ordem crescente (ASC ) ou descendente (DESC ) por data de criação do pedido.Tipo: enum ( SortOrder ) | Não |
nextToken | Usado para paginação quando há mais etiquetas de remessa do que o limite de tamanho de resultado especificado. O valor do token é retornado na chamada de API anterior. Tipo: string | Não |
Exemplo de solicitação
GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels?limit=2&createdAfter=2020-02-15T14:00:00-08:00&createdBefore=2020-02-20T00:00:00-08:00&sortOrder=DESC
getShippingLabels
obrigatório
getShippingLabels
obrigatórioUma resposta bem-sucedida inclui o seguinte:
Nome | Descrição | Obrigatório |
---|---|---|
pagination | Se mais de 100 etiquetas de endereço forem devolvidas, nextToken é retornado na resposta para paginação. | Não |
shippingLabels | Lista de etiquetas de envio. Tipo: < ShippingLabel > matriz | Não |
Exemplo de resposta
{
"pagination": {
"nextToken": "MDAwMDAwMDAwMQ=="
},
"shippingLabels": [
{
"purchaseOrderNumber": "2JK3S9VC",
"sellingParty": {
"partyId": "999US"
},
"shipFromParty": {
"partyId": "ABCD"
},
"labelFormat": "PNG",
"labelData": [
{
"packageIdentifier": "PKG001",
"trackingNumber": "1Z6A34Y60369738804",
"shipMethod": "UPS_GR_RES",
"shipMethodName": "UPS Ground Residential",
"content": "Base 64 encoded string goes here "
}
]
}, {
"purchaseOrderNumber": "2JK3S9VD",
"sellingParty": {
"partyId": "999US"
},
"shipFromParty": {
"partyId": "ABCD"
},
"labelFormat": "PNG",
"labelData": [
{
"packageIdentifier": "PKG002",
"trackingNumber": "1Z6A34Y60369738805",
"shipMethod": "UPS_GR_RES",
"shipMethodName": "UPS Ground Residential",
"content": "Base 64 encoded string goes here "
}
]
}
]
}
Obtenha a etiqueta de endereço
A operação getShippingLabel
retorna informações sobre a etiqueta de endereço que você especifica usando o número da ordem de compra. A resposta inclui informações completas da etiqueta de endereço do pedido de compra, incluindo tipo de etiqueta, detalhes do pedido de compra e método de envio.
As etiquetas de envio expiram 90 dias após a data de criação (a submitShippingLabelRequest
encontro).
Observação
Essa é uma operação restrita e, portanto, requer um token de dados restritos (RDT) para autorização. Para obter mais informações, consulte o Guia de casos de uso da API de tokens.
Você também pode usar essa API para obter detalhes de qualquer etiqueta de endereço (no intervalo de 7 dias a partir de uma janela contínua dos últimos 6 meses, após o fornecedor ter lançado a API).
O diagrama a seguir mostra o fluxo de trabalho de integração para recuperar uma etiqueta de endereço específica:
Requisitos comerciais
- Que tipo de etiquetas estão disponíveis para serem baixadas?
Os formatos de etiqueta suportados são ZPL e PNG. O conteúdo do rótulo é fornecido no formato de string Base 64 para que você possa converter a string no formato de rótulo desejado. A escolha do formato da etiqueta é do fornecedor e ele decide isso como parte do processo de integração no programa de atendimento direto.
- Até quando devo solicitar a etiqueta de envio?
Solicite suas etiquetas de envio somente no dia em que os pedidos forem enviados.
getShippingLabel
obrigatório
getShippingLabel
obrigatórioPara solicitar uma etiqueta de endereço, chame a operação getShippingLabel
e passe o seguinte parâmetro:
Nome | Descrição | Obrigatório |
---|---|---|
purchaseOrderNumber | O número da ordem de compra da qual você deseja devolver a etiqueta de endereço. Deveria ser o mesmo purchaseOrderNumber conforme recebido no pedido. | Sim |
Exemplo de solicitação
GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/2JK3S9VC
getShippingLabel
obrigatório
getShippingLabel
obrigatórioUma resposta bem-sucedida inclui o seguinte:
Nome | Descrição | Obrigatório |
---|---|---|
purchaseOrderNumber | O número da ordem de compra desse pedido. Tipo: string | Sim |
sellingParty | O identificador da parte vendedora ou do fornecedor. Tipo: PartyIdentification | Sim |
shipFromParty | O código do depósito do fornecedor. Tipo: PartyIdentification | Sim |
labelFormat | O formato da etiqueta. enumeração ( LabelFormat ) | Sim |
labelData | Fornece os detalhes dos pacotes desta remessa. Tipo: < LabelData > matriz | Sim |
Exemplo de resposta
{
"purchaseOrderNumber": "2JK3S9VC",
"sellingParty": {
"partyId": "999US"
},
"shipFromParty": {
"partyId": "ABCD"
},
"labelFormat": "PNG",
"labelData": [
{
"packageIdentifier": "PKG001",
"trackingNumber": "1Z6A34Y60369738804",
"shipMethod": "UPS_GR_RES",
"shipMethodName": "UPS Ground Residential",
"content": "Base 64 encoded string goes here"
}
]
}
Crie etiquetas de envio
O createShippingLabels
operação cria etiquetas de remessa para uma ordem de compra e devolve as etiquetas. Essa é uma operação síncrona e não requer a chamada do API de transações de PDF do fornecedor.
Observação
Essa é uma operação restrita e, portanto, requer um token de dados restritos (RDT) para autorização. Para obter mais informações, consulte o Guia de casos de uso da API de tokens.
O diagrama a seguir mostra o fluxo de trabalho para criar etiquetas de envio usando o createShippingLabels
operação.
Requisitos comerciais
Você pode devolver etiquetas de frete para um pedido de compra por solicitação. Não há suporte para vários pedidos de compra em uma única solicitação.
createShippingLabels
obrigatório
createShippingLabels
obrigatórioPara criar etiquetas de envio de forma síncrona, ligue para createShippingLabels
operação e passe o seguinte parâmetro de caminho:
Nome | Descrição | Obrigatório |
---|---|---|
purchaseOrderNumber | O número da ordem de compra das etiquetas de frete que você deseja. Tipo: string | Sim |
Você pode incluir os seguintes parâmetros corporais:
Nome | Descrição | Obrigatório |
---|---|---|
sellingParty | O ID da parte vendedora ou do fornecedor. Tipo: PartyIdentification | Sim |
shipFromParty | Código do armazém do fornecedor. Tipo: PartyIdentification | Sim |
containers | Uma lista dos pacotes desta remessa. Tipo: < Container > matriz | Não |
Exemplo de solicitação
POST https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/
shipping/2021-12-28/shippingLabels/XhvBghry
{
"sellingParty": {
"partyId": "999US"
},
"shipFromParty": {
"partyId": "ABCD"
}
}
createShippingLabels
obrigatório
createShippingLabels
obrigatórioUma resposta bem-sucedida inclui o seguinte:
Nome | Descrição | Obrigatório |
---|---|---|
purchaseOrderNumber | O número da ordem de compra desse pedido. Tipo: string | Sim |
sellingParty | O identificador da parte vendedora ou do fornecedor. Tipo: PartyIdentification | Sim |
shipFromParty | O código do depósito do fornecedor. Tipo: PartyIdentification | Sim |
labelFormat | O formato da etiqueta. enumeração ( LabelFormat ) | Sim |
labelData | Fornece os detalhes dos pacotes desta remessa. Tipo: < LabelData > matriz | Sim |
Exemplo de resposta
{
"purchaseOrderNumber": "XhvBghry",
"sellingParty": {
"partyId": "999US"
},
"shipFromParty": {
"partyId": "ABCD"
},
"labelFormat": "PNG",
"labelData": [
{
"packageIdentifier": "1",
"trackingNumber": "1Z69664F0310685739",
"shipMethod": "UPS_GR_RES_SIG",
"shipMethodName": "UPS Ground Residential",
"content": "Base 64 encoded string goes here"
}
]
}
Exemplo de resposta (erro)
{
"errors": [
{
"code": "InvalidInput",
"message": "[MISMATCHED_ITEM]: Request Rejected: Order quantity does not match the shipped quantity. All items in the order must be provided. Ensure you add the correct quantity of shipped items to packages. For items - ${fnSku}, the expected quantity is ${expectedQuantity}, but the provided quantity is ${providedQuantity}.",
"details": ""
}
]
}
Lista de possíveis detalhes da resposta a erros
A tabela a seguir contém uma lista de todos os detalhes possíveis da resposta a erros. Estão incluídas todas as etapas recomendadas para resolver a condição de erro antes de tentar novamente a solicitação. Você deve criar um mecanismo de tratamento de falhas em seu aplicativo para antecipar e lidar com esses possíveis erros.
É possível que respostas de erro adicionais sejam adicionadas ao longo do tempo, portanto, seu aplicativo também deve estar preparado para lidar com erros que não estão incluídos nessa lista.
Valores entre colchetes precedidos por um \$
que aparecem na coluna Mensagem (por exemplo, \${fnSku}
) são substituídos por valores reais na resposta de erro.
Código | Mensagem | Details |
---|---|---|
InvalidInput | [MISMATCHED_ITEM]: Solicitação rejeitada: a quantidade do pedido não corresponde à quantidade enviada. Todos os itens do pedido devem ser fornecidos. Certifique-se de adicionar a quantidade correta de itens enviados aos pacotes. Para itens - ${fnSku}, a quantidade esperada é ${expectedQuantity}, mas a quantidade fornecida é ${providedQuantity}. | Nenhum |
InvalidInput | [NO_ITEMS_PRESENT]: Solicitação rejeitada: ID do pedido ${shipmentId} tem itens não atribuídos a nenhum pacote. Certifique-se de que todos os itens estejam mapeados para o (s) pacote (s). | Nenhum |
InvalidInput | [PACKAGE_DIMENSION_NOT_VALID]: Solicitação rejeitada: ID do pedido ${shipmentId} tem dimensão inválida para o (s) pacote (s). Adicione dimensões válidas para seu (s) pacote (s). | Nenhum |
InvalidInput | [PACKAGE_WEIGHT_NOT_VALID]: Solicitação rejeitada: ID do pedido ${shipmentId} tem peso inválido para o (s) pacote (s). Adicione um peso válido para seu (s) pacote (s). | Nenhum |
InvalidInput | [PIECE_NUMBER_ONE_NOT_PROVIDED]: O número de sequência do contêiner '1' não é fornecido para pelo menos um item. Verifique se o número de sequência do contêiner está ausente | Nenhum |
InvalidInput | [INCONSISTENT_PIECE_NUMBER_QUANTITY]: O número de sequência do contêiner de pelo menos um item não é consistente ou é incompatível com a quantidade do item. Verifique se o número de sequência do contêiner está correto e se a quantidade de cada item é igual ao número de sequência do item | Nenhum |
InvalidInput | [INVALID_VENDOR_CODE]: Código de fornecedor inválido ${vendorCode}. Verifique se o código do fornecedor está correto para o pedido | Nenhum |
InvalidInput | [INVALID_ORDER_ID_WAREHOUSE_COMBINATION]: Etiqueta de envio rejeitada: ID do pedido ${shipmentId} não pertence ao armazém ${warehouseCode}. Verifique se o código do depósito e o ID do pedido estão corretos | Nenhum |
InvalidInput | [INCORRECT_VENDOR_GROUP_ID]: ID de grupo de fornecedores inválida ${vendorGroupId}. Verifique se o ID do grupo de fornecedores está correto para o pedido | Nenhum |
InvalidInput | [DUPLICATE_VENDOR_PACKAGE_ID]: IDs de pacotes de fornecedores duplicados. Corrija os identificadores de contêiner duplicados e tente novamente | Nenhum |
InvalidInput | [EMPTY_VENDOR_PACKAGE_ID]: IDs de pacote de fornecedores inválidos. Corrija os identificadores de contêiner inválidos e tente novamente | Nenhum |
InvalidInput | [SHIP_METHOD_NOT_SUPPORTED]: ${ship_method} não é suportado. Use sua configuração existente para gerar a etiqueta para ${ship_method} | Nenhum |
InvalidInput | [SHIP_METHOD_CHANGED]: O método de envio para esse PO mudou de ${old_ship_method} para ${ship_method}. Use sua configuração existente para gerar a etiqueta para ${ship_method} | Nenhum |
InvalidInput | [INCONSISTENT_SHIP_METHODS]: Solicitação rejeitada: diferentes métodos de envio são atribuídos a diferentes pacotes. Tente enviar todos os itens em uma única caixa. Se isso não for possível, entre em contato conosco. | Nenhum |
ConflictError | [SHIPMENT_NOT_MUTABLE]: Solicitação rejeitada: dimensões do pacote para ID de pedido ${shipmentId} não pode ser atualizado com o status atual. Nenhuma ação adicional é necessária. | Nenhum |
ConflictError | [ORDER_SHIPPED_WITH_VENDOR_LABEL]: Você já enviou o pedido com uma transportadora diferente da Amazon Transportation, portanto, não pode imprimir a etiqueta desse pedido. Nenhuma ação é necessária. Você já confirmou o pedido enviado. | Nenhum |
InternalFailure | Encontramos um erro interno. Por favor, tente novamente. | Nenhum |
Enviar confirmações de envio
A operação submitShipmentConfirmations
permite que os fornecedores enviem confirmações de envio para a Amazon. A confirmação de remessa nos permite rastrear suas remessas com eficiência e informar nossos clientes. Ela contém informações sobre os itens que estão sendo enviados, incluindo número do pedido de compra, data de envio, data de entrega prevista e número de rastreamento.
As confirmações de envio nos permitem colaborar de forma mais eficaz com as transportadoras no rastreamento de suas remessas.
A falta de confirmações de envio válidas pode resultar em:
-
Visibilidade inadequada sobre as remessas.
-
Erros na reconciliação das remessas físicas com os pedidos de compra.
-
Acompanhamento manual para resolver discrepâncias.
Verificação das confirmações de envio enviadas com sucesso
Os fornecedores podem verificar o status de suas confirmações de envio via Central de fornecedores > Ordens > Pedidos de atendimento direto ou usando o API de transações de PDF do fornecedor. Aguarde até 10 minutos para o sistema determinar o status após o envio. Se a Central do Fornecedor não estiver mostrando os valores corretos para a confirmação da remessa, abra um Entre em contato conosco caso na Central de Fornecedores. Consulte a seção Requisitos comerciais para obter informações sobre como criar confirmações de remessa.
O diagrama a seguir mostra o fluxo de trabalho de integração para enviar confirmações de remessa:
Requisitos comerciais
-
Use essa API para confirmar o envio de um pedido dentro de quatro horas após o pedido ter sido enviado do seu depósito.
-
Para remessas negadas por piso, defina o valor do campo
shipmentStatus
paraFLOOR_DENIAL
. -
Todos os itens da linha do pedido de compra devem estar presentes na confirmação da remessa. O envio parcial do pedido não é permitido. Os fornecedores devem rejeitar o pedido como negação do piso se algum dos itens da linha não estiver disponível para atendimento.
-
O
itemSequenceNumber
de um item deve ser o mesmo que foi recebido na mensagem do pedido. -
É obrigatório ou
buyerProductIdentifier
ouvendorProductIdentifier
para enviar a confirmação da remessa. Você precisa enviar o mesmo valor recebido no pedido de compra. -
Para VOCs, envio
scacCode
é obrigatório. -
Se a etiqueta de endereço for fornecida pela Amazon, a seção de contêineres é opcional, pois a Amazon tem acesso às informações do pacote. A seção de itens é obrigatória para envio.
-
O contêiner em uma confirmação de remessa deve ter um ShipMethod especificado.
submitShipmentConfirmations
obrigatório
submitShipmentConfirmations
obrigatórioPara enviar confirmações de envio, chame a operação submitShipmentConfirmations
e passe o seguinte parâmetro:
Nome | Descrição | Obrigatório |
---|---|---|
shipmentConfirmations | Lista de remessas confirmadas. Tipo: < ShipmentConfirmation > matriz | Sim |
Exemplo de solicitação
POST https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shipmentConfirmations
{
"shipmentConfirmations": [
{
"purchaseOrderNumber": "PO00050003",
"shipmentDetails": {
"shippedDate": "2019-08-07T19:56:45.632Z",
"shipmentStatus": "SHIPPED",
"isPriorityShipment": true,
"estimatedDeliveryDate": "2019-08-07T19:56:45.632Z"
},
"sellingParty": {
"partyId": "VENDORCODE"
},
"shipFromParty": {
"partyId": "VENDORWAREHOUSECODE"
},
"items": [
{
"itemSequenceNumber": 1,
"buyerProductIdentifier": "ASIN001",
"vendorProductIdentifier": "9782700001659",
"shippedQuantity": {
"amount": 100,
"unitOfMeasure": "Each"
}
},
{
"itemSequenceNumber": 2,
"buyerProductIdentifier": "ASIN002",
"vendorProductIdentifier": "9782700001659",
"shippedQuantity": {
"amount": 100,
"unitOfMeasure": "Each"
}
},
{
"itemSequenceNumber": 3,
"buyerProductIdentifier": "ASIN003",
"vendorProductIdentifier": "9782700001659",
"shippedQuantity": {
"amount": 100,
"unitOfMeasure": "Each"
}
},
{
"itemSequenceNumber": 4,
"buyerProductIdentifier": "ASIN004",
"vendorProductIdentifier": "9782700001659",
"shippedQuantity": {
"amount": 100,
"unitOfMeasure": "Each"
}
}
],
"containers": [
{
"containerType": "carton",
"containerIdentifier": "123",
"trackingNumber": "TRACK001",
"scacCode": "SCAC001",
"carrier": "ABCD001",
"shipMethod": "UPS",
"dimensions": {
"length": "10",
"width": "10",
"height": "10",
"unitOfMeasure": "IN"
},
"weight": {
"unitOfMeasure": "KG",
"value": "10"
},
"packedItems": [
{
"itemSequenceNumber": 1,
"buyerProductIdentifier": "ASIN001",
"packedQuantity": {
"amount": 100,
"unitOfMeasure": "Each"
}
}
]
},
{
"containerType": "carton",
"containerIdentifier": "234",
"trackingNumber": "TRACK002",
"scacCode": "SCAC001",
"carrier": "ABCD001",
"shipMethod": "UPS",
"dimensions": {
"length": "10",
"width": "10",
"height": "10",
"unitOfMeasure": "IN"
},
"weight": {
"unitOfMeasure": "KG",
"value": "10"
},
"packedItems": [
{
"itemSequenceNumber": 2,
"buyerProductIdentifier": "ASIN002",
"packedQuantity": {
"amount": 100,
"unitOfMeasure": "Each"
}
}
]
},
{
"containerType": "carton",
"containerIdentifier": "ABCD",
"trackingNumber": "TRACK003",
"scacCode": "SCAC001",
"carrier": "ABCD001",
"shipMethod": "UPS",
"dimensions": {
"length": "10",
"width": "10",
"height": "10",
"unitOfMeasure": "IN"
},
"weight": {
"unitOfMeasure": "KG",
"value": "10"
},
"packedItems": [
{
"itemSequenceNumber": 3,
"buyerProductIdentifier": "ASIN003",
"packedQuantity": {
"amount": 100,
"unitOfMeasure": "Each"
}
}
]
},
{
"containerType": "carton",
"containerIdentifier": "id12",
"trackingNumber": "TRACK004",
"scacCode": "SCAC001",
"carrier": "ABCD001",
"shipMethod": "UPS",
"dimensions": {
"length": "10",
"width": "10",
"height": "10",
"unitOfMeasure": "IN"
},
"weight": {
"unitOfMeasure": "KG",
"value": "10"
},
"packedItems": [
{
"itemSequenceNumber": 4,
"buyerProductIdentifier": "ASIN004",
"packedQuantity": {
"amount": 100,
"unitOfMeasure": "Each"
}
}
]
}
]
}
]
}
submitShipmentConfirmations
obrigatório
submitShipmentConfirmations
obrigatórioUma resposta bem-sucedida inclui o seguinte:
Nome | Descrição | Obrigatório |
---|---|---|
transactionId | GUID para identificar essa transação. Esse valor pode ser usado com o API de transações de PDF do fornecedor para retornar o status dessa transação. Tipo: string | Sim |
Exemplo de resposta
{
"transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605"
}
Enviar atualizações do status do envio
Atenção
Somente fornecedores de transportadora própria do fornecedor (VOC) podem usar as atualizações de status de remessa. Isso significa fornecedores que usam sua própria transportadora para entrega de remessas, em vez de transportadoras da Amazon, para transportar remessas aos clientes. Em última análise, os fornecedores de VOC cobrem os custos de transporte e a responsabilidade de entregar as remessas aos clientes.
A operação submitShipmentStatusUpdates
permite que os fornecedores atualizem o evento de status de transporte para remessas que estão a caminho do cliente final. Os fornecedores de VOC devem atualizar o status da remessa (comumente conhecido como digitalizações) durante a fase de transporte.
Essas informações serão encaminhadas aos clientes da Amazon na página “Seus pedidos” e, assim, melhorarão a visibilidade no processo de rastreamento e entrega de pedidos.
A falha na atualização das atualizações do status da remessa pode resultar em KPIs operacionais incorretos, como baixa taxa de verificação e, eventualmente, suspensão do armazém.
Verificação das atualizações de status de envio enviadas com sucesso
Os fornecedores podem verificar o status de suas atualizações de status de remessa em Central de fornecedores > Ordens > Pedidos de atendimento direto ou usando o API de transações de PDF do fornecedor. Aguarde até 10 minutos para o sistema determinar o status após o envio. Se a Central do Fornecedor não estiver mostrando os valores corretos para a confirmação da remessa, abra um Entre em contato conosco caso na Central de Fornecedores. Consulte a seção Requisitos comerciais para obter informações sobre como criar confirmações de remessa.
O diagrama a seguir mostra o fluxo de trabalho de integração para enviar atualizações do status da remessa:
Requisitos comerciais
-
Use essa API somente se você usar sua própria transportadora (você é um fornecedor de VOC) para transportar a remessa até o cliente.
-
Use essa API para atualizar o status de uma remessa após a confirmação da remessa (por meio da API ou da Central do Fornecedor).
-
O
trackingNumber
no status da remessa, a API deve corresponder àtrackingNumber
fornecido na confirmação da remessa. Se não corresponder, a atualização do status da remessa falhará. -
Um
submitShipmentStatusUpdates
a chamada deve corresponder a um pacote físico. Você pode atualizar o status da remessa de vários pacotes em uma chamada de API, agrupando-os como uma série de atualizações do status da remessa. -
Um pedido de atendimento direto pode resultar na entrega de vários pacotes físicos ao cliente. Portanto, várias atualizações do status da remessa são necessárias para refletir o status integral da remessa do pedido completo.
-
Os fornecedores devem enviar o status da remessa sempre que possível, seguindo as diretrizes de status da remessa da Amazon.
-
Para pedidos de entrega programada, os fornecedores devem enviar a matriz
shipmentSchedule
que especifica o tempo estimado de entrega e a janela de entrega.
Campos adicionais
statusCode
e reasonCode
são códigos padrão usados em padrões EDI (por exemplo, ISA X12 e EDIFACT) que são usados para fornecer um evento de status específico e o motivo do evento de status. Esperamos uma combinação específica de statusCode
e reasonCode
que determinam um evento na fase de transporte da remessa até o cliente final.
Estes são os códigos de status e motivo que oferecemos suporte e sua equivalência com o Vendor Central atual:
Código de status EDIFACT | Código de motivo EDIFACT | Descrição operacional | Vendor Central UI equivalency |
---|---|---|---|
404 | 117 | O envio está atrasado devido a um acidente em grande escala | DELAYED |
301 | 000 | Remessa entregue ao cliente | DELIVERED |
101 | 000 | A remessa saiu do FC | DEPARTED_FROM_FC |
201 | 000 | A remessa chegou às instalações de uma transportadora | IN_TRANSIT |
409 | 000 | A transportadora perdeu a remessa | LOST |
302 | 000 | A remessa está pronta para entrega | OUT_FOR_DELIVERY |
407 | 000 | O destinatário se recusou a aceitar a remessa | REJECTED |
416 | 000 | A remessa não pode ser entregue e será destruída | UNDELIVERABLE |
Código de status X12 | Código de motivo X12 | Descrição operacional | Vendor Central UI equivalency |
---|---|---|---|
DE | AF | O envio está atrasado devido a um acidente em grande escala | DELAYED |
D1 | NS | Remessa entregue ao cliente | DELIVERED |
XB | NS | A remessa saiu do FC | DEPARTED_FROM_FC |
O1 | NS | A remessa chegou às instalações de uma transportadora | IN_TRANSIT |
CA | PL | A transportadora perdeu a remessa | LOST |
OD | NS | A remessa está pronta para entrega | OUT_FOR_DELIVERY |
A7 | AM | O destinatário se recusou a aceitar a remessa | REJECTED |
AP | BG | A remessa não pode ser entregue e será destruída | UNDELIVERABLE |
submitShipmentStatusUpdates
obrigatório
submitShipmentStatusUpdates
obrigatórioPara enviar atualizações do status da remessa, chame a operação submitShipmentStatusUpdates
e passe o seguinte parâmetro:
Nome | Descrição | Obrigatório |
---|---|---|
shipmentStatusUpdates | Lista de remessas confirmadas. Tipo: < ShipmentStatusUpdate > matriz | Sim |
Exemplo de solicitação
POST https://sellingpartnerapi-na.amazon.com/ /vendor/directFulfillment/shipping/2021-12-28/shipmentStatusUpdates
{
"shipmentStatusUpdates": [
{
"purchaseOrderNumber": "DX00050015",
"sellingParty":
{
"partyId": "999US"
},
"shipFromParty":
{
"partyId": "ABCD"
},
"statusUpdateDetails":
{
"trackingNumber": "TRACK005",
"statusDateTime": "2020-08-07T19:56:45Z",
"statusCode": "D1",
"reasonCode": "NS",
"statusLocationAddress":
{
"name": "ABC",
"addressLine1": "1st street",
"city": "Seattle",
"countryCode": "US",
"postalCode": "124",
"stateOrRegion": "CA"
}
}
}
]
}
submitShipmentStatusUpdates
obrigatório
submitShipmentStatusUpdates
obrigatórioUma resposta bem-sucedida inclui o seguinte:
Nome | Descrição | Obrigatório |
---|---|---|
transactionId | GUID para identificar essa transação. Esse valor pode ser usado com o API de transações de PDF do fornecedor para retornar o status dessa transação. Tipo: string | Sim |
Exemplo de resposta
{
"transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605"
}
Obtenha guias de remessa
A operação getPackingSlips
retorna uma lista de guias de remessa para os pedidos que atendem aos critérios especificados. Se você precisar obter uma guia de remessa para um pedido específico, use a operação getPackingSlip
em vez disso.
Observação
Essa é uma operação restrita e, portanto, requer um token de dados restritos (RDT) para autorização. Para obter mais informações, consulte o Guia de casos de uso da API de tokens.
Você deve usar essa API para obter guias de remessa dos pedidos de compra disponíveis para processamento. A Amazon recomenda que os fornecedores verifiquem os pedidos pelo menos uma vez por hora durante o horário comercial. Dependendo do volume do seu negócio, você pode optar por verificar com mais frequência. Você pode receber até 100 guias de remessa em uma chamada de API. Se houver mais de 100 guias de remessa, você pode usar o nextToken
valor como parâmetro em sua próxima solicitação para obter o próximo conjunto de guias de remessa.
O diagrama a seguir mostra o fluxo de trabalho de integração ao recuperar guias de remessa:
getPackingSlips
obrigatório
getPackingSlips
obrigatórioPara recuperar as guias de remessa, chame a operação getPackingSlips
e passe os seguintes parâmetros:
Nome | Descrição | Obrigatório |
---|---|---|
shipFromPartyId | O fornecedor warehouseId a partir do qual o pedido será atendido. Se não for especificado, o resultado conterá pedidos para todos os armazéns.Tipo: string | Não |
limit | O limite para o número de registros retornados. Tipo: inteiro | Não |
createdAfter | As guias de remessa que estiverem disponíveis após essa data e horário serão incluídas no resultado. Deve estar em ISO 8601 formato de data/hora. Tipo: string (data e hora) | Sim |
createdBefore | As guias de remessa que se tornaram disponíveis antes dessa data e hora serão incluídas no resultado. Deve estar em ISO 8601 formato de data/hora. Tipo: string (data e hora) | Sim |
sortOrder | Classificar em ordem crescente (ASC ) ou descendente (DESC ) pela data de criação da guia de remessa.Tipo: enum ( SortOrder ) | Não |
nextToken | Usado para paginação quando há mais pedidos do que o limite de tamanho de resultado especificado. O valor do token é retornado na chamada de API anterior. Tipo: string | Não |
Exemplo de solicitação
GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/packingSlips?createdBefore=2020-06-12T12:00:00-08:00&createdAfter=2020-06-12T00:00:00-08:00&limit=2&sortOrder=DESC
getPackingSlips
obrigatório
getPackingSlips
obrigatórioUma resposta bem-sucedida inclui o seguinte:
Nome | Descrição | Obrigatório |
---|---|---|
pagination | Se mais de 100 pedidos forem devolvidos, nextToken é retornado na resposta para paginação. | Não |
packingSlips | Inclui detalhes das guias de remessa. Tipo: < PackingSlip > matriz | Não |
Exemplo de resposta
{
"pagination": {
"nextToken": "NEBxNEBxNEBxNR=="
},
"packingSlips": [
{
"purchaseOrderNumber": "UvgABdBjQ",
"content": "base64 encoded string",
"contentType": "application/pdf"
},
{
"purchaseOrderNumber": "VvgCDdBjR",
"content": "base64 encoded string",
"contentType": "application/pdf"
}
]
}
Obtenha uma guia de remessa
O getPackingSlip
a operação retorna a guia de remessa para o número da ordem de compra que você especificar. A resposta inclui uma string codificada em base64 da guia de remessa. O tipo de conteúdo sempre será “aplicativo/pdf”.
Observação
Essa é uma operação restrita e, portanto, requer um token de dados restritos (RDT) para autorização. Para obter mais informações, consulte o Guia de casos de uso da API de tokens.
O diagrama a seguir mostra o fluxo de trabalho de integração ao recuperar uma guia de remessa:
Requisitos comerciais
- As guias de remessa são necessárias para todos os pedidos?
Uma guia de remessa é necessária somente se for para um pedido Business-to-Business (B2B) ou um pedido de presente. Quando o valor do isPslipRequired
o campo é verdadeiro, uma guia de remessa é necessária para o pedido.
getPackingSlip
obrigatório
getPackingSlip
obrigatórioPara devolver uma guia de remessa, chame a operação getPackingSlip
e passe o seguinte parâmetro:
Nome | Descrição | Obrigatório |
---|---|---|
purchaseOrderNumber | O purchaseOrderNumber para a guia de remessa que você deseja.Tipo: string | Sim |
Exemplo de solicitação
GET https://sellingpartnerapi-na.amazon.com /vendor/directFulfillment/shipping/2021-12-28/packingSlips/UkP3YkKDr
getPackingSlip
obrigatório
getPackingSlip
obrigatórioUma resposta bem-sucedida inclui o seguinte:
Nome | Descrição | Obrigatório |
---|---|---|
purchaseOrderNumber | Número do pedido de compra da remessa. Tipo: string | Sim |
content | Uma string codificada em Base64 do PDF da guia de remessa. Tipo: string | Sim |
contentType | O formato do arquivo (como PDF, JPEG). Tipo: enum ( ContentType ) | Não |
Exemplo de resposta
{
"purchaseOrderNumber": "UvgABdBjQ",
"content": "base64 encoded string",
"contentType": "application/pdf"
}
Receba faturas de clientes (somente na Índia)
O getCustomerInvoices
A operação retorna faturas de clientes para todas as ordens de compra que atendam aos critérios de filtro que você especificar.
Importante
O
getCustomerInvoices
a operação é obrigatória no mercado da Índia. Ele não está disponível em nenhum outro mercado.
A Amazon incentiva os fornecedores a verificar as faturas dos clientes pelo menos uma vez por hora durante o horário comercial. Dependendo do volume do seu negócio, você pode optar por verificar com mais frequência. Você pode receber até 100 faturas de clientes em uma chamada de API. Se houver mais de 100 faturas de clientes, você poderá usar o nextToken
valor como parâmetro na próxima solicitação para obter o próximo conjunto de faturas de clientes.
Observação
Essa é uma operação restrita e, portanto, requer um token de dados restritos (RDT) para autorização. Para obter mais informações, consulte o Guia de casos de uso da API de tokens.
O diagrama a seguir mostra o fluxo de trabalho de integração ao recuperar faturas de clientes:
getCustomerInvoices
obrigatório
getCustomerInvoices
obrigatórioPara devolver as faturas do cliente, chame a operação getCustomerInvoices
e passe os seguintes parâmetros:
Nome | Descrição | Obrigatório |
---|---|---|
shipFromPartyId | O fornecedor warehouseId a partir do qual o pedido será atendido. Se não for especificado, o resultado conterá pedidos para todos os armazéns.Tipo: string | Não |
limit | O limite para o número de registros retornados. Tipo: inteiro | Não |
createdAfter | Os pedidos que ficaram disponíveis após essa data e hora serão incluídos no resultado. Deve estar em ISO 8601 formato de data/hora. Tipo: string (data e hora) | Sim |
createdBefore | Os pedidos que se tornaram disponíveis antes dessa data e hora serão incluídos no resultado. Deve estar em ISO 8601 formato de data/hora. Tipo: string (data e hora) | Sim |
sortOrder | Classificar em ordem crescente (ASC ) ou descendente (DESC ) por data de criação do pedido.Tipo: enum ( SortOrder ) | Não |
nextToken | Usado para paginação quando há mais etiquetas de remessa do que o limite de tamanho de resultado especificado. O valor do token é retornado na chamada de API anterior. Tipo: string | Não |
Exemplo de solicitação
GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/customerInvoices?limit=2&createdAfter=2020-02-15T14:00:00-08:00&createdBefore=2020-02-20T00:00:00-08:00&sortOrder=DESC
getCustomerInvoices
obrigatório
getCustomerInvoices
obrigatórioUma resposta bem-sucedida inclui o seguinte:
Nome | Descrição | Obrigatório |
---|---|---|
pagination | Se mais de 100 faturas de clientes forem devolvidas, nextToken é retornado na resposta para paginação.Tipo: Paginação | Não |
customerInvoices | Lista de faturas de clientes. Tipo: < CustomerInvoice > matriz | Não |
Exemplo de resposta
{
"pagination": {
"nextToken": "MDAwMDAwMDAwMQ=="
},
"customerInvoices": [
{
"purchaseOrderNumber": "PO98676856",
"content": "base 64 content goes here"
}
]
}
Receba uma fatura de cliente (somente na Índia)
A operação getCustomerInvoice
retorna informações sobre a fatura do cliente que você especifica usando o número da ordem de compra. A resposta inclui informações completas da fatura do cliente para esse pedido de compra.
Observação
Essa é uma operação restrita e, portanto, requer um token de dados restritos (RDT) para autorização. Para obter mais informações, consulte o Guia de casos de uso da API de tokens.
Você também pode usar essa API para obter detalhes de qualquer fatura do cliente (no intervalo de 7 dias a partir de uma janela contínua dos últimos 6 meses, após o fornecedor ter lançado a API).
O diagrama a seguir mostra o fluxo de trabalho de integração para devolver uma fatura de cliente:
Requisitos comerciais
Que tipo de faturas de clientes estão disponíveis para serem baixados?
A fatura do cliente é um arquivo PDF codificado no formato de string binary64. Todos os pedidos de compra para a região IN devem ter uma fatura de cliente criada, que deve ser enviada com a remessa.
getCustomerInvoice
obrigatório
getCustomerInvoice
obrigatórioPara devolver uma fatura do cliente, chame a operação getCustomerInvoice
e passe o seguinte parâmetro:
Nome | Descrição | Obrigatório |
---|---|---|
purchaseOrderNumber | Número da ordem de compra da remessa para a qual devolver a fatura. Tipo: string | Sim |
Exemplo de solicitação
GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/2JK3S9VC
getCustomerInvoice
obrigatório
getCustomerInvoice
obrigatórioUma resposta bem-sucedida inclui o seguinte:
Nome | Descrição | Obrigatório |
---|---|---|
purchaseOrderNumber | O número da ordem de compra desse pedido. Tipo: string | Sim |
content | A fatura do cliente codificada em Base64. Tipo: string | Sim |
Exemplo de resposta
{
"purchaseOrderNumber": "PO98676856",
"content": "base 64 encoded string"
}
Crie uma etiqueta de contêiner
Use o createContainerLabel
operação para solicitar e receber uma etiqueta de palete da Amazon para cada carga paletizada. A resposta inclui uma etiqueta de palete imprimível em 4X6 que contém o tipo de etiqueta e a ID do palete.
Requisitos comerciais
O createContainerLabel
a operação não suporta várias solicitações de etiquetas de paletes em uma chamada de API. Se você quiser recuperar etiquetas de paletes para vários paletes, você deve enviar vários createContainerLabel
solicitações em paralelo.
createContainerLabel
obrigatório
createContainerLabel
obrigatórioPara solicitar uma etiqueta de endereço, chame a operação createContainerLabel
e passe o seguinte parâmetro:
Nome | Descrição | Obrigatório |
---|---|---|
sellingParty | O ID da parte vendedora ou do fornecedor. Tipo: PartyIdentification | Sim |
shipFromParty | O código do depósito do fornecedor. Tipo: PartyIdentification | Sim |
vendorContainerId | O identificador exclusivo do fornecedor para o contêiner. Tipo: VendorContainerId | Sim |
carrierId | O suporte da etiqueta do contêiner (palete). Tipo: CarrierId | Sim |
packages | Uma matriz de objetos de embalagem que associa pacotes de remessa a um contêiner. Tipo: Packages | Sim |
Exemplo de solicitação
POST https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/containerLabel
{
"sellingParty": {
"partyId": "999US"
},
"shipFromParty": {
"partyId": "ABCD"
},
"vendorContainerId": "000011189212211212",
"carrierId": "SWA",
"packages": [
{
"packageTrackingNumber": "TBA134335066000"
},
{
"packageTrackingNumber": "TBA214335089000"
},
{
"packageTrackingNumber": "TBA311235066000"
}
]
}
createContainerLabel
obrigatório
createContainerLabel
obrigatórioUma resposta bem-sucedida inclui o seguinte:
Nome | Descrição | Obrigatório |
---|---|---|
containerTrackingNumber | O identificador de rastreamento do contêiner (palete) da transportadora. Tipo: string | Sim |
content | O conteúdo do rótulo do contêiner codificado em uma string Base64. Tipo: string | Sim |
format | O formato da etiqueta do recipiente. Tipo: ContainerLabelFormat | Sim |
Exemplo de resposta
{
"containerLabel": {
"containerTrackingNumber": "TBA134335066000",
"content": "Base64 encoded string",
"format": "PNG"
}
}
Updated 12 days ago