Autenticación
Autentica tus solicitudes a la API de Facturación con API keys por entorno.
La API usa API keys para autenticar solicitudes. Cada key pertenece a tu cuenta de integrador, a un entorno, y puede emitir por todos los emisores (RUC) de ese entorno.
Formato de la key
| Prefijo | Entorno | Qué hace |
|---|---|---|
sk_test_… | Pruebas | Valida todo de verdad (emisor, cliente, ítems, cuotas) y responde cómo habría quedado: livemode: false, status: "test", totales e IGV, y el número que le tocaría (number_preview). No emite, no gasta número, no va a SUNAT y no se cobra. |
sk_live_… | Producción | Emite comprobantes reales ante SUNAT. Se cobran los que SUNAT acepta. |
Las claves se crean en la consola. Con una clave de prueba puedes encadenar todo el flujo: el id que devuelve (inv_test_…) sirve para probar la anulación y la nota de crédito.
Cómo enviarla
Como Bearer token en la cabecera Authorization:
GET /api/v1/invoicing/issuers HTTP/1.1
Host: api.krezka.com
Authorization: Bearer sk_live_a1b2c3…También se acepta x-api-key: sk_live_…, pero prefiere Authorization.
Nunca expongas una key de producción
Úsala solo desde tu servidor. Si una key se filtra, revócala desde la consola: deja de funcionar al instante y puedes crear otra sin tocar tus emisores.
Integrador y emisores
Tu key identifica al integrador (quien paga). Cada solicitud de emisión nombra el
emisor con issuer_id. Un integrador puede tener tantos emisores como RUC gestione;
el consumo de todos se suma en una sola factura mensual.
Una key solo ve sus propios emisores. Intentar emitir con un issuer_id ajeno devuelve
403 issuer_forbidden.
Errores de autenticación
| Código HTTP | error.code | Causa |
|---|---|---|
401 | missing_api_key | No enviaste la cabecera. |
401 | invalid_api_key | La key no existe o fue revocada. |
403 | issuer_forbidden | El emisor no pertenece a tu integración. |
409 | issuer_not_configured | Clave sk_live_ con una empresa que todavía está en prueba. Pásala a producción desde la consola. |
