Referencia del API · TicketV1
Tickets
Sube tickets a partir de una foto y consulta su estado y sus archivos (PDF y XML del CFDI) cuando la factura se recupera.
CreateTicket
Registra un nuevo ticket en la plataforma a partir de la foto. Es el endpoint central de la integración: recibe la imagen por multipart/form-data junto con el contexto fiscal del usuario, y a partir de ahí Fotofacturas gestiona la recuperación del CFDI con el comercio.
https://api.fotofacturas.ai/B2B/TicketV1/CreateTicket Body (multipart/form-data)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
image | file | Sí | Foto del ticket (el ticket completo y legible). JPG o PNG. |
ticketPaymentMethodId | string | Sí | Método de pago del ticket. Catálogo: GetTicketPaymentMethods. |
userTaxInfoId | int | Sí | Información fiscal del usuario con la que se factura (ver AddUserTaxInfo). |
regimenFiscalId | int | Sí | Régimen fiscal del receptor. Catálogo: GetRegimenFiscalAndCFDI. |
usoCfdiId | string | Sí | Uso de CFDI (p. ej. G03). Catálogo: GetRegimenFiscalAndCFDI. |
cardLastFour | string | No | Últimos 4 dígitos de la tarjeta cuando el pago fue con tarjeta. |
userId | int | Sí | Usuario dueño del ticket. |
curl -X POST "https://api.fotofacturas.ai/B2B/TicketV1/CreateTicket" \
-H "Authorization: Bearer $FF_API_TOKEN" \
-F "image=@ticket.jpg" \
-F "ticketPaymentMethodId=28" \
-F "userTaxInfoId=10423" \
-F "regimenFiscalId=626" \
-F "usoCfdiId=G03" \
-F "cardLastFour=1234" \
-F "userId=3" {
"isSuccess": true,
"message": "Ticket creado exitosamente",
"data": null
} El procesamiento es asíncrono: el resultado (facturado, ilegible, expirado…) se consulta después con GetTicketById o se interpreta con los códigos de ticket.
GetTicketsByMonth
Obtiene la lista de tickets de la cuenta filtrados por mes y año.
https://api.fotofacturas.ai/B2B/TicketV1/GetTicketsByMonth Parámetros (query string)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
month | int | Sí | Mes (1–12). |
year | int | Sí | Año (p. ej. 2026). |
curl "https://api.fotofacturas.ai/B2B/TicketV1/GetTicketsByMonth?month=4&year=2026" \
-H "Authorization: Bearer $FF_API_TOKEN" {
"data": [
{
"userTicketId": 88254,
"userId": 3,
"ticketUrl": "https://…/ticket.jpg",
"pdfUrl": null,
"xmlUrl": null,
"ticketDate": null,
"ticketAmount": null,
"ticketPaymentMethodId": "28",
"ticketPaymentMethod": "Tarjeta de débito",
"ticketStatusId": 5,
"ticketStatus": "WAITING INVOICE EMAIL",
"taxIdentifier": "XAXX010101ABC",
"taxName": "JUAN PEREZ",
"xmlData": null,
"clientName": "Juan Pérez García",
"clientEmail": "usuario@empresa.com",
"createDate": "2026-04-14T20:10:02.430074",
"updateDate": "2026-04-14T20:10:02.430074"
}
],
"isSuccess": true,
"message": "Tickets obtenidos para 4/2026"
} pdfUrl y xmlUrl se llenan cuando la factura se recupera; ticketStatus refleja el paso del proceso en el que va el ticket.
GetTicketsByUser
Obtiene todos los tickets de un usuario específico.
https://api.fotofacturas.ai/B2B/TicketV1/GetTicketsByUser Parámetros (query string)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
userId | int | Sí | ID del usuario. |
curl "https://api.fotofacturas.ai/B2B/TicketV1/GetTicketsByUser?userId=3" \
-H "Authorization: Bearer $FF_API_TOKEN" {
"data": [
{
"userTicketId": 88254,
"userId": 3,
"ticketUrl": "https://…/ticket.jpg",
"pdfUrl": null,
"xmlUrl": null,
"ticketDate": null,
"ticketAmount": null,
"ticketPaymentMethodId": "28",
"ticketPaymentMethod": "Tarjeta de débito",
"ticketStatusId": 5,
"ticketStatus": "WAITING INVOICE EMAIL",
"taxIdentifier": "XAXX010101ABC",
"taxName": "JUAN PEREZ",
"xmlData": null,
"clientName": "Juan Pérez García",
"clientEmail": "usuario@empresa.com",
"createDate": "2026-04-14T20:10:02.430074",
"updateDate": "2026-04-14T20:10:02.430074"
}
],
"isSuccess": true,
"message": "Tickets obtenidos para usuario 3"
} GetTicketById
Consulta la información detallada de un ticket específico mediante su ID.
https://api.fotofacturas.ai/B2B/TicketV1/GetTicketById Parámetros (query string)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
userTicketId | int | Sí | ID del ticket. |
curl "https://api.fotofacturas.ai/B2B/TicketV1/GetTicketById?userTicketId=88254" \
-H "Authorization: Bearer $FF_API_TOKEN" {
"data": {
"userTicketId": 88254,
"userId": 3,
"ticketUrl": "https://…/ticket.jpg",
"pdfUrl": null,
"xmlUrl": null,
"ticketDate": null,
"ticketAmount": null,
"ticketPaymentMethodId": "28",
"ticketPaymentMethod": "Tarjeta de débito",
"ticketStatusId": 5,
"ticketStatus": "WAITING INVOICE EMAIL",
"taxIdentifier": "XAXX010101ABC",
"taxName": "JUAN PEREZ",
"xmlData": null,
"clientName": "Juan Pérez García",
"clientEmail": "usuario@empresa.com",
"createDate": "2026-04-14T20:10:02.430074",
"updateDate": "2026-04-14T20:10:02.430074"
},
"isSuccess": true,
"message": "Ticket obtenido exitosamente"
}