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

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.

The Direct Fulfillment integration workflow for submitting shipping label requests.

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

Para solicitar etiquetas de envío, llama a la operación submitShippingLabelRequest y utiliza el siguiente parámetro:

NombreDescripciónObligatorio
shippingLabelRequestsSolicita una o más etiquetas de envío.
Tipo: < ShippingLabelRequest > gama

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

Una respuesta correcta incluye lo siguiente:

NombreDescripciónObligatorio
transactionIdGUID 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: cadenaNo

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 submitShippingLabelRequestfecha).

📘

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:

The Direct Fulfillment integration workflow when retrieving shipping labels.

getShippingLabels obligatorio

Para obtener una lista de etiquetas de envío, llama a la operación getShippingLabels y utiliza el siguiente parámetro:

NombreDescripciónObligatorio
shipFromPartyIdEl vendedor warehouseId para el cumplimiento de pedidos. Si no se especifica, la respuesta contendrá los pedidos de todos los almacenes.
Tipo: cadena
No
limitEl límite del número de registros devueltos.
Tipo: entero
No
createdAfterLas 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)
createdBeforeLas 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)
sortOrderOrdenar de forma ascendente (ASC) o descendente (DESC) por fecha de creación del pedido.
Tipo: enum (SortOrder)
No
nextTokenSe 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

Una respuesta correcta incluye lo siguiente:

NombreDescripciónObligatorio
paginationSi se devuelven más de 100 etiquetas de envío, nextToken se devuelve en la respuesta de la paginación.No
shippingLabelsLista 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 submitShippingLabelRequestfecha).

📘

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:

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

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

Para solicitar una etiqueta de envío, llama a la operación getShippingLabel y utiliza el siguiente parámetro:

NombreDescripciónObligatorio
purchaseOrderNumberEl 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.

Ejemplo de solicitud

GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/2JK3S9VC

getShippingLabel obligatorio

Una respuesta correcta incluye lo siguiente:

NombreDescripciónObligatorio
purchaseOrderNumberEl número de orden de compra de este pedido.
Tipo: cadena
sellingPartyEl identificador de la parte vendedora o del vendedor.
Tipo: PartyIdentification
shipFromPartyEl código de almacén del vendedor.
Tipo: PartyIdentification
labelFormatEl formato de la etiqueta.
enumeración (LabelFormat)
labelDataProporciona los detalles de los paquetes de este envío.
Tipo: < LabelData > gama

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.

The Direct Fulfillment integration workflow for creating shipping labels synchronously.

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

Para crear etiquetas de envío de forma sincrónica, llama al createShippingLabels operación y pase el siguiente parámetro de ruta:

NombreDescripciónObligatorio
purchaseOrderNumberEl número de pedido de compra de las etiquetas de envío que deseas.
Tipo: cadena

Puede incluir los siguientes parámetros corporales:

NombreDescripciónObligatorio
sellingPartyEl identificador de la parte vendedora o del vendedor.
Tipo: PartyIdentification
shipFromPartyCódigo de almacén del proveedor.
Tipo: PartyIdentification
containersUna 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

Una respuesta correcta incluye lo siguiente:

NombreDescripciónObligatorio
purchaseOrderNumberEl número de orden de compra de este pedido.
Tipo: cadena
sellingPartyEl identificador de la parte vendedora o del vendedor.
Tipo: PartyIdentification
shipFromPartyEl código de almacén del vendedor.
Tipo: PartyIdentification
labelFormatEl formato de la etiqueta.
enumeración (LabelFormat)
labelDataProporciona los detalles de los paquetes de este envío.
Tipo: < LabelData > gama

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ódigoMensajeDetails
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 contenedorNinguno
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ículoNinguno
InvalidInput[INVALID_VENDOR_CODE]: código de proveedor $ no válido{vendorCode}. Comprueba que el código de proveedor es correcto para el pedidoNinguno
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 correctosNinguno
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 pedidoNinguno
InvalidInput[DUPLICATE_VENDOR_PACKAGE_ID]: ID de paquete de proveedor duplicados. Corrija los identificadores de contenedor duplicados e inténtelo de nuevoNinguno
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 nuevoNinguno
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
InternalFailureSe 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:

The Direct Fulfillment integration workflow for submitting shipment confirmations.

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 en FLOOR_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 el vendorProductIdentifier 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

Para enviar confirmaciones de envío, llama a la operación submitShipmentConfirmations y utiliza el siguiente parámetro:

NombreDescripciónObligatorio
shipmentConfirmationsLista de envíos confirmados.
Tipo: < ShipmentConfirmation > gama

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

Una respuesta correcta incluye lo siguiente:

NombreDescripciónObligatorio
transactionIdGUID 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

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:

The Direct Fulfillment integration workflow for submitting shipment status updates.

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 con trackingNumber 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 EDIFACTCódigo de motivo EDIFACTDescripción operativaVendor Central UI equivalency
404117El envío se ha retrasado debido a un accidente graveDELAYED
301000El envío se ha entregado al cliente DELIVERED
101000El envío ha salido del centro logístico DEPARTED_FROM_FC
201000El envío ha llegado a las instalaciones del transportistaIN_TRANSIT
409000El transportista ha perdido el envíoLOST
302000El envío está listo para la entregaOUT_FOR_DELIVERY
407000El destinatario se ha negado a aceptar el envíoREJECTED
416000El envío no puede entregarse y será destruidoUNDELIVERABLE
Código de estado X12Código de motivo X12Descripción operativaVendor Central UI equivalency
DEAFEl envío se ha retrasado debido a un accidente graveDELAYED
D1NSEl envío se ha entregado al cliente DELIVERED
XBNSEl envío ha salido del centro logístico DEPARTED_FROM_FC
O1NSEl envío ha llegado a las instalaciones del transportistaIN_TRANSIT
CAPLEl transportista ha perdido el envíoLOST
ODNSEl envío está listo para la entregaOUT_FOR_DELIVERY
A7AMEl destinatario se ha negado a aceptar el envíoREJECTED
APBGEl envío no puede entregarse y será destruidoUNDELIVERABLE

submitShipmentStatusUpdates obligatorio

Para enviar actualizaciones sobre el estado del envío, llama a la operación submitShipmentStatusUpdates y utiliza el siguiente parámetro:

NombreDescripciónObligatorio
shipmentStatusUpdatesLista de envíos confirmados.
Tipo: < ShipmentStatusUpdate > gama

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

Una respuesta correcta incluye lo siguiente:

NombreDescripciónObligatorio
transactionIdGUID 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

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:

The Direct Fulfillment integration workflow when retrieving packing slips.

getPackingSlips obligatorio

Para obtener comprobantes de envío, llama a la operación getPackingSlips y utiliza los siguientes parámetros:

NombreDescripciónObligatorio
shipFromPartyIdEl 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
limitEl límite del número de registros devueltos.
Tipo: entero
No
createdAfterLos 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)
createdBeforeLos 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)
sortOrderOrdenar de forma ascendente (ASC) o descendente (DESC) por fecha de creación del albarán.
Tipo: enum (SortOrder)
No
nextTokenSe 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

Una respuesta correcta incluye lo siguiente:

NombreDescripciónObligatorio
paginationSi se devuelven más de 100 pedidos, nextToken se devuelve en la respuesta de la paginación.No
packingSlipsIncluye 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:

The Direct Fulfillment integration workflow when retrieving a packing slip.

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

Para devolver un comprobante de envío, llama a la operación getPackingSlip y utiliza el siguiente parámetro:

NombreDescripciónObligatorio
purchaseOrderNumberEl purchaseOrderNumber para el albarán que quieras.
Tipo: cadena

Ejemplo de solicitud

GET https://sellingpartnerapi-na.amazon.com /vendor/directFulfillment/shipping/2021-12-28/packingSlips/UkP3YkKDr

getPackingSlip obligatorio

Una respuesta correcta incluye lo siguiente:

NombreDescripciónObligatorio
purchaseOrderNumberNúmero de orden de compra del envío.
Tipo: cadena
contentUna cadena codificada en Base64 del PDF del albarán.
Tipo: cadena
contentTypeEl 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:

The Direct Fulfillment integration workflow when retrieving customer invoices.

getCustomerInvoices obligatorio

Para devolver facturas de clientes, llama a la operación getCustomerInvoices y utiliza los siguientes parámetros:

NombreDescripciónObligatorio
shipFromPartyIdEl 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
limitEl límite del número de registros devueltos.
Tipo: entero
No
createdAfterLos 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)
createdBeforeLos 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)
sortOrderOrdenar de forma ascendente (ASC) o descendente (DESC) por fecha de creación del pedido.
Tipo: enum (SortOrder)
No
nextTokenSe 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

Una respuesta correcta incluye lo siguiente:

NombreDescripciónObligatorio
paginationSi se devuelven más de 100 facturas de clientes, nextToken se devuelve en la respuesta a la paginación.
Tipo: Paginación
No
customerInvoicesLista 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:

The Direct Fulfillment integration workflow for retrieving a customer invoice.

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

Para devolver una factura de cliente, llama a la operación getCustomerInvoice y utiliza el siguiente parámetro:

NombreDescripciónObligatorio
purchaseOrderNumberNúmero de orden de compra del envío para el que se va a devolver la factura.
Tipo: cadena

Ejemplo de solicitud

GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/2JK3S9VC

getCustomerInvoice obligatorio

Una respuesta correcta incluye lo siguiente:

NombreDescripciónObligatorio
purchaseOrderNumberEl número de orden de compra de este pedido.
Tipo: cadena
contentLa factura del cliente codificada en Base64.
Tipo: cadena

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

Para solicitar etiquetas de envío, llama a la operación createContainerLabel y utiliza el siguiente parámetro:

NombreDescripciónObligatorio
sellingPartyEl identificador de la parte vendedora o del vendedor. Tipo: PartyIdentification
shipFromPartyEl código de almacén del vendedor. Tipo: PartyIdentification
vendorContainerIdEl identificador único del contenedor del proveedor. Tipo: VendorContainerId
carrierIdEl transportista de la etiqueta del contenedor (palé). Tipo: CarrierId
packagesConjunto de objetos de paquete que asocia los paquetes de envío con un contenedor. Tipo: Packages

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

Una respuesta correcta incluye lo siguiente:

NombreDescripciónObligatorio
containerTrackingNumberEl identificador de seguimiento del contenedor (palé) de la empresa de transporte. Tipo: cadena
contentEl contenido de la etiqueta del contenedor codificado en una cadena Base64. Tipo: cadena
formatEl formato de la etiqueta del contenedor. Tipo: ContainerLabelFormat

Ejemplo de respuesta

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

¿Te ha ayudado esta página?