WhatsApp API feature

WhatsApp Messaging API for Sending and Receiving Messages

Send WhatsApp messages from your website, ERP, CRM or store with one HTTP request, and get customer replies delivered to your server.

cURL
curl -X POST https://api.notivo.link/api/messages \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "session_id": "YOUR_SESSION_ID",
    "to": "+15551234567",
    "message": "Order #1042 confirmed. Thank you!"
  }'

What is the Notivo WhatsApp messaging API?

The Notivo WhatsApp messaging API is a REST endpoint that sends a WhatsApp message when your software makes an HTTP POST request. Customer replies are forwarded to a webhook URL you choose, and each webhook request carries an HMAC signature so you can confirm it came from Notivo.

How do you send a WhatsApp message with the API?

  1. Connect a WhatsApp numberCreate a session in the dashboard and scan its QR code. The number is now linked to your account.
  2. Copy your API keyEach session has its own API key. Keep it on your server.
  3. Send a POST requestCall the send endpoint with the session ID, the recipient number in international format and the message text.
  4. Handle replies on your webhookAdd your webhook URL. When a customer replies, Notivo forwards the message to that URL.

What can you do with the messaging API?

One send endpoint

A single JSON request sends a message. It works from any language that can make an HTTP call.

Incoming replies

Customer replies are forwarded to your webhook URL, so your system can react to them.

Signed webhooks

Webhook requests carry an HMAC signature that you verify before trusting the payload.

Plain REST and JSON

No special SDK is required. If you can call a URL, you can send a WhatsApp message.

How does HMAC webhook verification work?

An HMAC signature proves that a webhook request was created by someone who knows your shared secret. Because only Notivo and you know that secret, a valid signature tells you the request is genuine and was not changed on the way.

Verify every incoming webhook before you act on it:

  • Read the raw request body exactly as it arrived, before any JSON parsing.
  • Read the signature that Notivo sent with the request.
  • Compute the HMAC of the raw body with your webhook secret.
  • Compare both values with a constant-time comparison and reject the request if they differ.

The signature header name, hash algorithm and secret are shown in your dashboard and API documentation. Use those exact values in the example below.

PHP
<?php
$rawBody   = file_get_contents('php://input');
$received  = $_SERVER['HTTP_X_SIGNATURE'] ?? '';   // use the header name from your dashboard
$algorithm = 'sha256';                              // use the algorithm from your dashboard
$secret    = getenv('NOTIVO_WEBHOOK_SECRET');

$expected = hash_hmac($algorithm, $rawBody, $secret);

if (!hash_equals($expected, $received)) {
    http_response_code(401);
    exit('Invalid signature');
}

$message = json_decode($rawBody, true);
// ...handle the customer reply

Which messages can you send with the API?

Any text message your application creates can be sent through the API. Common examples are order confirmations and shipping updates, invoices and payment reminders, one-time verification codes that your own app generates, and alerts for your team.

Only message people who expect to hear from you. Notivo is an independent service and links to your own WhatsApp account, so WhatsApp's terms and your local messaging rules still apply.

Business use cases for the messaging API

Order updates

Confirm orders and share delivery progress as soon as your store changes an order status.

Invoices and reminders

Send an invoice or a friendly payment reminder when your accounting system creates it.

One-time codes

Deliver verification codes that your application generates and validates.

Team alerts

Notify staff on WhatsApp when a form is submitted or a system event needs attention.

See how this feature works with the rest of the platform, or browse all Notivo features.

Frequently asked questions: WhatsApp Messaging API

Can I receive WhatsApp messages with Notivo?

Yes. Incoming messages are forwarded to your webhook URL. Verify the HMAC signature on each request before you process it.

What phone number format should I use?

Use the international format with the country code and no spaces, for example +15551234567. Confirm the accepted format for your setup before going live.

What happens if the WhatsApp session is disconnected?

The session must be connected before a message can be sent. Check the session status endpoint and reconnect or rescan the QR code if needed.

Which programming languages can I use?

Any language that can send an HTTP request, including PHP, JavaScript, Python and Java.

Is this the official WhatsApp Business Platform?

No. Notivo is an independent service that links to your WhatsApp account with QR code login. It is not affiliated with or endorsed by WhatsApp or Meta.

Start with WhatsApp Messaging API

Create your session, scan the QR code and send your first WhatsApp message through the Notivo API.

Get started Read the API documentation