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

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.

The Direct Fulfillment integration workflow for submitting shipping label requests.

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

Para solicitar etiquetas de endereço, chame a operação submitShippingLabelRequest e passe o seguinte parâmetro:

NomeDescriçãoObrigatório
shippingLabelRequestsSolicite 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

Uma resposta bem-sucedida inclui o seguinte:

NomeDescriçãoObrigatório
transactionIdGUID 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: stringNã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 submitShippingLabelRequestencontro).

📘

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:

The Direct Fulfillment integration workflow when retrieving shipping labels.

getShippingLabels obrigatório

Para recuperar uma lista de etiquetas de endereço, chame a operação getShippingLabels e passe os seguintes parâmetros:

NomeDescriçãoObrigatório
shipFromPartyIdO fornecedor warehouseId para atendimento de pedidos. Se não for especificada, a resposta conterá pedidos para todos os depósitos.
Tipo: string
Não
limitO limite para o número de registros retornados.
Tipo: inteiro
Não
createdAfterAs 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
createdBeforeAs 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
sortOrderClassificar em ordem crescente (ASC) ou descendente (DESC) por data de criação do pedido.
Tipo: enum (SortOrder)
Não
nextTokenUsado 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

Uma resposta bem-sucedida inclui o seguinte:

NomeDescriçãoObrigatório
paginationSe mais de 100 etiquetas de endereço forem devolvidas, nextToken é retornado na resposta para paginação.Não
shippingLabelsLista 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 submitShippingLabelRequestencontro).

📘

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:

The Direct Fulfillment integration workflow for retrieving a specific shipping label.

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

Para solicitar uma etiqueta de endereço, chame a operação getShippingLabel e passe o seguinte parâmetro:

NomeDescriçãoObrigatório
purchaseOrderNumberO 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

Uma resposta bem-sucedida inclui o seguinte:

NomeDescriçãoObrigatório
purchaseOrderNumberO número da ordem de compra desse pedido.
Tipo: string
Sim
sellingPartyO identificador da parte vendedora ou do fornecedor.
Tipo: PartyIdentification
Sim
shipFromPartyO código do depósito do fornecedor.
Tipo: PartyIdentification
Sim
labelFormatO formato da etiqueta.
enumeração (LabelFormat)
Sim
labelDataFornece 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.

The Direct Fulfillment integration workflow for creating shipping labels synchronously.

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

Para criar etiquetas de envio de forma síncrona, ligue para createShippingLabels operação e passe o seguinte parâmetro de caminho:

NomeDescriçãoObrigatório
purchaseOrderNumberO número da ordem de compra das etiquetas de frete que você deseja.
Tipo: string
Sim

Você pode incluir os seguintes parâmetros corporais:

NomeDescriçãoObrigatório
sellingPartyO ID da parte vendedora ou do fornecedor.
Tipo: PartyIdentification
Sim
shipFromPartyCódigo do armazém do fornecedor.
Tipo: PartyIdentification
Sim
containersUma 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

Uma resposta bem-sucedida inclui o seguinte:

NomeDescriçãoObrigatório
purchaseOrderNumberO número da ordem de compra desse pedido.
Tipo: string
Sim
sellingPartyO identificador da parte vendedora ou do fornecedor.
Tipo: PartyIdentification
Sim
shipFromPartyO código do depósito do fornecedor.
Tipo: PartyIdentification
Sim
labelFormatO formato da etiqueta.
enumeração (LabelFormat)
Sim
labelDataFornece 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ódigoMensagemDetails
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á ausenteNenhum
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 itemNenhum
InvalidInput[INVALID_VENDOR_CODE]: Código de fornecedor inválido ${vendorCode}. Verifique se o código do fornecedor está correto para o pedidoNenhum
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 corretosNenhum
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 pedidoNenhum
InvalidInput[DUPLICATE_VENDOR_PACKAGE_ID]: IDs de pacotes de fornecedores duplicados. Corrija os identificadores de contêiner duplicados e tente novamenteNenhum
InvalidInput[EMPTY_VENDOR_PACKAGE_ID]: IDs de pacote de fornecedores inválidos. Corrija os identificadores de contêiner inválidos e tente novamenteNenhum
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
InternalFailureEncontramos 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:

The Direct Fulfillment integration workflow for submitting shipment confirmations.

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 para FLOOR_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 ou vendorProductIdentifier 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

Para enviar confirmações de envio, chame a operação submitShipmentConfirmations e passe o seguinte parâmetro:

NomeDescriçãoObrigatório
shipmentConfirmationsLista 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

Uma resposta bem-sucedida inclui o seguinte:

NomeDescriçãoObrigatório
transactionIdGUID 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:

The Direct Fulfillment integration workflow for submitting shipment status updates.

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 EDIFACTCódigo de motivo EDIFACTDescrição operacionalVendor Central UI equivalency
404117O envio está atrasado devido a um acidente em grande escalaDELAYED
301000Remessa entregue ao clienteDELIVERED
101000A remessa saiu do FCDEPARTED_FROM_FC
201000A remessa chegou às instalações de uma transportadoraIN_TRANSIT
409000A transportadora perdeu a remessaLOST
302000A remessa está pronta para entregaOUT_FOR_DELIVERY
407000O destinatário se recusou a aceitar a remessaREJECTED
416000A remessa não pode ser entregue e será destruídaUNDELIVERABLE
Código de status X12Código de motivo X12Descrição operacionalVendor Central UI equivalency
DEAFO envio está atrasado devido a um acidente em grande escalaDELAYED
D1NSRemessa entregue ao clienteDELIVERED
XBNSA remessa saiu do FCDEPARTED_FROM_FC
O1NSA remessa chegou às instalações de uma transportadoraIN_TRANSIT
CAPLA transportadora perdeu a remessaLOST
ODNSA remessa está pronta para entregaOUT_FOR_DELIVERY
A7AMO destinatário se recusou a aceitar a remessaREJECTED
APBGA remessa não pode ser entregue e será destruídaUNDELIVERABLE

submitShipmentStatusUpdates obrigatório

Para enviar atualizações do status da remessa, chame a operação submitShipmentStatusUpdates e passe o seguinte parâmetro:

NomeDescriçãoObrigatório
shipmentStatusUpdatesLista 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

Uma resposta bem-sucedida inclui o seguinte:

NomeDescriçãoObrigatório
transactionIdGUID 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:

The Direct Fulfillment integration workflow when retrieving packing slips.

getPackingSlips obrigatório

Para recuperar as guias de remessa, chame a operação getPackingSlips e passe os seguintes parâmetros:

NomeDescriçãoObrigatório
shipFromPartyIdO 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
limitO limite para o número de registros retornados.
Tipo: inteiro
Não
createdAfterAs 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
createdBeforeAs 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
sortOrderClassificar em ordem crescente (ASC) ou descendente (DESC) pela data de criação da guia de remessa.
Tipo: enum (SortOrder)
Não
nextTokenUsado 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

Uma resposta bem-sucedida inclui o seguinte:

NomeDescriçãoObrigatório
paginationSe mais de 100 pedidos forem devolvidos, nextToken é retornado na resposta para paginação.Não
packingSlipsInclui 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:

The Direct Fulfillment integration workflow when retrieving a packing slip.

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

Para devolver uma guia de remessa, chame a operação getPackingSlip e passe o seguinte parâmetro:

NomeDescriçãoObrigatório
purchaseOrderNumberO 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

Uma resposta bem-sucedida inclui o seguinte:

NomeDescriçãoObrigatório
purchaseOrderNumberNúmero do pedido de compra da remessa.
Tipo: string
Sim
contentUma string codificada em Base64 do PDF da guia de remessa.
Tipo: string
Sim
contentTypeO 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:

The Direct Fulfillment integration workflow when retrieving customer invoices.

getCustomerInvoices obrigatório

Para devolver as faturas do cliente, chame a operação getCustomerInvoices e passe os seguintes parâmetros:

NomeDescriçãoObrigatório
shipFromPartyIdO 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
limitO limite para o número de registros retornados.
Tipo: inteiro
Não
createdAfterOs 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
createdBeforeOs 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
sortOrderClassificar em ordem crescente (ASC) ou descendente (DESC) por data de criação do pedido.
Tipo: enum (SortOrder)
Não
nextTokenUsado 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

Uma resposta bem-sucedida inclui o seguinte:

NomeDescriçãoObrigatório
paginationSe mais de 100 faturas de clientes forem devolvidas, nextToken é retornado na resposta para paginação.
Tipo: Paginação
Não
customerInvoicesLista 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:

The Direct Fulfillment integration workflow for retrieving a customer invoice.

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

Para devolver uma fatura do cliente, chame a operação getCustomerInvoice e passe o seguinte parâmetro:

NomeDescriçãoObrigatório
purchaseOrderNumberNú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

Uma resposta bem-sucedida inclui o seguinte:

NomeDescriçãoObrigatório
purchaseOrderNumberO número da ordem de compra desse pedido.
Tipo: string
Sim
contentA 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

Para solicitar uma etiqueta de endereço, chame a operação createContainerLabel e passe o seguinte parâmetro:

NomeDescriçãoObrigatório
sellingPartyO ID da parte vendedora ou do fornecedor. Tipo: PartyIdentificationSim
shipFromPartyO código do depósito do fornecedor. Tipo: PartyIdentificationSim
vendorContainerIdO identificador exclusivo do fornecedor para o contêiner. Tipo: VendorContainerIdSim
carrierIdO suporte da etiqueta do contêiner (palete). Tipo: CarrierIdSim
packagesUma matriz de objetos de embalagem que associa pacotes de remessa a um contêiner. Tipo: PackagesSim

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

Uma resposta bem-sucedida inclui o seguinte:

NomeDescriçãoObrigatório
containerTrackingNumberO identificador de rastreamento do contêiner (palete) da transportadora. Tipo: stringSim
contentO conteúdo do rótulo do contêiner codificado em uma string Base64. Tipo: stringSim
formatO formato da etiqueta do recipiente. Tipo: ContainerLabelFormatSim

Exemplo de resposta

{ "containerLabel": { "containerTrackingNumber": "TBA134335066000", "content": "Base64 encoded string", "format": "PNG" } }

Esta página ajudou você?