Filtrado de listados
Todos losGET de listado aceptan el mismo formato (documentación del propio
gateway):
Ejemplo real:
Webhooks (notificaciones push)
El gateway avisa porPOST cuando algo cambia. El aviso no trae los datos:
trae la ruta a consultar, y el integrador hace un GET autenticado para
obtenerlos.
url_to_check es una ruta, no una URL: hay que anteponerle la URL base del
ambiente. Ya viene con el filtro updatedAt[gte] puesto, así que el GET
devuelve exactamente lo que cambió desde el aviso anterior.
Ese patrón es deliberado y conviene aprovecharlo: el aviso no está autenticado
(ver abajo), así que no se le debe creer nada más que “andá a mirar”. Los
datos llegan por el GET, que sí lleva tu sesión.
Cómo se configura
Es un campo de la sucursal, no de la empresa:callbackNotificationUrl en
branchOffices[]. Cada sucursal puede tener la suya, o ninguna, y sin ella no se
envía nada.
Tipos de notificación
CFE_STATUS_CHANGE- cambio de estado de un CFE (emitido o recibido)NEW_REPORT- nuevo reporte diario enviadoINFO|WARNING|EMERGENCY|ERROR_SSLCERT_EXPIRE_IN_LESS_THAN_{30|15|7|0}_DAYS- vencimiento del certificadoINFO|WARNING|EMERGENCY|ERROR_CAE_NUMBER_EXPIRE_IN_LESS_THAN_{30|15|7|0}_DAYS- vencimiento de CAEWARN_FEW_{cfeType}_CAE_NUMBERS- queda poca numeración para ese tipoERROR_NO_{cfeType}_CAE_NUMBERS- sin numeración para ese tipo
Garantías de entrega: cuáles hay y cuáles no
Esto es lo que hay que diseñar del lado del integrador, porque el gateway no lo resuelve. Todo verificado en el código del servicio.
Consecuencias prácticas:
- Tratá el aviso como una señal, no como un dato. Cualquiera que conozca tu
URL puede enviarte uno. Como el contenido real lo traés vos con un
GETautenticado, un aviso falso te hace consultar de más y nada peor. No agregues lógica que dependa del body. - No dependas de recibirlos todos. Sin reintentos, un pico de carga o un
deploy tuyo pierde avisos definitivamente. Hace falta un polling de respaldo
con
updatedAt[gte]sobre la última fecha que procesaste. - Deduplicá por comprobante, no por aviso. Dos avisos pueden traer rangos
solapados; lo estable es el
iddel CFE y su estado. - Respondé rápido y con 2xx. No hay reintento que te salve de un timeout, y el gateway no espera nada del cuerpo de tu respuesta.
La falta de firma y la falta de validación TLS están registradas como hallazgos
para pymo, no son recomendaciones de diseño de esta documentación.