API de Summit Notify
La API de Summit Notify administra cuentas de envío y plantillas, y encola notificaciones para su entrega asíncrona.
URL base
Sección titulada «URL base»https://notify.summitexplorerjd.ec/api/v1Las rutas /health/live y /health/ready se encuentran en la raíz del servicio, fuera de /api/v1.
Convenciones HTTP
Sección titulada «Convenciones HTTP»- Envía cuerpos como
application/json. - Los cuerpos JSON admiten como máximo 1 MiB.
- Los campos desconocidos se rechazan como
400 Bad Request. - Los identificadores son UUID.
- Las fechas usan RFC 3339 en UTC, por ejemplo
2026-08-03T14:00:00Z. - Las operaciones están aisladas por el
subde la credencial autenticada. Un recurso ajeno se comporta como inexistente. DELETEresponde204 No Contentsin cuerpo.
Autenticación
Sección titulada «Autenticación»| Grupo | Credencial |
|---|---|
/smtp-accounts, /templates, /whatsapp-templates |
Access token OpenID Connect con el scope requerido por la instancia. |
/notifications, /whatsapp-conversations |
API key creada desde el panel de Summit Notify. |
/mcp |
API key creada desde el panel de Summit Notify. |
/status, /health/* |
Sin autenticación. |
Todas las credenciales se envían como Authorization: Bearer. Consulta Autenticación para conocer las diferencias.
Mapa de endpoints
Sección titulada «Mapa de endpoints»| Método | Ruta | Éxito | Descripción |
|---|---|---|---|
GET |
/api/v1/status |
200 |
Estado básico del proceso API. |
GET |
/health/live |
200 |
Liveness. |
GET |
/health/ready |
200/503 |
Disponibilidad de PostgreSQL y OpenID Connect. |
GET |
/api/v1/smtp-accounts |
200 |
Lista cuentas de envío. |
POST |
/api/v1/smtp-accounts |
201 |
Crea una cuenta. |
GET |
/api/v1/smtp-accounts/{id} |
200 |
Obtiene una cuenta. |
PUT |
/api/v1/smtp-accounts/{id} |
200 |
Reemplaza la configuración de una cuenta. |
DELETE |
/api/v1/smtp-accounts/{id} |
204 |
Elimina una cuenta. |
POST |
/api/v1/smtp-accounts/{id}/test |
200 |
Envía un correo de prueba inmediato. |
GET |
/api/v1/templates |
200 |
Lista plantillas. |
POST |
/api/v1/templates |
201 |
Crea una plantilla. |
GET |
/api/v1/templates/{id} |
200 |
Obtiene una plantilla. |
PUT |
/api/v1/templates/{id} |
200 |
Reemplaza una plantilla. |
DELETE |
/api/v1/templates/{id} |
204 |
Elimina una plantilla. |
GET |
/api/v1/whatsapp-templates |
200 |
Lista plantillas de WhatsApp. |
POST |
/api/v1/whatsapp-templates |
201 |
Crea una plantilla en AWS/Meta. |
GET |
/api/v1/whatsapp-templates/{id} |
200 |
Obtiene una plantilla de WhatsApp. |
POST |
/api/v1/whatsapp-templates/{id}/sync |
200 |
Sincroniza estado y calidad. |
DELETE |
/api/v1/whatsapp-templates/{id} |
200 |
Deshabilita la plantilla después de eliminarla en AWS/Meta. |
GET |
/api/v1/whatsapp-conversations |
200 |
Lista conversaciones de WhatsApp. |
GET |
/api/v1/whatsapp-conversations/{id} |
200 |
Obtiene una conversación. |
GET |
/api/v1/whatsapp-conversations/{id}/messages |
200 |
Historial de mensajes de una conversación. |
POST |
/api/v1/whatsapp-conversations/{id}/reply |
202 |
Encola una respuesta en una conversación. |
POST |
/api/v1/whatsapp-conversations/{id}/media-upload |
201 |
Sube un adjunto y devuelve un media_id. |
GET |
/api/v1/whatsapp-conversations/{id}/messages/{messageID}/media |
200 |
URL firmada de un adjunto entrante. |
POST |
/api/v1/notifications |
202 |
Encola una notificación. |
GET |
/api/v1/notifications/{id} |
200 |
Consulta su estado. |
Rate limiting
Sección titulada «Rate limiting»La API aplica un bucket por Bearer token y, si no existe uno, por dirección IP. La configuración actual repone aproximadamente una solicitud por segundo y admite ráfagas de hasta 30 solicitudes.
Al superar el límite responde:
HTTP/1.1 429 Too Many RequestsRetry-After: 60Content-Type: text/plain; charset=utf-8
too many requestsFormato general de errores
Sección titulada «Formato general de errores»Salvo la respuesta 429, los errores de la API se representan como JSON:
{ "error": "descripción del problema"}Consulta Estado y errores para la tabla completa.