Autenticación de Summit Notify
La API utiliza dos tipos de credenciales Bearer. No son intercambiables y ambas identifican al propietario mediante un sub interno.
Encabezado común
Sección titulada «Encabezado común»Authorization: Bearer CREDENTIALEl prefijo Bearer distingue mayúsculas y minúsculas y debe estar seguido por un valor no vacío.
Access token OpenID Connect
Sección titulada «Access token OpenID Connect»Protege la administración de cuentas y plantillas:
/api/v1/smtp-accounts/api/v1/templatesEl servicio valida el token mediante introspección OpenID Connect y exige el scope configurado por la instancia, normalmente notify.
curl https://notify.summitexplorerjd.ec/api/v1/templates \ -H "Authorization: Bearer $OIDC_ACCESS_TOKEN"API key de Summit Notify
Sección titulada «API key de Summit Notify»Protege la creación y consulta de notificaciones, conversaciones de WhatsApp y el endpoint MCP:
/api/v1/notifications/api/v1/whatsapp-conversations/mcpLa key se genera en /admin/api-keys, se muestra completa una sola vez y se almacena mediante un hash. Su último uso se actualiza al autenticarla.
curl https://notify.summitexplorerjd.ec/api/v1/notifications/NOTIFICATION_ID \ -H "Authorization: Bearer $SUMMIT_NOTIFY_API_KEY"Una API key no permite crear cuentas ni plantillas. Un access token OpenID Connect no sustituye a la API key en /notifications, /whatsapp-conversations ni /mcp.
Propiedad y aislamiento
Sección titulada «Propiedad y aislamiento»El servicio obtiene el propietario de la credencial; no acepta owner_id en requests. Las consultas y modificaciones siempre filtran por ese propietario:
- Para un access token OIDC, el propietario es el
tenant_idactivo si existe; de lo contrario, elsubdel usuario. - Para una API key, el propietario es el
owner_idque tenía el usuario en el momento de crear la key. Una key creada bajo una organización permanece ligada a esa organización.
Conocer el UUID de otro usuario o recurso no concede acceso: la API devuelve 404.
Una API key solo puede utilizar las cuentas SMTP, plantillas y conversaciones del usuario u organización que la creó.
Endpoints públicos
Sección titulada «Endpoints públicos»No requieren credenciales:
GET /api/v1/statusGET /health/liveGET /health/ready
Errores
Sección titulada «Errores»| Estado | Cuerpo | Causa |
|---|---|---|
401 |
{"error":"missing bearer token"} |
Falta el header, el esquema no es Bearer o el valor está vacío. |
401 |
{"error":"invalid or expired token"} |
El token OIDC o API key no puede validarse. |
403 |
{"error":"insufficient scope"} |
El access token no contiene el scope requerido. |
403 |
{"error":"caller domain is not allowed to use this smtp account"} |
Origin/Referer no cumple api_allowed_domains. |
La autenticación se evalúa después del rate limiting; una solicitud puede recibir 429 antes de validar su credencial.