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ção | Método HTTP | Path | Descrição |
---|---|---|---|
getTransactionStatus | GET | /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ção | Definição |
---|---|
Processing | A 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. |
Success | A transação da API foi processada com sucesso pela Amazon. |
Failure | A 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ção | Seção da API | Operação |
---|---|---|
Confirmar pedido | Pedidos de envio direto | submitAcknowledgement |
Enviar confirmações de envio | Envio de atendimento direto | submitShipmentConfirmations |
Solicitação de etiqueta de endereço | Envio de atendimento direto | submitShippingLabelRequest |
Atualizações do status de envio | Envio de atendimento direto | submitShipmentStatusUpdates |
Atualização de inventário | Inventário de atendimento direto | submitInventoryUpdate |
Fatura | Pagamentos de atendimento direto | submitInvoice |
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ódigo | Mensagem | Details | Message Type |
---|---|---|---|
INVALID_ORDER_ID | ID de pedido inválida. | Verifique se o ID do pedido está correto. | Reconhecimento |
ACK_ALREADY_PROCESSED | Order confirmation already received for {orderId } | Nenhuma ação adicional é necessária. | Reconhecimento |
INTERNAL_SERVER_ERROR | Erro interno. Por favor, tente novamente. | Reconhecimento | |
SHIP_METHOD_NOT_SUPPORTED | {ship_method } não suportado por este canal | Por favor, obtenha o rótulo para {ship_method }, usando sua configuração existente. | ShipLabel |
SHIP_METHOD_CHANGED | O 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_UNIT | Solicitaçã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 CM | ShipLabel |
INVALID_PACKAGE_ID | Total {count } Inválido ou duplicado VendorPackageIds . | Please fix the Invalid or Duplicate VendorPackageIds and try again. | ShipLabel |
INVALID_ORDER_ID_WAREHOUSE_COMBINATION | Etiqueta 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ósito | ShipLabel |
INVALID_ORDER_STATUS | Solicitaçã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_CODE | Etiqueta de envio rejeitada: código de depósito inválido {warehouseCode }. | Certifique-se de enviar um código de depósito válido | ShipLabel |
SHIPMENT_NOT_MUTABLE | Solicitaçã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_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). | ShipLabel |
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). | ShipLabel |
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). | ShipLabel |
NO_SHIP_METHOD_ASSIGNABLE | Solicitaçã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_METHODS | Solicitaçã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_FAILURE | Solicitação rejeitada: encontramos um problema ao processar sua solicitação. | Por favor, entre em contato conosco. | ShipLabel |
INTERNAL_RETRYABLE_FAILURE | Solicitaçã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_PACKAGES | Alerta ASN! ID do pedido {shipmentId } tem pacotes vazios. | Para remessas futuras, certifique-se de que seu pedido tenha pacote (s). | Envio |
EMPTY_ITEMS | Alerta ASN! ID do pedido {shipmentId } tem itens vazios. | Para remessas futuras, certifique-se de adicionar itens ao seu ASN. | Envio |
INTERNAL_FAILURE | Erro interno. Por favor, tente novamente. | Erro interno. Por favor, tente novamente. | Envio |
NO_SHIP_METHOD | ASN rejeitado! Não shipmethod encontrado para pacote (s) {packageIds }. | Por favor, adicione seu shipmethod e tente novamente. | Envio |
SHIPMENT_UNSHIPPABLE | ASN 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_IMMUTABLE | ASN rejeitado! O status da remessa não permite atualizar a remessa. | Nenhuma ação adicional é necessária. | Envio |
NOT_ALL_ITEMS_PRESENT | ASN 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_PRESENT | ASN rejeitado: ID do pedido {shipmentId } tem itens não atribuídos a nenhum pacote. | Adicione itens aos pacotes. | Envio |
DIMENSION_OR_WEIGHT_NOT_VALID | ASN 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_UNASSIGNABLE | ASN 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_PAYLOAD | Campo de entrada inválido {fieldName }. | Envio | |
VOC_NO_CARRIER_DETAILS | ASN 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_PACKAGE | ASN rejeitado! Para pedido {shipmentId }. Nenhum peso da embalagem presente na embalagem {packageId }. | Adicione peso e tente novamente. | Envio |
INVALID_TRACKING_ID | ASN 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 envio | Envio |
INVALID_WAREHOUSE_CODE | ASN rejeitado: código de depósito inválido {warehouseCode }. | Verifique se o código do depósito está correto. | Envio |
ASN_ALREADY_PROCESSED | ASN já recebido para {shipmentId }. | Nenhuma ação é necessária, o ASN já foi processado. | Envio |
INVALID_ORDER_ID_WAREHOUSE | ASN 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_ERROR | Erro interno. Por favor, tente novamente. | Erro interno. Por favor, tente novamente. | Envio |
Updated 23 days ago