Meta Tech Provider

Node.js-இலிருந்து WhatsApp மெசேஜ்களை அனுப்பவும், பெறவும்

பெறுவது என்பது Meta-வின் சரிபார்ப்பு GET-க்கு பதிலளித்து POST-களை ஏற்கும் ஒரு ரூட். அனுப்புவது என்பது எண்ணின் phone number id மற்றும் டோக்கனுடன் Cloud API-க்கு fetch கோரிக்கை அனுப்புவது. எங்களுடைய SDK எதுவும் இல்லை, நிறுவவும் எதுவும் இல்லை.

2 handlers

Meta-வின் சரிபார்ப்புக்கான GET மற்றும் events-க்கான POST.

24 hours

வாடிக்கையாளர் மெசேஜுக்குப் பிறகு ஃப்ரீ டெக்ஸ்ட் அனுப்பக்கூடிய காலவரம்பு.

131047

அந்தக் காலவரம்புக்கு வெளியே ஃப்ரீ டெக்ஸ்ட் அனுப்பும்போது திரும்பும் பிழை.

Node-இல் மெசேஜ்களை எப்படிப் பெறுவது?

Express, Fastify, Next route handler அல்லது சாதாரண சர்வரில், இரண்டு methods கொண்ட ஒரு ரூட் போதுமானது.

GET, Meta-வின் சரிபார்ப்புக்கு பதிலளிக்கும்: query-யிலிருந்து hub.mode, hub.verify_token மற்றும் hub.challenge-ஐப் படித்து, டோக்கனை உங்களுடையதுடன் ஒப்பிட்டு, challenge-ஐ சாதாரண டெக்ஸ்ட்டாகத் திருப்புங்கள். அதை JSON ஆகத் திருப்புவது வழக்கமான தவறு. அப்போது சரியாகத் தோன்றும் எண்ட்பாயிண்ட் எதையும் பெறாது.

POST events-ஐப் பெறும். உடனே 200 பதிலளித்து, அதன் பிறகு செயலாக்குங்கள். மெதுவான எதையும் Meta மீண்டும் அனுப்பும். பதிலளிப்பதற்கு முன் வேலையைச் செய்யும் ஹேண்ட்லர் ஒரே மெசேஜை ஒன்றுக்கு மேல் காணும். குறிப்பாக சர்வர்லெஸ்ஸில், முதலில் பதிலளித்து வேலையை க்யூவில் சேர்ப்பதே cold start-ஐ டூப்ளிகேட்டாக மாறாமல் காக்கும்.

எப்படிப் அனுப்புவது?

phone number id-க்கான Cloud API messages எண்ட்பாயிண்ட்டுக்கு, டோக்கனை bearer header ஆகக் கொண்டு fetch அனுப்புங்கள்.

இதில் எதுவும் எங்களைச் சார்ந்தது அல்ல. எனவே கோரிக்கை Meta-வின் சொந்த ஆவணங்களைப் போலவே இருக்கும். கற்றுக்கொள்ள வேண்டிய wrapper-ம் இல்லை, அதில் சிக்கிக்கொள்ளவும் வேண்டாம். இரண்டு மதிப்புகளும் டாஷ்போர்டில் உள்ளன. உதவியாளர் இணைப்பை அமைத்தால், get_api_credentials அவற்றை MCP connector வழியாகத் திருப்பும்.

உடலின் வடிவம் நேரத்தைப் பொறுத்தது. வாடிக்கையாளரின் கடைசி inbound மெசேஜிலிருந்து 24 மணி நேரத்துக்குள், text object அனுப்புங்கள். அதற்கு வெளியே, அங்கீகரிக்கப்பட்ட டெம்ப்ளேட் பெயர் மற்றும் மொழியுடன் டெம்ப்ளேட் ஆப்ஜெக்ட் அனுப்புங்கள். text மட்டும் அனுப்பும் code எல்லா சோதனைகளையும் கடந்து, இரவில் வரும் முதல் மெசேஜில் தோல்வியடையும்.

சர்வர்லெஸ்ஸில் என்ன வித்தியாசம்?

இரண்டு விஷயங்கள் உள்ளன. இரண்டுமே வேலையை முடிப்பதற்கு முன் function முடிவதைப் பற்றியது.

200 பதிலளித்த பிறகு செயலாக்கத்தைத் தொடர்வது, பதிலளிக்கும் தருணத்தில் உறைந்துவிடும் function-ல் நிலைத்திருக்காது. பதிலுக்குப் பிறகும் வேலையைத் தொடர உங்கள் platform வழங்கும் வசதியைப் பயன்படுத்துங்கள். அல்லது பேலோடை க்யூவில் சேர்த்து, தனி function மூலம் கையாளுங்கள். Meta-வுக்கு விரைவான acknowledgement மட்டுமே தேவை, வேலை முடிந்திருக்க வேண்டியதில்லை.

Cold starts மெதுவான பதில்களை அதிகமாக்கும். இதனால் அதிக retries மற்றும் டூப்ளிகேட்டுகள் ஏற்படும். wamid மெசேஜ் id அடிப்படையில் deduplication செய்வது விருப்பமல்ல. இந்த அமைப்பை நம்பகமானதாக்குவது அதுவே.

பொதுவான தவறுகள்

  • challenge-ஐ raw body ஆகத் திருப்புவதற்குப் பதிலாக JSON ஆகத் திருப்புவது.
  • 200 பதிலளிப்பதற்கு முன் வேலையைச் செய்வது. சர்வர்லெஸ்ஸில் பதிலளிக்கும் தருணத்தில் function உறைந்துவிடலாம்.
  • deduplication-ஐத் தவிர்ப்பது. Meta திட்டமிட்டே retries செய்கிறது. டூப்ளிகேட்டுகள் வழக்கமானவை, அரிதான விளிம்பு நிலை அல்ல.
EasyCoexistence மூலம் இதைச் செய்வது

easycoexistence.com-ல் எண்ணை இணைத்து, வெப்ஹூக் இலக்கு-ஐ உங்கள் ரூட்டாக அமைத்து, டாஷ்போர்டிலிருந்து phone number id மற்றும் டோக்கனைப் பெறுங்கள். ஒரு எண்ணுக்கு மாதம் US$ 9 முதல், அதிக அளவில் US$ 2 வரை குறையும். முதல் 7 நாட்கள் இலவச ட்ரையல்.

அடிக்கடி கேட்கப்படும் கேள்விகள்

எனக்கு library தேவையா?

தேவையில்லை. ஒரு ரூட் மற்றும் fetch போதுமானது. அந்தக் கோரிக்கை Meta-வின் ஆவணங்களைப் போலவே இருக்கும்.

இது Vercel அல்லது Lambda-வில் செயல்படுமா?

ஆம். வழக்கமான சர்வர்லெஸ் வரம்புடன், முதலில் acknowledgement கொடுத்து, inline-ஆக அல்லாமல் க்யூ அல்லது background mechanism மூலம் செயலாக்குங்கள்.

கோரிக்கை Meta-விடமிருந்து வந்தது என்பதை எப்படி சரிபார்ப்பது?

signature header-ஐ உங்கள் app secret-உடன் ஒப்பிடுங்கள். எண்ட்பாயிண்ட் public ஆனவுடன் இதைச் செய்வது நல்லது.

TypeScript-ஐப் பயன்படுத்தலாமா?

ஆம். எங்களிடமிருந்து type செய்ய எதுவும் இல்லை. பேலோட் Meta-வினுடையது, அதை Meta ஆவணப்படுத்தியுள்ளது.

தொடர்ந்து படிக்கவும்

தொடங்கத் தயாரா?

மாதங்கள் ஆகாமல், சில நிமிடங்களில் WhatsApp Coexistence-ஐ அமைக்குங்கள். ஆப்ஸ் போனில் தொடர்ந்து இயங்கும்.

இலவச ட்ரையலைத் தொடங்குங்கள்

இதில் சரிபார்க்கப்பட்டது:

Node.js-இலிருந்து WhatsApp மெசேஜ்களை அனுப்புங்கள்