Bird vs Twilio

Bird vs Twilio pour WhatsApp

Les deux sont des Meta Business Solution Providers, donc les messages atteignent WhatsApp de la même manière et il n'y a pas de débat sur l'opérateur. La différence réside dans l'interface : Twilio place WhatsApp derrière un préfixe sur la Messages API que vous utilisez déjà, tandis que Bird lui consacre une API propre.

Ce que Twilio fait bien.
Ce qui différencie Bird.

Ce que Twilio fait bien

Une seule API pour les deux canaux. Un préfixe whatsapp: sur To et From envoie du WhatsApp via la même Messages API que le SMS, et le webhook entrant conserve la structure que votre handler SMS sait déjà parser. Si vous êtes sur Twilio pour le SMS, ajouter WhatsApp est un préfixe, pas une intégration.

Quinze ans de réponses. La Messages API est l'endpoint le plus documenté de cette catégorie : presque toutes les questions ont déjà une réponse publique, et les bibliothèques d'aide existent dans plus de langages que Bird n'en propose.

Des templates de contenu avec un éditeur. Les templates sont créés dans le Content Template Builder et référencés par ID à l'envoi, permettant à un non-développeur de rédiger et modifier le message vu par le client sans toucher à l'intégration.

Ce qui différencie Bird

Un agent gère tout le canal, pas seulement l'envoi. Le serveur MCP hébergé de Bird propose 43 opérations WhatsApp sur un vrai workspace : envoyer un message, créer un template et le soumettre à Meta pour approbation, gérer ses versions et langues, enregistrer un numéro et configurer son profil, et consulter les statistiques.

Un retry qui ne peut pas envoyer en double. Un header Idempotency-Key sur l'envoi sécurise la répétition. La Messages API de Twilio n'annonce aucun header d'idempotence, et un message WhatsApp en double coûte une conversation ainsi que la patience du client.

Un seul body, tous les types de contenu. La requête d'envoi prend en charge texte, template, image, vidéo, audio, sticker, document, localisation, cartes interactives ou de contact en tant que champs sur un seul endpoint : ajouter un type de contenu revient à ajouter un champ, pas un nouvel appel.

La matrice

Fonctionnalité par fonctionnalité.

Les deux sont des Meta BSPs, donc la délivrabilité n'est pas le critère. Twilio l'emporte sur la symétrie des canaux et sur la taille de sa base de réponses publiques. Bird l'emporte sur les retries sécurisés, sur un seul body pour tous les types de contenu, et sur l'étendue du canal qu'un agent peut opérer. Lisez la ligne requête d'envoi en regard de la page SMS : la même architecture qui rend le WhatsApp de Twilio facile à adopter est celle qui rend sa requête form-encoded.

CapabilityBirdTwilioWho wins?
Requête d'envoiJSON vers /v1/whatsapp/messages sur votre hôte régional avec une clé API bearer. WhatsApp a son propre endpoint au lieu de partager celui du SMS.Form-encoded en PascalCase vers le même Messages.json utilisé pour le SMS, avec un Account SID et un auth token via HTTP Basic. WhatsApp est sélectionné par un préfixe whatsapp: sur To et From.
Retries sécurisésUn header Idempotency-Key sur l'envoi sécurise le retry.La Messages API n'annonce aucun header d'idempotence, donc un retry après un timeout peut envoyer le message deux fois.
Types de contenuUn seul body d'envoi permet de sélectionner texte, template, image, vidéo, audio, sticker, document, localisation, cartes interactives ou de contact.Le même appel Messages create transporte un body et des URL de médias, le contenu enrichi étant géré via un content template référencé par ID.
Création et approbation de templatesLes templates sont créés, versionnés par langue et soumis à Meta pour approbation via l'API, et chacune de ces étapes est aussi un outil sur le serveur MCP.Les templates sont créés dans le Content Template Builder et référencés par ID à l'envoi, la console étant l'interface principale.
Surface agent43 opérations WhatsApp sur le serveur hébergé à mcp.bird.com, couvrant l'envoi, le cycle de vie des templates, l'enregistrement et le profil des numéros, et les statistiques.mcp.twilio.com/docs ne nécessite aucun compte et, selon les termes de Twilio, indexe uniquement les spécifications publiques de l'API : il aide un agent à écrire du code Twilio plutôt qu'à opérer un compte.
Événements entrants et de livraisonUn webhook de workspace abonné aux types d'événements WhatsApp que vous spécifiez, tels que whatsapp.delivered, whatsapp.read et whatsapp.received, délivrés en JSON signés selon Standard Webhooks.Un webhook au même format que le SMS entrant, avec To et From définis sur des adresses WhatsApp et les médias sur des champs MediaUrl numérotés.
Groupes WhatsApp natifsGroupes natifs via l'API : les créer et les lister, gérer les participants et les messages épinglés, approuver les demandes d'adhésion et renouveler le lien d'invitation. Les envois adressent un group id et sont facturés et limités comme des envois de groupe. Ce n'est pas encore dans la référence publique de l'API ni dans les SDK, et ce n'est pas l'un des outils agent.Leur Conversations API gère un chat WhatsApp multi-participants jusqu'à 50 personnes, documenté et utilisable dès maintenant — leur propre exemple décrit un fonctionnement via un expéditeur WhatsApp plutôt qu'un groupe WhatsApp natif. La documentation Programmable Messaging WhatsApp couvre le one-to-one.
Les deux canaux derrière une seule intégrationSMS et WhatsApp sont des endpoints distincts sous la même URL de base et la même clé, le client est donc partagé mais les points d'appel ne le sont pas.Un seul endpoint envoie les deux, de sorte qu'une intégration SMS existante ajoute WhatsApp en changeant le préfixe d'adresse.

Le même message

Envoi d'un template WhatsApp.

Le préfixe est la différence architecturale en une ligne : Twilio adresse WhatsApp à l'intérieur de l'API SMS, Bird lui donne son propre endpoint. L'envoi Bird accepte aussi un Idempotency-Key, ce qui compte davantage sur WhatsApp que sur SMS, car un doublon ouvre une seconde conversation facturée.

Twilio

whatsapp.ts
import twilio from "twilio";

const client = twilio(process.env.TWILIO_ACCOUNT_SID!, process.env.TWILIO_AUTH_TOKEN!);

try {
  const message = await client.messages.create({
    from:            "whatsapp:+15557654321",
    to:              "whatsapp:+15551234567",
    contentSid:      "HXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    contentVariables: JSON.stringify({ 1: "ord_8f21" }),
  });
  console.log(message.sid, message.status);
} catch (err) {
  console.error(err);
}

Bird

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

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

const orderId = "ord_8f21";

const { data, error } = await bird.whatsapp
  .send(
    {
      from:     "+13124495648",
      to:       "+15551234567",
      template: {
        slug:       "order_shipped",
        language:   "en_US",
        components: [{ type: "body", parameters: [{ type: "text", text: orderId }] }],
      },
    },
    { idempotencyKey: orderId },
  )
  .safe();

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

Coût de migration

Modéré.

L'envoi est une réécriture plutôt qu'un renommage, car les structures diffèrent réellement : du form-encoded PascalCase avec un préfixe whatsapp: devient du JSON vers un endpoint WhatsApp, et un template de contenu référencé par ID devient un objet template dans le corps de la requête. Votre handler entrant change aussi, du webhook au format SMS à un abonnement workspace sur les types d'événements WhatsApp.

L'élément de planification relève de Meta plutôt que de l'un ou l'autre fournisseur. Un numéro WhatsApp est enregistré auprès d'un compte business et vos templates sont approuvés par Meta : prévoyez donc un délai d'approbation des deux côtés de la migration et maintenez l'ancien chemin actif jusqu'à la validation des nouveaux templates.

Questions que les gens posent vraiment

Bird est-il une bonne alternative à Twilio pour WhatsApp ?
Les deux sont Meta Business Solution Providers, les messages arrivent donc de la même façon et la question porte sur la surface plutôt que sur la livraison. Bird est le meilleur choix si vous voulez gérer le cycle de vie des templates et l'enregistrement des numéros via une API qu'un agent peut piloter, avec un envoi qu'on peut réessayer en toute sécurité. Twilio est le meilleur choix si vous utilisez déjà son Messages API pour le SMS et appréciez une seule intégration couvrant les deux canaux, ou si vous avez besoin d'une bibliothèque helper dans un langage que Bird ne propose pas.
Passer à Bird signifie-t-il faire réapprouver mes templates ?
Oui, et c'est une règle de Meta, pas de l'un ou l'autre fournisseur. Les templates sont approuvés pour le WhatsApp Business Account auquel ils sont rattachés : changer de fournisseur implique de les soumettre à nouveau et d'attendre Meta. Bird vous permet de gérer la rédaction, le versionnage par langue et la soumission via l'API, ce qui rend la resoumission scriptable plutôt que manuelle.
Que peut réellement faire un agent IA avec Bird WhatsApp ?
43 opérations sur le serveur MCP hébergé sur mcp.bird.com, dans un vrai workspace : envoyer un message, créer un template et le soumettre à Meta, gérer les versions et les langues des templates, enregistrer un numéro et mettre à jour son profil, lister les comptes business, et consulter les statistiques de livraison et de réception. Les groupes font exception : disponibles via l'API mais absents des outils agent.
Puis-je continuer à envoyer SMS et WhatsApp en un seul appel ?
Pas avec Bird. Le préfixe whatsapp: de Twilio permet à un seul endpoint d'envoyer les deux, et c'est une vraie commodité que Bird n'offre pas : SMS et WhatsApp sont ici des endpoints séparés, sous la même URL de base et la même clé. Vous partagez un client et un identifiant, pas un point d'appel.

Commencez avec un seul canal.
Ajoutez les autres quand vous êtes prêt.

Une clé API de test est disponible immédiatement. L'accès production se débloque dès que vous ajoutez un moyen de paiement et vérifiez un expéditeur.

Vous utilisez Claude Code, Cursor ou Codex ? Copiez un prompt de configuration et votre agent installe la CLI Bird et les compétences pour vous. Choisissez le vôtre :

Cursor