Response envelope
Every JSON response has the same shape:Error codes
Basic Auth failures return
401 from the auth layer before reaching GOWA’s handlers; treat any 401 without a GOWA code as bad credentials.
Retrying safely
Sending is not idempotent: GOWA has no idempotency key. If a send times out (504, network error), the message may already be delivered. Before resending, check the chat with GET /chat/{chat_jid}/messages?is_from_me=true&limit=5, or accept the risk of a duplicate.
Use exponential backoff with a cap, and limit attempts.
Debugging
- Run with
APP_DEBUG=truefor detailed logs. - Check the device:
GET /devices/{device_id}/status(is_connected,is_logged_in). GET /healthonly confirms the process and database are up; it does not check WhatsApp connectivity.
