What's new, 21 October 2026: A customer who sends several messages before the bot's first reply no longer gets the opening sequence of a Chat Flow twice
WASync · Developers

Zakresy uprawnień

Cztery zakresy, sprawdzane na bieżąco przy każdym żądaniu. Które endpointy wymagają których zakresów i dlaczego oznaczenie jako przeczytane jest wysyłką.

Zakresy są przypisane do poświadczenia — do klucza API lub do zgody OAuth. Są cztery.

ZakresUprawnia do
whatsapp.readGET /connections, GET /connections/{id}, GET /account, GET /messages
whatsapp.sendPOST /messages, POST /messages/read
whatsapp.eventsGET /webhook, PUT /webhook, POST /webhook/rotate oraz w ogóle odbierania dostaw
whatsapp.managePOST /connections, POST /connections/{id}/pairing-code, POST /connections/{id}/restart, POST /connections/{id}/logout, DELETE /connections/{id}

Oznaczenie jako przeczytane to wysyłka, nie odczyt

POST /messages/read wymaga zakresu whatsapp.send. Wygląda jak operacja odczytu, ale przesyła potwierdzenie z Państwa numeru na urządzenie klienta — jest więc operacją wychodzącą. Zaletą jest to, że każdy klient, który może już wysyłać, może też oznaczać wiadomości jako przeczytane: bez nowego zakresu i bez ponownej zgody.

Zakresy są sprawdzane na bieżąco

Zakresy oraz lista dostępnych połączeń są ustalane przy każdym żądaniu. Nic nie jest zapisywane w tokenie i nic nie trzeba odświeżać. Wynikają z tego dwie rzeczy:

  • Odwołanie klucza lub zawężenie jego zakresów działa już przy następnym wywołaniu.
  • Świeżo utworzone połączenie jest widoczne przy następnym wywołaniu. Nie ma opóźnienia propagacji i nic nie trzeba wystawiać ponownie.

Niewystarczający zakres

Poświadczenie, któremu brakuje zakresu wymaganego przez endpoint, otrzymuje 403 insufficient_scope. Proszę opierać się na kodzie, a nie na statusie — 403 zwraca również odmowa wynikająca z listy dozwolonych adresów IP (ip_not_allowed), a oba przypadki wymagają przeciwnych poprawek: w jednym trzeba zmienić zakresy klucza, w drugim dodać adres. Zob. Błędy i idempotentność.

Proszę prosić o mniej

Zakres, którego Państwo nie nadadzą, to ten, którego nie da się nadużyć, jeśli klucz wycieknie. Zadanie raportowe tylko do odczytu potrzebuje whatsapp.read i niczego więcej; moduł wysyłający powiadomienia potrzebuje whatsapp.send; tylko proces provisioningu wymaga whatsapp.manage, który może usuwać połączenia.

Czy ta strona była pomocna?

On this page