Fac-360

Introducción

La API de facturación electrónica de Fac-360 para el Perú.

Fac-360 emite comprobantes de pago electrónicos ante SUNAT: factura, boleta, notas de crédito y débito, retención, percepción, resumen diario y comunicación de baja.

Las dos superficies

La plataforma publica dos APIs sobre el mismo host, cada una con su propio documento OpenAPI y su propio mecanismo de autenticación.

SuperficieParaAutenticación
/api/v2/*MáquinasCredencial de API opaca, con scopes
/console/v1/*PersonasSesión de servidor en cookie __Host-

No son la misma API con dos puertas: tienen contratos distintos y privilegios distintos en la base de datos. Si estás integrando un ERP, la tuya es /api/v2.

Empieza por BETA

SUNAT expone un entorno de homologación (e-beta.sunat.gob.pe) donde un comprobante recorre el mismo camino que en producción y devuelve un CDR real. Todo el desarrollo se hace ahí.

Antes incluso de eso existe un paso más barato: POST /api/v2/documents/validations corre exactamente las mismas validaciones que la creación de un comprobante, responde con valid, findings y los totals calculados, y no crea nada — ni documento, ni correlativo, ni operación, ni consumo de cuota. Es la herramienta para construir un mapeo sin emitir.

El scope documents:validate no está implicado por documents:create. Es deliberado: un entorno de desarrollo puede tener una credencial que ensaya y no puede emitir.

Estado de esta documentación

La referencia se genera desde los contratos publicados y no se escribe a mano: cada página de /docs/api y /docs/console sale de APIFACT_OPENAPI_V2 y CONSOLE_OPENAPI_V1 en cada build, con sus ejemplos de request y sus snippets por lenguaje. Una referencia que se pudiera editar acabaría contradiciendo a la API, y el lector no tendría forma de saber cuál de las dos miente.

Los mismos documentos se publican tal cual, para un generador de clientes o para un agente:

DocumentoURL
API para máquinas/openapi/apifact-v2.json
API de la consola/openapi/console-v1.json

Y en /llms.txt y /llms-full.txt está el sitio entero en texto plano, con la operación de cada página, si prefieres dárselo a un modelo.

Lo que todavía no está: la guía end-to-end de BETA hasta el CDR, y snippets propios con nuestro SDK. El playground está desactivado a propósito — cuando se encienda hablará solo con BETA, porque un formulario público capaz de disparar contra la API real emite comprobantes que solo una comunicación de baja aceptada retira.

On this page