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.

Importante:
  • Asegúrese de que ya tiene aplicación y token válidos, y que está autorizado para usar este endpoint
  • Por seguridad se utilizará OAuth.

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_idStringID de la ruta para la cual se cargará el CFDI
facility_idStringID de la instalación es obligatoria y solo debe usarse para rutas de middle_mile
access_tokenString
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
200application/jsonJSON (ejemplo de arriba)Cuando se obtienen los datos de la ruta correctamente.
401application/json{"message": "Unauthorized to get details. Error: [reason]"}Cuando no hay autenticación válida.
403application/json{"message": "Access revoked, consult staff to check your permissions"}Cuando falta acceso a esta API.
404application/json{"message": "An error occurred while trying to get inbound route details. Route not found"...}Cuando se incluye una identificación de ruta incorrecta.
409application/json{"message": "Document already exists"}Cuando el documento ya existe.
500application/json{"message": "Error when try to obtain inbound route information"}Cuando ocurre una falla interna a esta API.