Documentación
API de reclamos
Envía reclamos desde tu propio formulario o sistema. Nosotros asignamos el número correlativo, generamos la Hoja de Reclamación oficial y enviamos las copias.
Antes de empezar
Si armas tu propio formulario, sigues obligado a capturar los campos del formato oficial y a mostrar los textos legales. Si omites alguno, el registro sale defectuoso y la responsabilidad es del proveedor, no nuestra.
Para no copiarlos a mano de un PDF y quedarte desactualizado cuando cambie la norma, consúltalos con GET /api/v1/schema: devuelve los campos obligatorios, sus validaciones y los textos que debes mostrar literales.
Si lo que quieres es solo que se vea con tu marca,no necesitas la API: personaliza el formulario hospedado desde el panel.
Autenticación
Todas las peticiones llevan Authorization: Bearer <clave>. Las claves se crean en el panel, en Integración.
- sk_live_…
- Servidor a servidor. Sin captcha. Nunca la expongas en el navegador: quien la tenga puede registrar reclamos en tu libro.
- pk_live_…
- Para el navegador. Exige
turnstile_tokeny solo funciona desde los dominios que declaraste. Sin cabeceraOriginválida se rechaza, aunque la clave sea buena.
El proveedor sale de la clave, no del cuerpo: una clave no puede escribir en el libro de otra empresa.
Los bloques que debes capturar
La hoja oficial tiene cuatro secciones. Las tres primeras las llena el consumidor; la cuarta la llena el proveedor al responder, desde el panel o por API.
1 Identificación del consumidor
consumidor_nombre · consumidor_doc_tipo · consumidor_doc_num · consumidor_domicilio · consumidor_telefono · consumidor_email · es_menor_edad · apoderado_nombre
2 Identificación del bien contratado
bien_tipo · bien_descripcion · monto_reclamado · moneda
3 Detalle y pedido
tipo (reclamo | queja) · detalle · pedido
Extra — datos_adicionales
Objeto libre para tus propios campos: número de pedido, mesa, código de reserva. Se guardan y entran en el hash de integridad, pero no aparecen en la hoja oficial porque el formato de INDECOPI no admite campos añadidos. Sí salen en el anexo del PDF.
Registrar un reclamo
POST /api/v1/complaints
curl -X POST https://app.dbtech.cloud/api/v1/complaints \
-H "Authorization: Bearer sk_live_TU_CLAVE" \
-H "Content-Type: application/json" \
-d '{
"sede": "miraflores",
"tipo": "reclamo",
"consumidor_nombre": "María Ñahui",
"consumidor_doc_tipo": "DNI",
"consumidor_doc_num": "70112233",
"consumidor_domicilio": "Av. Ejemplo 500, Lima",
"consumidor_email": "maria@ejemplo.pe",
"bien_tipo": "producto",
"bien_descripcion": "Pedido #A-4471",
"monto_reclamado": 79.90,
"detalle": "El pedido llegó incompleto y con el empaque abierto.",
"pedido": "Reposición del producto faltante.",
"consentimiento": true,
"datos_adicionales": { "numero_pedido": "A-4471", "mesa": 12 }
}'Respuesta 201
{
"id": "cdbe525a-50fe-41d6-927f-5d5302ed7f23",
"codigo": "MIR-00001-2026",
"correlativo": 1,
"deadline_at": "2026-09-04",
"consulta_url": "https://app.dbtech.cloud/consulta/9771b92f…",
"pdf_url": "https://app.dbtech.cloud/api/v1/complaints/cdbe…/pdf?token=9771…"
}Guarda el codigo y laconsulta_url: son lo que el consumidor necesita para seguir su caso. La copia por correo se envía sola.
Sedes
La numeración correlativa es por establecimiento, así quesede es obligatoria si el proveedor tiene más de uno. Nunca elegimos una por ti: un reclamo en el libro equivocado deja mal numerados los dos.
Si la omites con varias sedes, la respuesta es 422 con la lista de slugs disponibles.
Errores
| Código | Significa |
|---|---|
| 401 | Falta la clave, o es inválida o revocada |
| 403 | Dominio no autorizado para esa clave publishable |
| 404 | Sede inexistente o inactiva |
| 422 | Datos inválidos. El cuerpo trae campos con el detalle |
| 400 | Captcha no verificado (solo claves publishable) |