Ir al contenido

Proveedor HTTP (no habilitado)

La información siguiente describe una integración prevista y se conserva solo como referencia técnica. No representa una opción disponible para uso actual.

Un proveedor HTTP permite integrar un servicio de correo que expone una API en lugar de una conexión SMTP. Esta configuración requiere conocer el endpoint, el mecanismo de autenticación y el formato JSON requerido por el proveedor.

Si esta integración se habilita, las cuentas HTTP se registrarían mediante /api/v1/smtp-accounts usando un token OpenID Connect, no mediante la API key de notificaciones.

Obtén de la documentación del proveedor:

  • URL HTTPS del endpoint de envío;
  • nombre del header de autenticación;
  • formato del valor de autenticación;
  • nombres de los campos para remitente, destinatarios, asunto, texto y HTML;
  • formato de CC y BCC si los admite.

body_template y auth_value_template se renderizan con:

Variable Contenido
{{.To}} Destinatario principal.
{{.CC}} Lista de destinatarios CC.
{{.BCC}} Lista de destinatarios CCO.
{{.Subject}} Asunto final.
{{.Body}} Cuerpo final.
{{.BodyType}} text o html.
{{.From}} Dirección remitente de la cuenta.
{{.FromName}} Nombre efectivo del remitente.
{{.APIKey}} Credencial del proveedor.

Usa el helper json para escapar cadenas y serializar listas. Por ejemplo, {{.Subject | json}} produce una cadena JSON segura y {{.CC | json}} produce un arreglo.

El siguiente ejemplo es únicamente informativo y no funciona mientras la integración permanezca no habilitada:

Ventana de terminal
curl -X POST https://notify.summitexplorerjd.ec/api/v1/smtp-accounts \
-H "Authorization: Bearer $OIDC_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"label": "Proveedor HTTP",
"provider": "http_api",
"endpoint": "https://api.example.com/v1/email/send",
"auth_header_name": "Authorization",
"auth_value_template": "Bearer {{.APIKey}}",
"api_key": "YOUR_PROVIDER_API_KEY",
"body_template": "{\"from\": {{.From | json}}, \"to\": [{{.To | json}}], \"cc\": {{.CC | json}}, \"bcc\": {{.BCC | json}}, \"subject\": {{.Subject | json}}, \"content\": {{.Body | json}}}",
"from_address": "notificaciones@example.com",
"from_name": "Mi aplicación",
"is_default": false
}'

Cuando esta integración sea habilitada, la API validará que los templates puedan analizarse antes de guardar la cuenta. Una sintaxis válida no garantiza que el proveedor acepte el JSON resultante.

El template decide cómo mapear BodyType. Si la API usa campos distintos, puedes aplicar condiciones de template:

{{if eq .BodyType "html"}}"html_body"{{else}}"text_body"{{end}}

Consulta la documentación del proveedor para construir el objeto completo. Summit Notify envía el resultado con Content-Type: application/json y considera exitosas únicamente las respuestas HTTP 2xx.

En un PUT, deja api_key vacía para conservar la credencial cifrada existente. Envía una nueva API key solo cuando quieras reemplazarla.

Consulta la referencia de cuentas de envío para ver todos los campos y endpoints.