Développeurs

API — Send & Mail

Référence API — Send, Domaines & Mail

Send est la brique de messagerie multi-canal de la plateforme : e-mail (transactionnel et applicatif), mais aussi push mobile, SMS et WhatsApp — voir Notifications multi-canal (push, SMS, WhatsApp). Elle gère les domaines expéditeurs, les clés API, une file d'envoi avec rate limiting, et s'appuie sur un serveur de messagerie (Stalwart, via JMAP). Les modules Domaines et Mail (boîtes nominatives) partagent le même service.

  • Base URL — prod : https://send.puwapi.com · dev : http://localhost:5700
  • Auth : JWT + gating send (Business+). Envoi serveur = clé API.

Messages (authentifié)

Base : /api/send/messages

MéthodeRouteRôle
POST/api/send/messagesEnvoyer un message (mis en file, statut queued)
GET/api/send/messagesLister
GET/api/send/messages/{id}Statut d'un envoi

Les envois sont mis en file puis traités par un dispatcher de fond avec rate limiting par organisation et global (fenêtre glissante, backoff). Les rebonds (bounces) sont gérés via DSN/VERP.

Envoi serveur (clé API — anonyme)

Base : /api/public/send

MéthodeRoute
POST/api/public/send/messages
GET/api/public/send/messages/{id}

En-tête X-Server-API-Key. C'est la surface utilisée par les autres modules (Identity, Forms, Careers…) pour envoyer les e-mails transactionnels depuis no-reply@puwapi.com.

Clés API

BaseMéthodes
/api/send/keys (tenant)GET, POST, DELETE {id}
/api/admin/send/keys (admin plateforme)GET, POST, DELETE {id}

Domaines expéditeurs

Base : /api/send/domains

MéthodeRouteRôle
GET/POST/api/send/domainsLister / ajouter
POST/api/send/domains/{id}/verifyVérifier (SPF/DKIM)
DELETE/api/send/domains/{id}Retirer

Boîtes mail (module Mail)

Base : /api/mailboxes — gating mail.

MéthodeRoute
GET/POST/api/mailboxes
DELETE/api/mailboxes/{id}

Boîtes nominatives prenom.nom@votredomaine (Stalwart/JMAP). Le client mail du Hub parle directement au serveur JMAP pour lire/écrire les messages.

Domaines (achat & configuration)

Base : /api/domains — module Domaines.

MéthodeRouteRôle
GET/api/domainsDomaines de l'organisation
GET/api/domains/searchRechercher un domaine à acheter
POST/api/domains/purchaseAcheter
POST/api/domains/connectRattacher un domaine existant
POST/api/domains/{id}/configureConfigurer (MX, DNS)
DELETE/api/domains/{id}Retirer

#api #send