Aller au contenu

Migrer depuis Mailosaur

Cette page s’adresse à une suite de tests qui lit ses e-mails par l’API d’un autre service de test, comme Mailosaur, et qui passe à Facteur. Elle ne décrit pas l’autre service. Elle liste, pour chaque tâche d’une suite, l’appel Facteur qui la fait, et ce que vous changez dans votre code.

  • Une clé d’API Facteur. Le guide de démarrage en crée une, et Authentification explique ses permissions.
  • Une inbox, avec l’adresse à laquelle votre application écrira. Une inbox Facteur reçoit sur un domaine entier : une seule inbox sert toute une suite.
La tâche L’appel Facteur À savoir
Lister les boîtes que vous pouvez lire GET/inboxes Une boîte s’appelle une inbox. Chacune a un id de huit caractères.
Attendre un message qui correspond GET/messages ou POST/messages/search Les critères sont des paramètres de l’adresse, ou les champs d’un corps JSON pour le POST. wait est un nombre de millisecondes, cinq minutes au plus. Chaque message de la réponse porte ses corps.
Lire un message en entier GET/messages/{messageId} Le même message que dans une recherche, par son identifiant.
Télécharger une pièce jointe GET/attachments/{attachmentId} Chaque pièce jointe donne une empreinte sha256: : vous comparez le contenu sans le télécharger.
Lire un code ou un lien otp, codes et links sur le message Déjà extraits : vous n’écrivez aucune expression régulière.

Corriger les quatre endroits où les formes diffèrent

Section intitulée « Corriger les quatre endroits où les formes diffèrent »
  1. Envoyez la clé en jeton porteur. L’en-tête est Authorization: Bearer fk_.... La clé ne voyage que dans cet en-tête.
  2. Lisez le refus par son code. Chaque échec est un corps application/problem+json dont le code est le membre sur lequel brancher. Le guide des erreurs liste les codes.
  3. Lisez status avant le reste. Un message existe un instant avant d’être lu. Une recherche ne renvoie que les messages parsed, sauf si vous envoyez status=any. Limites liste les trois états.
  4. Retirez les champs de recherche que cette API n’a pas. Un champ qui n’est pas un critère répond 400 CRITERIA_UNKNOWN et le nomme : vous le découvrez au premier appel. Ignoré, il aurait correspondu à tous les messages de l’inbox.

Vos adresses peuvent rester telles quelles. Tout ce qui précède l’arobase vous appartient, et une étiquette après un + permet à deux tests de partager une inbox en ne lisant chacun que son courrier.

L’API publique n’a pas de route pour envoyer un e-mail, supprimer un message ou télécharger la source brute d’un message. La référence liste toutes les routes qui existent. Si l’une d’elles tient votre suite, lisez-la avant de planifier le passage.

Aucune bibliothèque cliente n’est encore publiée. Tous les exemples de ces guides sont du HTTP simple, et la page du SDK dit où cela en est.