Bird vs Infobip

Bird vs Infobip para SMS

O envio do Infobip é moldado para o caso de envio em massa, e você paga essa estrutura em cada mensagem: um SMS para uma pessoa ainda vai como um array de mensagens, cada um contendo um array de destinatários, com o texto da mensagem dois níveis abaixo em content.text. Bird usa from, to e text.

Em números

Bird

Alcance SMS

190+ countries

Rotas de operadoras

240 conexões diretas

Velocidade de entrega

95% em menos de 2,5 segundos

No que o Infobip é excelente.
No que a Bird é diferente.

No que o Infobip é excelente

Uma superfície de agente tão acessível quanto a nossa. O Infobip opera quinze servidores MCP remotos via HTTP, autenticados por uma chave de API ou OAuth 2.1 com descoberta de escopo. Dividi-los por produto mantém a lista de ferramentas de cada servidor curta, o que genuinamente ajuda um agente a escolher a ferramenta certa.

Java e C#, para os quais a Bird não oferece um SDK de servidor. Os cinco clientes de API mantidos são Java, C#, PHP, Go e Python. Uma equipa de Java ou .NET é melhor atendida lá e programa contra a API HTTP da Bird.

Relatórios de entrega que você ajusta por mensagem. Cada mensagem indica o seu próprio webhook, escolhe JSON ou XML, e pode anexar até 4000 caracteres de dados de callback que retornam no relatório.

No que a Bird é diferente

Um SDK tipado na linguagem em que a maior parte da web é escrita. A Bird oferece um SDK TypeScript próprio. O cliente Node do Infobip está numa organização comunitária separada, ainda na versão 0.3.2, com última publicação em novembro de 2023.

Uma retentativa que não pode enviar duas vezes. Um cabeçalho Idempotency-Key no envio torna a repetição segura. Os clientes de API gerados pelo Infobip não possuem chave de idempotência em nenhum endpoint.

A intenção da mensagem é um campo de primeira classe. Cada envio de texto livre carrega uma categoria de transacional, marketing, autenticação ou serviço, para a qual as opções de mensagem do Infobip não têm equivalente.

A matriz

Capacidade por capacidade.

Esta é a comparação mais equilibrada do conjunto. O Infobip iguala a Bird na superfície de agente, num único host para todo o canal, no registo de 10DLC via API e nos eventos de entrega, além de oferecer bibliotecas cliente em duas linguagens que a Bird não cobre. A Bird vence em retentativas seguras, intenção da mensagem e um SDK mantido em TypeScript. Ambas as leituras são precisas hoje.

CapabilityBirdInfobipWho wins?
Pedido de envioJSON para /v1/sms/messages no seu host regional, com uma chave de API bearer.JSON para um endpoint de mensagens versionado no host da API, autenticado com uma chave App. O payload é pensado para envio em massa: um array de mensagens, cada uma com um array de destinatários, e o texto dentro de content.
Retentativas segurasUm cabeçalho Idempotency-Key no envio torna a retentativa segura.Os clientes de API gerados, construídos a partir da própria especificação, não possuem chave ou cabeçalho de idempotência em nenhum endpoint, portanto uma retentativa após um timeout pode enviar duas vezes.
Intenção da mensagemCada envio de texto livre carrega uma categoria de transacional, marketing, autenticação ou serviço.As opções de mensagem cobrem período de validade, janela de entrega, flash e configurações regionais, mas nenhuma declara um propósito. campaignReferenceId é parecido o suficiente para ser confundido com um numa lista de campos, mas o Infobip define-o como um ID para acompanhar o desempenho de uma campanha.
Servidor MCP hospedadoUm servidor hospedado em mcp.bird.com. Claude Code, Cursor, ChatGPT ou o seu próprio runtime autentica-se uma vez e opera todo o workspace com as mesmas ferramentas.Quinze servidores remotos via HTTP, divididos por produto, autenticados por uma chave de API ou OAuth 2.1 com descoberta de escopo. Alcançar SMS, registo e gestão de conta significa conectar três deles, e a lista de ferramentas de cada servidor permanece curta.
Registo A2P 10DLC/v1/sms/10dlc/* regista marcas e campanhas através da API.Marcas e campanhas são registadas através da API de registo de números ou de um portal guiado, com uma revisão de conformidade antes da submissão ao The Campaign Registry.
Um único host para todo o canalEnvio, registo 10DLC e eventos de entrega partilham um URL base e uma chave.Um URL base personalizado por conta serve todos os produtos. O envio e o registo de números são ambos caminhos sob ele, e o próprio cliente de API não define overrides de host por operação.
Eventos de entregaUm webhook de workspace subscrito aos tipos de evento SMS que indicar, como sms.sent, sms.delivered e sms.failed, entregue como JSON assinado conforme Standard Webhooks.Cada mensagem nomeia o seu próprio webhook, escolhe JSON ou XML, e pode anexar até 4000 caracteres de dados de callback que regressam no relatório. Os relatórios também podem ser consultados.
Linguagens de SDKSDKs tipados para TypeScript, Python, Go e PHP, além de clientes Realtime para Swift, Kotlin e browser.Cinco clientes de API mantidos: Java, C#, PHP, Go e Python. O cliente Node está numa organização comunitária separada, na versão 0.3.2, lançado pela última vez em novembro de 2023.

O mesmo envio

Uma mensagem, três níveis de profundidade.

Enviar um SMS. O painel da Infobip usa fetch simples em vez do SDK deles, porque os cinco clientes mantidos são Java, C#, PHP, Go e Python: um codebase TypeScript escreve este pedido manualmente. Bird devolve um resultado tipado que pode ser desestruturado, e category é o campo sem equivalente na Infobip.

Infobip

send.ts
const response = await fetch("https://api.infobip.com/sms/3/messages", {
  method: "POST",
  headers: {
    Authorization: `App ${process.env.INFOBIP_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    messages: [
      {
        sender: "+15557654321",
        destinations: [{ to: "+15551234567" }],
        content: { text: "Your table is ready." },
      },
    ],
  }),
});

const { messages } = await response.json();
console.log(messages[0].messageId, messages[0].status.name);

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 SMS em vez de incluídas no preço. Pode calcular o custo de uma campanha antes de falar com alguém.

Custo de migração

Baixo.

Os campos transferem-se assim que os aplanar. sender passa a from, o array destinations colapsa num único to, e content.text passa a text. O webhook por mensagem torna-se um webhook de workspace subscrito a sms.sent, sms.delivered e sms.failed, e callbackData tem lugar nos metadata de Bird.

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

Perguntas que as pessoas realmente fazem

Bird é uma boa alternativa à Infobip para SMS?
It depends more here than on most of these pages. Bird sends to 190+ countries over 240 direct-to-carrier connections, takes a flat send, makes retries safe with an Idempotency-Key header their clients have no counterpart for, and ships a maintained TypeScript SDK. Infobip matches Bird on the agent surface and on registering 10DLC over an API, and is the better pick if you write Java or C#, if you want per-message control of delivery reports, or if you are buying voice, email and RCS from the same vendor.
Quão diferente é a chamada de envio?
A estrutura difere mais do que os nomes dos campos. O payload da Infobip é pensado para o caso em massa: um array de mensagens, cada uma com um array de destinos, e o texto da mensagem aninhado sob content. Bird usa from, to e text no nível superior. As duas adições reais do lado de Bird são category, que declara se uma mensagem é transacional, marketing, autenticação ou serviço, e o cabeçalho Idempotency-Key que torna um reenvio seguro.
A Infobip tem um servidor MCP?
Sim, e esta é uma linha que Bird não ganha. A Infobip opera quinze servidores MCP remotos via HTTP, um por produto, autenticados por chave de API ou OAuth 2.1 com descoberta de scope. Não é necessário instalar nada, exatamente como com os de Bird. A diferença está na estrutura e não no alcance: Bird opera um servidor para todo o workspace, pelo que um agente liga-se uma vez, enquanto a divisão da Infobip mantém a lista de ferramentas de cada servidor curta, o que ajuda o agente a escolher a ferramenta certa. A preferência depende de querer configurar uma ligação ou várias.
A Infobip disponibiliza um SDK para Node ou TypeScript?
Não entre os cinco que mantêm, que são Java, C#, PHP, Go e Python. Um cliente Node existe, publicado como @infobip-api/sdk a partir de uma organização comunitária separada, e ainda está na versão 0.3.2 com o último lançamento em novembro de 2023. Um codebase TypeScript pode chamar a API diretamente, que é o que o exemplo de código acima faz.
O que pode o agente realmente fazer na minha conta?
Exatamente o que delegar, e nada mais. Iniciar sessão via OAuth no browser abre um ecrã de consentimento de 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 possui, e os scopes 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.
Quanto custa o SMS de Bird por país?
Cada país de destino tem uma tarifa de envio publicada na página de preços de SMS de Bird, com taxas de operadora e 10DLC discriminadas separadamente em vez de incluídas, 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