| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Discuss (mail) |
| Lines of code | 2967 |
| Technical Name |
aos_whatsapp |
| License | OPL-1 |
| Website | https://www.alphasoft.co.id/ |
| Versions | 10.0 11.0 12.0 14.0 17.0 18.0 19.0 |
WhatsApp Integration for Odoo
Send & receive WhatsApp messages directly from Odoo using KlikOdoo / Alvabit API. Supports text, images, PDF, video, voice notes, and bulk messaging.
Key Features
Messaging
- Send text messages, images, PDF, video, voice notes
- Send files up to 16 MB via
/send/file - Bulk messaging up to 50 recipients per call
- Auto-send from Sales, Invoice, POS, Inventory, Purchase
- Template-based messages with dynamic placeholders
Integration
- Receive messages via Webhook (real-time)
- 2-way chat in Odoo Discuss (Chatter)
- HMAC-SHA256 webhook signature verification
- Auto-create CRM Lead for unknown numbers
- Multi-device & multi-database support
- Compatible with KlikOdoo.id and Alvabit.id (same API)
Send Everywhere
WhatsApp button is available on every object. Send messages directly from Sales Orders, Invoices, POS, Contacts, and more. All history is tracked in Log Notes.
Compose WhatsApp
Use pre-defined templates or compose new messages with dynamic placeholders (_PARTNER_, _NUMBER_, _AMOUNT_TOTAL_). Attach files and send to multiple recipients.
Receive & Reply
Receive incoming WhatsApp messages in Odoo Discuss. Reply directly from the chat interface. Set channel notification users to manage multi-user responses.
Getting Started
Register an Account
Sign up at klikodoo.id or alvabit.id. Both platforms use the same API — the only difference is the domain URL.
Subscribe & Get API Key
After registration, subscribe to a plan at klikodoo.id/shop. Once subscribed, go to your dashboard to find your API Key and Device ID.
Configure in Odoo
In Odoo, go to Settings → Technical → WhatsApp Servers. Create a new server and fill in:
- API Key — from your KlikOdoo/Alvabit dashboard
- Device ID — usually
1(check your dashboard) - API Base URL —
https://klikodoo.id/api/v1orhttps://alvabit.id/api/v1
Connect Device (Get Token)
Click "Get Token" to check device status. If the device is not yet connected, click "Scan QR Code", then scan with your WhatsApp mobile app (Settings → Linked Devices → Link a Device).
Once connected, the status bar will show "Authenticated" and your WhatsApp number will be auto-filled.
Register Webhook (Optional)
To receive incoming messages, click "Register Webhook" in the Webhook section. This automatically:
- Generates a Webhook Secret (HMAC-SHA256 verification)
- Registers the webhook URL:
https://your-odoo.com/whatsapp/webhook/alvabit/your_db - Subscribes to events:
message.inbound,device.connected,device.disconnected
Start Sending!
Open any Sales Order, Invoice, Contact, or POS Order and click the WhatsApp button. Choose a template, preview the message, and send. Files and attachments are sent automatically.
API Documentation
Base URL: https://klikodoo.id/api/v1 or https://alvabit.id/api/v1
Authentication: Header x-api-key: YOUR_API_KEY
Endpoints
| Method | Endpoint | Description | Body |
|---|---|---|---|
| POST | /send |
Send text message | JSON |
| POST | /send/file |
Send file/document (any type, max 16 MB) | Multipart |
| POST | /send/image |
Send image with caption | Multipart |
| POST | /send/video |
Send video with caption (max 16 MB) | Multipart |
| POST | /send/voice |
Send voice note (push-to-talk) | Multipart |
| POST | /send/bulk |
Send to multiple recipients (max 50) | JSON |
| GET | /devices |
List all devices | — |
| GET | /devices/:id/qr |
Get QR code for device pairing | — |
| GET | /messages |
Get message history | — |
| POST | /webhooks |
Register webhook for incoming events | JSON |
POST /send — Send Text Message
Response:
POST /send/file — Send File (Recommended)
Multipart form-data. This is the most reliable endpoint for all file types (PDF, images, documents).
| Field | Type | Description |
|---|---|---|
device_id | string | Device ID |
to | string | Recipient phone number (with country code) |
filename | string | Display filename (optional) |
file | binary | File to send (max 16 MB) |
Response:
POST /send/bulk — Bulk Message
POST /webhooks — Register Webhook
Webhook Payload (Incoming Message)
When a message is received, the API sends a POST to your webhook URL with this payload.
The X-Signature header contains HMAC-SHA256 of the body for verification.
Response Status
| Field | Value | Meaning |
|---|---|---|
success | true | API accepted the request |
wa_status | "sent" | Message delivered to WhatsApp |
wa_status | "failed" | WhatsApp delivery failed (device disconnected, invalid number) |
message_id | integer | Internal message ID for tracking |
success: true only means the API accepted the request.
Always check wa_status to confirm actual WhatsApp delivery.
If wa_status: "failed", check that your device is connected and the recipient number is valid.
Need help?
Contact the module maintainer for questions, support, or feature requests:+6281288776713 info@alphasoft.co.id
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module