easyCoexistence
Zaloguj sięRozpocznij bezpłatny okres próbny
Meta Tech Provider

Webhook account_update i każdy powód rozłączenia

account_update to sposób, w jaki Meta informuje o zmianie stanu połączenia. Pole event wskazuje, co się stało, a przy usunięciu disconnection_info.reason podaje przyczynę. Od niej zależy, czy numer powróci, czy został utracony.

PARTNER_REMOVED

Zdarzenie wysyłane przez Meta po odinstalowaniu aplikacji z konta.

6

Nazwane powody rozłączenia, które może zawierać usunięcie.

~14 days

Okno nieaktywności głównego urządzenia, wysyłane jako PRIMARY_INACTIVITY.

Jakie zdarzenia zawiera account_update?

PARTNER_REMOVED, gdy aplikacja zostaje odinstalowana z konta WhatsApp Business. To autorytatywny sygnał rozłączenia, na którym warto oprzeć implementację, zamiast wnioskować o rozłączeniu na podstawie zmiany wartości pola na false.

ACCOUNT_OFFBOARDED, gdy numer zostaje całkowicie wycofany. ACCOUNT_RECONNECTED, gdy wcześniej usunięte połączenie wraca. Są też zdarzenia egzekwowania zasad: ACCOUNT_RESTRICTION i ACCOUNT_VIOLATION, a także zdarzenia, których nazwy zawierają DISABLED lub BAN.

W tym miejscu pojawiają się również wyniki weryfikacji i zatwierdzenia, z nazwami zdarzeń zawierającymi VERIFIED lub APPROVED. Obsługa powinna przełączać się na podstawie nazwy zdarzenia, a nierozpoznane traktować informacyjnie zamiast kończyć działanie błędem, ponieważ Meta dodaje zdarzenia bez uprzedzenia.

Jakie są powody rozłączenia?

Jest ich sześć i oznaczają zupełnie różne sytuacje.

PRIMARY_INACTIVITY to reguła około czternastu dni: aplikacja WhatsApp Business nie została otwarta na głównym urządzeniu. To przypadek możliwy do naprawienia i zdecydowanie najczęstszy.

COMPANION_INACTIVITY oznacza to samo na urządzeniu dodatkowym, ale przy dłuższym okresie około trzydziestu dni.

BUSINESS_DOWNGRADE oznacza powrót numeru do konsumenckiej aplikacji WhatsApp. Kończy to Coexistence, ponieważ Coexistence wymaga aplikacji Business.

CHANGE_NUMBER oznacza zmianę samego numeru telefonu. USER_RE_REGISTERED oznacza ponowną rejestrację na nowym urządzeniu. ACCOUNT_DISCONNECTED oznacza, że klient rozłączył numer celowo albo zrobiło to egzekwowanie zasad.

Powód pojawia się również wraz z disconnection_info.initiated_by, które wskazuje, czy zrobiła to osoba, czy system.

Dlaczego powód jest ważniejszy niż zdarzenie?

Ponieważ samo PARTNER_REMOVED nie mówi, jakie działanie należy podjąć.

Numer usunięty z powodu PRIMARY_INACTIVITY powróci: firma otwiera aplikację, ponownie się łączy i wszystko działa dalej. Potraktowanie tego jako odejścia klienta skutkuje wysłaniem wiadomości o anulowaniu do osoby, która nadal jest klientem.

Numer usunięty z powodu BUSINESS_DOWNGRADE lub ACCOUNT_DISCONNECTED to inna sytuacja. Potraktowanie jej jako tymczasowej może pozostawić połączenie na zawsze w stanie zawieszenia.

Gdy usunięcie nie zawiera powodu, pole initiated_by jest rozwiązaniem zastępczym: usunięcie wykonane przez osobę wskazuje na świadomą decyzję, a niewyjaśnione usunięcie systemowe nie. Warto rozstrzygać tę różnicę w kodzie, zamiast później wyjaśniać ją w rozmowie z pomocą techniczną.

Typowe błędy

  • Traktowanie każdego PARTNER_REMOVED tak samo. Powód odróżnia dwa tygodnie ciszy od klienta, który odszedł.
  • Wnioskowanie o rozłączeniu na podstawie zmiany wartości pola na false zamiast na podstawie tego zdarzenia. To powoduje fałszywe alarmy.
  • Kończenie działania po nierozpoznanej nazwie zdarzenia. Meta dodaje zdarzenia, a obsługa powinna pomijać te, których nie zna.
Z EasyCoexistence zrobisz to

EasyCoexistence rozpoznaje każdy z tych powodów, zapisuje go na osi czasu połączenia i odróżnia możliwe do naprawienia usunięcie z powodu nieaktywności od numeru, który rzeczywiście został utracony.

Najczęściej zadawane pytania

Czy PARTNER_REMOVED jest trwałe?

Zwykle nie. Większość przypadków zawiera PRIMARY_INACTIVITY, czyli aplikacja nie została otwarta, a ponowne połączenie przywraca wszystko.

Czy ponowne połączenie przywraca miejsce docelowe webhooka?

Nie, i właśnie na tym polega pułapka. Miejsce docelowe jest nadpisaniem w subskrypcji aplikacji i zostaje odinstalowane razem z nią. Trzeba zastosować je ponownie.

Czym jest COMPANION_INACTIVITY?

To ten sam rodzaj nieaktywności na urządzeniu dodatkowym, a nie głównym, przy dłuższym okresie około trzydziestu dni.

Czy mogę otrzymać to zdarzenie bez powodu?

Tak. W takim przypadku disconnection_info.initiated_by jest jedynym sygnałem wskazującym, czy rozłączenie było celowe.

Czytaj dalej

Gotowy, aby zacząć?

Skonfiguruj WhatsApp Coexistence w kilka minut, nie miesięcy. Aplikacja nadal działa na telefonie.

Rozpocznij bezpłatny okres próbny

Zweryfikowano w

account_update Webhook