Autorizaciones de Venta de Capacidad
Contenidos
Para realizar la autorización de este tipo de envíos se debe proporcionar a Mercado Libre un endpoint HTTP REST contra el que se solicitará su autorización.
Una vez que el envío está listo para ser despachado, se invoca una solicitud POST de autorización al Web Service del correo utilizando la siguiente llamada:
POST /shipments/#{shipment_id}Formato Request
Dentro del body se enviará un objeto JSON con los campos listados a continuación:
| Nombre | Tipo de dato | Descripción | Tipo |
|---|---|---|---|
| id | Long | Identificador único del envío usado por Mercado Libre que se requiere autorizar. Este ID servirá posteriormente para poder notificar las eventos que van ocurriendo en el flujo operativo del envío. | Mandatorio |
| tracking_number | String | Tracking number de la capacidad producto de la venta | Mandatorio |
| carrier_information | Nodo | Contiene elementos relevantes para el carrier. | Mandatorio |
| carrier_information.contract | String | Identifica el contrato/servicio definido por el carrier con el cual se va a autorizar el envío. Por ejemplo envío a domicilio desde el XD, envío a sucursal de DS, etc. | Opcional |
| carrier_information.account | String | Identifica la cuenta dada por el carrier a Mercado Libre. | Opcional |
| carrier_information.user | String | Identifica un usuario de sistema del correo asignado al cliente de Mercado Libre. | Opcional |
| carrier_information.password | String | Identifica la contraseña asociada al usuario del sistema. | Opcional |
Formato Request OAuth
Para el mecanismo de autenticación a través de la generación de un token con OAuth, se debe agregar el siguiente encabezado a la petición:
--request POST 'https://hostname//shipments/{shimentId}'
--header 'Authorization: Bearer + TOKEN'
--body 'Se mantiene lo descrito en cada integración'Formato Response
Dentro del body, el sistema devolverá todos los datos resultantes de la autorización, listados a continuación:
| Nombre | Tipo de dato | Descripción | Tipo |
|---|---|---|---|
| status | String | Estado del pedido de autorización:
| Mandatorio |
| status_message | String | Cualquier detalle relevante del estado. | Mandatorio en caso de fallo (status = FAILED o status = ERROR). |
| tracking_number | String | Número de tracking. Este valor debe ser el mismo que fue enviado en el request. | Mandatorio |
| authorization_information | Nodo | Contiene información relativa a la fecha y hora de la actualización junto con cualquier información relevante para el armado de la etiqueta de envío. | Mandatorio |
| authorization_information.date | Date (ISO 8601) | Valores válidos: en UTC 2001-07-04T12:08:56.235Z o en hora local relativa 2001-07-04T12:08:56.235-07:00. | Mandatorio en caso de éxito (status = AUTHORIZED) |
| authorization_information.custom_data | Nodo | Contiene todos los datos necesarios para el armado de la etiqueta. Pueden ser tantos conjuntos de claves-valores como sean necesarios para el armado. | Opcional |
| authorization_information.custom_data.key | String|Long | “Key” hace referencia al nombre de la clave del conjunto clave-valor particular. El campo “valor” puede ser texto o numérico. | Mandatorio |
Performance
Status Codes
| Status | Código HTTP | Descripción | Acción |
|---|---|---|---|
| AUTHORIZED | 200 | Cuando la autorización fue procesada satisfactoriamente | El envío ya fue autorizado y no se volverá a reintentar. |
| FAILED | 400 | Cuando la autorización no pudo ser procesada por un error en el request. Se espera que se retorne “status”: “FAILED” junto con el “status_message” describiendo el motivo del error. | Dependiendo de la naturaleza del error, se intentarán corregir los datos, antes de volver a procesar la solicitud. Podrían existir reintentos periódicos. |
| ERROR | 500 | Cualquier error del lado del servidor. En este caso, status y status_message son opcionales. | Se volverá a intentar indefinidamente hasta obtener una respuesta satisfactoria de acuerdo al esquema de reintento definido. |
Ejemplos
Request:
POST https://hostName/shipments/41731043250{
"id":41731043250,
"tracking_number": "360000226808570",
"carrier_information": {
"account": "1234",
"contract": "54321",
"user": "MercadoLibre",
"password": "****"
}
}Response:
Authorized (200 OK)
{
"status":"AUTHORIZED",
"status_message":"OK",
"tracking_number": "360000226808570",
"authorization_information": {
"date": "2001-07-04T12:08:56.235-07:00",
"custom_data":{
}
}
}