Send Messages

Send PIX Button

Sends a native WhatsApp PIX payment button. The contact can copy the key and pay directly.

POSThttps://api.zapzapapi.com/api/v1/{instanceId}/send/pix-button

Authentication with the x-api-key and x-api-secret headers.

Parameters

NameTypeInRequiredDescription
numbertextbodyYesID of the chat the message will be sent to. It can be a phone number in international format, a group ID (`@g.us`), or a user ID (with `@s.whatsapp.net` or `@lid`).
pixTypeselectbodyYesPIX key type. Accepted values: CPF, CNPJ, PHONE, EMAIL or EVP
pixKeytextbodyYesPIX key value (CPF/CNPJ/phone/email/EVP)
pixNametextbodyNoName displayed as the PIX recipient (default "Pix" if empty)
asyncselectbodyNoQueues the send for asynchronous processing
delaynumberbodyNoDelay in milliseconds before sending (shows "typing..." on WhatsApp)
readchatselectbodyNoMarks the chat as read after sending the message
readmessagesselectbodyNoMarks recent messages as read after sending
replyidtextbodyNoID of the message being replied to
mentionstextbodyNoList of mentioned numbers separated by commas
track_sourcetextbodyNoTracking source (e.g. chatwoot, internal-crm)
track_idtextbodyNoTracking identifier (accepts duplicate values)
digitandoselectbodyNoShows an automatic "typing..." indicator, proportional to the message length, before sending. On by default (humanizes and reduces block risk). Send false to turn it off and reply faster. The response remains synchronous.

Request example

curl

curl -X POST "https://api.zapzapapi.com/api/v1/{instanceId}/send/pix-button" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "x-api-secret: YOUR_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"number":"5511999999999","pixType":"EVP","pixKey":"123e4567-e89b-12d3-a456-426614174000"}'

Node.js

const res = await fetch("https://api.zapzapapi.com/api/v1/{instanceId}/send/pix-button", {
  method: "POST",
  headers: {
    "x-api-key": "YOUR_API_KEY",
    "x-api-secret": "YOUR_API_SECRET",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "number": "5511999999999",
    "pixType": "EVP",
    "pixKey": "123e4567-e89b-12d3-a456-426614174000"
  }),
});
console.log(await res.json());

Python

import requests

res = requests.post(
    "https://api.zapzapapi.com/api/v1/{instanceId}/send/pix-button",
    headers={"x-api-key": "YOUR_API_KEY", "x-api-secret": "YOUR_API_SECRET"},
    json={"number":"5511999999999","pixType":"EVP","pixKey":"123e4567-e89b-12d3-a456-426614174000"},
)
print(res.json())

Response example

JSON

{
  "messageId": "ABCDEF123456",
  "status": "sent"
}

Values are illustrative; the fields follow the real response format.

See the full reference

Get your API keys

Create your account, connect a number in minutes and start using the API. R$15 per active number/month, with a welcome credit when you create the account, subject to the current campaign.