{"service":"Third Party Services Microservice","version":"1.0.1","status":"ok","description":"Microservicio para integración con servicios de terceros","environment":"staging","timestamp":"2026-04-16T01:10:24.119248+00:00","architecture":"Clean Architecture (Hexagonal)","api":{"supported_versions":["v1"],"current_version":"v1","direct_base_path":"/v1","proxy_base_path":"/carla-servicios/v1","public_endpoints":[{"method":"GET","path":"/","description":"Metadata del microservicio"},{"method":"GET","path":"/health","description":"Estado del servicio"},{"method":"GET","path":"/docs","description":"Documentación Swagger"},{"method":"GET","path":"/redoc","description":"Documentación ReDoc"},{"method":"GET","path":"/openapi.json","description":"Esquema OpenAPI"}],"secured_endpoints":[{"service":"Didit","method":"POST","path":"/v1/didit/verify","proxy_path":"/carla-servicios/v1/didit/verify","description":"Genera sesiones KYC y prueba de vida con Didit"},{"service":"OTP","method":"POST","path":"/v1/otp/send","proxy_path":"/carla-servicios/v1/otp/send","description":"Envía OTP vía SMS (Claro CSM + Twilio)"},{"service":"OTP","method":"POST","path":"/v1/otp/verify","proxy_path":"/carla-servicios/v1/otp/verify","description":"Verifica códigos OTP emitidos"},{"service":"Email","method":"POST","path":"/v1/email/send","proxy_path":"/carla-servicios/v1/email/send","description":"Envío de email transaccional vía Mailgun"},{"service":"RENAP","method":"POST","path":"/v1/renap/citizen","proxy_path":"/carla-servicios/v1/renap/citizen","description":"Consulta de datos ciudadanos en RENAP"},{"service":"Users","method":"POST","path":"/v1/users","proxy_path":"/carla-servicios/v1/users","description":"Alta de usuarios con créditos iniciales"},{"service":"Users","method":"PATCH","path":"/v1/users/{user_id}/credits","proxy_path":"/carla-servicios/v1/users/{user_id}/credits","description":"Actualiza créditos por servicio"},{"service":"Users","method":"DELETE","path":"/v1/users/{user_id}","proxy_path":"/carla-servicios/v1/users/{user_id}","description":"Soft delete de usuarios"},{"service":"OneShot","method":"POST","path":"/v1/oneshot/initiate","proxy_path":"/carla-servicios/v1/oneshot/initiate","description":"Inicia firma digital con OTP (upload PDF)"},{"service":"OneShot","method":"POST","path":"/v1/oneshot/complete","proxy_path":"/carla-servicios/v1/oneshot/complete","description":"Completa firma con código OTP y retorna PDF firmado"},{"service":"OneShot","method":"POST","path":"/v1/oneshot/resend-otp","proxy_path":"/carla-servicios/v1/oneshot/resend-otp","description":"Reenvía OTP de firma OneShot (sin créditos adicionales)"},{"service":"OneShot","method":"GET","path":"/v1/oneshot/health","proxy_path":"/carla-servicios/v1/oneshot/health","description":"Health check del servicio OneShot/Uanataca"}]},"security":{"auth":"API Key","header":"X-API-Key","notes":"Obligatorio para todos los endpoints bajo /v1/*"},"services":[{"code":"didit","name":"Didit Identity Verification","endpoints":["/v1/didit/verify"],"capabilities":["Creación de sesiones KYC y prueba de vida","Callback dinámico por número telefónico","Registro y auditoría de solicitudes"]},{"code":"otp","name":"OTP SMS Router","endpoints":["/v1/otp/send","/v1/otp/verify"],"capabilities":["Ruteo automático Claro CSM (+502) o Twilio (resto del mundo)","Asignación de costos por proveedor y consumo de créditos","Registro/validación de OTP con expiración configurable"]},{"code":"email","name":"Mailgun Email Service","endpoints":["/v1/email/send"],"capabilities":["Soporte para contenido HTML, plantillas y adjuntos","Tracking de aperturas/clics (Mailgun)","Persistencia de logs en PostgreSQL"]},{"code":"renap","name":"RENAP Citizen Data","endpoints":["/v1/renap/citizen"],"capabilities":["Consulta en línea al API de RENAP","Uso opcional de caché/local DB mediante `use_database_cache`","Persistencia de data y control de créditos/errores"]},{"code":"users","name":"Gestión de Usuarios y Créditos","endpoints":["/v1/users","/v1/users/{user_id}/credits","/v1/users/{user_id}"],"capabilities":["Altas, bajas lógicas y administración de roles","Créditos segregados por servicio","Alertas automáticas por saldo bajo (vía email)"]},{"code":"oneshot","name":"OneShot Digital Signature (Uanataca)","endpoints":["/v1/oneshot/initiate","/v1/oneshot/complete","/v1/oneshot/resend-otp","/v1/oneshot/health"],"capabilities":["Firma digital de PDFs con certificado electrónico","Verificación OTP vía SMS para autorización","Reenvío de OTP sin consumo adicional de créditos","Integración con Uanataca OneShot API"]}],"features":["Integración KYC con Didit usando workflows configurables y callback dinámico.","Consulta ciudadana RENAP con caché opcional y persistencia de consultas.","Servicio OTP multi-proveedor (Claro CSM/Twilio) con cálculo de costos y ruteo automático.","Verificación OTP nativa con repositorio propio y expiración configurable.","Mensajería transaccional con Mailgun: plantillas, adjuntos, tracking.","Firma digital de documentos PDF con OneShot/Uanataca y verificación OTP.","Sistema centralizado de créditos por servicio con alertas automáticas.","Middleware de API Key con validación en base de datos y contexto de cuenta/usuario.","Logging transaccional y auditoría en PostgreSQL para OTP, email, RENAP, KYC y OneShot.","Arquitectura limpia (Ports & Adapters) y completamente async/await.","Listo para serverless (Mangum) y despliegues en Vercel/Lambda."]}