API · Webhooks · SRI

Conecta tu sistema con Datil

Emite comprobantes y recibe cada autorización en tu propio sistema. Tus clientes no salen de tu plataforma.

Cada evento llega a tu sistema.

Tus claves de API y los webhooks que avisan cuando un documento se autoriza o se firma.

API y webhooks en Datil: cada evento entregado a tu sistema con su respuesta y su duración.
Buscar… ⌘K LV

API

2 claves activas 1 webhook 4 entregas hoy

Nueva clave
Evento Respuesta Duración Hora
document.authorized 200 182 ms 09:41:07
signature_request.completed 200 144 ms 09:38:52
certificate_request.issued 200 201 ms 08:55:13
document.rejected 200 167 ms 08:12:40

Cómo funciona

Empieza por tu caso de uso

La modalidad depende de quién le factura a tu cliente.

Facturación electrónica

Emite comprobantes y consulta su estado ante el SRI o la SUNAT.

API clásica

X-Key · X-Password

Un POST por comprobante; responde con la clave de acceso y el estado.

$ curl -X POST https://link.datil.co/invoices/issue \ -H "X-Key: $DATIL_API_KEY" \ -H "X-Password: $CLAVE_CERTIFICADO" \ -d '{"ambiente": 1, "secuencial": 148, "emisor": {…}, "items": [{…}]}'

Contabilidad

Facturas, compras, clientes y productos desde tu sistema, con una llave de API.

API de la plataforma

Authorization: Bearer dtl_…
POST /api/v1/invoices GET /api/v1/invoices?since= · /:id · /:id/ride · /xml POST /api/v1/purchases · /purchases/:id/withhold GET /api/v1/documents · /purchases · /withholdings-received GET·POST·PATCH /api/v1/contacts · /products GET·POST·DELETE /api/v1/webhook-endpoints GET /api/v1/openapi
Llaves
Por libro, en Contabilidad → Configuración → API.
Idempotencia
external_ref
Límite
300 solicitudes por minuto por llave
Formato
application/vnd.api+json
Consultas
filter[...] · page[...]
Esquema
/api/v1/openapi

Eventos de comprobantes

X-Datil-Signature
Firma
HMAC-SHA256
Intentos
Hasta 8, con retroceso exponencial
Endpoints
Por libro, en Contabilidad → Configuración → API.
POST · X-Datil-Signature: sha256=<HMAC-SHA256> { "event": "document.authorized", "sent_at": "2026-08-03T14:07:00Z", "document": { "id": "…", "doc_type": "…", "numero": "001-002-000000123", "access_key": "…", "status": "…", "issue_date": "2026-08-03", "currency": "USD", "grand_total": "148.50", "authorization": {"status": "…", "number": "…", "date": "…"}, "failure_reason": null } }

Ambientes de prueba y producción

Modos
Pruebas y producción, con las mismas funciones
Llaves
Emiten y leen solo producción
Webhooks
Solo documentos de producción

Firma electrónica

Pide firmas y certificados desde tu sistema.

Firma de documentos

Bearer · <empresa>.datil.id

Envías los PDF en base64; cada firmante firma en el navegador, con verificación de identidad.

$ curl -X POST https://acme.datil.id/api/v1/signature-requests \ -H "Authorization: Bearer $LLAVE_API" \ -d '{ "reference_id": "CRED-2026-0001", "signers": [{"national_id": "0912345678", "name": "Juan Pérez", "email": "juan@ejemplo.com"}], "documents": [{"name": "Contrato.pdf", "content_base64": "<base64>"}], "callback_url": "https://core.ejemplo.com/firmas" }' 201 · {"ok": true, "signing_url": "https://acme.datil.id/sign/…"}
Estado
GET /api/v1/signature-requests/:reference_id
Cores bancarios
POST /i/:tenant/:flow

Entrega del resultado de firma

POST callback_url
Destino
Tu callback_url, solo HTTPS
Autenticación
Bearer opcional por organización
Intentos
Cinco, con retroceso exponencial
Confirmación
Tu respuesta 2xx
POST <callback_url> · Authorization: Bearer <token> { "reference_id": "CRED-2026-0001", "signed_at": "2026-08-03T15:22:41Z", "signers": [{"national_id": "0912345678", "name": "Juan Pérez", "email": "…", "role": "…", "order": 1, "signed_at": "…"}], "documents": [{"id": "…", "name": "Contrato.pdf", "hash": "<sha-256>", "content_base64": "<PDF firmado>"}] }

Certificados de firma electrónica

Bearer · <empresa>.datil.id

Indicas el titular y el producto; recibes un enlace de un solo uso para emitir el certificado.

$ curl -X POST https://acme.datil.id/api/v1/certificate-requests \ -H "Authorization: Bearer $LLAVE_API" \ -d '{ "reference_id": "CERT-2026-0001", "holder": {"national_id": "0912345678", "name": "Juan Pérez", "email": "juan@ejemplo.com"}, "plan": "acme_1y", "return_url": "https://erp.ejemplo.com/certificados", "callback_url": "https://erp.ejemplo.com/webhooks/certificados" }' 201 · {"ok": true, "url": "https://acme.datil.id/certificate-requests/…"}
En el portal
Identidad, pago y llaves generadas en el navegador
Llave privada
Nunca sale del navegador del titular
Resultado
Los metadatos del certificado en tu callback_url
Quién paga
El titular, tu organización o un tercero vinculado
Estado
GET /api/v1/certificate-requests/:reference_id
Guía para integrar certificados Integrar certificados Ver la referencia

Cuánto cuesta

Empieza con la API de facturación

Preguntas frecuentes

¿Cuánto cuesta la API de facturación?

$0.004 por comprobante + IVA, facturado por miles emitidos.

¿Qué pasa si reintento una emisión?

Con el mismo external_ref recibes el mismo comprobante; no se emite dos veces.

¿Cómo verifico un webhook?

Cada entrega firma el cuerpo exacto con HMAC-SHA256 y el secreto del endpoint, en X-Datil-Signature.

¿Las llaves de API usan el modo de pruebas?

No. Emiten y leen solo comprobantes de producción, y los webhooks solo avisan de ellos.

¿Necesito ser distribuidor para integrar certificados?

No. Para venderlos y facturar al cliente, solicitas el alta como tercero vinculado: contrato, expediente y registro ante ARCOTEL.

¿Puedo probar la firma y los certificados?

Sí, con verificación de identidad y webhooks reales, sin emitir ni cobrar.

Centro de ayuda — docs.datil.com

Precios + IVA · sin permanencia · cancela cuando quieras

Sin conexión — reintentando…

Esenciales

Sesión, seguridad, idioma y tema. Sin ellas el sitio no funciona.

Siempre activas