Beta privadaMailbeam está en beta privada: la API pública todavía no está abierta.Únete a la lista de espera

Migrar desde ZeroBounce

Esta guía explica cómo pasar de ZeroBounce a Mailbeam. La mayoría de las migraciones llevan menos de una hora.

Por qué se cambia la gente

  • Alojamiento en la UE: ZeroBounce está en EE. UU.; Mailbeam trata los datos en Fráncfort
  • Enfoque en tiempo real: ZeroBounce está hecho para limpiar listas en volumen; Mailbeam, para flujos de registro
  • Precios: Mailbeam cobra por verificación, sin multiplicadores de créditos
  • Esquema de respuesta: Mailbeam da un campo reason explicable; ZeroBounce usa cadenas de estado opacas

Equivalencia de endpoints

ZeroBounceMailbeamNotas
POST /v1/validatePOST /v1/verifyValidación principal
GET /v1/getapiusageGET /v1/account/usageSeguimiento de la cuota
POST /v2/validatebatchPOST /v1/verify/batchVerificación en volumen

Autenticación

ZeroBounce usa un parámetro api_key en la URL. Mailbeam usa tokens Bearer en la cabecera.

ZeroBounce (antes):

curl "https://api.zerobounce.net/v2/validate?api_key=YOUR_KEY&email=user@example.com"

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

ZeroBounce devuelve una cadena status. Mailbeam devuelve un booleano valid más score y reason.

status de ZeroBounceEquivalente en Mailbeam
"Valid"valid: true, score >= 80
"Invalid"valid: false
"Catch-All"catchAll: true (mira el score)
"Spamtrap"valid: false, reason: "disposable_domain"
"Abuse"Incluido como señal de la puntuación
"DoNotMail"roleAddress: true o disposable: true
"Unknown"valid: true con un score más bajo

Migración del código

ZeroBounce (antes):

const response = await fetch(
  `https://api.zerobounce.net/v2/validate?api_key=${apiKey}&email=${email}`
);
const { status, sub_status } = await response.json();

if (status !== "Valid") {
  return res.status(422).json({ error: "Email inválido" });
}

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 res.status(422).json({
    error: "Email inválido",
    reason, // legible por máquina: "disposable_domain", "no_mx_records", etc.
  });
}

Siguientes pasos