Votre produit reçoit le courrier
et votre code répond
Chaque ticket, fiche ou client peut avoir son adresse. Le courrier envoyé là atteint votre point de terminaison en événement signé, et votre code répond depuis cette adresse.
Personne n'a créé ces adresses. La réponse part de celle où le courrier est arrivé.
D'où ça part
À quoi ça ressemble aujourd'hui.
Les réponses arrivent hors du produit
Un client répond à une notification, et la réponse reste dans une boîte partagée au lieu d'être sur la fiche.
Il faut créer chaque adresse
On ne peut pas écrire à un nouveau ticket tant qu'une boîte n'existe pas, donc les adresses se créent à la main.
Votre serveur interroge en boucle
Rien ne dit à votre code qu'un message est arrivé, alors une tâche vérifie une boîte à intervalle fixe.
Comment ça marche
Opérationnel en quatre étapes.
- 01
Pointez un domaine vers OpenEmail
Ajoutez le domaine et publiez les enregistrements : chaque adresse dessus reçoit, même celles que personne n'a créées.
- 02
Installez le client typé
Ajoutez le paquet à votre app, puis posez une clé d'espace de travail que vous pourrez limiter et révoquer.
- 03
Enregistrez votre point de terminaison
Choisissez les événements, copiez le secret de signature, et répondez à chaque remise en cinq secondes.
- 04
Répondez depuis votre code
Récupérez le fil et ses fichiers par id, puis envoyez depuis l'adresse à laquelle le message a été remis.
Sur quoi ça repose
Les éléments qui font le travail.
Cela repose sur une API HTTP documentée, un client typé, des webhooks vers votre point de terminaison, le catch-all sur chaque domaine pointé ici, et votre marque, vos fichiers et vos liens suivis.
Une API HTTP documentée, avec des clés à émettre, restreindre et révoquer.
Un client TypeScript d'abord, le reste ensuite.
Prévient votre endpoint quand du courrier arrive, au lieu de vous obliger à l'interroger.
Toutes les adresses du domaine reçoivent, y compris celles qui n’ont jamais été créées. Un seul interrupteur referme tout.
Pointez plusieurs domaines vers une seule boîte de réception, sous-domaines compris.
Mettez votre propre marque et votre logo dans la barre latérale, à la place des nôtres.
En pratique
Chaque élément, pas à pas.
Quatre pages plus courtes se trouvent dessous, une tâche chacune : une adresse par client, le courrier qui sort de votre code, celui qui y entre, et une adresse par test, encore à venir.
Donnez à chaque ticket, dossier ou client sa propre adresse, sans rien créer.
Envoyez, lisez et organisez le courrier depuis votre code avec un client typé.
Le courrier arrivé sur votre domaine atteint votre serveur en webhook signé, quelques secondes après.
Questions
Posées avant de s'inscrire.
Faut-il créer une adresse avant qu'elle marche ?
Non. Avec le catch-all activé, [email protected] reçoit dès qu'on lui écrit. Le courrier envoyé à des fautes de frappe et à des adresses inventées arrive aussi, et un seul interrupteur ferme le catch-all.
Comment mon code sait-il qu'un courrier est arrivé ?
Votre point de terminaison reçoit un webhook signé quelques secondes après l'arrivée du message. L'événement nomme le fil et l'adresse de remise : vous récupérez le message et ses fichiers par id.
Y a-t-il un client pour mon langage ?
Pas encore, sauf si vous écrivez en TypeScript. Le client typé est d'abord TypeScript, les autres suivront : pour l'instant, tout autre langage appelle directement l'API HTTP documentée.
À proximité
D'autres tâches pour la même boîte.
Votre app envoie un message et OpenEmail l'expédie depuis votre domaine. Chaque appel est rattaché à la clé qui l'a fait, et chaque envoi a un résultat à lire.
Donnez à un agent sa propre adresse et une clé limitée à ce qu'il peut faire. Il lit, étiquette, rédige et envoie, et chacun de ses appels est journalisé.