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.

POST 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.
Ejemplo · cURL
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"
Respuesta · 200 OK
{
  "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.

GET 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).
Ejemplo · cURL
curl "https://api.fotofacturas.ai/B2B/TicketV1/GetTicketsByMonth?month=4&year=2026" \
  -H "Authorization: Bearer $FF_API_TOKEN"
Respuesta · 200 OK
{
  "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.

GET https://api.fotofacturas.ai/B2B/TicketV1/GetTicketsByUser

Parámetros (query string)

Campo Tipo Requerido Descripción
userId int Sí ID del usuario.
Ejemplo · cURL
curl "https://api.fotofacturas.ai/B2B/TicketV1/GetTicketsByUser?userId=3" \
  -H "Authorization: Bearer $FF_API_TOKEN"
Respuesta · 200 OK
{
  "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.

GET https://api.fotofacturas.ai/B2B/TicketV1/GetTicketById

Parámetros (query string)

Campo Tipo Requerido Descripción
userTicketId int Sí ID del ticket.
Ejemplo · cURL
curl "https://api.fotofacturas.ai/B2B/TicketV1/GetTicketById?userTicketId=88254" \
  -H "Authorization: Bearer $FF_API_TOKEN"
Respuesta · 200 OK
{
  "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"
}