Audiências e contatos

Listas limpas, integradas.

Configure em:

Armazene seus contatos uma única vez, únicos por email, e agrupe-os em audiences que você segmenta a partir de um broadcast. Um registro de propriedades tipado mantém seus dados limpos, e um upsert em lote de 1.000 linhas insere uma lista rapidamente.

welcome.tsx
200 · 1.2s
import { BirdClient } from "@messagebird/sdk";
import { render } from "@react-email/render";
import { WelcomeEmail } from "./emails/welcome";

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

const { data, error } = await bird.email.send({
  from:    "Bird <hello@bird.com>",
  to:      ["ada@example.com"],
  subject: "Your invite is ready",
  html:    await render(<WelcomeEmail name="Ada" />),
}).safe();

if (error) throw error;
console.log(data.id);
// → "em_2bX91Yk8h..."

Um registro de contato. Atributos que não se desviam.

As audiences fazem parte da Bird Email API: um contato é único por email e compartilhado entre suas audiences, uma audience é apenas um conjunto desses contatos, e os atributos sempre vivem no contato, em vez de serem copiados para cada lista. O registro de propriedades significa que um campo com erro de digitação é rejeitado no momento da escrita, não descoberto durante uma campanha.

Cinco coisas que mantêm os seus dados limpos.

O modelo de dados faz a contabilidade, então suas listas não apodrecem.

  1. 01

    Um registro por pessoa.

    Um contato por email, com nome e sobrenome, um ID externo e seus próprios dados personalizados.

  2. 02

    Audiências são participação.

    Uma audience é um conjunto de contatos que você adiciona e remove livremente. Os atributos sempre vivem no contato, nunca copiados para a lista.

  3. 03

    Registro de propriedades tipadas.

    Defina seus campos personalizados antecipadamente: string, number ou boolean, com fallbacks opcionais. Chaves desconhecidas e valores com tipo errado são rejeitados no momento da escrita.

  4. 04

    Upsert em lote de até 1.000.

    Faça upsert de até 1.000 contatos em uma única chamada e associe-os a uma audience na mesma requisição.

  5. 05

    Busca por correspondência exata.

    Encontre um contato por correspondência exata de email, para que seus próprios sistemas possam sincronizar sem varrer todos os registros.

Insira uma lista inteira com uma única chamada.

O upsert é idempotente por email, então re-executar uma importação atualiza em vez de duplicar. Adicione até 1.000 contatos e associe-os a uma audience na mesma requisição, sem passo de associação separado e sem passagem de de-dupe depois. Listas maiores entram em lotes de 1.000. Cada chamada é independente, então uma importação interrompida é segura para retomar de onde parou.

import.ts
202
// Upsert up to 1,000 contacts and add them to an audience at once.
await bird.email.contacts.batchUpsert({
  audienceId: "aud_2bX91Yk8h",
  contacts: [
    { email: "ada@example.com",   firstName: "Ada",   data: { plan: "growth" } },
    { email: "grace@example.com", firstName: "Grace", data: { plan: "free" } },
  ],
});

Campos que não podem se desviar.

Os dados personalizados de contato passam por um registro tipado. Declare cada campo uma vez como string, number ou boolean, com um fallback opcional, e uma chave com erro de digitação ou um valor com tipo errado é rejeitado no momento em que você o escreve, não descoberto no meio de uma campanha. Como os atributos vivem no contato, não na lista, mover alguém entre audiences nunca deixa uma cópia obsoleta para trás.

Funciona com o resto do Email.

Segmente as audiências que você constrói aqui a partir de um broadcast, e os mesmos contatos recebem email transacional através da send API.

Perguntas frequentes sobre audiências e contatos

Os contatos são por audiência ou globais?+
Global. Um contato é único por email, e as audiences apenas o referenciam. Mova um contato entre audiences e seus atributos o acompanham, porque vivem no contato, não na lista.
O que é o registro de propriedades?+
Um schema fechado e tipado para os seus campos de contato personalizados. Você declara o tipo de cada campo (string, number ou boolean) com um fallback opcional antecipadamente; chaves desconhecidas ou valores de tipo incorreto são rejeitados quando você os escreve, para que os seus dados permaneçam limpos.
Como importo uma lista?+
Faça batch-upsert de até 1.000 contatos em uma chamada e associe-os a uma audience na mesma requisição, sem passo de adição separado. O upsert é idempotente por email, então re-executar uma importação atualiza em vez de duplicar.
Como as audiências se relacionam com os broadcasts?+
Um broadcast segmenta uma única audiência. Construa e mantenha a audiência aqui; referencie-a por ID quando enviar.

Cerca de 40% de todo o email comercial do mundo já roda na Bird.

Email transacional e de marketing em infraestrutura que operamos há uma década. As audiences são uma das capacidades da Bird Email API: envio, broadcasts, deliverability, supressão e analytics vêm junto.

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: