Guida ai casi d'uso dell'API Spedizione con gestione logistica diretta del fornitore v2021-12-28
Scopri come utilizzare l'API di spedizione Vendor Direct Fulfillment (DF).
Usa il API di spedizione a evasione diretta per scambiare documenti relativi alle spedizioni con Amazon.
Tutorial
I tutorial di questa sezione descrivono come:
- Invia richieste di etichette di spedizione
- Ottieni una o più etichette di spedizione
- Crea etichette di spedizione e etichette per contenitori
- Invia conferme di spedizione e aggiornamenti sullo stato della spedizione
- Richiedi uno o più documenti di trasporto
- Ottieni una o più fatture per i clienti (solo India)
Invia richieste di etichette di spedizione
L'operazione submitShippingLabelRequest
consente ai fornitori di richiedere ad Amazon le informazioni relative all'etichetta di spedizione per ogni ordine d'acquisto. Puoi inviare più richieste di etichetta di spedizione in blocco con una singola chiamata API aderendo allo schema. Quando Amazon crea le etichette di spedizione, diventeranno disponibili per il download tramite l'operazione getShippingLabel
.
Nota
Le
submitShippingLabelRequest
l'operazione è disponibile solo per i fornitori che utilizzano corrieri Amazon.
Verifica le richieste di invio delle etichette di spedizione
Puoi verificare lo stato delle tue richieste di etichette di spedizione utilizzando il API per le transazioni DF del fornitore. Attendi al sistema fino a 15 minuti per mostrare lo stato dopo l'invio. Se lo stato della transazione non viene aggiornato dopo 30 minuti, apri un Contattaci caso in Vendor Central.
Il seguente diagramma illustra il flusso di lavoro per l'invio di richieste di etichetta di spedizione.
Requisiti aziendali
-
L'ordine di acquisto deve essere confermato con successo tramite API, EDI o Vendor Central prima di inviare la richiesta dell'etichetta di spedizione. Le richieste di etichette di spedizione per ordini di acquisto non confermati o annullati vengono rifiutate.
-
Se utilizzi le etichette di spedizione di Amazon, l'invio di informazioni in merito agli articoli o al pacco nella richiesta è facoltativo.
submitShippingLabelRequest
richiesto
submitShippingLabelRequest
richiestoPer richiedere etichette di spedizione, chiama l'operazione submitShippingLabelRequest
e passa il seguente parametro:
Nome | Descrizione | Obbligatorio |
---|---|---|
shippingLabelRequests | Richiedi una o più etichette di spedizione. Tipo: < ShippingLabelRequest > matrice | Sì |
Esempio di richiesta
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
richiesto
submitShippingLabelRequest
richiestoUna risposta con esito positivo include quanto segue:
Nome | Descrizione | Obbligatorio |
---|---|---|
transactionId | GUID per identificare questa transazione. Questo valore può essere utilizzato con API per le transazioni DF del fornitore per restituire lo stato di questa transazione.<bar.>Tipo: stringa | No |
Esempio di risposta
{
"transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605"
}
Ottieni etichetta di spedizione
L'operazione nextToken">getShippingLabels
restituisce le etichette di spedizione per tutti gli ordini che rispettano i requisiti di filtro specificati nella richiesta. Devi aver già richiesto etichette di spedizione tramite l'operazione submitShippingLabelRequest
prima di utilizzare questa API per ricevere etichette di spedizione disponibili per la gestione logistica. Amazon consiglia ai fornitori di verificare la presenza di etichette di spedizione almeno una volta all'ora durante l'orario lavorativo. A seconda del volume di affari, puoi scegliere di controllare più frequentemente. Puoi ricevere fino a 100 etichette di spedizione con una chiamata API. Se sono presenti più di 100 etichette, puoi utilizzare il valore nextToken per ricevere il set successivo di etichette di spedizione.
Le etichette di spedizione scadono 90 giorni dopo la data di creazione ( submitShippingLabelRequest
data).
Nota
Si tratta di un'operazione soggetta a restrizioni, la cui autorizzazione richiede un token di dati con restrizioni. Per maggiori informazioni, consulta Guida ai casi d'uso dell'API Token.
Il seguente diagramma illustra il flusso di lavoro di integrazione per il recupero di etichette di spedizione:
getShippingLabels
richiesto
getShippingLabels
richiestoPer recuperare un elenco di etichette di spedizione, chiama l'operazione getShippingLabels
e passa il seguente parametro:
Nome | Descrizione | Obbligatorio |
---|---|---|
shipFromPartyId | Il venditore warehouseId per l'evasione degli ordini. Se non specificato, la risposta conterrà gli ordini per tutti i magazzini.Tipo: stringa | No |
limit | Il limite al numero di record restituiti. Tipo: intero | No |
createdAfter | Le etichette di spedizione che sono diventate disponibili dopo questa data e ora verranno incluse nella risposta. Deve essere presente ISO 8601 formato data/ora. Tipo: stringa (data-ora) | Sì |
createdBefore | Le etichette di spedizione che sono diventate disponibili prima di questa data e ora verranno incluse nel risultato. Deve essere presente ISO 8601 formato data/ora. Tipo: stringa (data-ora) | Sì |
sortOrder | Ordina in modo crescente (ASC ) o decrescente (DESC ) per data di creazione dell'ordine.Tipo: enum ( SortOrder ) | No |
nextToken | Utilizzato per l'impaginazione quando ci sono più etichette di spedizione rispetto al limite di dimensione del risultato specificato. Il valore del token viene restituito nella precedente chiamata API. Tipo: stringa | No |
Esempio di richiesta
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
richiesto
getShippingLabels
richiestoUna risposta con esito positivo include quanto segue:
Nome | Descrizione | Obbligatorio |
---|---|---|
pagination | Se vengono restituite più di 100 etichette di spedizione, nella risposta per l'impaginazione viene restituito nextToken . | No |
shippingLabels | Elenco delle etichette delle navi. Tipo: < ShippingLabel > matrice | No |
Esempio di risposta
{
"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 "
}
]
}
]
}
Ottieni etichetta di spedizione
L'operazione getShippingLabel
restituisce informazioni sull'etichetta di spedizione specificata utilizzando il numero di ordine d'acquisto. La risposta include informazioni complete sull'etichetta di spedizione per l'ordine d'acquisto, compresi il tipo di etichetta, i dettagli dell'ordine d'acquisto e il metodo di spedizione.
Le etichette di spedizione scadono 90 giorni dopo la data di creazione ( submitShippingLabelRequest
data).
Nota
Si tratta di un'operazione soggetta a restrizioni, la cui autorizzazione richiede un token di dati con restrizioni. Per maggiori informazioni, consulta Guida ai casi d'uso dell'API Token.
Puoi utilizzare questa API anche per ottenere dettagli per qualsiasi etichetta di spedizione che risale a un intervallo di tempo di 7 giorni in una finestra temporale pari agli ultimi 6 mesi, dopo che il fornitore ha iniziato a utilizzare l'API.
Il seguente diagramma illustra il flusso di lavoro di integrazione per il recupero di un'etichetta di spedizione specifica:
Requisiti aziendali
- Quali tipi di etichette sono disponibili per il download?
I formati di etichetta supportati sono ZPL e PNG. Il contenuto dell'etichetta è fornito in formato stringa Base 64, in modo da poter convertire la stringa nel formato di etichetta desiderato. La scelta del formato dell'etichetta spetta al fornitore, che la decide come parte del processo di inserimento nel programma di evasione diretta.
- Entro quando devo richiedere l'etichetta di spedizione?
Richiedi le etichette di spedizione solo il giorno in cui gli ordini vengono spediti.
getShippingLabel
richiesto
getShippingLabel
richiestoPer richiedere un'etichetta di spedizione, chiama l'operazione getShippingLabel
e passa il seguente parametro:
Nome | Descrizione | Obbligatorio |
---|---|---|
purchaseOrderNumber | Il numero dell'ordine d'acquisto per il quale vuoi restituire l'etichetta di spedizione. Deve essere lo stesso purchaseOrderNumber ricevuto nell'ordine. | Sì |
Esempio di richiesta
GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/2JK3S9VC
getShippingLabel
richiesto
getShippingLabel
richiestoUna risposta con esito positivo include quanto segue:
Nome | Descrizione | Obbligatorio |
---|---|---|
purchaseOrderNumber | Il numero dell'ordine di acquisto per questo ordine. Tipo: stringa | Sì |
sellingParty | L'identificativo della parte venditrice o del venditore. Tipo: PartyIdentification | Sì |
shipFromParty | Il codice di magazzino del venditore. Tipo: PartyIdentification | Sì |
labelFormat | Il formato dell'etichetta. enum ( LabelFormat ) | Sì |
labelData | Fornisce i dettagli dei pacchi inclusi in questa spedizione. Tipo: < LabelData > matrice | Sì |
Esempio di risposta
{
"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"
}
]
}
Crea etichette di spedizione
Le createShippingLabels
operazione crea etichette di spedizione per un ordine di acquisto e restituisce le etichette. Si tratta di un'operazione sincrona e non richiede la chiamata a API per le transazioni DF del fornitore.
Nota
Si tratta di un'operazione soggetta a restrizioni, la cui autorizzazione richiede un token di dati con restrizioni. Per maggiori informazioni, consulta Guida ai casi d'uso dell'API Token.
Il diagramma seguente mostra il flusso di lavoro per la creazione di etichette di spedizione utilizzando createShippingLabels
operazione.
Requisiti aziendali
Puoi restituire le etichette di spedizione per un ordine di acquisto per richiesta. Non sono supportati più ordini di acquisto in un'unica richiesta.
createShippingLabels
richiesto
createShippingLabels
richiestoPer creare etichette di spedizione in modo sincrono, chiama il createShippingLabels
operazione e passa il seguente parametro di percorso:
Nome | Descrizione | Obbligatorio |
---|---|---|
purchaseOrderNumber | Il numero dell'ordine di acquisto per le etichette di spedizione desiderate. Tipo: stringa | Sì |
È possibile includere i seguenti parametri corporei:
Nome | Descrizione | Obbligatorio |
---|---|---|
sellingParty | L'ID della parte venditrice o del venditore. Tipo: PartyIdentification | Sì |
shipFromParty | Codice di magazzino del fornitore. Tipo: PartyIdentification | Sì |
containers | Un elenco dei pacchi inclusi in questa spedizione. Tipo: < Container > matrice | No |
Esempio di richiesta
POST https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/
shipping/2021-12-28/shippingLabels/XhvBghry
{
"sellingParty": {
"partyId": "999US"
},
"shipFromParty": {
"partyId": "ABCD"
}
}
createShippingLabels
richiesto
createShippingLabels
richiestoUna risposta con esito positivo include quanto segue:
Nome | Descrizione | Obbligatorio |
---|---|---|
purchaseOrderNumber | Il numero dell'ordine di acquisto per questo ordine. Tipo: stringa | Sì |
sellingParty | L'identificativo della parte venditrice o del venditore. Tipo: PartyIdentification | Sì |
shipFromParty | Il codice di magazzino del venditore. Tipo: PartyIdentification | Sì |
labelFormat | Il formato dell'etichetta. enum ( LabelFormat ) | Sì |
labelData | Fornisce i dettagli dei pacchi inclusi in questa spedizione. Tipo: < LabelData > matrice | Sì |
Esempio di risposta
{
"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"
}
]
}
Esempio di risposta (errore)
{
"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": ""
}
]
}
Elenco dei possibili dettagli della risposta all'errore
La tabella seguente contiene un elenco di tutti i possibili dettagli di risposta agli errori. Sono incluse tutte le misure consigliate da eseguire per risolvere la condizione di errore prima di riprovare la richiesta. È necessario progettare un meccanismo di gestione degli errori nell'applicazione per anticipare e gestire questi potenziali errori.
È possibile che nel tempo vengano aggiunte ulteriori risposte agli errori, quindi l'applicazione dovrebbe anche essere pronta a gestire con garbo gli errori che non sono inclusi in questo elenco.
Valori tra parentesi preceduti da un \$
che appaiono nella colonna Messaggio (ad esempio \${fnSku}
) vengono sostituiti con i valori effettivi nella risposta all'errore.
Codice | Messaggio | Details |
---|---|---|
InvalidInput | [MISMATCHED_ITEM]: Richiesta rifiutata: la quantità dell'ordine non corrisponde alla quantità spedita. Tutti gli articoli dell'ordine devono essere forniti. Assicurati di aggiungere la quantità corretta di articoli spediti ai pacchi. Per gli articoli: ${fnSku}, la quantità prevista è ${expectedQuantity}, ma la quantità fornita è ${providedQuantity}. | Nessuno |
InvalidInput | [NO_ITEMS_PRESENT]: Richiesta rifiutata: ID ordine ${shipmentId} contiene articoli non assegnati a nessun pacchetto. Assicurati che tutti gli articoli siano abbinati ai pacchi. | Nessuno |
InvalidInput | [PACKAGE_DIMENSION_NOT_VALID]: Richiesta rifiutata: ID ordine ${shipmentId} ha una dimensione non valida per i pacchi. Aggiungi dimensioni valide per i tuoi pacchi. | Nessuno |
InvalidInput | [PACKAGE_WEIGHT_NOT_VALID]: Richiesta rifiutata: ID ordine ${shipmentId} ha un peso non valido per il/i pacco/i. Aggiungi un peso valido per i tuoi pacchi. | Nessuno |
InvalidInput | [PIECE_NUMBER_ONE_NOT_PROVIDED]: il numero di sequenza del contenitore '1' non è fornito per almeno un articolo. Controlla se manca il numero di sequenza del contenitore | Nessuno |
InvalidInput | [INCONSISTENT_PIECE_NUMBER_QUANTITY]: il numero di sequenza del contenitore di almeno un articolo non è coerente o è incompatibile con la quantità dell'articolo. Verifica che il numero di sequenza del contenitore sia corretto e che la quantità di ciascun articolo sia uguale al numero di sequenza dell'articolo | Nessuno |
InvalidInput | [INVALID_VENDOR_CODE]: Codice fornitore non valido ${vendorCode}. Verifica che il codice fornitore sia corretto per l'ordine | Nessuno |
InvalidInput | [INVALID_ORDER_ID_WAREHOUSE_COMBINATION]: Etichetta di spedizione rifiutata: ID ordine ${shipmentId} non appartiene al magazzino ${warehouseCode}. Verifica che il codice del magazzino e l'ID dell'ordine siano corretti | Nessuno |
InvalidInput | [INCORRECT_VENDOR_GROUP_ID]: ID gruppo fornitori non valido ${vendorGroupId}. Verifica che l'ID del gruppo di fornitori sia corretto per l'ordine | Nessuno |
InvalidInput | [DUPLICATE_VENDOR_PACKAGE_ID]: ID VendorPackageID duplicati. Correggi gli identificatori duplicati del contenitore e riprova | Nessuno |
InvalidInput | [EMPTY_VENDOR_PACKAGE_ID]: VendorPackageID non validi. Correggi gli identificatori di contenitore non validi e riprova | Nessuno |
InvalidInput | [METODO_DI SPEDIZIONE NON SUPPORTATO]: ${ship_method} non è supportato. Usa la tua configurazione esistente per generare l'etichetta per ${ship_method} | Nessuno |
InvalidInput | [SHIP_METHOD_CHANGED]: il metodo di spedizione per questo ordine di acquisto è cambiato da ${old_ship_method} a ${ship_method}. Usa la tua configurazione esistente per generare l'etichetta per ${ship_method} | Nessuno |
InvalidInput | [INCONSISTENT_SHIP_METHODS]: Richiesta rifiutata: diversi metodi di spedizione vengono assegnati a diversi pacchi. Prova a spedire tutti gli articoli in un'unica scatola. Se ciò non è possibile, contattaci. | Nessuno |
ConflictError | [SHIPMENT_NOT_MUTABLE]: Richiesta rifiutata: dimensioni del pacco per il numero dell'ordine ${shipmentId} non può essere aggiornato con lo stato attuale. Non è richiesta alcuna ulteriore azione. | Nessuno |
ConflictError | [ORDER_SHIPPED_WITH_VENDOR_LABEL]: hai già spedito l'ordine con un corriere diverso da Amazon Transportation, quindi non puoi stampare l'etichetta per questo ordine. Non è richiesta alcuna azione. Hai già confermato l'ordine spedito. | Nessuno |
InternalFailure | Abbiamo riscontrato un errore interno. Per favore riprova. | Nessuno |
Invia conferme di spedizione
L'operazione submitShipmentConfirmations
consente ai fornitori di inviare conferme di spedizione ad Amazon, consentendo così di effettuare il monitoraggio delle spedizioni e informare i clienti in modo efficiente. La conferma contiene informazioni in merito agli articoli spediti, compresi il numero di ordine d'acquisto, la data di spedizione, la data di consegna prevista e il numero di spedizione.
Le conferme di spedizione ci consentono di collaborare in modo più efficace con i corrieri per il monitoraggio delle tue spedizioni.
La mancanza di una conferma di spedizione valida può comportare:
-
Visibilità insufficiente sulle spedizioni.
-
Errori nella riconciliazione delle spedizioni fisiche con gli ordini d'acquisto.
-
Follow-up manuali per risolvere le discrepanze.
Verifica delle conferme di spedizione inviate correttamente
I fornitori possono verificare lo stato delle loro conferme di spedizione tramite Vendor Central > Ordini > Ordini a evasione diretta o usando API per le transazioni DF del fornitore. Attendi al sistema fino a 10 minuti per determinare lo stato dopo l'invio. Se Vendor Central non mostra i valori corretti per la conferma della spedizione, apri un Contattaci caso in Vendor Central. Consulta la sezione Requisiti aziendali per informazioni sulla creazione delle conferme di spedizione.
Il seguente diagramma illustra il flusso di lavoro di integrazione per l'invio di conferme di spedizione:
Requisiti aziendali
-
Utilizza questa API per confermare la spedizione di un ordine entro quattro ore dalla spedizione dell'ordine dal tuo magazzino.
-
Per le spedizioni "floor denied", imposta il valore del campo
shipmentStatus
suFLOOR_DENIAL
. -
Tutte le voci dell'ordine d'acquisto devono essere presenti nella conferma di spedizione. La gestione logistica parziale dell'ordine non è consentita. I fornitori devono rifiutare l'ordine come "floor denial" se non è possibile gestire uno qualsiasi degli articoli.
-
Il
itemSequenceNumber
di un articolo deve corrispondere a quello ricevuto nel messaggio dell'ordine. -
Per inviare la conferma di spedizione sono obbligatori
buyerProductIdentifier
ovendorProductIdentifier
. È necessario inviare lo stesso valore ricevuto nell'ordine d'acquisto. -
Per i VOC, invio
scacCode
è obbligatorio. -
Se l'etichetta di spedizione è fornita da Amazon, la sezione container è facoltativa in quanto Amazon ha accesso alle informazioni sul pacco. La selezione degli articoli è obbligatoria per l'invio.
-
Il contenitore in una conferma di spedizione deve avere un metodo di spedizione specificato.
submitShipmentConfirmations
richiesto
submitShipmentConfirmations
richiestoPer inviare conferme di spedizione, chiama l'operazione submitShipmentConfirmations
e passa il seguente parametro:
Nome | Descrizione | Obbligatorio |
---|---|---|
shipmentConfirmations | Elenco delle spedizioni confermate. Tipo: < ShipmentConfirmation > matrice | Sì |
Esempio di richiesta
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
richiesto
submitShipmentConfirmations
richiestoUna risposta con esito positivo include quanto segue:
Nome | Descrizione | Obbligatorio |
---|---|---|
transactionId | GUID per identificare questa transazione. Questo valore può essere utilizzato con API per le transazioni DF del fornitore per restituire lo stato di questa transazione. Tipo: stringa | Sì |
Esempio di risposta
{
"transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605"
}
Invia aggiornamenti sullo stato della spedizione
Attenzione
Solo i vendor Own Carrier (VOC) possono utilizzare gli aggiornamenti dello stato delle spedizioni. Ciò significa che i fornitori utilizzano il proprio corriere per la consegna delle spedizioni, anziché i corrieri Amazon, per trasportare le spedizioni ai clienti. I fornitori di VOC coprono in ultima analisi i costi di trasporto e la responsabilità di consegnare le spedizioni ai clienti.
L'operazione submitShipmentStatusUpdates
consente ai fornitori di aggiornare lo stato del trasporto per le spedizioni in transito verso il cliente finale. I fornitori che utilizzano il proprio corriere sono tenuti ad aggiornare lo stato della spedizione durante la fase di trasporto. Tali aggiornamenti sono noti come scansioni.
Queste informazioni saranno quindi inoltrate ai clienti Amazon nella pagina "I tuoi ordini" e miglioreranno così la visibilità sul monitoraggio dell'ordine e sul processo di consegna.
Il mancato aggiornamento dello stato di spedizione può comportare indicatori KPI negativi, come un basso tasso di scansioni, e portare alla sospensione del magazzino.
Verifica degli aggiornamenti dello stato di spedizione inviati correttamente
I fornitori possono verificare lo stato degli aggiornamenti sullo stato della spedizione in Vendor Central > Ordini > Ordini a evasione diretta o utilizzando API per le transazioni DF del fornitore. Attendi al sistema fino a 10 minuti per determinare lo stato dopo l'invio. Se Vendor Central non mostra i valori corretti per la conferma della spedizione, apri un Contattaci caso in Vendor Central. Consulta la sezione Requisiti aziendali per informazioni sulla creazione delle conferme di spedizione.
Il seguente diagramma illustra il flusso di lavoro di integrazione per l'invio di aggiornamenti dello stato di spedizione:
Requisiti aziendali
-
Utilizza questa API solo se utilizzi il tuo corriere (sei un fornitore di VOC) per trasportare la spedizione al cliente.
-
Utilizza questa API per aggiornare lo stato di una spedizione dopo la conferma della spedizione (tramite API o Vendor Central).
-
Le
trackingNumber
nell'API sullo stato della spedizione deve corrispondere atrackingNumber
fornito nella conferma di spedizione. Se non corrisponde, l'aggiornamento dello stato della spedizione non riesce. -
Uno
submitShipmentStatusUpdates
la chiamata deve corrispondere a un pacchetto fisico. Puoi aggiornare lo stato della spedizione di più pacchi in un'unica chiamata API raggruppandoli in una serie di aggiornamenti sullo stato della spedizione. -
Un ordine di gestione logistica diretta può risultare nella consegna di diversi pacchi al cliente. Pertanto, sono necessari diversi aggiornamenti dello stato di spedizione per riflettere lo stato di spedizione complessivo dell'ordine.
-
I fornitori devono inviare lo stato di spedizione quando possibile seguendo le linee guida di Amazon sullo stato di spedizione.
-
Per gli ordini con consegna programmata, i fornitori devono inviare la matrice
shipmentSchedule
che specifica la data di consegna prevista e la finestra di consegna.
Campi aggiuntivi
statusCode
e reasonCode
sono codici standard utilizzati negli standard EDI (ad esempio, ISA X12 ed EDIFACT) utilizzati per fornire un evento di stato specifico e il motivo dell'evento di stato. Ci aspettiamo una combinazione specifica di statusCode
e reasonCode
che determinano un evento nella fase di trasporto della spedizione verso il cliente finale.
Questi sono gli stati e i codici motivo supportati e l'equivalenza con Vendor Central attuale:
Codice di stato EDIFACT | Codice motivo EDIFACT | Descrizione operativa | Vendor Central UI equivalency |
---|---|---|---|
404 | 117 | La spedizione è in ritardo per via di un incidente su larga scala. | DELAYED |
301 | 000 | La spedizione è stata consegnata al cliente. | DELIVERED |
101 | 000 | La spedizione è partita dal centro logistico. | DEPARTED_FROM_FC |
201 | 000 | La spedizione è arrivata presso una struttura del corriere. | IN_TRANSIT |
409 | 000 | Il corriere ha perso la spedizione. | LOST |
302 | 000 | La spedizione è in consegna. | OUT_FOR_DELIVERY |
407 | 000 | Il destinatario ha rifiutato di accettare la spedizione. | REJECTED |
416 | 000 | La spedizione non è recapitabile e verrà distrutta. | UNDELIVERABLE |
Codice di stato X12 | Codice motivo X12 | Descrizione operativa | Vendor Central UI equivalency |
---|---|---|---|
DE | AF | La spedizione è in ritardo per via di un incidente su larga scala. | DELAYED |
D1 | NS | La spedizione è stata consegnata al cliente. | DELIVERED |
XB | NS | La spedizione è partita dal centro logistico. | DEPARTED_FROM_FC |
O1 | NS | La spedizione è arrivata presso una struttura del corriere. | IN_TRANSIT |
CA | PL | Il corriere ha perso la spedizione. | LOST |
OD | NS | La spedizione è in consegna. | OUT_FOR_DELIVERY |
A7 | AM | Il destinatario ha rifiutato di accettare la spedizione. | REJECTED |
AP | BG | La spedizione non è recapitabile e verrà distrutta. | UNDELIVERABLE |
submitShipmentStatusUpdates
richiesto
submitShipmentStatusUpdates
richiestoPer inviare aggiornamenti dello stato di spedizione, chiama l'operazione submitShipmentStatusUpdates
e passa il seguente parametro:
Nome | Descrizione | Obbligatorio |
---|---|---|
shipmentStatusUpdates | Elenco delle spedizioni confermate. Tipo: < ShipmentStatusUpdate > matrice | Sì |
Esempio di richiesta
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
richiesto
submitShipmentStatusUpdates
richiestoUna risposta con esito positivo include quanto segue:
Nome | Descrizione | Obbligatorio |
---|---|---|
transactionId | GUID per identificare questa transazione. Questo valore può essere utilizzato con API per le transazioni DF del fornitore per restituire lo stato di questa transazione. Tipo: stringa | Sì |
Esempio di risposta
{
"transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605"
}
Ottieni i documenti di imballaggio
L'operazione getPackingSlips
restituisce una lista di distinte di imballaggio per gli ordini che rispettano i criteri specificati. Se hai bisogno di una distinte di imballaggio per un ordine specifico, usa l'operazione getPackingSlip
.
Nota
Si tratta di un'operazione soggetta a restrizioni, la cui autorizzazione richiede un token di dati con restrizioni. Per maggiori informazioni, consulta Guida ai casi d'uso dell'API Token.
Dovresti utilizzare questa API per ottenere i documenti di imballaggio per gli ordini di acquisto a tua disposizione per l'evasione. Amazon consiglia ai fornitori di controllare gli ordini almeno una volta all'ora durante l'orario lavorativo. A seconda del volume della tua attività, puoi scegliere di effettuare il controllo con maggiore frequenza. Puoi ottenere fino a 100 documenti di trasporto in una chiamata API. Se sono presenti più di 100 documenti di trasporto, puoi utilizzare nextToken
valore come parametro nella prossima richiesta per ottenere il prossimo set di documenti di trasporto.
Il seguente diagramma illustra il flusso di lavoro di integrazione per il recupero di distinte di imballaggio:
getPackingSlips
richiesto
getPackingSlips
richiestoPer recuperare le distinte di imballaggio, chiama l'operazione getPackingSlips
e passa i seguenti parametri:
Nome | Descrizione | Obbligatorio |
---|---|---|
shipFromPartyId | Il venditore warehouseId da cui verrà evaso l'ordine. Se non specificato, il risultato conterrà gli ordini per tutti i magazzini.Tipo: stringa | No |
limit | Il limite al numero di record restituiti. Tipo: intero | No |
createdAfter | I documenti di trasporto resi disponibili dopo questa data e ora verranno inclusi nel risultato. Deve essere dentro ISO 8601 formato data/ora. Tipo: stringa (data-ora) | Sì |
createdBefore | I documenti di trasporto resi disponibili prima di questa data e ora verranno inclusi nel risultato. Deve essere dentro ISO 8601 formato data/ora. Tipo: stringa (data-ora) | Sì |
sortOrder | Ordina in modo crescente (ASC ) o decrescente (DESC ) entro la data di creazione del documento di trasporto.Tipo: enum ( SortOrder ) | No |
nextToken | Utilizzato per l'impaginazione quando ci sono più ordini rispetto al limite di dimensione del risultato specificato. Il valore del token viene restituito nella precedente chiamata API. Tipo: stringa | No |
Esempio di richiesta
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
richiesto
getPackingSlips
richiestoUna risposta con esito positivo include quanto segue:
Nome | Descrizione | Obbligatorio |
---|---|---|
pagination | Se vengono restituiti più di 100 ordini, nella risposta per l'impaginazione viene restituito nextToken . | No |
packingSlips | Include i dettagli per i documenti di trasporto. Tipo: < PackingSlip > matrice | No |
Esempio di risposta
{
"pagination": {
"nextToken": "NEBxNEBxNEBxNR=="
},
"packingSlips": [
{
"purchaseOrderNumber": "UvgABdBjQ",
"content": "base64 encoded string",
"contentType": "application/pdf"
},
{
"purchaseOrderNumber": "VvgCDdBjR",
"content": "base64 encoded string",
"contentType": "application/pdf"
}
]
}
Ottieni una distinta di imballaggio
Le getPackingSlip
l'operazione restituisce il documento di trasporto con il numero dell'ordine di acquisto specificato. La risposta include una stringa codificata in base64 del documento di trasporto. Il tipo di contenuto sarà sempre «application/pdf».
Nota
Si tratta di un'operazione soggetta a restrizioni, la cui autorizzazione richiede un token di dati con restrizioni. Per maggiori informazioni, consulta Guida ai casi d'uso dell'API Token.
Il seguente diagramma illustra il flusso di lavoro di integrazione per il recupero di una distinta di imballaggio:
Requisiti aziendali
- Le distinte di imballaggio sono obbligatorie per tutti gli ordini?
Un documento di trasporto è richiesto solo se si tratta di un ordine Business-to-Business (B2B) o di un ordine regalo. Quando il valore di isPslipRequired
il campo è vero, per l'ordine è necessario un documento di trasporto.
getPackingSlip
richiesto
getPackingSlip
richiestoPer recuperare una distinta di imballaggio, chiama l'operazione getPackingSlip
e passa il seguente parametro:
Nome | Descrizione | Obbligatorio |
---|---|---|
purchaseOrderNumber | Le purchaseOrderNumber per il documento di trasporto che desideri.Tipo: stringa | Sì |
Esempio di richiesta
GET https://sellingpartnerapi-na.amazon.com /vendor/directFulfillment/shipping/2021-12-28/packingSlips/UkP3YkKDr
getPackingSlip
richiesto
getPackingSlip
richiestoUna risposta con esito positivo include quanto segue:
Nome | Descrizione | Obbligatorio |
---|---|---|
purchaseOrderNumber | Numero dell'ordine di acquisto della spedizione. Tipo: stringa | Sì |
content | Una stringa con codifica Base64 del documento di trasporto PDF. Tipo: stringa | Sì |
contentType | Il formato del file (ad esempio PDF, JPEG). Tipo: enum ( ContentType ) | No |
Esempio di risposta
{
"purchaseOrderNumber": "UvgABdBjQ",
"content": "base64 encoded string",
"contentType": "application/pdf"
}
Ricevi le fatture dei clienti (solo per l'India)
Le getCustomerInvoices
l'operazione restituisce le fatture dei clienti per tutti gli ordini di acquisto che soddisfano i criteri di filtro specificati.
Importante
Le
getCustomerInvoices
l'operazione è obbligatoria nel mercato indiano. Non è disponibile per nessun altro marketplace.
Amazon incoraggia i fornitori a controllare le fatture dei clienti almeno una volta all'ora durante l'orario lavorativo. A seconda del volume della tua attività, puoi scegliere di controllarlo più frequentemente. Puoi ottenere fino a 100 fatture dei clienti in una chiamata API. Se ci sono più di 100 fatture dei clienti, puoi utilizzare il nextToken
valore come parametro nella richiesta successiva per ottenere la prossima serie di fatture per i clienti.
Nota
Si tratta di un'operazione soggetta a restrizioni, la cui autorizzazione richiede un token di dati con restrizioni. Per maggiori informazioni, consulta Guida ai casi d'uso dell'API Token.
Il seguente diagramma illustra il flusso di lavoro di integrazione per il recupero di fatture dei clienti:
getCustomerInvoices
richiesto
getCustomerInvoices
richiestoPer recuperare le fatture dei clienti, chiama l'operazione getCustomerInvoices
e passa i seguenti parametri:
Nome | Descrizione | Obbligatorio |
---|---|---|
shipFromPartyId | Il venditore warehouseId da cui verrà evaso l'ordine. Se non specificato, il risultato conterrà gli ordini per tutti i magazzini.Tipo: stringa | No |
limit | Il limite al numero di record restituiti. Tipo: intero | No |
createdAfter | Gli ordini resi disponibili dopo questa data e ora verranno inclusi nel risultato. Deve essere presente ISO 8601 formato data/ora. Tipo: stringa (data-ora) | Sì |
createdBefore | Gli ordini resi disponibili prima di questa data e ora verranno inclusi nel risultato. Deve essere presente ISO 8601 formato data/ora. Tipo: stringa (data-ora) | Sì |
sortOrder | Ordina in modo crescente (ASC ) o decrescente (DESC ) per data di creazione dell'ordine.Tipo: enum ( SortOrder ) | No |
nextToken | Utilizzato per l'impaginazione quando ci sono più etichette di spedizione rispetto al limite di dimensione del risultato specificato. Il valore del token viene restituito nella precedente chiamata API. Tipo: stringa | No |
Esempio di richiesta
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
richiesto
getCustomerInvoices
richiestoUna risposta con esito positivo include quanto segue:
Nome | Descrizione | Obbligatorio |
---|---|---|
pagination | Se vengono restituite più di 100 fatture dei clienti, nextToken viene restituito nella risposta per l'impaginazione.Tipo: Impaginazione | No |
customerInvoices | Elenco delle fatture dei clienti. Tipo: < CustomerInvoice > matrice | No |
Esempio di risposta
{
"pagination": {
"nextToken": "MDAwMDAwMDAwMQ=="
},
"customerInvoices": [
{
"purchaseOrderNumber": "PO98676856",
"content": "base 64 content goes here"
}
]
}
Ottieni una fattura per il cliente (solo India)
L'operazione getCustomerInvoice
restituisce informazioni sulla fattura del cliente specificata utilizzando il numero di ordine d'acquisto. La risposta include informazioni complete sulla fattura del cliente per tale ordine d'acquisto.
Nota
Si tratta di un'operazione soggetta a restrizioni, la cui autorizzazione richiede un token di dati con restrizioni. Per maggiori informazioni, consulta Guida ai casi d'uso dell'API Token.
Puoi utilizzare questa API anche per ottenere dettagli per qualsiasi fattura del cliente che risale a un intervallo di tempo di 7 giorni in una finestra temporale pari agli ultimi 6 mesi, dopo che il fornitore ha iniziato a utilizzare l'API.
Il seguente diagramma illustra il flusso di lavoro di integrazione per il recupero di una fattura del cliente:
Requisiti aziendali
Che tipo di fatture dei clienti sono disponibili per il download?
La fattura del cliente è un file PDF crittografato in base 64 in formato stringa. Deve essere creata una fattura del cliente da inviare insieme alla spedizione per tutti gli ordini d'acquisto per la regione IN.
getCustomerInvoice
richiesto
getCustomerInvoice
richiestoPer recuperare una fattura del cliente, chiama l'operazione getCustomerInvoice
e passa il seguente parametro:
Nome | Descrizione | Obbligatorio |
---|---|---|
purchaseOrderNumber | Numero dell'ordine di acquisto della spedizione per la quale restituire la fattura. Tipo: stringa | Sì |
Esempio di richiesta
GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/2JK3S9VC
getCustomerInvoice
richiesto
getCustomerInvoice
richiestoUna risposta con esito positivo include quanto segue:
Nome | Descrizione | Obbligatorio |
---|---|---|
purchaseOrderNumber | Il numero dell'ordine di acquisto per questo ordine. Tipo: stringa | Sì |
content | La fattura del cliente con codifica Base64. Tipo: stringa | Sì |
Esempio di risposta
{
"purchaseOrderNumber": "PO98676856",
"content": "base 64 encoded string"
}
Crea un'etichetta per il contenitore
Usa il createContainerLabel
operazione per richiedere e ricevere un'etichetta per pallet da Amazon per ogni carico pallettizzato. La risposta include un'etichetta per pallet stampabile 4X6 che contiene il tipo di etichetta e l'ID del pallet.
Requisiti aziendali
Le createContainerLabel
l'operazione non supporta più richieste di etichette per pallet in una chiamata API. Se desideri recuperare le etichette dei pallet per più pallet, devi inviarne più createContainerLabel
richieste in parallelo.
createContainerLabel
richiesto
createContainerLabel
richiestoPer richiedere un'etichetta di spedizione, chiama l'operazione createContainerLabel
e passa il seguente parametro:
Nome | Descrizione | Obbligatorio |
---|---|---|
sellingParty | L'ID della parte venditrice o del venditore. Tipo: PartyIdentification | Sì |
shipFromParty | Il codice di magazzino del venditore. Tipo: PartyIdentification | Sì |
vendorContainerId | L'identificatore univoco del fornitore per il contenitore. Tipo: VendorContainerId | Sì |
carrierId | Il corriere dell'etichetta del contenitore (pallet). Tipo: CarrierId | Sì |
packages | Una serie di oggetti del pacchetto che associa i pacchi di spedizione a un container. Tipo: Packages | Sì |
Esempio di richiesta
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
richiesto
createContainerLabel
richiestoUna risposta con esito positivo include quanto segue:
Nome | Descrizione | Obbligatorio |
---|---|---|
containerTrackingNumber | L'identificativo di tracciabilità del container (pallet) fornito dal corriere di spedizione. Tipo: stringa | Sì |
content | Il contenuto dell'etichetta del contenitore codificato in una stringa Base64. Tipo: stringa | Sì |
format | Il formato dell'etichetta del contenitore. Tipo: ContainerLabelFormat | Sì |
Esempio di risposta
{
"containerLabel": {
"containerTrackingNumber": "TBA134335066000",
"content": "Base64 encoded string",
"format": "PNG"
}
}
Updated 12 days ago