Perú · SUNAT · API v2

Del JSON al CDR.

Comprobantes de pago electrónicos emitidos por API: construidos en UBL, firmados, enviados a SUNAT y archivados con su constancia. Factura, boleta, notas de crédito y débito, retención, percepción, resumen diario y comunicación de baja.

POST /api/v2/documents/validations
{
  "documentType": "01",
  "series": "F001",
  "number": "1024",
  "currency": "PEN",
  "supplier": { "documentNumber": "20601030405", … },
  "customer": { "documentNumber": "20512345678", … },
  "lines": [ … ]
}
200 · respuesta
{ "valid": true, "findings": [], "totals": { … } }

No crea nada: ni documento, ni correlativo, ni cuota.

Las dos superficies

No son la misma API con dos puertas.

Viven en el mismo host y ahí acaba el parecido: contratos distintos, credenciales distintas y privilegios distintos en la base de datos. Si estás integrando un ERP, la tuya es /api/v2.

/api/v2/*

La superficie de un ERP. Emite, consulta, descarga artefactos y recibe webhooks firmados.

Para
Máquinas
Autenticación
Credencial de API opaca, con scopes
Referencia
45 operaciones
/console/v1/*

La superficie de la consola. Da de alta empresas, enrola certificados y acuña credenciales.

Para
Personas
Autenticación
Sesión de servidor en cookie __Host-
Referencia
37 operaciones
El camino

Tres pasos, y solo el último cuesta algo.

  1. 01

    Valida sin emitir

    POST /api/v2/documents/validationsdocuments:validate

    Corre exactamente las mismas validaciones que la emisión y responde con el veredicto y los totales calculados. No crea nada: ni documento, ni correlativo, ni operación, ni consumo de cuota.

  2. 02

    Emite contra BETA

    POST /api/v2/documentsdocuments:create

    El comprobante recorre el mismo camino que en producción —UBL, firma, ZIP, SUNAT— y vuelve con un CDR real. Nada de lo emitido ahí es fiscalmente válido, así que equivocarse es gratis.

  3. 03

    Pasa a producción

    https://apifact.fac-360.commismo contrato

    Una credencial pertenece a un edge: la de staging presentada a producción es sencillamente desconocida y responde 401. El entorno no se puede equivocar en silencio.

Lo que cubre

Ocho tipos, con su código de catálogo.

  • 01

    Factura

  • 03

    Boleta de venta

  • 07

    Nota de crédito

  • 08

    Nota de débito

  • 20

    Retención

  • 40

    Percepción

  • RC

    Resumen diario

  • RA

    Comunicación de baja

Legible por máquinas

La referencia se genera desde el contrato. Y el contrato se publica.

Ninguna página de la referencia está escrita a mano: salen de los mismos documentos que puedes descargar aquí, en cada build. Una referencia editable acaba contradiciendo a la API, y el lector no tiene forma de saber cuál de las dos miente.

Introducción →BETA y producción →El playground está desactivado a propósito: cuando se encienda, hablará solo con BETA.