Bird Products

Nove superfícies. Uma plataforma. Mesmo formato.

Email, SMS, Voice, WhatsApp, Verify, Lookup, RCS, Push e Realtime — cada um uma API de primeira classe. Mesma autenticação, mesma idempotência, mesmos webhooks, mesmo envelope de erro. Aprenda um, aprendeu todos.

Configure em:
Cursor

Todos os produtos. Nove superfícies, um SDK.

01POST /v1/emails

Email. A API de email para desenvolvedores que também enviam o resto da mensagem.

welcome.tsx
await bird.email.send({
  to: ["alex@example.com"],
  subject: "Welcome to Bird",
  html: "<p>You're in. Let's ship.</p>",
});
02POST /v1/sms

SMS. A API de SMS para desenvolvedores que precisam mesmo de entregar.

notify.ts
await bird.sms.send({
  to: "+15005550006",
  text: "Your code is 847291. Expires in 10 min.",
});
SMS está a ser atualizado
03POST /v1/voice/calls

Voice. Voz programável em JSON. Chamadas, IVR, gravação, TTS.

dial.ts
await bird.voice.calls.create({
  to: "+15005550010",
  from: "+14155550199",
  flow: [
    { say: "Your order is confirmed." },
  ],
});
Voice está a ser atualizado
04POST /v1/whatsapp/messages

WhatsApp. A API do WhatsApp Business, sem a burocracia do BSP.

message.ts
await bird.whatsapp.send({
  to: "+15005550006",
  type: "text",
  text: { body: "Order confirmed! 🎉" },
});
WhatsApp está a ser atualizado
05POST /v1/verify/verifications

Verify. A API de OTP para desenvolvedores que precisam que os códigos cheguem.

verify.ts
await bird.verify.verifications.create({
  to: { phone_number: "+15005550006" },
});
// check by target — no id to store
await bird.verify.verifications.check({
  to: { phone_number: "+15005550006" }, code: userCode,
});
Em pré-visualização
06GET /v1/lookup

Lookup. Inteligência de números de telefone: tipo de linha, operadora, sinais de fraude.

lookup.ts
const { lineType, carrier, fraud } =
  await bird.lookup.get("+15005550006");
Lookup está a ser atualizado
07POST /v1/rcs

RCS. RCS Business Messaging — o irmão mais bonito do SMS.

rich.ts
await bird.rcs.send({
  to: "+15005550006",
  text: "Your order shipped! 📦",
  suggestions: [
    { type: "openUrl", text: "Track it", url },
  ],
});
RCS está a ser atualizado
08POST /v1/push

Push. Notificações push para iOS, Android e web.

push.ts
await bird.push.send({
  to: { deviceToken },
  notification: {
    title: "Order shipped!",
    body: "Your package is on its way.",
  },
});
Push está a ser atualizado
09POST /v1/realtime/publish

Realtime. Pub/sub hospedado via WebSocket. Subscreva, publique, escale.

realtime.ts
await bird.realtime.publish({
  channel: "orders",
  event: "order.shipped",
  data: { orderId, status: "shipped" },
});
Realtime está a ser atualizado

Todos os produtos acima partilham um modelo de autenticação, um contrato de idempotência, um envelope de erros, um contrato de webhooks e um esquema de paginação por cursor. Aprenda um, aprendeu todos.

/ Auth

/ Idempotency

/ Errors

/ Webhooks

/ Pagination

/ Typed IDs

Veja os endpoints da API

Comece com um canal.
Adicione os outros quando estiver pronto.

Uma chave API de teste é sua imediatamente. A produção é desbloqueada quando você adiciona um método de pagamento e verifica um remetente.

Usa Claude Code, Cursor ou Codex? Copie um prompt de configuração e o seu agente instala o Bird CLI e as skills por si. Escolha o seu:

Cursor