Bird vs 360dialog

360dialog

Bird vs 360dialog para WhatsApp

360dialog es un proveedor exclusivo de WhatsApp y esta es la comparación donde ese enfoque se nota. Pasan el payload propio de Meta tal cual, publican sus precios y ejecutan su propio servidor MCP alojado. Bird es una plataforma donde WhatsApp es uno de varios canales, y un agente puede enviar por él.

En qué destaca 360dialog.
En qué se diferencia Bird.

En qué destaca 360dialog

El payload de Meta, sin cambios. Su cuerpo de envío es la estructura de mensaje de la Cloud API: messaging_product, recipient_type, to, type y el objeto del tipo correspondiente. Un equipo que ya tiene código de la Cloud API cambia el host y el encabezado de autenticación y conserva el payload, lo cual es la migración más corta en esta comparación y algo que Bird no puede ofrecer.

Una lista de precios publicada, autoservicio. Cada nivel es una tarifa mensual por número de WhatsApp con las tarifas de conversación de Meta pasadas por separado, y los niveles de partner también publican sus tarifas de plataforma y por canal. Puedes calcular el coste de un despliegue desde el sitio web sin hablar con nadie.

WhatsApp es toda la empresa. Sin email, sin SMS, sin voz, y una página de estado que separa sus propios componentes de los de Meta. Si WhatsApp es tu único canal y quieres un proveedor cuya hoja de ruta no pueda desviarse a otro lado, ese enfoque es el argumento, y es uno real.

En qué se diferencia Bird

Un agente que puede enviar el mensaje. Ambos ejecutan un servidor MCP alojado, y esta es la diferencia entre ellos: las herramientas de 360dialog gestionan plantillas, perfiles y webhooks, y su documentación describe cómo compone un cuerpo JSON de ejemplo para enviar a través de su Messaging API. Las 43 herramientas de WhatsApp de Bird incluyen el envío en sí y el registro de números.

Un reintento que no puede enviar dos veces. Un encabezado Idempotency-Key en el envío hace que la repetición sea segura. Su documentación de mensajes no menciona ninguna clave ni encabezado de idempotencia, y en WhatsApp un duplicado abre una segunda conversación facturable en lugar de simplemente repetirse.

Un SDK tipado en lugar del sobre de Meta. Pasar la estructura de la Cloud API tal cual significa heredar su ergonomía: messaging_product en cada solicitud, y el tipo de contenido repetido tanto en type como en el objeto junto a él. El envío de Bird es una llamada tipada cuyo cuerpo nombra el contenido directamente, en TypeScript, Python, Go o PHP.

La matriz

Capacidad por capacidad.

Ambos son BSP de Meta y ambos ejecutan un servidor MCP alojado, lo que hace de esta la comparación más reñida de la serie en el eje donde Bird suele ganar. Lee la fila del agente junto a las páginas de Twilio e Infobip: allí Bird gana por razones diferentes, y aquí todo depende de una cosa: si el agente puede enviar.

CapabilityBird360dialogWho wins?
Solicitud de envíoJSON a /v1/whatsapp/messages en tu host regional con una API key bearer, y el cuerpo nombra el tipo de contenido directamente.JSON a un endpoint de mensajes en su host WABA con un encabezado D360-API-KEY. El cuerpo es la estructura de la Cloud API de Meta: messaging_product, recipient_type, to, type y el objeto correspondiente.
360dialog
Reintentos segurosUn encabezado Idempotency-Key en el envío hace que el reintento sea seguro.Su documentación de mensajes no menciona ninguna clave ni encabezado de idempotencia, por lo que un reintento tras un timeout puede enviar dos veces.
Qué puede hacer un agente43 herramientas de WhatsApp en el servidor alojado en mcp.bird.com, incluido el envío en sí, el ciclo de vida de plantillas hasta el envío a Meta, registro y perfil de números, y estadísticas.Un servidor alojado en mcp.360dialog.com/mcp cuyas herramientas crean, previsualizar, listan y eliminan plantillas, establecen el nombre para mostrar y el perfil de un canal, configuran webhooks y consultan cuentas, canales, saldo y facturas. Su documentación describe cómo produce un cuerpo JSON de ejemplo para enviar a través de su Messaging API.
Cómo se comporta una herramienta restringidaUna herramienta que tu concesión no puede llamar permanece listada y está anotada con el alcance que necesita, y una denegación responde con un paso de elevación OAuth. Ocultarla se probó y se eliminó: hacía que un alcance faltante fuera indistinguible de una capacidad faltante, y los agentes sacaban la segunda conclusión.Los alcances se eligen en el momento de la autorización y denegar uno oculta las herramientas correspondientes, de modo que un agente nunca ve una herramienta que no puede llamar.
360dialog
Tipos de contenidoUn único cuerpo de envío selecciona texto, plantilla, imagen, vídeo, audio, sticker, documento, ubicación, interactivo o tarjetas de contacto.Un único endpoint de envío admite la lista completa de tipos de Meta: text, image, audio, video, document, sticker, location, contacts, interactive, template y reaction.
360dialog
SDK tipadosSDK tipados para TypeScript, Python, Go y PHP, generados a partir de la API.No aparecen SDK oficiales de lenguaje en su índice de documentación. Como el payload es el de Meta, un cliente existente de la Cloud API funciona contra su host.
Canales más allá de WhatsAppSMS, email, voz, Verify y Realtime están bajo la misma URL base y clave, así que un segundo canal es otro endpoint en lugar de otro proveedor.WhatsApp es el producto. RCS está restringido por contacto en lugar de ser autoservicio, y no hay email, SMS ni voz.
Precios publicadosLas tarifas se publican por país en la página de precios de WhatsApp.Cada nivel se publica como una cifra mensual por número, con las tarifas de conversación de Meta transferidas por separado y sin margen adicional sobre ellas.
360dialog

El mismo mensaje

Enviar una plantilla de WhatsApp.

La solicitud de 360dialog es la de Meta, que es exactamente su propósito: si ya envías a través de la Cloud API, solo cambian el host y el encabezado de autenticación. La de Bird es una llamada tipada donde el tipo de contenido es el nombre del campo en lugar de un valor repetido junto a su objeto, y acepta un Idempotency-Key.

360dialog

360dialog

whatsapp.ts
const orderId = "ord_8f21";

const response = await fetch("https://waba-v2.360dialog.io/messages", {
  method:  "POST",
  headers: {
    "D360-API-KEY": process.env.D360_API_KEY!,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    messaging_product: "whatsapp",
    recipient_type:    "individual",
    to:                "15551234567",
    type:              "template",
    template: {
      name:     "order_shipped",
      language: { code: "en_US" },
      components: [
        { type: "body", parameters: [{ type: "text", text: orderId }] },
      ],
    },
  }),
});

const result = await response.json();
console.log(result.messages[0].id);

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);

Coste de migración

Moderado.

El envío es una reescritura real en lugar de un renombramiento, porque estás dejando el sobre de Meta. messaging_product y recipient_type desaparecen, el tipo de contenido deja de ser un valor repetido junto a su objeto y pasa a ser el campo en sí, y el encabezado D360-API-KEY se convierte en una clave bearer. A cambio, la llamada se vuelve tipada y un reintento se vuelve seguro.

El factor de programación es Meta, no ninguno de los dos proveedores. Las plantillas se aprueban contra la cuenta de WhatsApp Business en la que residen, así que cambiar de proveedor implica enviarlas de nuevo y esperar. Bird se encarga de la creación, el versionado por idioma y el envío a través de la API y como herramientas de agente, lo que hace que el reenvío sea scriptable en lugar de reescrito manualmente.

Preguntas que la gente realmente hace

¿Es Bird una buena alternativa a 360dialog?
Si WhatsApp es tu único canal y ya tienes código de Meta Cloud API, 360dialog es difícil de superar en esfuerzo: el payload no cambia y sus precios están publicados. Bird es la mejor opción si quieres un envío seguro para reintentar, un SDK tipado, un agente que pueda enviar el mensaje en lugar de componer la solicitud, o un segundo canal más adelante sin un segundo proveedor.
Ambos tienen un servidor MCP. ¿Cuál es la diferencia real?
El alcance. El servidor de 360dialog opera la cuenta: crea, previsualiza, lista y elimina plantillas, establece nombres de visualización y perfiles, configura webhooks y consulta cuentas, canales y facturas. Lo que su documentación describe para un envío es componer un cuerpo JSON de ejemplo para enviarlo a través de su Messaging API. Las 43 herramientas de WhatsApp de Bird incluyen el envío en sí y el registro de números, por lo que un agente puede llevar un mensaje hasta el final.
¿Cuál gestiona mejor un permiso faltante?
Toman decisiones opuestas y ambas son defendibles. 360dialog oculta una herramienta cuyo alcance rechazaste, por lo que un agente no puede ser persuadido de intentar algo que no puede ver, lo cual es la posición más fuerte contra la inyección de prompts. Bird la mantiene listada, anota el alcance que necesita y responde a una denegación con un step-up de OAuth, porque ocultar la herramienta se probó y hacía que un alcance faltante fuera indistinguible de una capacidad faltante, y los agentes concluían lo segundo. Elige el riesgo que prefieras asumir.
¿Pierdo algo al abandonar la estructura de payload de Meta?
Portabilidad, y vale la pena mencionarlo. Un payload de Cloud API funciona contra Meta directamente y contra cualquier proveedor que lo pase tal cual, así que mantener esa estructura deja una puerta abierta. El envío de Bird tiene su propia estructura tipada, que es más fácil de escribir y leer pero no se porta a otro BSP sin cambios. Si la portabilidad de proveedor es el requisito, ese es un argumento a favor de 360dialog, no en su contra.

Empieza con un canal.
Añade los demás cuando estés listo.

Una clave API de prueba es tuya de inmediato. El acceso a producción se desbloquea cuando añades un método de pago y verificas un remitente.

¿Usas Claude Code, Cursor o Codex? Copia un prompt de configuración y tu agente instalará el Bird CLI y las habilidades por ti. Elige el tuyo:

Cursor