Saltar al contenido principal

Reenviar PDF de Factura

Reenvia el PDF de una factura por correo electronico al cliente.

Caso de uso

Util cuando el cliente no recibio el correo original o necesita una copia adicional.

Endpoint

POST https://api.lummy.io/v1/invoices/{invoiceId}/resend-pdf
EntornoURL
Producciónhttps://api.lummy.io/v1/invoices/{invoiceId}/resend-pdf
Sandboxhttps://sandbox.lummy.io/v1/invoices/{invoiceId}/resend-pdf

Headers

{
"Authorization": string,requerido
Token de autenticación Bearer (JWT) o API Key. Formato: "Bearer <token>". Se utiliza para validar la identidad del solicitante y verificar que tiene permisos para reenviar facturas en la organización especificada.
"x-organization-id": string (UUID),requerido
Identificador único de tu organización en Lummy. Este valor se obtiene al crear tu cuenta y es necesario para todas las operaciones relacionadas con facturación electrónica.
"x-api-key": stringrequerido
Clave de API para autenticación. Se genera desde el panel de Lummy y debe mantenerse confidencial. Es una alternativa al token Bearer JWT para autenticar tus solicitudes.
}

Path Parameters

{
"invoiceId": string (UUID)requerido
Identificador único interno de la factura en el sistema Lummy cuyo PDF se desea reenviar. Se genera automáticamente al momento de crear la factura.
}

Body Parameters

{
"email": stringopcional
Dirección de correo electrónico alternativa a donde se enviará el PDF de la factura. Si se omite este campo, el PDF se enviará automáticamente al correo electrónico del receptor registrado en el CFDI. Útil para enviar copias adicionales a diferentes destinatarios.
}

Ejemplos de Codigo

# Reenviar al email original del receptor
curl -X POST https://sandbox.lummy.io/invoices/550e8400-e29b-41d4-a716-446655440000/resend-pdf \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${LUMMY_ORG_ID}" \
-H "x-api-key: ${LUMMY_API_KEY}"
# Reenviar a un email alternativo
curl -X POST https://sandbox.lummy.io/invoices/550e8400-e29b-41d4-a716-446655440000/resend-pdf \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${LUMMY_ORG_ID}" \
-H "x-api-key: ${LUMMY_API_KEY}" \
-d '{
"email": "otro-email@cliente.com"
}'

Respuestas

Todas las respuestas siguen el formato estándar StandardResponse.

200 OK

PDF reenviado exitosamente.

{
"requestId": "abc123-def456",
"data": {
"success": true,
"sentTo": "cliente@empresa.com",
"sentAt": "2025-01-20T10:30:00.000Z"
},
"timestamp": "2025-01-20T10:30:00.000Z",
"path": "/invoices/550e8400-e29b-41d4-a716-446655440000/resend-pdf",
"method": "POST"
}

404 Not Found

Factura no encontrada.

{
"requestId": "abc123-def456",
"error": {
"message": "Invoice not found",
"code": "NotFoundException",
"status": 404
},
"timestamp": "2025-01-20T10:30:00.000Z",
"path": "/invoices/550e8400-e29b-41d4-a716-446655440000/resend-pdf",
"method": "POST"
}

400 Bad Request

Email invalido.

{
"requestId": "abc123-def456",
"error": {
"message": "Email invalido",
"code": "ValidationError",
"status": 400
},
"timestamp": "2025-01-20T10:30:00.000Z",
"path": "/invoices/550e8400-e29b-41d4-a716-446655440000/resend-pdf",
"method": "POST"
}

429 Too Many Requests

Limite de reenvios alcanzado (max 10 por hora por factura).

{
"requestId": "abc123-def456",
"error": {
"message": "Has alcanzado el limite de reenvios para esta factura. Intenta mas tarde.",
"code": "TooManyRequestsException",
"status": 429
},
"timestamp": "2025-01-20T10:30:00.000Z",
"path": "/invoices/550e8400-e29b-41d4-a716-446655440000/resend-pdf",
"method": "POST"
}

Notas

  • El PDF incluye el XML timbrado como adjunto
  • El correo se envia desde facturas@lummy.mx
  • Maximo 10 reenvios por hora por factura