Sari la conținutul principal
Analiză
WhatsApp Business API
Blocare utilizatori
Spam
Cloud API
Bitrix24

Blocarea unui utilizator pe WhatsApp Business API: regula de 24 de ore despre care nu vorbește nimeni

WhatsApp Business API te lasă să blochezi doar persoanele care ți-au scris în ultimele 24 de ore — iar un răspuns 200 poate însemna că, de fapt, n-a fost blocat nimeni. Iată tabloul complet.

WASync Team
5 min read
Blocarea unui utilizator pe WhatsApp Business API: regula de 24 de ore despre care nu vorbește nimeni

Săptămâna trecută am livrat o funcție de blocare/deblocare pentru integrarea noastră cu Bitrix24, am testat-o cu un număr ales la întâmplare și am privit-o cum "reușește" — HTTP 200, nicio eroare, totul verde. Doar că numărul n-a apărut niciodată pe lista de blocare.

După-amiaza aceea ne-a învățat mai multe despre comportamentul de blocare al WhatsApp Business API decât documentația, așa că punem totul aici, într-un singur loc — inclusiv regula care explică majoritatea plângerilor de tip "blocarea nu funcționează".

Mai întâi, să ne asigurăm că vorbim despre aceeași problemă

Rezultatele din căutări pe subiectul ăsta sunt un haos, pentru că două probleme complet diferite folosesc aceleași cuvinte:

  • Vrei să blochezi un utilizator — un spammer sau un contact abuziv care îi scrie firmei tale. Despre asta e articolul de față.
  • WhatsApp ți-a blocat ție contul — numărul tău a fost suspendat sau restricționat. Cu totul altă problemă (încălcări de politici, ratinguri de calitate, tooling neoficial), și nimic din ce urmează nu te va ajuta.

API-ul în sine e simplu

Cloud API expune o listă de blocare per număr de telefon de business. Trei operațiuni, un singur endpoint:

  • POST /{phone-number-id}/block_users — blochează unul sau mai multe numere
  • DELETE pe aceeași cale — deblochează
  • GET pe aceeași cale — listează cine e blocat în acest moment

Payload-ul e doar messaging_product: "whatsapp" plus un array de utilizatori. Odată blocat, mesajele utilizatorului pur și simplu nu mai ajung la tine — nu se declanșează niciun webhook, nu aterizează nimic în inbox sau în CRM. Din partea lui, livrarea se oprește discret la o singură bifă gri.

Până aici, nimic surprinzător. Acum părțile care chiar mușcă.

Regula 1: poți bloca doar persoane care ți-au scris în ultimele 24 de ore

Asta e regula mare, luată direct din documentația Meta, dar rareori scoasă la suprafață de instrumente:

Poți bloca doar utilizatori care au trimis mesaje firmei tale în ultimele 24 de ore.

Nu poți bloca preventiv un număr care nu ți-a scris. Nu poți bloca pe cineva al cărui spam a sosit acum trei zile. Fereastra e aceeași fereastră de 24 de ore de customer service care guvernează și răspunsurile libere — blocarea e tratată ca parte a unei conversații active, nu ca un firewall la nivel de cont.

În practică, asta înseamnă că blocarea funcționează exact atunci când ai cea mai mare nevoie de ea (un spammer în plină rafală) și refuză să funcționeze când faci curățenie ("hai să blochez pe toți cei care ne-au spamat luna trecută" — nu).

Regula 2: un răspuns 200 nu înseamnă că a fost blocat cineva

Iată răspunsul care ne-a păcălit pe noi. Cererile de blocare sunt per număr: apelul API poate reuși în ansamblu în timp ce absolut fiecare număr din el e refuzat. Refuzurile călătoresc în interiorul răspunsului 200:

{
  "messaging_product": "whatsapp",
  "block_users": {
    "added_users": [],
    "failed_users": [
      {
        "input": "40740000000",
        "errors": [
          { "message": "...", "code": ... }
        ]
      }
    ]
  }
}

Dacă numărul pe care ai încercat să-l blochezi nu ți-a scris în ultimele 24 de ore, aterizează în failed_users — iar dacă integrarea ta verifică doar statusul HTTP, va raporta senină succes fără să blocheze nimic. Exact ăsta e bug-ul pe care l-am prins în prima noastră versiune și, judecând după thread-urile de pe forumuri, n-am fost primii.

Dacă tu construiești pe acest API: tratează failed_users ca rezultatul real și arată-i motivul omului care a apăsat pe "blochează".

Celelalte limite, pe scurt

  • Maximum 1.000 de numere per cerere, iar lista în sine se plafonează la 64.000 de utilizatori blocați per număr de telefon. Generos, dar nu infinit pentru țintele de spam cu volume mari.
  • Nu poți bloca un alt cont de business — API-ul blochează doar utilizatori obișnuiți.
  • Blocarea e per număr de telefon, nu per WABA. Blochezi un spammer pe numărul de vânzări și el poate în continuare să scrie pe numărul de suport.
  • Meta extinde endpoint-ul ca să accepte și noile ID-uri de utilizator per business, alături de numerele de telefon — parte din lansarea username-urilor, unde s-ar putea nici să nu ai numărul de telefon al unui spammer. Se aplică aceleași reguli.

Un efect secundar care merită ținut minte

Un utilizator blocat produce tăcere totală — niciun webhook, niciun eveniment, nimic. Noi verificăm acum lista de blocare ca pas standard ori de câte ori apare la suport "au încetat să mai vină mesaje de la acest client", pentru că o blocare uitată de mult arată identic cu o integrare stricată. Un singur GET și ai eliminat ipoteza.

Blocarea direct din Bitrix24

Dacă WhatsApp-ul tău rulează prin WASync, lista de blocare stă chiar pe conexiune: un panou Blocate unde vezi fiecare număr blocat, adaugi unul sau deblochezi. Două decizii de design au ieșit direct din eșecurile descrise mai sus:

  1. Când Meta refuză o blocare, îți arătăm motivul real — inclusiv o notă pe înțelesul tuturor despre regula de 24 de ore — în loc de o bifă verde falsă.
  2. Lista e citită mereu live de la Meta, așa că ce vezi e ce se aplică efectiv, nu o copie din cache.

Spamul pe WhatsApp e destul de enervant și fără ca instrumentele tale să te mintă dacă blocarea a mers sau nu.


Rulezi suportul WhatsApp prin Linii deschise (Open Lines) în Bitrix24? S-ar putea să-ți prindă bine și checklist-ul nostru de depanare pentru mesajele care nu apar — blocările silențioase sunt una dintre cele șapte cauze de pe listă.

Ești gata să începi cu WASync?

Conectează WhatsApp Business la Bitrix24 în câteva minute. Începe astăzi perioada de probă gratuită de 7 zile.