Consulta de información de Carta Porte por ruta de middle mile desde México
Contenidos
La API de consulta de informaciones de Carta Porta por ruta tiene como objetivo servir datos de ruta, envíos y datos fiscales a los carriers que forman parte del transporte y que quieren generar el documento fiscal para México (cfdi+carta-porte).
Dado una ID de ruta, esta API devuelve los datos correspondientes (origen, destino, lista de envíos y costo) para la misma.
Request
GET https://api.mercadolibre.com/shipping/fiscal/{site_id}/routes/{route_id}/middle-mile/facilities/{facility_id}/details?access_token={access_token}Parámetro | Tipo | Descripción |
|---|---|---|
| site_id | String | Id de site. Valor posible: MLM |
| route_id | String | Id de la ruta |
| facility_id | String | Nombre del centro logístico de salida del despacho. |
| access_token | String | Token de acceso |
¿Cómo obtener el ID de la ruta desde la herramienta de Logistics?
En la herramienta de Logistics Monitoreo, acceder con tu usuario y contraseña y buscar el ID cómo en el ejemplo de a continuación
Response
{
"id": "12345678",
"cost": float,
"recipient": {
"full_name": "string",
"rfc": "string"
},
"origin": {
"fiscal_information": {
"full_name": "string",
"rfc": "string",
"fiscal_residence": "string"
},
"address": {
"address_line": "string",
"street_name": "string",
"street_number": "string",
"intersection": "string",
"zip_code": "string",
"city": {
"id": "string",
"name": "string"
},
"state": {
"id": "string",
"name": "string"
},
"country": {
"id": "string",
"name": "string"
},
"neighborhood": {
"id": "string",
"name": "string"
},
"municipality": {
"id": "string",
"name": "string"
}
}
},
"destination": {
"fiscal_information": {
"full_name": "string",
"rfc": "string",
"fiscal_residence": "string"
},
"address": {
"address_line": "string",
"street_name": "string",
"street_number": "string",
"intersection": "string",
"zip_code": "string",
"city": {
"id": "string",
"name": "string"
},
"state": {
"id": "string",
"name": "string"
},
"country": {
"id": "string",
"name": "string"
},
"neighborhood": {
"id": "string",
"name": "string"
},
"municipality": {
"id": "string",
"name": "string"
}
}
},
"total_items": int,
"shipments": [{
"id": "shipment_id",
"url": "/shipments/shipment_id/carta-porte/items/details",
"quantity": int
}],...
"registration_istmo": "",
"origin_pole_location": "",
"destination_pole_location": "",
}La respuesta es una matriz por entidad / tipo. Si no se pueden encontrar los datos fiscales de una entidad específica, se retorna el error: "Route id not found", como en el ejemplo de la matriz anterior.
Parámetro | Tipo | Descripción |
|---|---|---|
| id | String | Id de la ruta |
| cost | Float | Costo del flete |
| recipient | Object | Datos del receptor |
| recipient.rfc | String | RFC del receptor |
| recipient.full_name | String | Nombre del receptor |
| origin | Object | Origen del envío |
| origin.fiscal_information | Object | Información fiscal de origen |
| origin.fiscal_information.full_name | String | Nombre de responsable de origen |
| origin.fiscal_information.fiscal_residence | String | Atributo condicional para registrar la clave del país de residencia para efectos fiscales del operador del autotransporte de carga federal en el que se trasladan los bienes o mercancías, conforme con el catálogo c_Pais publicado en el portal del SAT en Internet, que está basado en la especificación ISO 3166-1. |
| origin.fiscal_information.rfc | String | RFC de responsable de origen |
| origin.address | Object | Ubicación de origen |
| origin.address.address_line | String | Campo compuesto por los campos street_name y street_number del origen |
| origin.address.street_name | String | Nombre de la calle de origen. |
| origin.address.street_number | String | Número de la calle de origen. |
| origin.address.intersection | String | Calle secundaria. |
| origin.address.zip_code | String | Código postal del origen |
| origin.address.city | Object | Ciudad de origen |
| origin.address.city.id | String | Identificador único que le da Mercado Libre a la ciudad |
| origin.address.city.name | String | Nombre de la ciudad |
| origin.address.state | Object | Estado, departamento o provincia de origen |
| origin.address.state.id | String | Identificador único que le da Mercado Libre al estado en Formato ISO 3166. |
| origin.address.state.name | String | Nombre del estado |
| origin.address.country | Object | País de origen |
| origin.address.country.id | String | Identificador único que le da Mercado Libre al país en Formato ISO 3166 |
| origin.address.country.name | String | Nombre del país |
| origin.address.neighborhood | Object | Barrio de origen |
| origin.address.neighborhood.id | String | Identificador único del vecindario |
| origin.address.neighborhood.name | String | Nombre del vecindario |
| origin.address.municipality | Object | Municipalidad de origen |
| origin.address.municipality.id | String | Identificador único que le da Mercado Libre al municipio |
| origin.address.municipality.name | String | Nombre del municipio |
| destination | Object | Destino del envío |
| destination.fiscal_information | Object | Información fiscal de destino |
| destination.fiscal_information.full_name | String | Nombre de responsable de destino |
| destination.fiscal_information.rfc | String | RFC de responsable de destino |
| destination.fiscal_information.fiscal_residence | String | Atributo condicional para registrar la clave del país de residencia para efectos fiscales del operador del autotransporte de carga federal en el que se trasladan los bienes o mercancías, conforme con el catálogo c_Pais publicado en el portal del SAT en Internet que está basado en la especificación ISO 3166-1. |
| destination.address | Object | Ubicación de destino |
| destination.address.address_line | String | Campo compuesto por los campos street_name y street_number del destino |
| destination.address.street_name | String | Nombre de la calle de destino. |
| destination.address.street_number | String | Número de la calle de destino. |
| destination.address.intersection | String | Calle secundaria. |
| destination.address.zip_code | String | Código postal del destino |
| destination.address.city | Object | Ciudad de destino |
| destination.address.city.id | String | Identificador único que le da Mercado Libre a la ciudad |
| destination.address.city.name | String | Nombre de la ciudad |
| destination.address.state | Object | Estado, departamento o provincia de destino |
| destination.address.state.id | String | Identificador único que le da Mercado Libre al estado en Formato ISO 3166. |
| destination.address.state.name | String | Nombre del estado |
| destination.address.country | Object | País de destino |
| destination.address.country.id | String | Identificador único que le da Mercado Libre al país en Formato ISO 3166 |
| destination.address.country.name | String | Nombre del país |
| destination.address.neighborhood | Object | Barrio de destino |
| destination.address.neighborhood.id | String | Identificador único del vecindario |
| destination.address.neighborhood.name | String | Nombre del vecindario |
| destination.address.municipality | Object | Municipalidad de destino |
| destination.address.municipality.id | String | Identificador único que le da Mercado Libre al municipio |
| destination.address.municipality.name | String | Nombre del municipio |
| total_items | Int | Cantidad total de mercancías en el envío |
| shipments | List | Listado de los envíos |
| shipments.id | String | Id del envío |
| shipments.url | String | URL para obtener detalles del envío |
| shipments.url.shipment_id | String | Id del despacho/romaneio |
| shipments.quantity | int | Cantidad del envío |
| registration_istmo | String | Indica sí el traslado de los bienes y/o mercancías se realiza al interior de los Polos de Desarrollo para el Bienestar del istmo de Tehuantepec. Valores: Sí o "" (string vacía) |
| origin_pole_location | String | Indica dónde inicia el traslado de los bienes y/o mercancías al interior de los Polos de Desarrollo para el Bienestar del istmo de Tehuantepec. Valores: (01 al 06) |
| destination_pole_location | String | Indica la región en donde termina el traslado de los bienes y/o mercancías al interior de los Polos de Desarrollo para el Bienestar del istmo de Tehuantepec. Valores: (01 al 06) |
Ejemplos de status Codes
Si ocurre un error, la API devolverá un estado HTTP distinto de 200 con el error, el mensaje y la causa del mismo, y el content-type será application/json.
403 (NOT_OK)
Ocurre un error 403 por falta de acceso a esta API.
{
"message": "Access revoked, consult staff to check your permissions",
"error": "unexpected_error",
"status": 403,
"cause": ["error_getroute"]
}404 (NOT_OK)
Ocurre un error 404 cuando se incluye una identificación de ruta incorrecta.
{
"message": "An error occurred while trying to get route details",
"error": "route_not_found",
"status": 404,
"cause": ["error_getroute"]
}500 (INTERNAL_ERROR)
Ocurre un error 500 cuando se produce una falla interna a esta API.
{
"message": "Error when try to obtain shipment information",
"error": "internal_server_error",
"status": 500,
"cause": ["INTERNAL_ERROR"]
}Código HTTP | Content type | Response body | Descripción |
|---|---|---|---|
| 200 | application/json | JSON (ejemplo de arriba) | Cuando se obtienen los datos de la ruta correctamente. |
| 403 | application/json | {"message": "Access revoked, consult staff to check your permissions"} | Cuando falta acceso a esta API. |
| 404 | application/json | {"message": "An error occurred while trying to get route details"...} | Cuando se incluye una identificación de ruta incorrecta. |
| 500 | application/json | {"message": "Error when try to obtain route information"} | Cuando ocurre una falla interna a esta API. |
