Bird vs Bandwidth

Bird vs Bandwidth para SMS

Bird é a plataforma de SMS que um agente de IA pode operar de ponta a ponta: enviar a mensagem, confirmar a entrega, registar a sua marca 10DLC. Cada uma dessas ações é uma ferramenta no servidor MCP alojado da Bird, pronta no momento em que o seu agente se liga. A Bandwidth divide o canal em dois: o envio vive num host e o registo 10DLC noutro, cada um com o seu próprio caminho de conta. Aqui, envio, registo e eventos de entrega ficam sob um único host e uma única chave.

Em números

Bird

Alcance SMS

190+ countries

Rotas de operadoras

240 ligações diretas

Velocidade de entrega

95% em menos de 2,5 segundos

No que a Bandwidth é excelente.
No que a Bird é diferente.

No que a Bandwidth é excelente

They are the carrier. Bandwidth is a licensed US carrier (CLEC) that owns and operates its own 48-state network, with emergency services beside it, which is why their own hero names Voice, Messaging and Emergency together.

Bibliotecas auxiliares em mais linguagens. SDKs oficiais para Java, Node.js, Python, PHP, C# e Ruby. Uma equipa Java ou Ruby trabalha diretamente com a API HTTP da Bird.

No que a Bird é diferente

Um agente opera a própria conta. O servidor MCP alojado em mcp.bird.com dá ao agente ferramentas que enviam SMS, consultam o estado de entrega e registam marcas 10DLC no seu workspace real.

Uma retentativa que não envia duas vezes. Um cabeçalho Idempotency-Key no envio torna a repetição segura; a especificação OpenAPI de mensagens da Bandwidth não contém nenhum campo ou cabeçalho de idempotência.

A intenção da mensagem é um campo de primeira classe. Cada envio de texto livre inclui uma categoria — transacional, marketing, autenticação ou serviço — para a qual o envio da Bandwidth não tem equivalente.

A matriz

Capacidade a capacidade.

A Bandwidth disponibiliza bibliotecas auxiliares em mais linguagens. A Bird ganha com um único host para todo o canal, retentativas seguras, intenção da mensagem e uma superfície de agente acessível a qualquer cliente MCP. As duas coincidem na estrutura do envio, no registo 10DLC e nos eventos de entrega. Ambas as leituras são precisas à data de hoje.

CapabilityBirdBandwidthWho wins?
Pedido de envioJSON para /v1/sms/messages no seu host regional, com uma chave API bearer.JSON para um endpoint de mensagens sob o caminho da sua conta no host de mensagens deles, com from, to e text, autenticado via HTTP Basic e com um applicationId.
Retentativas segurasUm cabeçalho Idempotency-Key no envio torna a retentativa segura.A especificação OpenAPI de mensagens deles, versão 4.3.0, não contém nenhum campo ou cabeçalho de idempotência, pelo que uma retentativa após um timeout pode enviar a mensagem duas vezes.
Intenção da mensagemCada envio de texto livre inclui uma categoria: transacional, marketing, autenticação ou serviço.tag inclui um rótulo de formato livre e priority define a prioridade de entrega, mas nenhum dos dois declara a razão pela qual a mensagem está a ser enviada.
Servidor MCP alojadoTraga o seu próprio agente. mcp.bird.com é alojado, por isso Claude Code, Cursor, ChatGPT ou o seu próprio runtime autentica-se uma vez e opera o workspace com as mesmas ferramentas.A Bandwidth publica um servidor MCP e as suas ferramentas operam de facto a conta. Trata-se de um pacote que descarrega e executa localmente, pelo que o cliente tem de o iniciar como um processo local e este obtém as suas credenciais de produção a partir de uma configuração local.
Registo A2P 10DLC/v1/sms/10dlc/* regista marcas e campanhas através da API.A API de gestão de campanhas deles regista marcas e campanhas, com verificação de marca e importação de campanhas, como parceiro direto do Campaign Registry.
Um único host para todo o canalEnvio, registo 10DLC e eventos de entrega partilham um URL base e uma chave.O envio está no host de mensagens e o registo no host principal da API, cada um com o seu próprio caminho de conta — o cliente precisa de manter duas raízes.
Eventos de entregaUm webhook de workspace subscrito aos tipos de evento SMS que indicar, como sms.sent, sms.delivered e sms.failed, entregues como JSON assinado conforme o Standard Webhooks.Os callbacks são configurados na Application que a mensagem indica, e não por envio.
Linguagens dos SDKsSDKs tipados para TypeScript, Python, Go e PHP, além de clientes Realtime para Swift, Kotlin e browser.SDKs oficiais para Java, Node.js, Python, PHP, C# e Ruby.

O mesmo envio

A chamada de envio tem uma forma semelhante.

Enviar um SMS. Ambos aceitam JSON com from, to e text, mas a Bandwidth autentica via HTTP Basic e o envio indica um applicationId que contém a configuração de callback. O helper deles lança exceção, por isso o fluxo comum precisa de um try/catch. Bird devolve um resultado tipado que pode desestruturar, e category é o campo sem equivalente na Bandwidth: cada envio de texto livre no Bird declara a sua intenção.

Bandwidth

send.ts
import { Configuration, MessagesApi } from "bandwidth-sdk";

const config = new Configuration({
  clientId:     process.env.BW_CLIENT_ID!,
  clientSecret: process.env.BW_CLIENT_SECRET!,
});
const messagesApi = new MessagesApi(config);

try {
  const response = await messagesApi.createMessage(process.env.BW_ACCOUNT_ID!, {
    applicationId: process.env.BW_APPLICATION_ID!,
    from: "+15557654321",
    to:   ["+15551234567"],
    text: "Your table is ready.",
  });
  console.log(response.data);
} catch (err) {
  console.error(err);
}

Bird

send.ts
import { BirdClient } from "@messagebird/sdk";

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

const { data, error } = await bird.sms
  .send({
    from:     "+15557654321",
    to:       "+15551234567",
    text:     "Your table is ready.",
    category: "transactional",
  })
  .safe();

if (error) console.error(error.message);
else console.log(data.id, data.status);

Quanto custa o SMS por país?

Cada país de destino tem uma tarifa publicada na página de preços de SMS, e as taxas de operadora e 10DLC são discriminadas separadamente em taxas de operadora de SMS em vez de incluídas no valor. Pode calcular o custo de uma campanha antes de falar com alguém.

Custo de migração

Baixo.

Os nomes dos campos mantêm-se. A Bandwidth já os chama from, to e text, e a Application que contém os seus callbacks passa a ser um webhook de workspace subscrito a sms.sent, sms.delivered e sms.failed. Duas coisas mudam de forma: uma chave bearer substitui o HTTP Basic e um host substitui dois.

Dois itens são de agendamento, não de engenharia. A sua marca e campanha 10DLC estão registadas no The Campaign Registry através da Bandwidth, por isso o mesmo registo é submetido novamente através do Bird; e os números que possui na Bandwidth são portados segundo o calendário do suporte. Comece ambos cedo e decorrem em paralelo com a alteração de código.

Perguntas que as pessoas realmente fazem

Bird é uma boa alternativa à Bandwidth para SMS?
For most application-to-person SMS, yes: Bird sends to 190+ countries over 240 direct-to-carrier connections, registers 10DLC brands and campaigns over the same API and key as the send, and makes retries safe with an Idempotency-Key header that their messaging specification does not contain. Bandwidth remains the better pick where you want a helper library in a language Bird does not ship, or where you need a licensed carrier that also runs emergency services.
Quão diferente é a chamada de envio?
Os campos mantêm-se e a forma não. Ambos aceitam JSON, e from, to e text chamam-se assim nos dois lados, mas a Bandwidth autentica via HTTP Basic e separa o envio do registo em dois hosts. As duas adições reais do lado do Bird são category, que declara se a mensagem é transacional, marketing, autenticação ou serviço, e o cabeçalho Idempotency-Key que torna um retry seguro.
O que é que o agente pode realmente fazer na minha conta?
Exatamente o que lhe delegar, e nada mais. Ao iniciar sessão via browser OAuth, surge um ecrã de consentimento do Bird onde escolhe permissões de workspace ou organização e seleciona quais delegar. A concessão é limitada à interseção do que o cliente pediu, do que aprovou e do que realmente detém, e os escopos org:owner e platform-admin nunca são delegáveis. A concessão aparece nas Aplicações ligadas do seu perfil, e revogá-la aí corta imediatamente o acesso ao cliente.
Bird e Bandwidth suportam ambos o registo A2P 10DLC através de uma API?
Ambos suportam, e é aqui que diferem na forma e não na capacidade. A Bandwidth regista marcas e campanhas através da sua API de gestão de campanhas no host principal da API, enquanto o envio vive num host de mensagens separado. Bird coloca /v1/sms/10dlc/* ao lado de /v1/sms/messages sob um único URL base e uma única chave. Em ambos os casos, o registo vai para o The Campaign Registry e não é transferível entre fornecedores.
Quanto custa o SMS do Bird por país?
Cada país de destino tem uma tarifa de envio publicada na página de preços de SMS do Bird, com taxas de operadora e 10DLC discriminadas separadamente em vez de incluídas no valor, para que possa calcular o custo de uma campanha sem precisar de uma chamada comercial.

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