Skip to main content
All examples assume Basic Auth admin:changeme, a slot called my-device, and GOWA on localhost:3000.

Recipients

phone accepts:
  • A number with country code, no +, spaces or dashes: 628123456789 (a leading + is stripped).
  • A user JID: 628123456789@s.whatsapp.net.
  • A group JID: 120363025246125486@g.us.
  • status@broadcast to post a status update.
With WHATSAPP_ACCOUNT_VALIDATION=true (default), GOWA checks that a number is on WhatsApp before sending. Check one yourself with GET /user/check?phone=628123456789.

Text

Optional fields: Successful sends return the WhatsApp message ID:

Media

Media endpoints take multipart/form-data. Upload a file, or pass a URL that GOWA downloads (*_url).
All media endpoints also accept reply_message_id, is_forwarded and duration. See Media handling for size limits and formats.

Presence and typing

After sending

Send later

Add scheduled_at and timezone to any send request to schedule it instead. See Scheduled sends.

Sending to many recipients

GOWA has no broadcast endpoint. Loop over recipients in your code, send one request at a time with a delay, and stop on WA_REACHOUT_TIMELOCK errors. Read Sending limits before sending in volume.