Bird vs 360dialog
Bird vs 360dialog untuk WhatsApp
360dialog adalah provider khusus WhatsApp dan ini adalah perbandingan di mana fokus tersebut terlihat jelas. Mereka meneruskan payload asli Meta apa adanya, mempublikasikan harga mereka, dan menjalankan hosted MCP server mereka sendiri. Bird adalah platform di mana WhatsApp adalah salah satu dari beberapa kanal, dan agen dapat mengirim pesan melaluinya.
Keunggulan 360dialog.
Perbedaan Bird.
Keunggulan 360dialog
Payload Meta, tanpa perubahan. Body pengiriman mereka adalah bentuk pesan Cloud API: messaging_product, recipient_type, to, type dan objek type yang sesuai. Tim yang sudah memiliki kode Cloud API cukup mengubah host dan header autentikasi lalu mempertahankan payload-nya, yang merupakan jalur migrasi terpendek dalam perbandingan ini dan tidak bisa ditawarkan oleh Bird.
Daftar harga yang dipublikasikan, layanan mandiri. Setiap tier adalah biaya bulanan per nomor WhatsApp dengan biaya percakapan Meta yang diteruskan secara terpisah, dan tier partner mempublikasikan biaya platform dan per-kanal mereka juga. Anda bisa menghitung biaya deployment dari situs web tanpa perlu berbicara dengan siapa pun.
WhatsApp adalah seluruh perusahaan. Tidak ada email, tidak ada SMS, tidak ada voice, dan halaman status yang memisahkan komponen mereka sendiri dari komponen Meta. Jika WhatsApp adalah satu-satunya kanal Anda dan Anda menginginkan vendor yang roadmap-nya tidak bisa ditarik ke arah lain, fokus itu adalah argumennya, dan itu argumen yang nyata.
Perbedaan Bird
Agen yang bisa mengirim pesan. Keduanya menjalankan hosted MCP server, dan inilah perbedaan di antara mereka: tools 360dialog mengelola template, profil, dan webhook, dan dokumentasi mereka menjelaskan cara menyusun contoh body JSON untuk pengiriman melalui Messaging API mereka. 43 tools WhatsApp milik Bird mencakup pengiriman itu sendiri dan registrasi nomor.
Retry yang tidak bisa mengirim ganda. Header Idempotency-Key pada pengiriman membuat pengulangan menjadi aman. Referensi pesan mereka tidak mendokumentasikan idempotency key atau header, dan di WhatsApp duplikat membuka percakapan berbayar kedua alih-alih sekadar mengulang pesan yang sama.
SDK bertipe, bukan envelope Meta. Meneruskan bentuk Cloud API berarti mewarisi ergonominya: messaging_product di setiap request, dan content type yang diulang di type maupun objek di sampingnya. Pengiriman Bird adalah satu panggilan bertipe yang body-nya menamai konten secara langsung, dalam TypeScript, Python, Go, atau PHP.
Matriks
Kapabilitas per kapabilitas.
Keduanya adalah Meta BSP dan keduanya menjalankan hosted MCP server, yang menjadikan ini perbandingan terdekat dalam seri ini pada sumbu yang biasanya dimenangkan Bird. Baca baris agen di halaman Twilio dan Infobip: itu kemenangan Bird karena alasan berbeda, dan di sini semuanya bergantung pada satu hal—apakah agen bisa mengirim.
| Capability | Bird | 360dialog | Who wins? |
|---|---|---|---|
| Request pengiriman | JSON ke /v1/whatsapp/messages di host regional Anda dengan bearer API key, dan body-nya menamai content type secara langsung. | JSON ke endpoint messages di host WABA mereka dengan header D360-API-KEY. Body-nya adalah bentuk Cloud API Meta: messaging_product, recipient_type, to, type dan objek yang sesuai. | |
| Retry yang aman | Header Idempotency-Key pada pengiriman membuat retry menjadi aman. | Referensi pesan mereka tidak mendokumentasikan idempotency key atau header, sehingga retry setelah timeout bisa mengirim dua kali. | |
| Apa yang bisa dilakukan agen | 43 tools WhatsApp di hosted server di mcp.bird.com, termasuk pengiriman itu sendiri, siklus hidup template melalui submission ke Meta, registrasi dan profil nomor, serta statistik. | Hosted server di mcp.360dialog.com/mcp yang tools-nya membuat, melihat pratinjau, menampilkan daftar, dan menghapus template, mengatur nama tampilan dan profil kanal, mengonfigurasi webhook, serta membaca akun, kanal, saldo, dan faktur. Dokumentasi mereka menjelaskan cara menghasilkan contoh body JSON untuk pengiriman melalui Messaging API mereka. | |
| Perilaku tool yang dibatasi akses | Tool yang tidak bisa dipanggil oleh grant Anda tetap ditampilkan dan dianotasi dengan scope yang dibutuhkan, dan penolakan dijawab dengan OAuth step-up. Menyembunyikannya pernah dicoba dan dihapus: hal itu membuat scope yang hilang tidak bisa dibedakan dari kapabilitas yang hilang, dan agen menarik kesimpulan kedua. | Scope dipilih saat otorisasi dan menolak salah satunya menyembunyikan tools yang sesuai, sehingga agen tidak pernah melihat tool yang tidak bisa dipanggilnya. | |
| Tipe konten | Satu body pengiriman memilih text, template, image, video, audio, sticker, document, location, interactive, atau contact cards. | Satu endpoint pengiriman membawa daftar type lengkap Meta: text, image, audio, video, document, sticker, location, contacts, interactive, template, dan reaction. | |
| SDK bertipe | SDK bertipe untuk TypeScript, Python, Go, dan PHP, di-generate dari API. | Tidak ada SDK bahasa resmi yang muncul di indeks dokumentasi mereka. Karena payload-nya adalah milik Meta, klien Cloud API yang sudah ada bisa digunakan terhadap host mereka. | |
| Kanal selain WhatsApp | SMS, email, voice, Verify, dan Realtime berada di bawah base URL dan key yang sama, sehingga kanal kedua hanyalah endpoint lain, bukan vendor lain. | WhatsApp adalah produknya. RCS dibatasi kontak dan bukan layanan mandiri, serta tidak ada email, SMS, atau voice. | |
| Harga yang dipublikasikan | Tarif dipublikasikan per negara di halaman harga WhatsApp. | Setiap tier dipublikasikan sebagai angka bulanan per nomor, dengan biaya percakapan Meta diteruskan secara terpisah tanpa markup. |
Pesan yang sama
Mengirim satu template WhatsApp.
Request 360dialog mengikuti format Meta, dan itulah intinya: jika Anda sudah mengirim melalui Cloud API, hanya host dan header autentikasi yang berubah. Bird menggunakan panggilan bertipe di mana tipe konten menjadi nama field, bukan nilai yang diulang di samping objeknya, dan menerima Idempotency-Key.
360dialog
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
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);
Biaya peralihan
Sedang.
Pengiriman adalah penulisan ulang yang sesungguhnya, bukan sekadar penggantian nama, karena Anda meninggalkan envelope Meta. messaging_product dan recipient_type hilang, tipe konten berhenti menjadi nilai yang diulang di samping objeknya dan menjadi field itu sendiri, serta header D360-API-KEY menjadi bearer key. Sebagai gantinya, panggilan menjadi bertipe, dan retry menjadi aman.
Hambatan penjadwalan berasal dari Meta, bukan dari vendor mana pun. Template disetujui berdasarkan WhatsApp Business Account tempat mereka berada, sehingga berpindah penyedia berarti mengajukannya kembali dan menunggu. Bird menangani pembuatan, versioning per bahasa, dan pengajuan melalui API dan sebagai agent tools, sehingga pengajuan ulang bisa dilakukan secara otomatis melalui skrip, bukan diketik ulang.
Pertanyaan yang benar-benar ditanyakan orang
Apakah Bird alternatif 360dialog yang bagus?
Keduanya punya MCP server. Apa perbedaan sebenarnya?
Mana yang menangani izin yang hilang dengan lebih baik?
Apakah saya kehilangan sesuatu dengan meninggalkan format payload Meta?
Langkah selanjutnya
Panduan pengiriman adalah yang sebaiknya dibaca pertama: mencakup panggilan pengiriman dan aturan window.