Pierwsza wiadomość
Wyślij wiadomość tekstową na WhatsApp, odczytaj wątek i pokaż klientowi niebieskie znaczniki.
Wysyłanie wiadomości tekstowej
curl -X POST https://developers.wasync.app/api/v1/messages \
-H "Authorization: Bearer $WASYNC_API_KEY" \
-H "Content-Type: application/json" \
-d '{"connectionId":"conn_8f3a21","to":"40700000000","text":"Hi from my app 👋"}'{
"messageId": "cmqj3k2ab0001xyz",
"waMessageId": "[email protected]_3EB0A1B2C3",
"status": "sent"
}Pole to zawiera wyłącznie cyfry w formacie międzynarodowym, bez znaku + — np. 40700000000. Pole text może mieć najwyżej 4096 znaków. W przypadku multimediów zamiast text podaj media:
{ filename, mimetype, data (base64, ≤ 16 MB), caption? } — dokładnie jedno z
tych dwóch pól. Wiadomości głosowe używają mimetype: audio/ogg oraz nazwy pliku voice-*.ogg. Wymaga
uprawnienia whatsapp.send.
Ustaw limit czasu HTTP na co najmniej 180 sekund
Wysyłka przez qr trwa zwykle 1–7 s, przy długich tekstach do około 20 s, a
ścieżka samonaprawy może zająć ok. 2,5 minuty. Wysyłka przez cloud_api trwa około 1 s. Wolna
wysyłka nie oznacza błędu — klient, który rezygnuje po 30 s i ponawia żądanie, wysyła
odbiorcy tę samą wiadomość dwa razy. Zawsze przekazuj idempotencyKey (UUID dla każdej logicznej
wysyłki) i ponawiaj żądanie z tym samym kluczem.
Dwa identyfikatory — łącz dane po właściwym
Odpowiedź zawiera dwa identyfikatory i nie są one wymienne.
| Id | Gdzie występuje | Do czego służy |
|---|---|---|
messageId (cuid) | messageId w POST, id w GET, message.id w obu webhookach | Jedyny identyfikator nadający się do łączenia danych. Zapisz go przy wysyłce, deduplikuj po nim i dopasowuj do niego zdarzenia message.status. |
waMessageId | waMessageId (REST), wa_id (webhooki), wa_message_id (wysyłka multimediów) | Zgłoszenia do wsparcia i diagnostyka. Może mieć wartość null — nigdy nie łącz ani nie deduplikuj po nim. |
Warto uwzględnić w kodzie jeden przypadek szczególny: odpowiedź { "messageId": null, "waMessageId": "…", "status": …, "persisted": false } z kodem HTTP 200 oznacza, że wiadomość została
dostarczona, ale nie została zapisana. Nie ponawiaj wysyłki.
Odczyt wątku
curl "https://developers.wasync.app/api/v1/messages?connectionId=conn_8f3a21&limit=20" \
-H "Authorization: Bearer $WASYNC_API_KEY"{
"messages": [
{
"id": "cmqj3k2ab0001xyz",
"waMessageId": "[email protected]_3EB0A1B2C3",
"connectionId": "conn_8f3a21",
"direction": "outgoing",
"text": "Hi from my app 👋",
"mediaUrl": null,
"mediaType": null,
"status": "delivered",
"errorMessage": null,
"createdAt": "2026-07-22T10:00:00.000Z"
}
],
"nextCursor": "cmqj3k2ab0001xyz",
"hasMore": true
}Od najnowszych, z paginacją kursorową: limit przyjmuje wartości 1–100 (domyślnie 20), a cursor
przyjmuje wartość nextCursor z poprzedniej odpowiedzi. Wymaga uprawnienia whatsapp.read.
Niebieskie znaczniki dla klienta
curl -X POST https://developers.wasync.app/api/v1/messages/read \
-H "Authorization: Bearer $WASYNC_API_KEY" \
-H "Content-Type: application/json" \
-d '{"connectionId":"conn_8f3a21","phone":"40700000000"}'Wywołaj tę metodę, gdy operator otwiera rozmowę w Państwa interfejsie — w przeciwnym razie
nikt nigdy nie otworzy czatu w WhatsApp, wiadomości klienta pozostaną z dwoma
szarymi znacznikami, a wątek będzie wyglądał na zignorowany. Treść żądania to
{ connectionId, phone?, messageId? }, w której podaje się co najmniej jedno z pól phone /
messageId (cuid wiadomości przychodzącej; gdy podano oba, pierwszeństwo ma messageId). Metoda wymaga uprawnienia whatsapp.send, a nie whatsapp.read, ponieważ wysyła
potwierdzenie odczytu do klienta. Jest idempotentna, nie wymaga klucza i nie ma limitu zapytań. Zwraca
{ "ok": true, "marked": 3 }.
Dalej
- Otrzymuj powiadomienia o wiadomościach przychodzących zamiast odpytywać API: Webhooks.
- Zbuduj to bez kodu: n8n lub MCP.
- Wygeneruj klienta na podstawie kontraktu:
npx @openapitools/openapi-generator-cli generate -i https://developers.wasync.app/openapi.json -g typescript-fetch -o ./wasync-client
Pierwsze wywołanie
Wyświetl połączenia, do których ma dostęp Państwa klucz, i sprawdź dostępną pojemność, zanim utworzą Państwo kolejne.
Produkt
Aplikacja WASync w Bitrix24, opisana funkcja po funkcji. To właśnie do tych stron prowadzą odnośniki z listy „Co nowego” w aplikacji. Strony są na bieżąco aktualizowane wraz ze zmianami funkcji.