Guia de casos de uso da API de status de transação de envio direto do fornecedor v2021-12-28

Acesso programático ao status da transação de um fornecedor de atendimento direto (DF).

Versão da API: 2021-12-28

O que é a API Direct Fulfillment Transaction Status?

Os fornecedores podem usar essa API para verificar o status da transação de suas transações POST.

A seguinte operação está incluída:

OperaçãoMétodo HTTPPathDescrição
getTransactionStatusGET/vendor/directFulfillment/transactions/2021-12-28/transactions/{transactionId}Retorna o status da transação indicada pelo transactionId especificado .

Obter status da transação

Os fornecedores podem usar a operação getTransactionStatus para verificar o status de uma transação POST. Quando uma solicitação é publicada na Amazon usando determinadas operações POST nas APIs do fornecedor, como submitAcknowledgement ou submitShipmentConfirmations, por exemplo, uma resposta bem-sucedida contém um ID de transação que identifica a transação de forma exclusiva. A Amazon processará a transação de forma assíncrona e a resposta final estará disponível por meio da operação getTransactionStatus.

A Amazon oferece o status final processado para transações POST, como submitAcknowledgement e submitShipmentConfirmations por meio dessa API. É altamente recomendável que os fornecedores verifiquem o status usando essa API para garantir que as transações foram processadas com sucesso. Se ocorrer um erro, você receberá os detalhes do erro para poder corrigir a transação e reenviá-la.

Status da transaçãoDefinição
ProcessingA transação da API recebida pela Amazon está sendo processada. O processamento ainda não foi concluído. Verifique o SLA de cada operação de API para saber o tempo esperado para concluir o processamento.
SuccessA transação da API foi processada com sucesso pela Amazon.
FailureA transação da API falhou durante o processamento. Os detalhes do erro serão fornecidos no corpo de resposta getTransactionStatus.

O status da transação é compatível com as seguintes APIs de atendimento direto:

DescriçãoSeção da APIOperação
Confirmar pedidoPedidos de envio diretosubmitAcknowledgement
Enviar confirmações de envioEnvio de atendimento diretosubmitShipmentConfirmations
Solicitação de etiqueta de endereçoEnvio de atendimento diretosubmitShippingLabelRequest
Atualizações do status de envioEnvio de atendimento diretosubmitShipmentStatusUpdates
Atualização de inventárioInventário de atendimento diretosubmitInventoryUpdate
FaturaPagamentos de atendimento diretosubmitInvoice

If the transaction status is Processing and not updated to Failure or Success after 15 minutes, then the transaction has not successfully completed. The Success status will appear if the transaction is successful and an error code will be provided for Failure.

You cannot use this API for invoice messages as they are not supported and the status will be always be Processing. For any payment related queries, go to Vendor Central, select Contact Us, and select the relevant queue if the status is not updated in the vendor central portal within a day. Please ensure the data submitted is correctly formatted before opening the case.

For shipping label requests, if the transaction is failed with a terminal error reason code such as Internal server error, go to Vendor Central and select Contact Us to get the cause investigated. This generally happens due to operational constraints. For data related failures, you can correct the data and resubmit the payload to get the order fulfilled.

Solicitação getTransactionStatus

Para retornar o status da transação, chame a operação getTransactionStatus e passe o seguinte parâmetro:

Parâmetro de caminho:

Nome Descrição Obrigatório
transactionId Retornado anteriormente na resposta à solicitação POST de uma transação específica.

Tipo: string

Sim

Exemplo de solicitação:

GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/transactions/2021-12-28/transactions/20190904190535-eef8cad8-418e-4ed3-ac72-789e2ee6214a

Resposta GetTransactionStatus

Uma resposta bem-sucedida inclui o seguinte:

Nome Descrição Obrigatório
transactionId O identificador exclusivo enviado no campo transactionId em resposta à solicitação de postagem de uma transação específica.

Tipo: string

Sim
status Status atual de processamento da transação.

enum ( Status )

Sim
errors Código de erro e mensagem para a transação com falha. Disponível somente quando o status da transação é “Falha”.

Tipo: ErrorList

Não

Exemplo de resposta:

{ "transactionId": "20190918190535-eef8cad8-418e-456f-ac72-789e2ee6813c", "status": "Failure", "errors": [ { "code": "INVALID_ORDER_ID", "message": "Invalid order ID.", "details": "Please verify that the order ID is correct." } ] }

Lista de erros

The following table contains a list of all possible error codes for each message type. You should configure these error codes in your system and design a failure handling mechanism. Each error code has a message that explains the error and details that suggest how to resolve the error before retrying the transaction.

CódigoMensagemDetailsMessage Type
INVALID_ORDER_IDID de pedido inválida.Verifique se o ID do pedido está correto.Reconhecimento
ACK_ALREADY_PROCESSEDOrder confirmation already received for {orderId}Nenhuma ação adicional é necessária.Reconhecimento
INTERNAL_SERVER_ERRORErro interno. Por favor, tente novamente.Reconhecimento
SHIP_METHOD_NOT_SUPPORTED{ship_method} não suportado por este canalPor favor, obtenha o rótulo para {ship_method}, usando sua configuração existente.ShipLabel
SHIP_METHOD_CHANGEDO método de envio para este PO foi alterado de {old_ship_method} para {ship_method}.Por favor, pegue o rótulo para {ship_method}, usando sua configuração existente.ShipLabel
INVALID_DIMENSION_UNITSolicitação rejeitada: ID do pedido {shipmentId} tem unidades de medida inválidas para a dimensão do (s) pacote (s).Certifique-se de que as dimensões da embalagem sejam IN ou CMShipLabel
INVALID_PACKAGE_IDTotal {count} Inválido ou duplicado VendorPackageIds.Please fix the Invalid or Duplicate VendorPackageIds and try again.ShipLabel
INVALID_ORDER_ID_WAREHOUSE_COMBINATIONEtiqueta de envio rejeitada: ID do pedido {shipmentId} não pertence ao armazém {warehouseCode}.Envie um ID de pedido válido e um código de depósitoShipLabel
INVALID_ORDER_STATUSSolicitação rejeitada: Pedido {shipmentId} foi cancelado.O pedido não pode ser enviado porque está em status cancelado. Não tente imprimir etiquetas (s) novamente. Se você acha que o status do pedido está errado, entre em contato conosco.ShipLabel
INVALID_WAREHOUSE_CODEEtiqueta de envio rejeitada: código de depósito inválido {warehouseCode}.Certifique-se de enviar um código de depósito válidoShipLabel
SHIPMENT_NOT_MUTABLESolicitação rejeitada: dimensões do pacote para ID do pedido {shipmentId} não pode ser atualizado com o status atual.Nenhuma ação adicional é necessária.ShipLabel
NO_ITEMS_PRESENTSolicitaçã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).ShipLabel
PACKAGE_DIMENSION_NOT_VALIDSolicitaçã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).ShipLabel
PACKAGE_WEIGHT_NOT_VALIDSolicitaçã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).ShipLabel
NO_SHIP_METHOD_ASSIGNABLESolicitação rejeitada: no momento, nenhum método de envio pode ser atribuído ao ID do pedido {shipmentId}.Não é possível atribuir o método de envio. Verifique se as dimensões e o peso da embalagem estão corretos e imprima a etiqueta mais perto da data de envio esperada.ShipLabel
INCONSISTENT_SHIP_METHODSSolicitação rejeitada: diferentes métodos de envio atribuídos a diferentes pacotes.Tente enviar todos os itens em uma única caixa, se não for possível, entre em contato conosco.ShipLabel
INTERNAL_NON_RETRYABLE_FAILURESolicitação rejeitada: encontramos um problema ao processar sua solicitação.Por favor, entre em contato conosco.ShipLabel
INTERNAL_RETRYABLE_FAILURESolicitação rejeitada: encontramos um problema ao processar sua solicitação.Tente novamente em alguns minutos. Por favor, tente novamente. E se o problema persistir, entre em contato conosco.ShipLabel
EMPTY_PACKAGESAlerta ASN! ID do pedido {shipmentId} tem pacotes vazios.Para remessas futuras, certifique-se de que seu pedido tenha pacote (s).Envio
EMPTY_ITEMSAlerta ASN! ID do pedido {shipmentId} tem itens vazios.Para remessas futuras, certifique-se de adicionar itens ao seu ASN.Envio
INTERNAL_FAILUREErro interno. Por favor, tente novamente.Erro interno. Por favor, tente novamente.Envio
NO_SHIP_METHODASN rejeitado! Não shipmethod encontrado para pacote (s) {packageIds}.Por favor, adicione seu shipmethod e tente novamente.Envio
SHIPMENT_UNSHIPPABLEASN rejeitado: ID do pedido {shipmentId} não tem identificação de rastreamento ou não processou os documentos de pré-requisito (como a etiqueta e o recibo).Certifique-se de que todos os documentos pré-necessários (como a etiqueta e o recibo) sejam processados e que uma identificação de rastreamento válida seja fornecida.Envio
SHIPMENT_IMMUTABLEASN rejeitado! O status da remessa não permite atualizar a remessa.Nenhuma ação adicional é necessária.Envio
NOT_ALL_ITEMS_PRESENTASN rejeitado: ID do pedido {shipmentId} enviou uma quantidade em pacotes que não correspondem à quantidade do pedido, e alguns itens podem não ter um pacote atribuído.Adicione itens aos pacotes com a quantidade correta de envio. Para itens - {fnSku}, a quantidade esperada é {expectedQuantity} mas a quantidade fornecida é {providedQuantity}.Envio
NO_ITEMS_PRESENTASN rejeitado: ID do pedido {shipmentId} tem itens não atribuídos a nenhum pacote.Adicione itens aos pacotes.Envio
DIMENSION_OR_WEIGHT_NOT_VALIDASN rejeitado: ID do pedido {shipmentId} tem embalagem (s) com peso negativo ou zero.ASN rejeitado: ID do pedido {shipmentId} tem embalagem (s) com peso negativo ou zero.Envio
SHIP_METHOD_UNASSIGNABLEASN rejeitado: ID do pedido {shipmentId} tem um método de envio que não pode ser processado para o (s) pacote (s).Não é possível processar o método de envio. Verifique as dimensões, peso e método de envio da embalagem.Envio
INVALID_MESSAGE_PAYLOADCampo de entrada inválido {fieldName}.Envio
VOC_NO_CARRIER_DETAILSASN rejeitado! Para ID do pedido: {shipmentId}, Os detalhes da transportadora não estão presentes no pacote {packageId}.Adicione a operadora ou o SCACcode e tente novamente.Envio
WEIGHT_NOT_PRESENT_FOR_PACKAGEASN rejeitado! Para pedido {shipmentId}. Nenhum peso da embalagem presente na embalagem {packageId}.Adicione peso e tente novamente.Envio
INVALID_TRACKING_IDASN rejeitado: ID de rastreamento inválida para o pacote {packageId}.Varia de acordo com a transportadora e, para os fornecedores de etiquetas de envio da Amazon, a transportadora deve corresponder à etiqueta de envioEnvio
INVALID_WAREHOUSE_CODEASN rejeitado: código de depósito inválido {warehouseCode}.Verifique se o código do depósito está correto.Envio
ASN_ALREADY_PROCESSEDASN já recebido para {shipmentId}.Nenhuma ação é necessária, o ASN já foi processado.Envio
INVALID_ORDER_ID_WAREHOUSEASN rejeitado: ID do pedido {orderId} não pertence ao armazém {warehouseCode}.Verifique se o código do depósito e o ID do pedido estão corretos.Envio
INTERNAL_SERVER_ERRORErro interno. Por favor, tente novamente.Erro interno. Por favor, tente novamente.Envio

Esta página ajudou você?