Skip to main content

Referencia completa de la API

Esta página enumera las rutas HTTP declaradas por los controladores de FactrAPI. En la instancia local también puedes consultar Swagger UI en /docs y el JSON OpenAPI en /docs-json. En producción, esas dos rutas requieren OPENAPI_ENABLED=true. Las rutas públicas de /api/v1 están disponibles en español; las rutas anteriores en inglés se conservan como alias para las integraciones existentes. Los nombres de campos JSON, filtros, encabezados y scopes se mantienen como parte del contrato actual. Las rutas de recepción /{ambiente}/{servicio}/fe/* conservan el formato requerido por la DGII.

Autenticación y formatos

Las respuestas JSON de negocio tienen forma { "data": ..., "meta": { "correlationId", "timestamp" } }. Los errores usan application/problem+json. X-Correlation-ID se acepta en las solicitudes; Idempotency-Key está disponible para crear documentos. Scopes derivados: sequences:manage concede sequences:allocate; documents:create y documents:read conceden taxpayers:read; documents:read también concede received:read.

Empresa y perfil de integración

Documentos e-CF

Envío y seguimiento DGII

Secuencias y anulaciones

Los rangos autorizados se registran en FactrAPI; no se consultan automáticamente a la DGII.

Catálogos y contribuyentes

Documentos recibidos

received:read también se concede a claves con documents:read.

Webhooks

Todas estas rutas requieren webhooks:manage. Las entregas incluyen firma HMAC y cabeceras X-Factra-Event, X-Factra-Delivery, X-Factra-Timestamp y X-Factra-Signature.

Certificación en CerteCF

FactrAPI puede ejecutar los casos de prueba técnicos contra servicios DGII, seguir su resultado y calcular el checklist. No automatiza el Portal de Certificación: la postulación, carga de archivos, URLs, representación impresa y declaración jurada se hacen en el portal. El contribuyente descarga allí el set de pruebas y envía los XML a los servicios de validación de la DGII (documentación oficial). Requisitos: API key del ambiente CERT con certification:manage, empresa/permisos de certificación habilitados, autenticación DGII configurada y set de datos oficial descargado del portal. Convierte el Excel a JSON localmente:
No subas al repositorio el Excel del portal ni el JSON convertido. El conversor genera { "label": "...", "cases": [...] }; los casos tienen kind, caseKey, payload y, para e-CF/RFCE, ecfType. Pasos automáticos: 2 datos e-CF/RFCE, 3 aprobaciones/rechazos del set, 4 simulación de e-CF, 9 recepción y ARECF, 11 recepción de aprobaciones comerciales. Pasos del portal que el usuario confirma tras completarlos: 1 postulación; 5–8 representación impresa, validaciones y URLs; 10 inicio de prueba de aprobaciones; 12 URLs de producción; 13 declaración jurada; 14 estatus del contribuyente. FactrAPI calcula el avance y registra las confirmaciones manuales de forma auditable; la DGII determina la cantidad de pruebas de simulación. Claves que acepta POST /:id/steps/:key/confirm para los pasos manuales: registrado, representacion_impresa_envio, representacion_impresa_validacion, url_servicio_prueba, url_pruebas_comunicacion, inicio_prueba_aprobaciones, url_produccion, declaracion_jurada y verificacion_estatus. Ejemplo de confirmación tras completar la acción en el portal:
Para iniciar el proceso, primero convierte localmente el Excel del set oficial con node scripts/certification/convert-set.mjs <set.xlsx> casos.json; luego envía ese JSON a POST /api/v1/certificacion/iniciar. A continuación llama POST /api/v1/certificacion/:id/ejecutar?limit=10 para enviar el siguiente bloque a CerteCF y GET /api/v1/certificacion/:id para consultar el progreso. run ejecuta hasta 50 casos por llamada; esta operación sí envía XML y crea estado fiscal de certificación. El conversor versionado procesa las hojas ECF y RFCE del Excel oficial. El servicio de certificación también acepta casos ACECF, pero no los genera ese conversor; revisa los materiales oficiales del set antes de afirmar que esos casos están importados. Si un caso del set es rechazado, no lo reintentes como parte del mismo proceso: la guía de DGII requiere regenerar el set y abrir un proceso nuevo. Los XML de postulación y declaración jurada se firman actualmente con la herramienta de firma de la DGII u otra herramienta compatible, no mediante este módulo de FactrAPI.

Recepción de e-CF (DGII → FactrAPI)

El patrón de las URL receptoras es /{ambiente}/{servicio}/fe/.... Los segmentos reconocidos son testecf (TEST), certecf (CERT) y ecf (PRODUCTION). Un ejemplo de prueba local es /testecf/emisorreceptor/fe/recepcion/api/ecf. Envía el XML como multipart/form-data en el campo xml o con Content-Type: application/xml. El límite receptor es 5 MB. La autenticación del receptor se configura mediante RECEIVER_AUTH_MODE; no usa la API key del integrador.

Factra Cloud → FactrAPI

Rutas internas autenticadas por CloudAuthGuard; no son públicas para integradores.

Salud y operación

Postman

Importa la colección segura de FactrAPI y el entorno local. Las solicitudes de lectura y salud incluyen pruebas de respuesta. No crean documentos ni envían solicitudes a la DGII. Para ejecutar emisión o llamadas de certificación, configura explícitamente el ambiente CERT, una empresa con el set oficial y sus permisos; esas operaciones sí cambian estado y pueden enviar XML a los servicios de DGII.