Migration
Changez de fournisseur sans réécrire vos tests
Le coût réel d’un changement d’outil de test, ce n’est pas l’abonnement : c’est la semaine passée à réécrire des assertions qui marchaient. Nous avons supprimé cette semaine.
// Deux lignes changent. Le reste du fichier, non.
const mailosaur = new MailosaurClient(
process.env.FACTEUR_API_KEY,
{ baseUrl: 'https://api.facteur.eu/compat' }
);
// Vos appels existants fonctionnent tels quels.
const message = await mailosaur.messages.get(serverId, {
sentTo: address,
});// Le SDK natif ajoute l'extraction d'OTP, les quotas
// et les alertes. Migration fichier par fichier.
import { Facteur } from '@facteur/client';
const facteur = new Facteur(process.env.FACTEUR_API_KEY);
const message = await facteur.messages.await({
inbox: 'j3k9x2mq',
sentTo: address,
});
expect(message.otp).toBe('265279');Marche à suivre
Cinq étapes, aucune irréversible
La marche à suivre le jour où la couche de compatibilité ouvre. La première étape, elle, se fait dès maintenant.
- 1
Créez un compte et une inbox
Le plan gratuit suffit pour valider la migration. Notez l’identifiant d’inbox : il joue le rôle du « server ID ».
- 2
Basculez l’URL de base sur un seul test
Deux lignes à changer. Lancez ce test : s’il passe, votre suite passera. C’est le moment de vérité, il coûte cinq minutes.
- 3
Faites tourner la suite complète en double
Gardez l’ancien fournisseur en parallèle une semaine, le temps de comparer les taux de réussite. Nous ne vous demandons pas de résilier avant d’être convaincu.
- 4
Posez vos quotas et vos alertes
C’est l’étape que l’ancien outil ne permettait pas. Une limite par inbox, des seuils d’alerte, et le canal Slack de l’équipe.
- 5
Passez au SDK natif à votre rythme
Fichier par fichier, pour récupérer l’extraction d’OTP et l’attente bloquante. La couche de compatibilité reste supportée : rien ne vous y oblige.
Correspondance
Table de conversion des points d’API
Pour les cas où vous appelez l’API directement plutôt que par un SDK. Les lignes marquées « à venir » ne sont pas encore ouvertes : nous préférons vous le dire ici plutôt que vous le laisser découvrir en migrant.
| Chez Mailosaur | Chez Facteur | Note |
|---|---|---|
| GET /api/servers | GET /v1/inboxes | Un « server » Mailosaur est une « inbox » chez nous. Le vocabulaire change, la sémantique non. |
| POST /api/messages/search | POST /v1/messages/search | Mêmes critères, même logique de correspondance ALL / ANY, avec l’attente bloquante en plus. |
| GET /api/messages/:id | GET /v1/messages/:id | Structure de réponse compatible, enrichie de otp, links, codes et images. |
| GET /api/files/attachments/:id | GET /v1/attachments/:idà venir | Téléchargement binaire identique. |
| GET /api/files/email/:id | GET /v1/messages/:id/emlà venir | Export .eml. |
| GET /api/analysis/deliverability/:id | GET /v1/messages/:id/analysisà venir | SPF, DKIM, DMARC et score anti-spam. Ni le point d’API ni le plan qui le portera ne sont arrêtés. |
| POST /api/devices/otp | POST /v1/authenticator/otpà venir | Génération de code TOTP à partir d’un secret partagé. |
| GET /api/usage/limits | GET /v1/usageà venir | Enrichi : ventilation par inbox, crédits restants et date d’expiration. |
Ce que la couche de compatibilité ne couvre pas
Les fonctionnalités propres à l’autre plateforme — aperçus de rendu multi-clients, éditeur visuel, règles automatiques — n’ont pas d’équivalent dans la couche de compatibilité. Si votre suite en dépend, écrivez-nous à hello@facteur.eu : nous vous dirons honnêtement si la migration a du sens aujourd’hui ou pas.
Testez la migration sur un seul fichier
Le plan gratuit ne demande pas de carte bancaire. Deux lignes à changer, et vous saurez.