Sari la conținut

Canale & Furnizori

Acest conținut nu este încă disponibil în limba selectată.

CanalTransportNote
EMAILSMTP / Amazon SESprin EmailChannelSender + Provider (implicit: SES)
SMSAmazon SNS / HTTP terțprin SmsChannelSender + Provider (SNS sau HTTP)
TELEGRAMBot Telegramtransport unic încorporat
PUSHWeb Push (VAPID)fără Firebase/FCM; per identificator IDNP/IDNO

Un Provider este un backend de livrare persistat, gestionat din Administrare → Furnizori (/providers, doar ADMIN). În loc de un singur SMTP/gateway hard-codat, operatorii înregistrează oricâți furnizori și aleg unul per canal la trimitere.

CâmpSens
cheiecheie unică, referită la trimitere (ex. gstackgov, aws-sns)
numeetichetă UI
tipEMAIL_SMTP / SMS_SNS / SMS_HTTP
configJSON specific tipului
activdoar cei activi sunt selectabili
  • EMAIL_SMTP — from (obligatoriu); opțional host/port/username/password/starttls pentru un SMTP dedicat. Fără host → refolosește transportul spring.mail.* (SES), doar identitatea From diferă.
  • SMS_SNS — region (implicit eu-north-1), accessKey, secretKey, opțional senderId, smsType. Trimite prin Amazon SNS Publish.
  • SMS_HTTP — url, method, contentType (form/json), headers/params (JSON; valori cu {to}/{message}), opțional successField/idField/errorField pentru parsarea răspunsului JSON (gateway-uri care întorc 200 pe eșec, ex. TextBelt).

Pe ecranul Trimite notificare, fiecare rând de canal are un dropdown Furnizor: email → EMAIL_SMTP activi; sms → SMS_SNS+SMS_HTTP activi; push/telegram → fără furnizor. Cheia aleasă circulă end-to-end: ChannelSpec.provider → NotificationJob.provider → ProviderRegistry în sender.

Furnizori seed (ProviderSeeder, upsert după cheie)

Section titled “Furnizori seed (ProviderSeeder, upsert după cheie)”
CheieTipActivNote
gstackgovEMAIL_SMTPdaidentitate SES From; partajează transportul SES
gstackdevEMAIL_SMTPdaidentitate SES From
textbeltSMS_HTTPdagateway terț; parsare successField
aws-snsSMS_SNSnuplaceholder — completează credențialele în UI și activează

Canalul EMAIL folosește implicit Amazon SES (cont 042618322403, eu-north-1), domeniu DKIM-verificat gstack.tech.esempla.systems, expeditori gstackgov / gstackdev. Autentificare prin credențiale SES SMTP IAM. Registru de expeditori per-cerere prin cheia sender (GET /api/admin/mail-senders).

Notificări reale de browser prin protocolul Web Push standard (VAPID), biblioteca nl.martijndwars:web-push — fără Firebase/FCM:

  • fiecare browser se abonează la propriul serviciu push (Mozilla / Google Web Push transport); gNotify postează payload-ul criptat direct acolo.
  • singurul secret server-side = perechea de chei VAPID (gnotify.push.vapid.*). Generare: npx web-push generate-vapid-keys --json. Chei nesetate → PUSH cade pe stub (fake-push-…).
  • PUSH e cheiat pe identificator (IDNP/IDNO), nu pe adresă — o persoană poate avea mai multe dispozitive (PushSubscription). Trimiterea către PUSH fan-out la toate abonările; 404/410 → abonare expirată, auto-eliminată.
  • Endpoint-uri portal: GET /api/registry/push-public-key, POST /api/registry/me/push-subscription.

Totul în clase separat denumite: service/channel/{ProviderRegistry,ProviderSeeder,EmailChannelSender,SmsChannelSender,WebPushService,PushChannelSender}, repository/lookup/*, web/rest/RegistryPushResource, ecranul app/providers/. Provider se generează din registry-providers.jdl (@skipClient).