The most useful WhatsApp messages are the ones your systems send automatically: an order confirmation from your shop, an invoice from your ERP, an appointment reminder from your hospital software. This guide explains how to connect your CRM, ERP or website to WhatsApp through an HTTP API, using the BitVoice Social Media Platform as the example.
How the integration works
- Your system calls the platform’s HTTP API with an API key.
- The platform sends the message through the official WhatsApp Business API.
- The message appears in the shared inbox, so agents see it in the conversation history.
- The customer’s reply arrives in the inbox, where a chatbot or agent responds.
What you can send
| Endpoint | What it sends | Typical use |
|---|---|---|
| send-template | An approved template with variables | Order shipped, payment due, appointment reminder |
| send-text | A text message inside the 24-hour window | Follow-up after a customer writes |
| send-media | An image, video, document or audio file up to 16 MB | Invoice PDF, ticket, report |
| send-buttons | A message with up to 3 reply buttons | Confirm or reschedule an appointment |
| upload-media | A file to the media library | Hosting a template header image |
Messages that start a conversation must be templates. Text, media and button messages reach the customer only within 24 hours of their last message. See WhatsApp templates and campaigns.
API keys done safely
An admin creates a key for each integration, for example “ERP” or “Online shop”:
- Least permission: tick only the endpoints the integration needs.
- Expiry: never, 30 days, 90 days, 6 months, 1 year or 2 years.
- Shown once: the platform stores only a fingerprint of the key, so copy it into your integration’s secret settings straight away.
- Usage log: every call is logged with time, endpoint, IP address and response time. An unknown IP address is a sign the key has leaked.
- Revoke: disable a key instantly if it may be exposed.
Never put an API key in website code, a mobile app or a public repository. Use one key per integration so you can revoke one without breaking the others.
Limits and errors
- Rate limit: 30 requests per minute on sending endpoints. Over the limit, the API returns HTTP 429; wait and retry.
- Quotas: calls count toward your plan’s daily message and API quotas.
- Errors: a refused message returns the reason from WhatsApp and appears on the failed messages dashboard.
Webhooks: receiving replies and status
Meta tells the platform about incoming messages, delivery ticks and template approvals through a webhook, set up once in the Meta developer dashboard. The platform verifies that each webhook is signed by Meta, so forged calls can be rejected.
Integration ideas
- E-commerce: order confirmation, shipping update with tracking button, invoice PDF.
- Hospitals and clinics: appointment confirmation with confirm or reschedule buttons. See hospital call centres.
- Finance: payment reminders and receipts.
- Service businesses: job booked, technician on the way, feedback request.
- Education: fee reminders and exam notices.
Customer profiles can also be read through the API, so your CRM can check engagement and tags.
BitVoice helps connect your systems to the BitVoice Social Media Platform. Talk to our team.
FAQs
Can I send WhatsApp messages from my CRM or ERP?
Yes. Your system calls the platform’s HTTP API with an API key, and the message is sent through the official WhatsApp Business API.
Can I send a PDF invoice on WhatsApp through the API?
Yes. The send-media endpoint sends documents, images, video or audio up to 16 MB, with an optional caption.
How many WhatsApp API requests can I send per minute?
The sending endpoints allow 30 requests per minute. Larger volumes go through campaigns, which send in paced batches.
How do I keep my WhatsApp API key secure?
Give each integration its own key with only the permissions it needs, set an expiry, watch the usage log and revoke any key that may have leaked.
