Migrer depuis Kickbox

Ce guide montre comment remplacer Kickbox par Mailbeam. La plupart des migrations se bouclent en moins d'une heure.

Pourquoi les développeurs changent

  • Résidence des données dans l'UE : Kickbox est hébergé aux États-Unis ; Mailbeam traite les données à Francfort, en Allemagne — aucun mécanisme de transfert RGPD à monter
  • Score explicable : le score Sendex de Kickbox n'a pas de champ de motif ; le champ reason de Mailbeam vous dit précisément pourquoi une adresse a obtenu son score
  • Tarification : Mailbeam est systématiquement moins cher — 49 € par mois pour 50 000 vérifications, contre environ 150 $ chez Kickbox
  • Remise annuelle : Mailbeam propose 20 % de remise à l'année ; Kickbox non
  • API moderne : la conception de l'API et des SDK de Mailbeam reflète les pratiques actuelles ; l'API de Kickbox date de 2013

Correspondance des endpoints

KickboxMailbeamRemarques
GET /v2/verify?email=&apikey=POST /v1/verifyVérification d'une adresse
POST /v2/batchPOST /v1/verify/batchVérification en masse
GET /v2/batch/{id}GET /v1/verify/batch/{id}État du lot

Authentification

Kickbox passe la clé d'API en paramètre d'URL. Mailbeam utilise un jeton Bearer dans l'en-tête.

Kickbox (avant) :

curl "https://api.kickbox.com/v2/verify?email=user@example.com&apikey=YOUR_KEY"

Mailbeam (après) :

curl -X POST https://api.mailbeam.dev/v1/verify \
  -H "Authorization: Bearer $MAILBEAM_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com"}'

Correspondance des réponses

Champ KickboxÉquivalent Mailbeam
result: "deliverable"valid: true, score >= 70
result: "undeliverable"valid: false
result: "risky"valid: true, score entre 30 et 69
result: "unknown"status: "unknown"
sendex (0,0–1,0)score (0–100)
reason: "invalid_email"reason: "invalid_syntax"
reason: "rejected_email"reason: "smtp_rejected"
reason: "low_quality"champ reason et score plus bas
disposable: truedisposable: true
role: truerole: true

Remplacer le score Sendex

Le sendex de Kickbox est un flottant de 0,0 à 1,0. Le score de Mailbeam est un entier de 0 à 100. La correspondance est directe : multipliez votre seuil Kickbox par 100.

Kickbox (avant) :

const { result, sendex, reason } = await kickbox.verify(email);
if (result === "undeliverable" || sendex < 0.6) return 422;

Mailbeam (après) :

// Pas de SDK à installer — voyez /docs/quickstart pour ce wrapper de 12 lignes.
import { verifyEmail } from "./lib/mailbeam.js";

const { valid, score, reason } = await verifyEmail(email);
if (!valid || score < 60) return 422;
// `reason` est désormais lisible par la machine : "smtp_rejected", "disposable_domain", etc.

Tirer parti du champ reason

Kickbox fournit une chaîne reason, mais sans code lisible par la machine. Le champ reason de Mailbeam permet un traitement programmatique :

const result = await verifyEmail(email);

if (!result.valid) {
  const messages = {
    invalid_syntax:    "Merci de vérifier le format de votre adresse.",
    no_mx_records:     "Ce domaine de messagerie n'existe pas.",
    smtp_rejected:     "Cette adresse e-mail n'existe pas.",
    disposable_domain: "Les adresses e-mail temporaires ne sont pas acceptées.",
  };
  return res.status(422).json({
    error: messages[result.reason] ?? "Cette adresse n'a pas pu être vérifiée.",
    suggestion: result.suggestion ?? null,
  });
}

Prochaines étapes