Introduction

Send and receive WhatsApp messages from your own system with the Wappfy API.

Wappfy connects a WhatsApp number to the systems you already use. With the Wappfy API your code (a CRM, n8n, Make or your own backend) sends messages and reads the number's chats, and webhooks tell your system what happens on the number as it happens.

Base URL

https://app.wappfy.io/api/v1

Every route in these docs is relative to it. For example, sending a text is POST https://app.wappfy.io/api/v1/messages/text.

What you can do

The API also publishes WhatsApp Status (stories), sets presence and "typing...", changes the number's profile and rejects incoming calls.

Using GoHighLevel?

The Wappfy app brings WhatsApp into GoHighLevel Conversations, with no code. See the GoHighLevel guide.

How it works

Connect your number in the dashboard

In app.wappfy.io, open Connections and connect your WhatsApp number by scanning the QR code with your phone. Each connection is one WhatsApp number.

Generate an API key for that connection

On the connection, open the Integrations tab and click Generate key on the API card. The key (wpf_...) only works for that connection, so routes never take a connection id.

Send

Call the API with the key in the X-Api-Key header. A send returns the message_id of the WhatsApp message.

Receive

On the same Integrations tab, register a webhook URL on the Webhook card. Wappfy sends each event to it as a signed POST.

Conventions

  • JSON in, JSON out. Success is { "data": ... }; an error is { "error": { "codigo": "...", "mensagem": "..." } }. See Response format.
  • Phone numbers go with country code and area code, digits only (5581999999999), or as a chat ID (...@c.us, ...@lid, or a group ...@g.us).
  • Timestamps in message data are Unix seconds. Dates such as created_at are ISO 8601 in UTC.
  • No message quota. The pace is yours, but WhatsApp bans numbers that behave like spam bots. See Rate limits.

Every route, field and error is listed in the API Reference tab. The OpenAPI 3.1 document behind it is also served at GET https://app.wappfy.io/api/v1/openapi.json, with no key needed, so you can import it into Postman or Insomnia. That served copy has the same routes and schemas, with the descriptions in Portuguese.

Next steps

On this page