Carga del archivo CFDI para ruta vía API
Contenidos
La API para cargar el Comprobante Fiscal Digital por Internet (CFDI) ha sido desarrollada para permitir a los transportistas la capacidad de automatizar el proceso de subida de documentos fiscales para México. Esto facilita el cumplimiento sin necesidad de utilizar la interfaz de usuario.
Request
POST https://api.mercadolibre.com/shipping/fiscal/MLM/upload/routes/{route_id}?facility_id={facility_id}&access_token={access_token}--form 'document=@"archivo xml CFDI"'Parámetro | Tipo | Descripción |
|---|---|---|
| route_id | String | ID de la ruta para la cual se cargará el CFDI |
| facility_id | String | ID de la instalación es obligatoria y solo debe usarse para rutas de middle_mile |
| access_token | String | Token de acceso para autenticación. |
Cuerpo de la solicitud:
Usa el formulario multipart para enviar el archivo XML del CFDI.
Response
Si la carga es exitosa, recibirás una respuesta en formato JSON que contiene un UUID para el archivo cargado.
{
"uuid": "A040CC82-492D-494A-B138-F2A41056C875"
}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.
401 (UNAUTHORIZED)
Ocurre un error 401 cuando no hay autenticación válida para el usuario que realiza la solicitud.
{
"message": "Unauthorized to get details. Error: [reason]",
"error": "unauthorized_error",
"status": 401,
"cause": ["error_auth"]
}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 inbound route details. Route not found",
"error": "route_not_found",
"status": 404,
"cause": ["error_getroute"]
}409 (CONFLICT)
Ocurre un error 409 cuando el documento ya existe.
{
"message": "Document already exists",
"error": "conflict_error",
"status": 409,
"cause": ["error_upload"]
}500 (INTERNAL_ERROR)
Ocurre un error 500 cuando se produce una falla interna a esta API.
{
"message": "Error when try to obtain inbound route 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. |
| 401 | application/json | {"message": "Unauthorized to get details. Error: [reason]"} | Cuando no hay autenticación válida. |
| 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 inbound route details. Route not found"...} | Cuando se incluye una identificación de ruta incorrecta. |
| 409 | application/json | {"message": "Document already exists"} | Cuando el documento ya existe. |
| 500 | application/json | {"message": "Error when try to obtain inbound route information"} | Cuando ocurre una falla interna a esta API. |