Python மூலம் WhatsApp மெசேஜ்களை அனுப்பி பெறுங்கள்
பெறுதல் என்பது உங்கள் வெப் ஃப்ரேம்வொர்க்கில் உள்ள ஒரு ரூட். அது Meta-வின் சரிபார்ப்பு GET-க்கு பதிலளித்து POST-களை ஏற்கும். அனுப்புதல் என்பது எண்ணின் ஃபோன் எண் ID மற்றும் டோக்கனுடன் Cloud API-க்கு செய்யும் HTTPS கோரிக்கை. எங்களுடைய SDK தேவையில்லை, நிறுவவும் எதுவுமில்லை.
Meta-வின் சரிபார்ப்புக்கு ஒரு GET, நிகழ்வுகளுக்கு ஒரு POST. இதுவே பெறும் பகுதி.
வாடிக்கையாளர் மெசேஜ் அனுப்பிய பிறகு, ஃப்ரீ டெக்ஸ்ட் அனுப்பக்கூடிய காலக்கெடு.
அந்தக் காலக்கெட்டுக்கு வெளியே ஃப்ரீ டெக்ஸ்ட் அனுப்பும்போது திரும்ப வரும் பிழைக் குறியீடு.
Python-இல் மெசேஜ்களை எப்படிப் பெறுவது?
நீங்கள் ஏற்கனவே பயன்படுத்தும் எந்த ஃப்ரேம்வொர்க்கிலும், ஒரே ரூட்டில் 2 ஹேண்ட்லர்களுடன் இதைச் செய்யலாம்.
GET ஹேண்ட்லர் Meta-வின் சரிபார்ப்புக்கு பதிலளிக்கும். அது query string-இலிருந்து hub.mode, hub.verify_token மற்றும் hub.challenge-ஐப் படித்து, டோக்கனை உங்கள் டோக்கனுடன் சரிபார்த்து, challenge-ஐ raw body ஆகத் திருப்பி அனுப்பும். இங்கு JSON திருப்பி அனுப்புவது மிகவும் பொதுவான தவறு, இது அமைதியாகத் தோல்வியடையும்.
POST ஹேண்ட்லர் நிகழ்வுகளைப் பெறும். விரைவாக 200 திருப்பி அனுப்பி, வேலையை அதற்குப் பிறகு செய்யுங்கள். மெதுவான பதிலை Meta தோல்வியாகக் கருதி மீண்டும் அனுப்பும், இதனால் அதே மெசேஜை 2 முறை கையாள வேண்டி வரும். செயலாக்கத்தை inline-ஆகச் செய்வதற்குப் பதிலாக, அதை queue செய்யுங்கள் அல்லது background task-க்கு ஒப்படையுங்கள்.
மெசேஜ்கள் wamid message id-உடன் வரும். தொடக்கத்திலிருந்தே அதைப் பயன்படுத்தி duplicate-களை நீக்குவது பயனுள்ளது, ஏனெனில் retry-கள் விதிவிலக்கு அல்ல, வழக்கமானவை.
எப்படிச் அனுப்புவது?
ஃபோன் எண் ID-க்கான Cloud API `messages` எண்ட்பாயிண்டுக்கு bearer டோக்கனுடன் ஒரு POST அனுப்புங்கள்.
இரண்டு மதிப்புகளும் இணைப்பிலிருந்து கிடைக்கும். டாஷ்போர்டு அவற்றைக் காட்டும். உதவியாளர் அவற்றைப் பெற வேண்டும் என்றால் get_api_credentials அவற்றைத் திருப்பி அனுப்பும். இந்த கோரிக்கையில் எங்களைச் சார்ந்தது எதுவுமில்லை. எனவே எந்த HTTP நூலகமும் வேலை செய்யும், மேலும் கோரிக்கை Meta-வின் சொந்த ஆவணத்தில் இருப்பதைப் போலவே இருக்கும்.
நேரத்தைப் பொறுத்து body மாறும். வாடிக்கையாளரின் கடைசி மெசேஜிலிருந்து 24 மணி நேரத்துக்குள் `text` object அனுப்புங்கள். அதற்கு வெளியே அங்கீகரிக்கப்பட்ட டெம்ப்ளேட் மற்றும் அதன் மொழியைக் குறிப்பிடும் `template` object அனுப்புங்கள். முதல் வடிவத்தை மட்டும் அறிந்த client சோதனையில் சரியாக வேலை செய்யும், ஆனால் முதல் இரவு நேர மெசேஜில் தோல்வியடைந்து 131047 பிழையைத் திருப்பி அனுப்பும்.
அதற்கு அப்பால் production ஹேண்ட்லருக்கு என்ன தேவை?
தவிர்க்க எளிதானவை, பின்னர் சேர்க்க அதிக செலவாகும் 3 விஷயங்கள் உள்ளன.
Meta retry செய்வதால் message id-ஐப் பயன்படுத்தி duplicate-களை நீக்குங்கள். உங்கள் URL-ஐ அறிந்த எவரும் இல்லையெனில் அதில் POST செய்யக்கூடும் என்பதால், பொதுவாக வெளிப்படும் இணைப்பாக இருந்தால் request signature-ஐச் சரிபாருங்கள். மேலும் contact கடைசியாக எப்போது எழுதியது என்பதன் அடிப்படையில் branch செய்து, மனிதர் முடிவு செய்யாமல் send path `text` அல்லது `template`-ஐத் தேர்ந்தெடுக்கச் செய்யுங்கள்.
இவற்றில் எதற்கும் ஃப்ரேம்வொர்க் அல்லது நூலகம் தேவையில்லை. இவை ஒரு set, ஒரு check மற்றும் ஒரு comparison மட்டுமே. முதல் client வருவதற்கு முன் இவற்றை அமைத்துவிடுவது, அமைதியாக இயங்கும் integration-க்கும் தொடர்ந்து எச்சரிக்கை அனுப்பும் integration-க்கும் உள்ள வித்தியாசமாகும்.
பொதுவான தவறுகள்
- சரிபார்ப்பு GET-இல் raw challenge value-க்கு பதிலாக JSON திருப்பி அனுப்புதல்.
- 200 திருப்பி அனுப்புவதற்கு முன் inline-ஆக செயலாக்குதல். மெதுவான பதில்களுக்கு Meta retry செய்வதால் மெசேஜை 2 முறை கையாளுவீர்கள்.
- காலக்கெட்டைச் சரிபார்க்காமல் ஃப்ரீ டெக்ஸ்ட் அனுப்புதல். அது 131047-ஐத் திருப்பி அனுப்பும், எதுவும் நடக்காதது போலத் தோன்றும்.
easycoexistence.com-இல் எண்ணை இணைத்து, வெப்ஹூக் இலக்கு-ஐ உங்கள் ரூட்டாக அமைத்து, டாஷ்போர்டிலிருந்து ஃபோன் எண் ID மற்றும் டோக்கனைப் பெறுங்கள். ஒரு எண்ணுக்கு மாதம் US$ 9 முதல், அதிக எண்ணிக்கையில் US$ 2 வரை குறையும். முதல் 7 நாட்கள் இலவசம்.
அடிக்கடி கேட்கப்படும் கேள்விகள்
Python SDK உள்ளதா?
எங்களிடமிருந்து இல்லை, உங்களுக்கு அதுவும் தேவையில்லை. API Meta-வுடையது, ஆவணங்களும் Meta-வுடையவை, எந்த HTTP நூலகத்திலிருந்தும் அதை அணுகலாம்.
எந்த ஃப்ரேம்வொர்க்கைப் பயன்படுத்த வேண்டும்?
எதுவாக இருந்தாலும் பரவாயில்லை. GET-க்கு பதிலளித்து POST-ஐ ஏற்கும் ஒரு ரூட் தேவை. ஒவ்வொரு Python வெப் ஃப்ரேம்வொர்க்கும் இதைச் செய்யும்.
ஒரே மெசேஜை 2 முறை கையாளாமல் இருப்பது எப்படி?
பேலோட்டில் உள்ள wamid message id-ஐப் பயன்படுத்தி duplicate-களை நீக்குங்கள். Meta திட்டமிட்டபடியே retry செய்வதால், இது edge case அல்ல, எதிர்பார்க்கப்படும் நிலை.
குழு இன்னும் ஃபோனைப் பயன்படுத்த முடியுமா?
ஆம். Coexistence அதே எண்ணில் WhatsApp Business ஆப்பை இயங்கச் செய்கிறது. அவர்கள் அனுப்பும் மெசேஜ்களை உங்கள் ஹேண்ட்லர் echo event ஆகப் பார்க்கும்.
தொடர்ந்து படிக்கவும்
தொடங்கத் தயாரா?
மாதங்கள் ஆகாமல், சில நிமிடங்களில் WhatsApp Coexistence-ஐ அமைக்குங்கள். ஆப்ஸ் போனில் தொடர்ந்து இயங்கும்.
இலவச ட்ரையலைத் தொடங்குங்கள்இதில் சரிபார்க்கப்பட்டது: