Skip to content
Flowgento

Features · Developer API

WhatsApp webhooks API and REST API for developers

Connect WhatsApp to your own systems: call the REST API to send messages and manage contacts and orders, and receive signed webhooks when messages, conversations and contacts change.

Flowgento is a Meta Tech Provider, built on the official WhatsApp Cloud API. You don’t have to deal with Meta’s Graph API, access tokens or template parameter shapes yourself — Flowgento’s API sits on top of the same services the Flowgento app uses, so a message sent by API is checked, sent and recorded exactly like one sent by an agent.

Webhooks go the other way. When a customer writes in, when a message is delivered or read, when a conversation is resolved or a contact is tagged, Flowgento sends a signed JSON event to your endpoint — and keeps trying if your server doesn’t answer.

What you get

REST API v1

Send text and template messages, list and create contacts, tag them, read conversations and message history, create broadcasts, and look up your approved templates.

Orders endpoints

Create ecommerce orders, list and fetch them, and move them through their statuses. Creating an order accepts an Idempotency-Key, so a retried request never makes a second order.

Signed webhooks

Receive message.received, message.status, conversation.created, conversation.resolved, contact.created and contact.tagged as signed JSON POSTs to your URL.

Retries and a delivery log

A failed delivery is tried again, up to five attempts in all, with growing gaps between them. Every attempt shows on the endpoint’s Recent deliveries panel, so you can see what was sent and what came back.

Scoped API keys

Give each key only the scopes it needs — messages, contacts, conversations, broadcasts, templates, orders — and optionally lock it to a single WhatsApp number.

Built for several numbers

Webhook endpoints can be limited to one number, and event payloads say which number they belong to, so one receiver can serve every line you run.

Examples

The base URL is https://api.flowgento.com/api/v1. An X-API-Key header is accepted as well as the Bearer form.

Create a contact

Every request is HTTPS and JSON, authenticated with your API key as a Bearer token.

curl -X POST https://api.flowgento.com/api/v1/contacts \
  -H "Authorization: Bearer $FLOWGENTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phone":"+14155550123","name":"Alex","email":"alex@example.com"}'

Verify a webhook signature (Node)

Each delivery carries an X-Flowgento-Signature header: sha256= followed by the HMAC-SHA256 of the raw request body, keyed with your endpoint’s secret.

import crypto from 'node:crypto';

function verify(rawBody, signatureHeader, endpointSecret) {
  const expected = 'sha256=' + crypto
    .createHmac('sha256', endpointSecret)
    .update(rawBody)          // the raw bytes, before JSON.parse
    .digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(signatureHeader),
    Buffer.from(expected),
  );
}

Every endpoint, scope and error code is in the API reference.

How it works

  1. 1

    Create a key

    In Settings → API, create a key, choose its scopes and, if you want, the one number it may use. The full key is shown once; store it on your server.

  2. 2

    Add a webhook endpoint

    In Settings → Webhooks, add your HTTPS URL and pick the events you want. Copy the endpoint secret to verify signatures.

  3. 3

    Make your first call

    Call GET /api/v1/ping to confirm the key works, then send a message or create a contact. Errors come back as JSON with a code and a message.

  4. 4

    Return 2xx quickly

    Your receiver should verify the signature and answer within ten seconds. Anything else counts as a failure and the delivery is retried later.

Who it's for

Website and app owners

Create a contact when someone signs up, message them when something happens, and log their replies in your own system.

Ecommerce sellers

Push orders in from your store, update their status as they ship, and let Flowgento send the WhatsApp updates.

Colleges and schools

Keep your student or admissions system in step with WhatsApp: new enquiries as contacts, replies back as webhook events.

Large businesses

Feed WhatsApp events into your CRM, data warehouse or ticketing tool, with per-number keys and endpoints for each team.

Plan availability

Available on Vistaar (Growth) , Shikhar (Scale) , Vishwa (Enterprise) and Sampoorn (Lifetime) .

Limits and prices for every plan are on the pricing page.

FAQs

What is a WhatsApp webhooks API?

Webhooks are how Flowgento tells your system that something happened on WhatsApp — a message arrived, a message was delivered or read, a conversation was resolved — by sending a signed HTTP POST to a URL you choose. The REST API is the other direction: your system calling Flowgento.

Which webhook events are available?

message.received, message.status, conversation.created, conversation.resolved, contact.created and contact.tagged. Each endpoint subscribes to the events it needs.

How do I know a webhook really came from Flowgento?

Every delivery has an X-Flowgento-Signature header containing an HMAC-SHA256 of the raw body, made with your endpoint’s secret. Recompute it on your side and reject the request if it does not match.

What happens if my server is down?

Any response other than 2xx, or no response within ten seconds, counts as a failure. Flowgento tries again — up to five attempts in all, with increasing gaps — and logs each attempt in the endpoint’s Recent deliveries panel.

Which plans include the API and webhooks?

Vistaar and above. The orders endpoints also need ecommerce, which is on every paid plan.

Where is the full reference?

The API reference at /api-docs lists every endpoint, scope, rate-limit header, error code and webhook payload.

Try it on your own WhatsApp number.

Start on the free plan — no credit card needed.