Guía de casos de uso de la API de envío de gestión logística directa del proveedor v2021-12-28
Aprenda a usar la API de envío de Vendor Direct Fulfillment (DF).
Usa el API de envío de cumplimiento directo para intercambiar documentos relacionados con el envío con Amazon.
Tutoriales
Los tutoriales de esta sección describen cómo:
- Enviar solicitudes de etiquetas de envío
- Consigue una o más etiquetas de envío
- Crear etiquetas de envío y etiquetas de contenedores
- Enviar confirmaciones de envío y actualizaciones del estado del envío
- Obtenga uno o más albaranes
- Obtenga una o más facturas de clientes (solo en India)
Enviar solicitudes de etiquetas de envío
La operación submitShippingLabelRequest
permite a los proveedores solicitar información de etiquetas de envío a Amazon para cada pedido de compra. Puedes enviar varias solicitudes de etiquetas de envío de forma masiva en una llamada a la API siguiendo el esquema. Cuando Amazon cree las etiquetas de envío, estarán disponibles para su descarga mediante la operación getShippingLabel
.
Nota
El
submitShippingLabelRequest
la operación solo está disponible para los vendedores que utilizan los transportistas de Amazon.
Verificar las solicitudes de envío de etiquetas de envío
Puedes verificar el estado de tus solicitudes de etiquetas de envío mediante el API de transacciones de Vendor DF. Deje que el sistema espere hasta 15 minutos para mostrar el estado después del envío. Si el estado de la transacción no se actualiza transcurridos 30 minutos, abra un Póngase en contacto con nosotros caso en Vendor Central.
En el siguiente diagrama se muestra el proceso para enviar solicitudes de etiquetas de envío.
Requisitos empresariales
-
La orden de compra debe confirmarse correctamente mediante API, EDI o Vendor Central antes de enviar la solicitud de etiqueta de envío. Se rechazan las solicitudes de etiquetas de envío para pedidos de compra cancelados o no confirmados.
-
Si utilizas etiquetas de envío propias de Amazon, el envío de la información del artículo o paquete en la solicitud es opcional.
submitShippingLabelRequest
obligatorio
submitShippingLabelRequest
obligatorioPara solicitar etiquetas de envío, llama a la operación submitShippingLabelRequest
y utiliza el siguiente parámetro:
Nombre | Descripción | Obligatorio |
---|---|---|
shippingLabelRequests | Solicita una o más etiquetas de envío. Tipo: < ShippingLabelRequest > gama | Sí |
Ejemplo de solicitud
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
obligatorio
submitShippingLabelRequest
obligatorioUna respuesta correcta incluye lo siguiente:
Nombre | Descripción | Obligatorio |
---|---|---|
transactionId | GUID para identificar esta transacción. Este valor se puede usar con API de transacciones de Vendor DF para devolver el estado de esta transacción.<bar.>Tipo: cadena | No |
Ejemplo de respuesta
{
"transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605"
}
Obtener la etiqueta de envío
La operación nextToken">getShippingLabels
devuelve etiquetas de envío para todos los pedidos que cumplan los criterios de filtro especificados en la solicitud. Antes de utilizar esta API para que las etiquetas de envío estén disponibles para su envío, debes haber solicitado etiquetas de envío mediante la operación submitShippingLabelRequest
. Amazon recomienda que los proveedores comprueben las etiquetas de envío al menos una vez cada hora durante el horario comercial. En función del volumen empresarial, puedes optar por realizar comprobaciones con mayor frecuencia. Puedes obtener hasta 100 etiquetas de envío en una llamada a la API. Si hay más de 100 etiquetas de envío, puedes utilizar el valor nextToken para obtener el siguiente conjunto de etiquetas de envío.
Las etiquetas de envío caducan 90 días después de su fecha de creación (la submitShippingLabelRequest
fecha).
Nota
Se trata de una operación restringida y, por tanto, requiere un token de datos restringidos (RDT) para su autorización. Para obtener más información, consulta la Guía de casos de uso de la API de tokens.
En el siguiente diagrama se muestra el proceso de integración cuando se recuperan etiquetas de envío:
getShippingLabels
obligatorio
getShippingLabels
obligatorioPara obtener una lista de etiquetas de envío, llama a la operación getShippingLabels
y utiliza el siguiente parámetro:
Nombre | Descripción | Obligatorio |
---|---|---|
shipFromPartyId | El vendedor warehouseId para el cumplimiento de pedidos. Si no se especifica, la respuesta contendrá los pedidos de todos los almacenes.Tipo: cadena | No |
limit | El límite del número de registros devueltos. Tipo: entero | No |
createdAfter | Las etiquetas de envío que estén disponibles después de esta fecha y hora se incluirán en la respuesta. Debe estar en ISO 8601 formato de fecha/hora. Tipo: cadena (fecha-hora) | Sí |
createdBefore | Las etiquetas de envío que estuvieron disponibles antes de esta fecha y hora se incluirán en el resultado. Debe estar en ISO 8601 formato de fecha/hora. Tipo: cadena (fecha-hora) | Sí |
sortOrder | Ordenar de forma ascendente (ASC ) o descendente (DESC ) por fecha de creación del pedido.Tipo: enum ( SortOrder ) | No |
nextToken | Se usa para la paginación cuando hay más etiquetas de envío que el límite de tamaño de resultado especificado. El valor del token se devuelve en la llamada a la API anterior. Tipo: cadena | No |
Ejemplo de solicitud
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
obligatorio
getShippingLabels
obligatorioUna respuesta correcta incluye lo siguiente:
Nombre | Descripción | Obligatorio |
---|---|---|
pagination | Si se devuelven más de 100 etiquetas de envío, nextToken se devuelve en la respuesta de la paginación. | No |
shippingLabels | Lista de etiquetas de envío. Tipo: < ShippingLabel > gama | No |
Ejemplo de respuesta
{
"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 "
}
]
}
]
}
Obtener la etiqueta de envío
La operación getShippingLabel
devuelve información sobre la etiqueta de envío especificada mediante el número de pedido. La respuesta incluye la información completa de la etiqueta de envío del pedido de compra, incluido el tipo de etiqueta, los detalles del pedido y el método de envío.
Las etiquetas de envío caducan 90 días después de su fecha de creación (la submitShippingLabelRequest
fecha).
Nota
Se trata de una operación restringida y, por tanto, requiere un token de datos restringidos (RDT) para su autorización. Para obtener más información, consulta la Guía de casos de uso de la API de tokens.
También puedes utilizar esta API para obtener detalles de cualquier etiqueta de envío (dentro de los 7 días de un plazo continuo de los últimos 6 meses, después de que el proveedor haya lanzado la API).
En el siguiente diagrama se muestra el proceso de integración para recuperar una etiqueta de envío específica:
Requisitos empresariales
- ¿Qué tipo de etiquetas se pueden descargar?
Los formatos de etiqueta compatibles son ZPL y PNG. El contenido de las etiquetas se proporciona en formato de cadena Base 64 para que pueda convertir la cadena al formato de etiqueta deseado. La elección del formato de la etiqueta recae en el proveedor, quien decide esto como parte del proceso de incorporación al programa de despacho directo.
- ¿Cuándo debo solicitar la etiqueta de envío?
Solicita tus etiquetas de envío solo el día en que se envíen los pedidos.
getShippingLabel
obligatorio
getShippingLabel
obligatorioPara solicitar una etiqueta de envío, llama a la operación getShippingLabel
y utiliza el siguiente parámetro:
Nombre | Descripción | Obligatorio |
---|---|---|
purchaseOrderNumber | El número de pedido del que deseas devolver la etiqueta de envío. Debe ser el mismo purchaseOrderNumber que el que se especifica en el pedido. | Sí |
Ejemplo de solicitud
GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/2JK3S9VC
getShippingLabel
obligatorio
getShippingLabel
obligatorioUna respuesta correcta incluye lo siguiente:
Nombre | Descripción | Obligatorio |
---|---|---|
purchaseOrderNumber | El número de orden de compra de este pedido. Tipo: cadena | Sí |
sellingParty | El identificador de la parte vendedora o del vendedor. Tipo: PartyIdentification | Sí |
shipFromParty | El código de almacén del vendedor. Tipo: PartyIdentification | Sí |
labelFormat | El formato de la etiqueta. enumeración ( LabelFormat ) | Sí |
labelData | Proporciona los detalles de los paquetes de este envío. Tipo: < LabelData > gama | Sí |
Ejemplo de respuesta
{
"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"
}
]
}
Crear etiquetas de envío
El createShippingLabels
la operación crea etiquetas de envío para una orden de compra y devuelve las etiquetas. Se trata de una operación sincrónica y no requiere llamar al API de transacciones de Vendor DF.
Nota
Se trata de una operación restringida y, por tanto, requiere un token de datos restringidos (RDT) para su autorización. Para obtener más información, consulta la Guía de casos de uso de la API de tokens.
En el siguiente diagrama se muestra el flujo de trabajo para crear etiquetas de envío mediante el createShippingLabels
operación.
Requisitos empresariales
Puedes devolver las etiquetas de envío de un pedido de compra por solicitud. No se admiten varios pedidos de compra en una sola solicitud.
createShippingLabels
obligatorio
createShippingLabels
obligatorioPara crear etiquetas de envío de forma sincrónica, llama al createShippingLabels
operación y pase el siguiente parámetro de ruta:
Nombre | Descripción | Obligatorio |
---|---|---|
purchaseOrderNumber | El número de pedido de compra de las etiquetas de envío que deseas. Tipo: cadena | Sí |
Puede incluir los siguientes parámetros corporales:
Nombre | Descripción | Obligatorio |
---|---|---|
sellingParty | El identificador de la parte vendedora o del vendedor. Tipo: PartyIdentification | Sí |
shipFromParty | Código de almacén del proveedor. Tipo: PartyIdentification | Sí |
containers | Una lista de los paquetes de este envío. Tipo: < Container > gama | No |
Ejemplo de solicitud
POST https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/
shipping/2021-12-28/shippingLabels/XhvBghry
{
"sellingParty": {
"partyId": "999US"
},
"shipFromParty": {
"partyId": "ABCD"
}
}
createShippingLabels
obligatorio
createShippingLabels
obligatorioUna respuesta correcta incluye lo siguiente:
Nombre | Descripción | Obligatorio |
---|---|---|
purchaseOrderNumber | El número de orden de compra de este pedido. Tipo: cadena | Sí |
sellingParty | El identificador de la parte vendedora o del vendedor. Tipo: PartyIdentification | Sí |
shipFromParty | El código de almacén del vendedor. Tipo: PartyIdentification | Sí |
labelFormat | El formato de la etiqueta. enumeración ( LabelFormat ) | Sí |
labelData | Proporciona los detalles de los paquetes de este envío. Tipo: < LabelData > gama | Sí |
Ejemplo de respuesta
{
"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"
}
]
}
Ejemplo de respuesta (error)
{
"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 detalles de posibles respuestas a errores
La siguiente tabla contiene una lista de todos los detalles posibles de las respuestas de error. Se incluyen los pasos recomendados para resolver la condición de error antes de volver a intentar la solicitud. Debe diseñar un mecanismo de gestión de errores en su aplicación para anticipar y gestionar estos posibles errores.
Es posible que se agreguen respuestas de error adicionales con el tiempo, por lo que la aplicación también debe estar preparada para gestionar correctamente los errores que no están incluidos en esta lista.
Valores entre corchetes precedidos de un \$
que aparecen en la columna Mensaje (por ejemplo, \${fnSku}
) se sustituyen por los valores reales en la respuesta de error.
Código | Mensaje | Details |
---|---|---|
InvalidInput | [MISMATCHED_ITEM]: Solicitud rechazada: la cantidad del pedido no coincide con la cantidad enviada. Se deben proporcionar todos los artículos del pedido. Asegúrese de añadir la cantidad correcta de artículos enviados a los paquetes. Para artículos: ${fnSku}, la cantidad esperada es ${expectedQuantity}, pero la cantidad proporcionada es ${providedQuantity}. | Ninguno |
InvalidInput | [NO_ITEMS_PRESENT]: Solicitud rechazada: ID de pedido ${shipmentId} tiene artículos no asignados a ningún paquete. Asegúrate de que todos los artículos estén relacionados con el paquete o los paquetes. | Ninguno |
InvalidInput | [PACKAGE_DIMENSION_NOT_VALID]: Solicitud rechazada: ID de pedido ${shipmentId} las dimensiones de los paquetes no son válidas. Añada dimensiones válidas para su (s) paquete (s). | Ninguno |
InvalidInput | [PACKAGE_WEIGHT_NOT_VALID]: Solicitud rechazada: ID de pedido ${shipmentId} tiene un peso no válido para los paquetes. Añade un peso válido para tus paquetes. | Ninguno |
InvalidInput | [PIECE_NUMBER_ONE_NOT_PROVIDED]: No se proporciona el número de secuencia del contenedor «1» para al menos un artículo. Comprueba si falta el número de secuencia del contenedor | Ninguno |
InvalidInput | [INCONSISTENT_PIECE_NUMBER_QUANTITY]: el número de secuencia del contenedor de al menos un artículo no es coherente o es incompatible con la cantidad del artículo. Verifica que el número de secuencia del contenedor sea correcto y que la cantidad de cada artículo sea la misma que la del número de secuencia del artículo | Ninguno |
InvalidInput | [INVALID_VENDOR_CODE]: código de proveedor $ no válido{vendorCode}. Comprueba que el código de proveedor es correcto para el pedido | Ninguno |
InvalidInput | [INVALID_ORDER_ID_WAREHOUSE_COMBINATION]: Etiqueta de envío rechazada: ID de pedido ${shipmentId} no pertenece al almacén ${warehouseCode}. Comprueba que el código de almacén y el identificador del pedido son correctos | Ninguno |
InvalidInput | [INCORRECT_VENDOR_GROUP_ID]: ID de grupo de proveedores $ no válido{vendorGroupId}. Compruebe que el identificador del grupo de proveedores es correcto para el pedido | Ninguno |
InvalidInput | [DUPLICATE_VENDOR_PACKAGE_ID]: ID de paquete de proveedor duplicados. Corrija los identificadores de contenedor duplicados e inténtelo de nuevo | Ninguno |
InvalidInput | [EMPTY_VENDOR_PACKAGE_ID]: ID de paquete de proveedor no válidos. Corrija los identificadores de contenedor no válidos e inténtelo de nuevo | Ninguno |
InvalidInput | [MÉTODO_DE_ENVÍO NO ADMITIDO]: ${ship_method} no es compatible. Usa tu configuración actual para generar la etiqueta para ${ship_method} | Ninguno |
InvalidInput | [SHIP_METHOD_CHANGED]: El método de envío para esta orden de compra ha cambiado de ${old_ship_method} a ${ship_method}. Usa tu configuración actual para generar la etiqueta para ${ship_method} | Ninguno |
InvalidInput | [INCONSISTENT_SHIP_METHODS]: Solicitud rechazada: se asignan diferentes métodos de envío a diferentes paquetes. Intenta enviar todos los artículos en una sola caja. Si eso no es posible, ponte en contacto con nosotros. | Ninguno |
ConflictError | [SHIPMENT_NOT_MUTABLE]: Solicitud rechazada: dimensiones del paquete para el ID de pedido ${shipmentId} no se puede actualizar con el estado actual. No es necesario realizar ninguna otra acción. | Ninguno |
ConflictError | [ORDER_SHIPPED_WITH_VENDOR_LABEL]: Ya has enviado el pedido con un transportista que no sea Amazon Transportation, por lo que no puedes imprimir la etiqueta de este pedido. No es necesario realizar ninguna acción. Ya has confirmado el pedido enviado. | Ninguno |
InternalFailure | Se ha producido un error interno. Por favor, inténtelo de nuevo. | Ninguno |
Enviar confirmaciones de envío
La operación submitShipmentConfirmations
permite a los proveedores enviar confirmaciones de envío a Amazon. La confirmación de envío nos permite realizar un seguimiento eficaz de tus envíos e informar a nuestros clientes. Contiene información sobre los artículos que se envían, incluido el número de pedido, la fecha de envío, la fecha de entrega prevista y el número de seguimiento.
Las confirmaciones de envío nos permiten colaborar más eficazmente con los transportistas en el seguimiento de tus envíos.
La falta de confirmaciones de envío válidas puede dar lugar a:
-
Visibilidad inadecuada sobre los envíos.
-
Errores al conciliar los envíos físicos con los pedidos de compra.
-
Seguimiento manual para resolver discrepancias.
Comprobación de confirmaciones de envío enviadas correctamente
Los vendedores pueden verificar el estado de sus confirmaciones de envío a través de Central de proveedores > Pedidos > Pedidos de cumplimiento directo o usando el API de transacciones de Vendor DF. Deje que el sistema espere hasta 10 minutos para determinar el estado después del envío. Si Vendor Central no muestra los valores correctos para la confirmación del envío, abre un Póngase en contacto con nosotros caso en Vendor Central. Consulta la sección Requisitos empresariales para obtener información sobre cómo crear confirmaciones de envío.
En el siguiente diagrama se muestra el proceso de integración para el envío de confirmaciones de envío:
Requisitos empresariales
-
Usa esta API para confirmar el envío de un pedido en un plazo de cuatro horas después de que el pedido haya salido de tu almacén.
-
En el caso de envíos denegados, establece el valor del campo
shipmentStatus
enFLOOR_DENIAL
. -
Todas las líneas de pedido del pedido de compra deben incluirse en la confirmación de envío. No se permite la gestión logística parcial del pedido. Los proveedores deben rechazar el pedido como “Denegación de piso” si alguna de las líneas de pedido no está disponible para su envío.
-
El
itemSequenceNumber
de un artículo debe ser el mismo que el recibido en el mensaje de pedido. -
Es obligatorio el
buyerProductIdentifier
o elvendorProductIdentifier
para enviar la confirmación de envío. Debes enviar el mismo valor que recibiste en el pedido. -
En el caso de los COV, enviar
scacCode
es obligatorio. -
Si Amazon proporciona la etiqueta de envío, la sección de contenedores es opcional, ya que Amazon tiene acceso a la información del paquete. Es obligatorio enviar la sección de artículos.
-
El contenedor de la confirmación de envío debe tener un método de envío especificado.
submitShipmentConfirmations
obligatorio
submitShipmentConfirmations
obligatorioPara enviar confirmaciones de envío, llama a la operación submitShipmentConfirmations
y utiliza el siguiente parámetro:
Nombre | Descripción | Obligatorio |
---|---|---|
shipmentConfirmations | Lista de envíos confirmados. Tipo: < ShipmentConfirmation > gama | Sí |
Ejemplo de solicitud
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
obligatorio
submitShipmentConfirmations
obligatorioUna respuesta correcta incluye lo siguiente:
Nombre | Descripción | Obligatorio |
---|---|---|
transactionId | GUID para identificar esta transacción. Este valor se puede usar con API de transacciones de Vendor DF para devolver el estado de esta transacción. Tipo: cadena | Sí |
Ejemplo de respuesta
{
"transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605"
}
Enviar actualizaciones sobre el estado del envío
Advertencia
Solo los proveedores de transportistas propios del proveedor (VOC) pueden usar las actualizaciones del estado de los envíos. Esto significa que los proveedores utilizan su propio transportista para la entrega de los envíos, en lugar de los transportistas de Amazon, para transportar los envíos a los clientes. En última instancia, los vendedores de VOC cubren los costos de transporte y la responsabilidad de entregar los envíos a los clientes.
La operación submitShipmentStatusUpdates
permite a los proveedores actualizar el evento de estado de transporte para los envíos que están de camino al cliente final. Los proveedores VOC deben actualizar el estado de envío (conocido como escaneado) durante la fase de transporte.
Esta información se remitirá a los clientes de Amazon en la página "Mis pedidos" y mejorará así la visibilidad en el proceso de seguimiento y entrega de los pedidos.
No actualizar el estado del envío puede resultar en KPI operativos deficientes, como: una velocidad de escaneo baja y, en última instancia, la suspensión del almacén.
Comprobación de actualizaciones de estado de envíos enviadas correctamente
Los vendedores pueden verificar el estado de las actualizaciones del estado de sus envíos en Central de proveedores > Pedidos > Pedidos de cumplimiento directo o mediante el uso del API de transacciones de Vendor DF. Deje que el sistema disponga de hasta 10 minutos para determinar el estado después del envío. Si Vendor Central no muestra los valores correctos para la confirmación del envío, abre un Póngase en contacto con nosotros caso en Vendor Central. Consulta la sección Requisitos empresariales para obtener información sobre cómo crear confirmaciones de envío.
En el siguiente diagrama se muestra el proceso de integración para el envío de actualizaciones de estado del envío:
Requisitos empresariales
-
Usa esta API únicamente si utilizas tu propio transportista (eres un proveedor de VOC) para transportar el envío al cliente.
-
Usa esta API para actualizar el estado de un envío después de confirmarlo (a través de API o Vendor Central).
-
El
trackingNumber
en la API de estado del envío debe coincidir contrackingNumber
proporcionado en la confirmación de envío. Si no coincide, se producirá un error en la actualización del estado del envío. -
Uno
submitShipmentStatusUpdates
la llamada debe corresponder a un paquete físico. Puedes actualizar el estado del envío de varios paquetes en una llamada a la API agrupándolos en lotes para crear una serie de actualizaciones del estado del envío. -
Un pedido de gestión logística directa puede dar lugar a la entrega de varios paquetes físicos al cliente. Por lo tanto, se requieren varias actualizaciones del estado de envío para reflejar el estado de entrega completo de todo el pedido.
-
Los proveedores deben enviar el estado del envío siempre que sea posible, siguiendo las directrices de Amazon sobre el estado del envío.
-
En el caso de los pedidos con entrega programada, los proveedores deben enviar la matriz
shipmentSchedule
que especifica la hora y el plazo de entrega estimado.
Campos adicionales
statusCode
y reasonCode
son códigos estándar utilizados en los estándares EDI (por ejemplo, ISA X12 y EDIFACT) que se utilizan para proporcionar un evento de estado específico y el motivo del evento de estado. Esperamos una combinación específica de statusCode
y reasonCode
que determinan un evento dentro de la fase de transporte del envío hasta el cliente final.
Estos son los códigos de estado y motivo que admitimos y su equivalencia con Vendor Central actual:
Código de estado EDIFACT | Código de motivo EDIFACT | Descripción operativa | Vendor Central UI equivalency |
---|---|---|---|
404 | 117 | El envío se ha retrasado debido a un accidente grave | DELAYED |
301 | 000 | El envío se ha entregado al cliente | DELIVERED |
101 | 000 | El envío ha salido del centro logístico | DEPARTED_FROM_FC |
201 | 000 | El envío ha llegado a las instalaciones del transportista | IN_TRANSIT |
409 | 000 | El transportista ha perdido el envío | LOST |
302 | 000 | El envío está listo para la entrega | OUT_FOR_DELIVERY |
407 | 000 | El destinatario se ha negado a aceptar el envío | REJECTED |
416 | 000 | El envío no puede entregarse y será destruido | UNDELIVERABLE |
Código de estado X12 | Código de motivo X12 | Descripción operativa | Vendor Central UI equivalency |
---|---|---|---|
DE | AF | El envío se ha retrasado debido a un accidente grave | DELAYED |
D1 | NS | El envío se ha entregado al cliente | DELIVERED |
XB | NS | El envío ha salido del centro logístico | DEPARTED_FROM_FC |
O1 | NS | El envío ha llegado a las instalaciones del transportista | IN_TRANSIT |
CA | PL | El transportista ha perdido el envío | LOST |
OD | NS | El envío está listo para la entrega | OUT_FOR_DELIVERY |
A7 | AM | El destinatario se ha negado a aceptar el envío | REJECTED |
AP | BG | El envío no puede entregarse y será destruido | UNDELIVERABLE |
submitShipmentStatusUpdates
obligatorio
submitShipmentStatusUpdates
obligatorioPara enviar actualizaciones sobre el estado del envío, llama a la operación submitShipmentStatusUpdates
y utiliza el siguiente parámetro:
Nombre | Descripción | Obligatorio |
---|---|---|
shipmentStatusUpdates | Lista de envíos confirmados. Tipo: < ShipmentStatusUpdate > gama | Sí |
Ejemplo de solicitud
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
obligatorio
submitShipmentStatusUpdates
obligatorioUna respuesta correcta incluye lo siguiente:
Nombre | Descripción | Obligatorio |
---|---|---|
transactionId | GUID para identificar esta transacción. Este valor se puede usar con API de transacciones de Vendor DF para devolver el estado de esta transacción. Tipo: cadena | Sí |
Ejemplo de respuesta
{
"transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605"
}
Obtenga albaranes
La operación getPackingSlips
devuelve una lista de los comprobantes de envío de los pedidos que cumplen los criterios especificados. Si necesitas obtener un comprobante de envío para un pedido específico, utiliza la operación getPackingSlip
en su lugar.
Nota
Se trata de una operación restringida y, por tanto, requiere un token de datos restringidos (RDT) para su autorización. Para obtener más información, consulta la Guía de casos de uso de la API de tokens.
Debes usar esta API para obtener los albaranes de los pedidos de compra que tienes disponibles para su gestión logística. Amazon recomienda que los vendedores comprueben los pedidos al menos una vez por hora durante el horario laboral. En función del volumen de tu negocio, puedes optar por comprobarlo con más frecuencia. Puedes obtener hasta 100 albaranes en una llamada a la API. Si hay más de 100 albaranes, puedes usar el nextToken
valor como parámetro en tu próxima solicitud para obtener el siguiente conjunto de albaranes.
En el siguiente diagrama se muestra el proceso de integración cuando se recuperan comprobantes de envío:
getPackingSlips
obligatorio
getPackingSlips
obligatorioPara obtener comprobantes de envío, llama a la operación getPackingSlips
y utiliza los siguientes parámetros:
Nombre | Descripción | Obligatorio |
---|---|---|
shipFromPartyId | El vendedor warehouseId a partir del cual se tramitará el pedido. Si no se especifica, el resultado contendrá los pedidos de todos los almacenes.Tipo: cadena | No |
limit | El límite del número de registros devueltos. Tipo: entero | No |
createdAfter | Los albaranes que estén disponibles después de esta fecha y hora se incluirán en el resultado. Debe estar en ISO 8601 formato de fecha/hora. Tipo: cadena (fecha-hora) | Sí |
createdBefore | Los albaranes que estuvieron disponibles antes de esta fecha y hora se incluirán en el resultado. Debe estar en ISO 8601 formato de fecha/hora. Tipo: cadena (fecha-hora) | Sí |
sortOrder | Ordenar de forma ascendente (ASC ) o descendente (DESC ) por fecha de creación del albarán.Tipo: enum ( SortOrder ) | No |
nextToken | Se usa para la paginación cuando hay más pedidos que el límite de tamaño de resultado especificado. El valor del token se devuelve en la llamada a la API anterior. Tipo: cadena | No |
Ejemplo de solicitud
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
obligatorio
getPackingSlips
obligatorioUna respuesta correcta incluye lo siguiente:
Nombre | Descripción | Obligatorio |
---|---|---|
pagination | Si se devuelven más de 100 pedidos, nextToken se devuelve en la respuesta de la paginación. | No |
packingSlips | Incluye detalles para los albaranes. Tipo: < PackingSlip > gama | No |
Ejemplo de respuesta
{
"pagination": {
"nextToken": "NEBxNEBxNEBxNR=="
},
"packingSlips": [
{
"purchaseOrderNumber": "UvgABdBjQ",
"content": "base64 encoded string",
"contentType": "application/pdf"
},
{
"purchaseOrderNumber": "VvgCDdBjR",
"content": "base64 encoded string",
"contentType": "application/pdf"
}
]
}
Obtenga un albarán
El getPackingSlip
La operación devuelve el albarán del número de pedido de compra que especifiques. La respuesta incluye una cadena codificada en base64 del albarán. El tipo de contenido siempre será «aplicación/pdf».
Nota
Se trata de una operación restringida y, por tanto, requiere un token de datos restringidos (RDT) para su autorización. Para obtener más información, consulta la Guía de casos de uso de la API de tokens.
En el siguiente diagrama se muestra el proceso de integración cuando se recupera un comprobante de envío:
Requisitos empresariales
- ¿Se requieren comprobantes de envío para todos los pedidos?
Solo se requiere un albarán si se trata de un pedido de empresa a empresa (B2B) o un pedido de regalo. Cuando el valor del isPslipRequired
este campo es verdadero, se requiere un albarán para el pedido.
getPackingSlip
obligatorio
getPackingSlip
obligatorioPara devolver un comprobante de envío, llama a la operación getPackingSlip
y utiliza el siguiente parámetro:
Nombre | Descripción | Obligatorio |
---|---|---|
purchaseOrderNumber | El purchaseOrderNumber para el albarán que quieras.Tipo: cadena | Sí |
Ejemplo de solicitud
GET https://sellingpartnerapi-na.amazon.com /vendor/directFulfillment/shipping/2021-12-28/packingSlips/UkP3YkKDr
getPackingSlip
obligatorio
getPackingSlip
obligatorioUna respuesta correcta incluye lo siguiente:
Nombre | Descripción | Obligatorio |
---|---|---|
purchaseOrderNumber | Número de orden de compra del envío. Tipo: cadena | Sí |
content | Una cadena codificada en Base64 del PDF del albarán. Tipo: cadena | Sí |
contentType | El formato del archivo (por ejemplo, PDF o JPEG). Tipo: enum ( ContentType ) | No |
Ejemplo de respuesta
{
"purchaseOrderNumber": "UvgABdBjQ",
"content": "base64 encoded string",
"contentType": "application/pdf"
}
Obtenga las facturas de los clientes (solo en India)
El getCustomerInvoices
operation devuelve las facturas de los clientes de todos los pedidos de compra que cumplen con los criterios de filtro que especifiques.
Importante
El
getCustomerInvoices
la operación es obligatoria en el mercado de la India. No está disponible en ningún otro mercado.
Amazon anima a los vendedores a comprobar las facturas de los clientes al menos una vez por hora durante el horario laboral. Según el volumen de su negocio, puede optar por comprobarlo con más frecuencia. Puedes obtener hasta 100 facturas de clientes en una llamada a la API. Si hay más de 100 facturas de clientes, puedes usar la nextToken
valor como parámetro en la próxima solicitud para obtener el siguiente conjunto de facturas de clientes.
Nota
Se trata de una operación restringida y, por tanto, requiere un token de datos restringidos (RDT) para su autorización. Para obtener más información, consulta la Guía de casos de uso de la API de tokens.
En el siguiente diagrama se muestra el proceso de integración cuando se recuperan facturas de clientes:
getCustomerInvoices
obligatorio
getCustomerInvoices
obligatorioPara devolver facturas de clientes, llama a la operación getCustomerInvoices
y utiliza los siguientes parámetros:
Nombre | Descripción | Obligatorio |
---|---|---|
shipFromPartyId | El vendedor warehouseId a partir del cual se tramitará el pedido. Si no se especifica, el resultado contendrá los pedidos de todos los almacenes.Tipo: cadena | No |
limit | El límite del número de registros devueltos. Tipo: entero | No |
createdAfter | Los pedidos que estén disponibles después de esta fecha y hora se incluirán en el resultado. Debe estar en ISO 8601 formato de fecha/hora. Tipo: cadena (fecha-hora) | Sí |
createdBefore | Los pedidos que estuvieron disponibles antes de esta fecha y hora se incluirán en el resultado. Debe estar en ISO 8601 formato de fecha/hora. Tipo: cadena (fecha-hora) | Sí |
sortOrder | Ordenar de forma ascendente (ASC ) o descendente (DESC ) por fecha de creación del pedido.Tipo: enum ( SortOrder ) | No |
nextToken | Se usa para la paginación cuando hay más etiquetas de envío que el límite de tamaño de resultado especificado. El valor del token se devuelve en la llamada a la API anterior. Tipo: cadena | No |
Ejemplo de solicitud
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
obligatorio
getCustomerInvoices
obligatorioUna respuesta correcta incluye lo siguiente:
Nombre | Descripción | Obligatorio |
---|---|---|
pagination | Si se devuelven más de 100 facturas de clientes, nextToken se devuelve en la respuesta a la paginación.Tipo: Paginación | No |
customerInvoices | Lista de facturas de clientes. Tipo: < CustomerInvoice > gama | No |
Ejemplo de respuesta
{
"pagination": {
"nextToken": "MDAwMDAwMDAwMQ=="
},
"customerInvoices": [
{
"purchaseOrderNumber": "PO98676856",
"content": "base 64 content goes here"
}
]
}
Obtenga una factura de cliente (solo en India)
La operación getCustomerInvoice
devuelve información sobre la factura de cliente especificada mediante el número de pedido. La respuesta incluye la información completa de la factura de cliente para ese pedido de compra.
Nota
Se trata de una operación restringida y, por tanto, requiere un token de datos restringidos (RDT) para su autorización. Para obtener más información, consulta la Guía de casos de uso de la API de tokens.
También puedes utilizar esta API para obtener detalles de cualquier factura de cliente (dentro de los 7 días de un plazo continuo de los últimos 6 meses, después de que el proveedor haya lanzado la API).
En el siguiente diagrama se muestra el proceso de integración para devolver una factura de cliente:
Requisitos empresariales
¿Qué tipo de facturas de clientes se pueden descargar?
La factura del cliente es un archivo PDF codificado en formato de cadena binary64. Todos los pedidos para la región IN deben tener una factura de cliente creada, que debe proporcionarse con el envío.
getCustomerInvoice
obligatorio
getCustomerInvoice
obligatorioPara devolver una factura de cliente, llama a la operación getCustomerInvoice
y utiliza el siguiente parámetro:
Nombre | Descripción | Obligatorio |
---|---|---|
purchaseOrderNumber | Número de orden de compra del envío para el que se va a devolver la factura. Tipo: cadena | Sí |
Ejemplo de solicitud
GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/2JK3S9VC
getCustomerInvoice
obligatorio
getCustomerInvoice
obligatorioUna respuesta correcta incluye lo siguiente:
Nombre | Descripción | Obligatorio |
---|---|---|
purchaseOrderNumber | El número de orden de compra de este pedido. Tipo: cadena | Sí |
content | La factura del cliente codificada en Base64. Tipo: cadena | Sí |
Ejemplo de respuesta
{
"purchaseOrderNumber": "PO98676856",
"content": "base 64 encoded string"
}
Crear una etiqueta de contenedor
Usa el createContainerLabel
operación para solicitar y recibir de Amazon una etiqueta de palé por cada carga paletizada. La respuesta incluye una etiqueta de palé imprimible de 4 x 6 pulgadas que contiene el tipo de etiqueta y el identificador del palé.
Requisitos empresariales
El createContainerLabel
la operación no admite varias solicitudes de etiquetas de palés en una llamada a la API. Si quieres recuperar las etiquetas de varios palés, debes enviar varios createContainerLabel
solicitudes en paralelo.
createContainerLabel
obligatorio
createContainerLabel
obligatorioPara solicitar etiquetas de envío, llama a la operación createContainerLabel
y utiliza el siguiente parámetro:
Nombre | Descripción | Obligatorio |
---|---|---|
sellingParty | El identificador de la parte vendedora o del vendedor. Tipo: PartyIdentification | Sí |
shipFromParty | El código de almacén del vendedor. Tipo: PartyIdentification | Sí |
vendorContainerId | El identificador único del contenedor del proveedor. Tipo: VendorContainerId | Sí |
carrierId | El transportista de la etiqueta del contenedor (palé). Tipo: CarrierId | Sí |
packages | Conjunto de objetos de paquete que asocia los paquetes de envío con un contenedor. Tipo: Packages | Sí |
Ejemplo de solicitud
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
obligatorio
createContainerLabel
obligatorioUna respuesta correcta incluye lo siguiente:
Nombre | Descripción | Obligatorio |
---|---|---|
containerTrackingNumber | El identificador de seguimiento del contenedor (palé) de la empresa de transporte. Tipo: cadena | Sí |
content | El contenido de la etiqueta del contenedor codificado en una cadena Base64. Tipo: cadena | Sí |
format | El formato de la etiqueta del contenedor. Tipo: ContainerLabelFormat | Sí |
Ejemplo de respuesta
{
"containerLabel": {
"containerTrackingNumber": "TBA134335066000",
"content": "Base64 encoded string",
"format": "PNG"
}
}
Updated 12 days ago