Esta sección es para proveedores fiscales, no para puntos de venta. Si estás
integrando un POS o un kiosco que consume la numeración de FIRE, lo tuyo es la
guía de integración fiscal.
Las dos integraciones, que no son la misma
Hay dos conexiones distintas y opuestas alrededor de la numeración fiscal:Es un contrato canónico
No describe lo que hace un proveedor en particular: es el requisito. Cualquiera que se integre con el Fiscal Gateway implementa este mismo endpoint, con esta misma forma. No cambia por proveedor ni por país. Eso tiene una consecuencia que conviene entender antes de leer el detalle: Por eso el request llevaoperation: "INVOICE" y no documentTypeCode: "01"; store.code
y no establishmentCode; device.externalId y no pointOfEmissionCode.
Los nombres de los campos son los mismos que ya usan los eventos de FIRE
(order.completed, order.invoiced).
Quien ya consume eventos no aprende vocabulario nuevo.
Qué hay que implementar
Un endpoint por país, síncrono:baseUrl, una credencial. Las rutas que existen son los países
que atendés, así que un país nuevo se agrega sin tocar los que ya funcionan.
Recibe una venta y devuelve los identificadores fiscales para imprimirla. Está en el
camino crítico de la venta —la caja está esperando— así que el presupuesto de latencia
objetivo es de menos de 3 segundos.
Este endpoint produce la representación fiscal: los números para imprimir. El envío al
ente y su autorización ocurren después, del lado del proveedor, y su desenlace llega por
el callback. Son dos ciclos de vida distintos y el contrato no los mezcla.
Por dónde seguir
Contrato del endpoint
Autenticación, request, respuesta, errores e idempotencia. El requisito completo.
Qué llega al integrador
Cómo lo que devolvés termina viajando en los eventos de la orden.
Ejemplos reales
Peticiones y respuestas capturadas de una integración en funcionamiento.

