WhatsApp webhooks: kuelekeza jumbe moja kwa moja kwenye server yako
WhatsApp webhook ni endpoint ya HTTPS unayoichagua, na Meta hutuma matukio humo: jumbe zinazoingia, hali za uwasilishaji, mabadiliko ya ubora na masasisho ya akaunti. Kwenye nambari ya Coexistence, unakoenda kunaweza kuwa server yako mwenyewe, hivyo mazungumzo hayapiti kabisa kwa mtoa huduma.
- Meta hutuma matukio moja kwa moja kwenye URL yako
- Endpoint yako, si jukwaa la mtoa huduma
- Kibatilisho kimoja kwa kila WhatsApp Business Account
Hakuna kinachotozwa kwa siku 7. Ghairi wakati wowote.
Muundo mzima wa muunganisho: eneo moja la HTTPS kwa kila akaunti.
messages na smb_message_echoes, matukio ya njia ya jumbe yanayoelekezwa kwako.
Thamani ambayo Meta hutuma kwenye mawasiliano ya GET, ambayo endpoint yako lazima irudishe.
Meta hutuma nini hasa kwenye webhook?
Matukio, katika makundi mbalimbali, na tofauti kati yao huamua muundo wa mfumo wako.
Njia ya jumbe hubeba kile ambacho wateja hutuma na, kwenye nambari ya Coexistence, nakala za kile ambacho timu yako hutuma kutoka kwenye programu ya WhatsApp Business. Hizo ni sehemu za messages na smb_message_echoes, nazo ndizo zenye maudhui ya mazungumzo.
Njia ya uendeshaji hubeba kila kitu kingine: account_update hali ya muunganisho inapobadilika, phone_number_quality_update ubora au uwezo wa kutuma unapobadilika, account_alerts, account_review_update, business_capability_update na phone_number_name_update. Hizi hazina maudhui ya mazungumzo, na ndizo msingi wa ufuatiliaji.
Mtoa huduma anayejipanga kwenye njia ya jumbe hupokea kundi la kwanza. Asiyefanya hivyo, halipokei.
Meta inathibitishaje endpoint?
Kwa ombi la GET kabla haijawasilisha chochote. Kushindwa hapa ndilo jambo linalofanya usanidi unaoonekana kukamilika usipokee ujumbe.
Meta hupiga URL yako ikiwa na hub.mode iliyowekwa kuwa subscribe, hub.verify_token yako na thamani ya hub.challenge. Endpoint yako lazima irudishe challenge hiyo kama mwili ghafi wa jibu, bila kuifunga kwenye JSON na bila kuongeza chochote. Isipofanya hivyo, Meta haianzi kamwe kuwasilisha, na hakuna dashboard itakayoonyesha sababu.
Endpoint lazima pia iwe HTTPS. Endpoint inayorudisha 404 bila ujumbe, au iliyo nyuma ya safu ya uthibitishaji inayomkataa Meta, huonekana kama usanidi unaofanya kazi hadi ujumbe wa kwanza usipofika.
Unakoenda kunaweza kuwa server yako mwenyewe?
Ndiyo, na hapa ndipo watoa huduma hutofautiana.
Meta inaruhusu programu kubatilisha mahali ambapo WhatsApp Business Account fulani huwasilisha webhook zake. Tunaweka kibatilisho hicho kwenye URL yako, hivyo matukio ya njia ya jumbe huhama kutoka callback yetu kwenda kwako. Tunabaki na matukio ya uendeshaji, kwa sababu dashboard na arifa hutegemea hayo.
Matokeo yake ni ya muundo wa mfumo, si sera tunayochapisha. Maudhui ya mazungumzo hayana mahali pa kuhifadhiwa upande wetu, kwa sababu hayawasilishwi kwetu. Akaunti isiyo na kibatilisho hurudi kwenye callback yetu ya kawaida, ambapo kishughulikiaji huacha matukio hayo bila kuyahifadhi.
Nambari inapounganishwa tena, unakoenda hutokea nini?
Huondolewa, na hili ndilo tatizo ambalo karibu hakuna anayelipangia.
Unakoenda si sifa ya nambari ya simu. Ni kibatilisho kwenye usajili wa programu yetu kwa WhatsApp Business Account. Muunganisho unapoondolewa, kwa sababu ya kanuni ya Meta ya siku kumi na nne za kutotumika au sababu nyingine, programu huondolewa kwenye akaunti hiyo na kibatilisho huondoka nacho.
Kuunganisha tena hurudisha utumaji na ufuatiliaji. Hakurudishi uwasilishaji kwenye server yako, na hakuna kinachoripoti hitilafu, hivyo ishara ya kwanza inaweza kuwa mteja kusema hakuna aliyemjibu. Tunaweka tena kibatilisho kila muunganisho unapofanywa, kwa sababu hili liliwahi kutokea kwa nambari halisi iliyounganishwa tena bila hitilafu kisha ikanyamaza.
Makosa ya kawaida
- Kurudisha JSON kutoka kwenye verification GET. Meta inataka thamani ghafi ya hub.challenge pekee, bila kingine.
- Kutumia URL ya muda au ya majaribio. Meta huendelea kuwasilisha humo baada ya zana iliyoiunda kuacha kusikiliza.
- Kudhani unakoenda hubaki baada ya kuunganisha tena. Huishi kwenye usajili wa programu na huondolewa pamoja nao.
- Kuweka endpoint nyuma ya uthibitishaji unaokataa ombi la Meta.
EasyCoexistence huweka webhook override kwenye endpoint yako, huihakiki kabla ya simu, na kuiweka tena kiotomatiki baada ya muunganisho wowote. Kuanzia US$ 9 kwa kila nambari kwa mwezi, hadi US$ 2 kwa idadi kubwa, na siku 7 za kwanza bila malipo.
Maswali yanayoulizwa mara kwa mara
Je, jumbe zangu hupitia EasyCoexistence?
Hapana. Kibatilisho hutuma matukio ya njia ya jumbe kutoka Meta moja kwa moja kwenye endpoint yako. Matukio ya akaunti isiyo na kibatilisho hurudi kwenye callback yetu na huachwa bila kuhifadhiwa.
Je, ninaweza kubadilisha unakoenda baadaye?
Ndiyo, wakati wowote, kutoka kwenye dashboard au kupitia kiunganishi cha MCP. Kutuma null huiweka tena kwenye chaguo-msingi letu.
Server yangu ikiwa chini Meta inapowasilisha, hutokea nini?
Meta hujaribu tena kwa muda kisha huacha. Jumbe bado hufika kwenye programu ya WhatsApp Business kwenye simu, hivyo biashara haipotezi chochote hata muunganisho unaposhindwa.
Je, webhook moja inatosha kwa nambari kadhaa?
Ndiyo. Elekeza kila nambari kwenye endpoint hiyo hiyo, kisha tumia receiving phone number id iliyo kwenye payload kutenganisha.
Endelea kusoma
Uko tayari kuanza?
Sanidi WhatsApp Coexistence kwa dakika chache, si miezi. Programu inaendelea kufanya kazi kwenye simu.
Anza kipindi cha majaribio bila malipoHakuna kinachotozwa kwa siku 7. Ghairi wakati wowote.Imethibitishwa kwenye