Pour commencer

Démarrage rapide

Créez une clé, vérifiez un domaine et envoyez un e-mail contrôlé avec une requête que l’on peut réessayer sans risque.

Avant de commencer

Créez un espace de travail SendHQ et gardez le tableau de bord ouvert. Les nouveaux espaces de travail bénéficient d’un essai d’intégration contrôlé : les envois ne peuvent être délivrés qu’à l’adresse e-mail du compte ou à une adresse du simulateur AWS SES tant qu’aucun abonnement payant n’est actif.

1. Créer une clé API

Ouvrez Clés API dans le tableau de bord, choisissez un nom explicite comme Production, puis copiez la clé lorsqu’elle s’affiche. Stockez-la dans un gestionnaire de secrets côté serveur. SendHQ ne renvoie plus jamais la valeur complète.

.env
SENDHQ_API_KEY=re_your_key_here

2. Ajouter un domaine d’envoi

Ouvrez Domaines, ajoutez un domaine que vous contrôlez et publiez les enregistrements DKIM, SPF, DMARC et de vérification SES renvoyés. Les utilisateurs de Cloudflare peuvent autoriser une configuration DNS ponctuelle ; SendHQ supprime le jeton OAuth après le callback.

Ne publiez pas une seconde politique SPF.Si un enregistrement SPF existe déjà, fusionnez include:amazonses.com dans la valeur v=spf1 existante.

3. Attendre la vérification

Utilisez le tableau de bord ou POST /domains/:id/verify. Le DNS peut passer par les états pending, checking et propagating avant que SES ne signale l’identité comme verified.

4. Envoyer un message contrôlé

curl
curl https://sendhq.cc/api/v1/emails \
  -H "Authorization: Bearer $SENDHQ_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: onboarding-user-42" \
  -d '{"from":"Acme <hello@example.com>","to":["owner@example.com"],"subject":"SendHQ is connected","html":"<h1>It works</h1><p>Your first controlled message was accepted.</p>","text":"It works. Your first controlled message was accepted."}'

Une requête réussie renvoie un identifiant d’e-mail SendHQ, l’identifiant de message du fournisseur et l’identifiant du fil de discussion. Enregistrez l’identifiant SendHQ avec l’événement applicatif qui a déclenché l’e-mail.

5. Traiter les résultats

Une requête API acceptée ne signifie pas que l’e-mail a été délivré au destinataire. Récupérez /emails/:id/events ou utilisez le tableau de bord pour consulter les événements de livraison, de bounce, de plainte, de rejet, d’ouverture et de clic.