WhatsAppApi
Add WhatsApp messaging to your app.
Send useful updates, receive customer replies and follow each message through its lifecycle. Use Bird’s published APIs and SDKs to connect WhatsApp to the applications and workflows your customers already rely on.
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);Choose your SDK or use HTTP directly. These examples are generated from Bird’s published operation.
One clear request
Choose the message for the moment.
Use an approved template for an eligible business-initiated message, or a supported free-form response inside the customer-service window. Keep the sender, recipient, language and content explicit.
Use the published examples
Start from the generated SDK or HTTP example above. Follow the operation’s actual content shape and validation instead of guessing a method from a marketing illustration.
Pace the workload
Use the rate-limit response and a bounded queue. When an application fans out messages, retain a durable record of each intended recipient and request.
A lifecycle you can reason about
Follow acceptance through to the customer’s response.
An accepted API request begins processing. Meta acceptance, delivery and read updates describe later stages; they do not guarantee that a customer completed your business task.
Reconcile with message reads
Consume the relevant webhooks and retrieve message records when investigating a gap. Keep uncertain attempts distinct from confirmed failures.
Keep retry decisions precise
Use the documented request protections and error classification. Do not assume an uncertain provider attempt can be safely repeated indefinitely.
Bird admits the request and returns its message identity.
The message moves through the sending workflow.
Provider observations update the message record when available.
Handle rejection, failure and missing observations as part of the same integration.
A conversation, not just an endpoint
Carry the useful context into the reply.
Use explicit button or list reply identifiers and your application’s conversation state. A reply can quote an earlier message, but that reference is optional and may be unavailable.
Keep metadata in its place
Outgoing metadata belongs to the outgoing record. Do not assume it is copied onto the customer’s inbound message.
Connect tools with the same permissions
CLI and MCP can help developers operate the channel. They remain subject to the same workspace access, sender ownership and sending rules.
WhatsApp API questions
Does an accepted request mean the message was delivered?
Can I send free-form messages at any time?
Is there a WhatsApp batch endpoint?
How do I match an interactive reply to my application?
Connect the complete journey
Related resources
Continue with the documentation, guides and examples for this topic. Resources are in English.
Make the first request part of a working integration.
Set up your workspace, use a published example and inspect the response. Connect replies and delivery events before expanding traffic.