Migrar desde Kickbox
Esta guía explica cómo sustituir Kickbox por Mailbeam. La mayoría de las migraciones se completan en menos de una hora.
Por qué se cambia la gente
- Residencia del dato en la UE: Kickbox está alojado en EE. UU.; Mailbeam trata los datos en Fráncfort, Alemania, sin necesidad de mecanismos de transferencia del RGPD
- Puntuación explicable: la puntuación Sendex de Kickbox no tiene campo de motivo; el campo
reasonde Mailbeam te dice exactamente por qué una dirección ha sacado su puntuación - Precios: Mailbeam es más barato de forma consistente: 49 €/mes por 50 000 verificaciones frente a unos 150 $ de Kickbox
- Descuento anual: Mailbeam ofrece un 20 % de descuento anual; Kickbox no
- API moderna: el diseño de la API y de los SDK de Mailbeam refleja las prácticas actuales; la API de Kickbox es de 2013
Equivalencia de endpoints
| Kickbox | Mailbeam | Notas |
|---|---|---|
GET /v2/verify?email=&apikey= | POST /v1/verify | Verificación de un email |
POST /v2/batch | POST /v1/verify/batch | Verificación en volumen |
GET /v2/batch/{id} | GET /v1/verify/batch/{id} | Estado del lote |
Autenticación
Kickbox pasa la clave de API como parámetro en la URL. Mailbeam usa un token Bearer en la cabecera.
Kickbox (antes):
curl "https://api.kickbox.com/v2/verify?email=user@example.com&apikey=YOUR_KEY"Mailbeam (ahora):
curl -X POST https://api.mailbeam.dev/v1/verify \
-H "Authorization: Bearer $MAILBEAM_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com"}'Equivalencia de respuestas
| Campo de Kickbox | Equivalente en Mailbeam |
|---|---|
result: "deliverable" | valid: true, score >= 70 |
result: "undeliverable" | valid: false |
result: "risky" | valid: true, score 30-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" | Campo reason + score más bajo |
disposable: true | disposable: true |
role: true | role: true |
Sustituir la puntuación Sendex
El sendex de Kickbox es un decimal de 0,0 a 1,0. El score de Mailbeam es un entero de 0 a 100.
La equivalencia es directa: multiplica por 100 el umbral que tenías en Kickbox.
Kickbox (antes):
const { result, sendex, reason } = await kickbox.verify(email);
if (result === "undeliverable" || sendex < 0.6) return 422;Mailbeam (ahora):
// No hay SDK que instalar: mira /docs/quickstart para este envoltorio de 12 líneas.
import { verifyEmail } from "./lib/mailbeam.js";
const { valid, score, reason } = await verifyEmail(email);
if (!valid || score < 60) return 422;
// `reason` ahora es legible por máquina: "smtp_rejected", "disposable_domain", etc.Sacar partido al campo reason
Kickbox da una cadena reason, pero sin códigos legibles por máquina.
El campo reason de Mailbeam permite tratarla en el código:
const result = await verifyEmail(email);
if (!result.valid) {
const messages = {
invalid_syntax: "Revisa el formato de tu email.",
no_mx_records: "Ese dominio de email no existe.",
smtp_rejected: "Esta dirección de email no existe.",
disposable_domain: "No se permiten direcciones de email temporales.",
};
return res.status(422).json({
error: messages[result.reason] ?? "No se ha podido verificar la dirección de email.",
suggestion: result.suggestion ?? null,
});
}