Seguridad
Autenticación
Toda petición requiere una API Key en el header Authorization: Bearer. Empezá con sandbox; pasá a producción solo cuando el flujo funcione.
Sandbox vs producción
Sandbox
- Key:
dk_test_... - Header:
X-Environment: sandbox - SIFEN simulado — ideal para desarrollo
- Soporta
_simulateen el body
Producción
- Key:
dk_live_... - Sin header
X-Environment - Documentos tributarios reales
- Checklist: Pasar a producción
Obtener una API Key
Ingresá a app.difact.co → Configuración → API y creá una nueva key. Podés generar múltiples keys con nombres descriptivos (ej.: produccion-erp, testing-integracion).
Las API Keys dan acceso completo a tu cuenta. Nunca las expongas en código del lado del cliente (navegador, app mobile). Usá siempre variables de entorno en el servidor.
Uso en peticiones
Enviá la key en el header Authorization con el prefijo Bearer:
curl https://api.difact.co/v1/facturas \
-H "Authorization: Bearer dk_live_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json"En sandbox podés simular diferentes estados de SIFEN usando el campo_simulate en el body ("approved", "rejected","timeout").
Scopes (alcances)
Al crear una key podés limitar su alcance. Una key con scope facturas:read solo puede consultar, no crear documentos.
| Scope | Acceso |
|---|---|
facturas:write | Crear, anular y gestionar facturas. |
facturas:read | Consultar y descargar documentos. |
webhooks:write | Crear y eliminar webhooks. |
emisores:read | Consultar datos del emisor y RUC. |
* | Acceso total (por defecto en keys nuevas). |
Rotar una API Key
Podés rotar (reemplazar) cualquier key desde el panel sin tiempo de inactividad: creá la nueva key, actualizá tu sistema, luego eliminá la anterior.