After many years of continuous hard work and being one of the first WhatsApp API providers with 6+ years in the market, Wassenger is possibly the most complete and versatile API solution for WhatsApp today.
Carefully crafted for Small and Medium businesses of all industries looking to integrate, scale and automate WhatsApp messaging and operations, like sending messages to phone numbers and group chats, creating message campaigns, managing and updating contacts like in a CRM, validating phone numbers can receive WhatsApp number, automate group management and messaging and much more!
We have summarized below the most relevant use cases, tutorials and API examples that cover pretty much (but not all) what you can achieve using the Wassenger WhatsApp API π
Contents
- Tutorials
- Chatbots
- Integrations
- Webhooks
- API examples > Send messages
- API examples > Group management
- API examples > Contacts management
- API examples > Files
- API examples > Channels
- API examples > Business Catalog
- API examples > WhatsApp Campaigns
- API examples > WhatsApp profile
- API examples > Phone number validation
- API examples > Chats management
- API examples > Team members
- API examples > WhatsApp numbers management
Tutorials
- π¬ Send messages to phone numbers
- π¬ Send messages to group chats
- π¬ Send messages to channel π
- π¬ Send messages from a CSV file π
- π¬ Send messages from a Google Sheets document π
- π Send multimedia messages (images, videos, documents, files or audio)
- π¬ Include emojis in text messages
- π¬ Send location messages
- π¬ Send contacts
- π¬ Send URL links in text messages
- π¬ Send auto-expiring messages
- π¬ Send messages in real-time without queueing
- π¬ Send messages through a specific WhatsApp number/device
- π¬ Send messages on behalf of a chat agent
- π¬ Send messages replying to a specific message
- π¬ Send dynamic buttons message
- π¬ Send dynamic list message
- π How to use template variables
- π How to format text with styling in messages
- β Check if a phone number exists in WhatsApp and can receive messages
Chatbots π₯
- π€ Create a custom chatbot using the API + Webhooks π
- π€ Create a ChatGPT-powered AI chatbot assistant for your business π
Integrations
- β Connect and automate WhatsApp with 1000+ third-party apps and CRMs using Make/Integromat
- β Import contacts from Hubspot CRM
- β Export a document as CSV to later import it
- β Play and debug the API using Postman
- β Zapier integration
- β Make.com integration
- β Integrately integration
- β Bubble integration
Webhooks
Webhooks are an incredibly useful and efficient way to implement event observability and integration between systems.
In essence, Webhooks provide a communication mechanism where a server-side application can notify a third-party server-side application when a new event that the consumer application might be interested in, has occurred on the system.
Webhooks operate on the concept of βevent reactionβ (donβt call me, Iβll call you if I have something new), and thus avoid the need for constant polling of the server-side application. Thus, rather than doing your consumer application constantly polling the server-side application to check for new events, the server-side application calls your application by invoking a client-provided webhook URL via HTTP protocol anytime the server-side has something new to report.
A clear and well-defined use case would be precisely a WhatsApp conversation, where you donβt know when a user will send you a message, yet you need to process that message right after is received and possibly reply to the user with another message. This can be achieved in an efficient and simple way by using Webhooks between your software and Wassenger. Webhooks are the foundation for creating automated conversations such as chatbots.
Webhooks can operate with any software no matter the language you use, as the common protocol would be HTTP(S) for communication and JSON format for data serialization.
Useful resources
- API documentation for Webhooks
- Introduction to Webhooks
- Webhook Free Service for Testing & Debugging
- Expose your local server to the Internet using Ngrok
- Handling Webhook Requests in PHP
- Webhook server in Go
Webhook events
This a list of the different supported webhook events that can notify your system based on different scenarios:
[message:in:new](https://app.wassenger.com/help/webhooks#when-a-new-inbound-message-is-received): On every new incoming message sent by users or groups to your number (only for Platform plans)[message:out:new](https://app.wassenger.com/help/webhooks#when-a-new-outbound-message-is-successfully-delivered): On every outbound message delivered from the connected WhatsApp number to other users (only for Platform plans)[message:out:ack](https://app.wassenger.com/help/webhooks#when-a-sent-message-is-read-or-played-by-the-user): On every outbound message status update: received or read by the user (only in Platform Business and Enterprise plans)[message:out:failed](https://app.wassenger.com/help/webhooks#when-a-message-delivery-fails): On every failed message delivery such as max retries exceeded, invalid media or target phone number not found[group:update](https://app.wassenger.com/help/webhooks#when-a-group-is-updated): On every group update: when a group subject is updated, when participant(s) are added or removed, when the group permissions are updated, etc.[channel:in](https://app.wassenger.com/help/webhooks#when-a-new-message-is-received-on-the-channels): On every newly received message on any channel that you are following (only for Platform plans).[message:out:sent](https://app.wassenger.com/help/webhooks#when-messages-are-delivered-gateway-plan-only-): Deprecated. On every successfully delivered message. Legacy event limited to Gateway plans.
Find below more details and JSON examples for the different webhook events.
API examples
Messages
- π¬ Send message to phone number
- π¬ Send message to group
- π¬ Send message to channel
- π¬ Send image message
- π¬ Send video message
- π¬ Send audio message
- π¬ Send document PDF media message
- π¬ Send media file from uploaded file
- π¬ Send scheduled message
- π¬ Send scheduled message to group
- π¬ Send image to groups
- π¬ Send audio to groups
- π¬ Send video to groups
- π¬ Send image to channels
- π¬ Send video to channels
- π¬ Mention group participants in a message
- π¬ Send location message using coordinates
- π¬ Send location message using an address
- π¬ Send dynamic reply buttons message
- π¬ Send actions reply buttons message
- π¬ Send a list of options to ask the user to select from
- π¬ Send message with emojis
- π¬ Send message with template variables
- π¬ Send message with formatted text
- π¬ Send message with URL links
- π¬ Send contacts
- π¬ Reply to another message
- π¬ Forward message to another chat
- π¬ Reply to a buttons or list message π
- π¬ Send scheduled message at a specific date
- π¬ Send auto-expiring messages at a specific date
- π¬ Send message through a specific device/number
- π¬ Send message in real-time with no queueing
- π¬ Send product catalog message
- π¬ Send message reaction
- π¬ Remove message reaction
- π¬ Send message in strict queue order
- π¬ Send message with delivery priority
- π¬ Send message on behalf of an agent
- π¬ Send message and assign the chat to an agent
- π¬ Send message and unassign the chat from an agent
- π¬ Send message and resolve chat automatically
- π¬ Send message and add labels to chat
- π¬ Send message and remove labels from chat
- π¬ Send message and add metadata to the chatβs contact
- π¬ Send message and remove metadata from the chatβs contact
- π¬ Send message with special text format
- π¬ Send message with emojis π π π
- π¬ Send message with a custom reference ID for better integration and message tracking
- π¬ Edit message
- π¬ Delete message
Files
- π Upload file from URL
- π Search uploaded files
- π Search received files
- π Get uploaded file information
- π Get received file information
- π Delete uploaded file
- π Delete multiple uploaded files
- π Download uploaded file content
- π Download received file content
Contacts
- π₯ Create new internal contact (chat only)
- π₯ Update existing internal contact (chat only)
- π₯ Update contact metadata
- π₯ Block contact
- π₯ Unblock contact
WhatsApp profile
- π€ Get WhatsApp profile information
- π€ Update WhatsApp profile information
- π€ Update WhatsApp profile image
Groups
- π¨βπ©βπ¦βπ¦ Create new group chat
- π¨βπ©βπ¦βπ¦ Get list of available group chats
- π¨βπ©βπ¦βπ¦ Update group information and permissions
- π¨βπ©βπ¦βπ¦ Update group image
- π¨βπ©βπ¦βπ¦ Add participants to a group
- π¨βπ©βπ¦βπ¦ Remove participants from a group
- π¨βπ©βπ¦βπ¦ Promote participants as administrators in a group chat
- π¨βπ©βπ¦βπ¦ Demote participants as administrators in a group chat
- π¨βπ©βπ¦βπ¦ Get group invite code and URL
- π¨βπ©βπ¦βπ¦ Revoke group invite code
- π¨βπ©βπ¦βπ¦ Join group by invitation code
- π¨βπ©βπ¦βπ¦ Leave group
Campaigns π
- π£ Create new campaign
- π£ List campaigns
- π£ Get campaign by ID
- π£ Update campaign
- π£ Start a campaign
- π£ Stop a campaign
- π£ Delete a campaign
Channels π
- π’ Create new channel
- π’ List active channels
- π’ Search channels
- π’ Update channel
- π’ Update channel image
- π’ Follow channel
- π’ Unfollow channel
- π’ Get channel messages
- π’ Remove channel
Chats
- π₯ Search chats
- π₯ Get a specific chat by ID
- π·οΈ Update chat labels
- π₯ Assign chat to an agent
- π₯ Unassign chat from agent
- π₯ Set chat status as resolved
- π₯ Archive chat
- π₯ Unarchive chat
- π₯ Read one or multiple chats
- π₯ Mark chat as unread
- π₯ Get list messages for a specific chat
- π₯ Get specific chat message by ID
- π Create a private note in a chat
- π₯ Bulk resolve multiple chats at once
- π₯ Bulk assign to agent multiple chats at once
- ποΈ Delete chat by WhatsApp ID
- ποΈ Delete multiple chats at once
Labels
- π·οΈ Get available labels
- π·οΈ Create label
- π·οΈ Update label
- π·οΈ Delete label
- π·οΈ Update chat labels
Messages queue (outbound only)
- π Get messages queue information
- π Pause messages queue processing
- π Resume messages queue processing
- π Freeze messages queue processing
- π Reject adding more messages to the queue
- π Transfer queued message to a different number
- π Delete all queued messages
- π Delete queued messages by date range
- π Delete queued messages by target phone numbers
- π Delete queued messages by target group chats
- π Delete queued messages by message IDs
Team members
- π₯ Get team users available
- π₯ Get team users available per Whatsapp number
- π₯ Create user
- π₯ Update user
- π₯ Delete user
- π₯ Grant user access to WhatsApp number
- π₯ Revoke user access from WhatsApp number
Manage WhatsAppΒ numbers
- π Get WhatsApp numbers available
- π Get WhatsApp number by device ID
- π Create new WhatsApp number virtual device
- π Update WhatsApp number configuration
- π Update WhatsApp number subscription plan
- ποΈ Delete number and cancel the subscription
WhatsApp number session management
- βοΈ Get WhatsApp session status
- βοΈ Get QR image for WhatsApp number pairing
- βοΈ Recreate WhatsApp number session
- βοΈ Reboot WhatsApp number session
- βοΈ Synchronize WhatsApp session
Business Catalog
- π Get the Business catalog of your connected number
- π Query the Business catalog of any WhatsApp number
Numbers validation
Additional resources
API documentation
Explore the detailed API documentation here.
API liveΒ tester
Explore, play and test API in real-time with dozens of use case examples and generate ready-to-use code in 15+ programming languages.
Live code API testing in JavaScript
Live code, test and debug the API with ready-to-use examples using JavaScript in the server with Node.js.
Interested? Sign up for free for 7 days, no strings attached, no card required. Connect your WhatsApp number in minutes π








