Meta Tech Provider

WhatsApp webhook endpoint එක සත්‍යාපනය කිරීම

ඕනෑම event එකක් ලබාදීමට පෙර Meta, hub.mode, hub.verify_token සහ hub.challenge රැගෙන එන GET request එකකින් ඔබේ endpoint එක අමතයි. ඔබේ endpoint එක token එක සසඳා challenge එක raw body ලෙස ආපසු දිය යුතුය. වෙනත් ඕනෑම දෙයක් යැවුවහොත් delivery ආරම්භ නොවේ.

hub.challenge

ප්‍රතිචාරයේ body ලෙස ආපසු ලබාදිය යුතු අගය.

subscribe

verification request එකක hub.mode හි අගය.

HTTPS

Meta සත්‍යාපනය කරන එකම scheme එක. call එකට පෙර HTTP ප්‍රතික්ෂේප වේ.

Meta යවන්නේ හරියටම මොනවාද?

query parameters තුනක් සහිත GET request එකක් ඔබේ URL එකට යවයි. hub.mode, subscribe ලෙස සකසා ඇත. destination එක සකසන විට ඔබ වින්‍යාස කළ token එක hub.verify_token වේ. මෙම උත්සාහය සඳහා Meta නිපදවන අගය hub.challenge වේ.

ඔබ තෝරාගත් token එක සමඟ hub.verify_token සසඳන්න. ඒවා ගැළපේ නම්, hub.challenge සම්පූර්ණ response body එක ලෙස 200 ප්‍රතිචාරයක් දෙන්න. එය JSON තුළ ඔතා නොදෙන්න, වටා quotes නොදෙන්න, සහ සමහර frameworks පෙරනිමියෙන් එක් කරන අවසාන newline එකක් නොදෙන්න.

token එක නොගැළපේ නම්, 403 ප්‍රතිචාරයක් දෙන්න. එය සම්පූර්ණ protocol එක වන අතර, එය හිතාමතාම සරලය.

වැරදි ප්‍රතිචාරයක් නිහඬව අසාර්ථක වන්නේ ඇයි?

සත්‍යාපනය අසාර්ථක වීම ඔබේ පද්ධතියේ දෝෂයක් නොව, Meta පද්ධතියේ නොමැති දෙයක් නිසාය.

challenge එක නිවැරදිව ආපසු නොදුන් විට, Meta එම ගමනාන්තයට delivery ආරම්භ නොකරයි. ඔබේ server එක verification සඳහා 200 ප්‍රතිචාරයක් දෙයි, ඔබේ logs තුළ request එකක් පැමිණි බව පෙනේ, නමුත් කිසිදු dashboard එකක් ගැටලුවක් වාර්තා නොකරයි. පණිවිඩ කිසිදා නොපැමිණීම එකම ලකුණ වන අතර, බොහෝ දෙනා එය handshake ගැටලුවක් ලෙස නොව Coexistence ගැටලුවක් ලෙස හඳුනා ගනිති.

ඒ නිසා call එකට පෙර validation කිරීම වැදගත්ය. Graph request එක යැවීමට පෙර URL එක HTTPS ද සහ verify token එකක් ලබා දී තිබේද යන්න අපි පරීක්ෂා කරමු. එවිට වැරදි ගමනාන්තයක් සම්බන්ධ වී ඇති බවක් පෙනීම වෙනුවට වහාම අසාර්ථක වේ.

සත්‍යාපනය අවහිර කළ හැකි තවත් දේ මොනවාද?

කේතයට සම්බන්ධ නොවන කරුණු තුනක් ඇත.

endpoint එක ඉදිරියේ authentication තිබීම. gateway එකක්, basic auth layer එකක් හෝ IP allowlist එකක් Metaගේ request එක ප්‍රතික්ෂේප කරයි, Metaට ඉදිරිපත් කිරීමට credentials නොමැත. verification route එක ඒවා නොමැතිව ළඟා විය හැකි එකක් විය යුතුය.

redirect එකක්. Meta ඔබ දුන් URL එක අමතයි. handshake එක සම්පූර්ණ වන ආකාරයට canonical host එකකට 301 redirect එකක් අනුගමනය නොකරයි. අවසාන URL එක ලබා දෙන්න.

තවද, ප්‍රතිචාරය serialise කරන framework එකක්. සියල්ල JSON තුළ ඔතන handler එකකින් string එකක් ආපසු දුන් විට, challenge එක වටා quotes සහිත body එකක් ලැබේ. එය නිවැරදි අගයට නොගැළපේ.

සාමාන්‍ය වැරදි

  • JSON ආපසු ලබාදීම. body එක වටා කිසිවක් නොමැති raw challenge අගය විය යුතුය.
  • endpoint එක authentication පිටුපස තැබීම. Metaට credentials නොමැති බැවින් එය ප්‍රතික්ෂේප වේ.
  • redirect වන URL එකක් Metaට ලබාදීම. අවසාන URL එක භාවිත කරන්න.
EasyCoexistence සමඟ මෙය කිරීම

Meta අමතන්නට පෙර ගමනාන්තය HTTPS ද සහ verify token එකක් තිබේද යන්න EasyCoexistence පරීක්ෂා කරයි. අසාර්ථක handshake එක ගමනාන්තය ඉවත නොදමා සම්බන්ධතා කාලරේඛාවේ සටහන් කරයි.

නිතර අසන ප්‍රශ්න

භාවිත කළ යුතු token එක කුමක්ද?

ඔබ තෝරාගන්නා ඕනෑම string එකක් භාවිත කළ හැක. URL එක දැනගන්නා වෙනත් අයගේ request වලින් Metaගේ request එක වෙන්කර හඳුනා ගැනීමට එය උපකාරී වේ.

සත්‍යාපනය කොපමණ වාරයක් සිදුවේද?

සැකසුම් කරන විට සහ ගමනාන්තය සකසන සෑම විටම නැවත සිදුවේ. ක්‍රියාත්මක endpoint එකක් සෑම event එකකදීම නැවත සත්‍යාපනය නොකරයි.

මට එය මා විසින්ම පරීක්ෂා කළ හැකිද?

ඔව්. parameters තුන සමඟ ඔබේම endpoint එක අමතා, body එක හරියටම challenge අගය ලෙස ආපසු ලැබේදැයි පරීක්ෂා කරන්න.

සත්‍යාපනය අතරතුර මගේ server එක ක්‍රියා විරහිතව තිබුණොත්?

handshake එක අසාර්ථක වී ගමනාන්තය සක්‍රිය නොවේ. එය නැවත සුරැකීමෙන් සත්‍යාපනය නැවත ක්‍රියාත්මක වේ.

තවදුරටත් කියවන්න

ආරම්භ කිරීමට සූදානම්ද?

WhatsApp Coexistence මිනිත්තු කිහිපයකින් සකසන්න, මාස ගණනකින් නොව. යෙදුම දුරකථනයේ දිගටම ක්‍රියා කරයි.

නොමිලේ trial කාලය ආරම්භ කරන්න

සත්‍යාපනය කළේ

WhatsApp webhook සත්‍යාපනය