Sign inGet Started

Envía tu primer correo electrónico

Crea una clave API, envía a través del dominio compartido de onboarding de Bird y consulta el resultado. No necesitas verificar un dominio de envío ni publicar registros DNS para esta guía. Verifica tu propio dominio antes de enviar a clientes.

1. Crea una clave API

En el dashboard, ve a Developers > Claves API y crea una clave. Las claves están asociadas a una región y tienen el formato bk_us1_... o bk_eu1_...; la región en el prefijo te indica qué host API llamar: https://us1.platform.bird.com o https://eu1.platform.bird.com.
La página de claves API en el dashboard de Bird, con las claves listadas con su prefijo enmascarado, alcances y última vez de uso
La clave completa se muestra una sola vez, en el momento de crearla. Cópiala en un lugar seguro y luego expórtala para que los fragmentos de código del paso 2 puedan leerla:
Ejemplo de código
export BIRD_API_KEY="bk_us1_..."

2. Envía un correo electrónico

Envía desde onboarding@messagebird.dev, el dominio compartido de onboarding de Bird, disponible en tu espacio de trabajo sin configuración. Dirígelo a delivered@messagebird.dev, un destinatario de sandbox que siempre entrega, de modo que el resultado es determinista sin un buzón real.
La llamada cURL usa el host de EE. UU. Si tu clave empieza con bk_eu1_, llama a https://eu1.platform.bird.com en su lugar. El SDK lee la región de tu clave y selecciona el host. La pestaña TypeScript requiere npm install @messagebird/sdk.
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const msg = await bird.email.send({
  from: { email: "onboarding@messagebird.dev", name: "Bird" },
  to: ["delivered@messagebird.dev"],
  subject: "Hello from Bird",
  html: "<p>My first Bird email.</p>",
});

console.log(msg.id, msg.status);
Para los pasos completos de instalación y ejecución en cada lenguaje o framework, usa los quickstarts de SDK.

3. Consulta el resultado

La API responde con 202: Bird ha aceptado el envío para procesamiento asíncrono. Consulta el estado de entrega por separado. Los campos *_count rastrean a los destinatarios a través de los estados de entrega. En la respuesta inicial, un destinatario está aceptado y ninguno está entregado.
Ejemplo de código
{
  "id": "em_01ky7ma8y2es1s2akzk53tmjn0",
  "status": "accepted",
  "category": "marketing",
  "from": { "email": "onboarding@messagebird.dev" },
  "to": [{ "email": "delivered@messagebird.dev" }],
  "subject": "Hello from Bird",
  "accepted_count": 1,
  "processed_count": 0,
  "delivered_count": 0,
  "deferred_count": 0,
  "bounced_count": 0,
  "complained_count": 0,
  "rejected_count": 0,
  "open_count": 0,
  "click_count": 0,
  "track_opens": true,
  "track_clicks": true,
  "created_at": "2026-07-23T13:58:20.866Z"
}
Consulta el mensaje por su ID de em_ para ver su estado actual. Un mensaje pasa de accepted a processed y luego a delivered. Haz polling hasta que el mensaje de sandbox alcance delivered:
const msg = await bird.email.get("em_abc123");
msg.status; // "accepted" | "processed" | "delivered" | "bounced" | …
msg.delivered_count;
msg.bounced_count;
En la pestaña cURL, reemplaza {region} y {message_id}, y usa $BIRD_API_KEY en lugar de $TOKEN.
La lectura ahora muestra status: "delivered", delivered_count: 1 y una marca de tiempo delivered_at. Consulta la guía de eventos para saber qué establece delivered para un destinatario real.
Como enviaste a delivered@messagebird.dev, el resultado está garantizado: el mensaje pasa por el pipeline de entrega real de Bird, incluidos los formatos de eventos y webhooks de producción, pero nunca llega a un buzón real. Para probar un rebote, envía a bounce@messagebird.dev. La guía del sandbox de pruebas lista todas las direcciones de sandbox y su resultado simulado.

Sobre el dominio de onboarding

El remitente compartido onboarding@messagebird.dev está disponible para onboarding y tiene estos límites:
  • Aparte de las direcciones de sandbox @messagebird.dev, solo entrega a miembros verificados de tu espacio de trabajo; cualquier otro destinatario se rechaza con un 422.
  • Los envíos están limitados a 50 destinatarios por organización por día UTC, contando cada dirección to, cc y bcc, incluidos los destinatarios de sandbox. Superado el límite, la API devuelve un 429.
Cuando estés listo para enviar correos a clientes reales, verifica tu propio dominio de envío y pon tu propia dirección en from; todo lo demás en la solicitud queda igual.

Próximos pasos