Send WhatsApp updates, passcodes, and interactive replies from one API.
Deliver order confirmations, one-time passcodes, rich media, and interactive buttons or list menus right into your customers’ WhatsApp chats. Bird validates template parameters and checks the 24-hour customer service window before dispatching, preventing failed calls and surprise charges while streaming delivery and read receipts back to your app.
// Install the SDK
// npm install @messagebird/sdk
const msg = await bird.whatsapp.send({
to: "+15551234567",
template: {
slug: "bird_otp",
components: [{ type: "body", parameters: [{ type: "text", text: "123456" }] }],
},
});
console.log(msg.id, msg.status);Send your first message in minutes with our TypeScript, Python, Go, or PHP SDKs, the Bird CLI, or direct HTTP requests. Start immediately with Bird’s pre-approved templates while your own WhatsApp Business number is being verified.
Templates and 24-hour window
Send the right format inside or outside the 24-hour window.
WhatsApp separates business-initiated outreach from active customer conversations. Reach customers outside an active chat using Meta-approved utility, authentication, or marketing templates, then switch to free-form text, media, and interactive menus for 24 hours after they message or call you.
Catch closed windows and variable mismatches upfront
Bird tracks the 24-hour customer service window per recipient and business number. If your app tries to send a free-form message after the window closes, or passes template variables that do not match your placeholders, the API rejects the call before anything is created or billed.
Rich media, interactive buttons, and list menus
When a conversation is open, send images, PDFs, audio clips, videos, locations, or contact cards from a single endpoint. Add quick-reply buttons, multi-option list menus, product carousels, or location and contact requests so customers can tap instead of typing.
Real-time delivery tracking
Track messages from API acceptance to read receipt.
Sending on WhatsApp is asynchronous. Once Bird accepts your request, webhook events and the per-message timeline show when the message is handed to WhatsApp, delivered to the customer’s phone, and opened in chat.
Diagnose rejections with Meta error details
If a message fails after acceptance, such as when a service window expires in flight or Meta blocks delivery, Bird records the failure description and underlying Meta error code on the message record so your team knows whether to retry or switch channels.
Prevent duplicate sends on network retries
Include an idempotency key with your send request so a timeout or worker retry within the retention window replays the original response instead of sending a duplicate message.
order_ready
事件
已接受
Bird 接受请求并返回消息标识。
已发送
消息进入发送流程。
已送达
提供商的观测结果可用时,会更新消息记录。
读取
在同一集成中处理拒绝、失败和缺失的观测结果。
Harbor
商业账户
order_ready
Harbor
商业账户
事件
已接受
Bird 接受请求并返回消息标识。
已发送
消息进入发送流程。
已送达
提供商的观测结果可用时,会更新消息记录。
读取
在同一集成中处理拒绝、失败和缺失的观测结果。
Context for two-way workflows
Keep customer replies connected to the right order or ticket.
Quote an earlier message so your customer sees which question or order you are answering right in their chat. When a customer taps a quick-reply button, picks a list option, or replies to a recent message, Bird returns the selected action and quoted message reference so your app can route the response immediately.
Tag and attach metadata to outbound sends
Add up to 20 filterable tags and 2 KB of custom JSON metadata to an outbound message. Slice message logs by campaign or workflow, and keep your internal order or ticket IDs attached to the outbound record across API reads and delivery webhooks.
Operate from your codebase, terminal, or AI agent
Send test messages, inspect delivery timelines, and filter recent history from the Bird CLI or connect your coding assistant through the Bird MCP server, governed by your workspace’s role and sender permissions.
WhatsApp sending questions
请求被接受是否意味着消息已送达?
我可以随时发送自由格式的消息吗?
是否有 WhatsApp 批量发送端点?
如何将交互式回复匹配到我的应用?
连接完整旅程
规模扩展
不失控。
在工作区中组织团队,控制 API 访问权限,通过审计日志追踪变更。
组织
Harbor
访问权限仅限于其所在工作区。
生产环境/API 密钥
配送员
活跃Alex Lee
管理员
今天 · UTC
审计日志
组织
Harbor
访问权限仅限于其所在工作区。
生产环境/API 密钥
配送员
活跃Alex Lee
管理员
今天 · UTC
审计日志
组织
Harbor
访问权限仅限于其所在工作区。
生产环境/API 密钥
配送员
活跃Alex Lee
管理员
今天 · UTC
审计日志