Webhook Response Block - Webhook அழைப்பவர்களுக்கு தனிப்பயன் HTTP பதில்களை அனுப்புதல்
உங்கள் ChatMaxima webhook ஐத் தூண்டிய அமைப்புக்கு தனிப்பயன் JSON, XML, அல்லது வெற்று உரை பதில்களைத் திருப்பி அனுப்பவும். நிலை குறியீடு, content type, மற்றும் body ஐ கட்டமைக்கவும்.
கண்ணோட்டம்
Webhook Response Block உங்கள் Webhook Block ஐ அழைத்த எந்தவொரு அமைப்புக்கும் ஒரு தனிப்பயன் HTTP பதிலைத் திருப்பி அனுப்ப உங்களை அனுமதிக்கிறது. இந்தத் தொகுதி இல்லாமல், ChatMaxima ஒரு பொதுவான 200 OK மற்றும் {"status":"success"} body உடன் பதிலளிக்கிறது. பெரும்பாலான callbacks க்கு அது நன்றாக இருக்கிறது, ஆனால் சில ஒருங்கிணைப்புகள் வழங்கலை வெற்றிகரமாகக் கருதுவதற்கு முன் ஒரு குறிப்பிட்ட வடிவம், நிலை குறியீடு, அல்லது content type ஐ எதிர்பார்க்கின்றன.
அழைப்பவர் பதில் குறித்து கடுமையாக இருக்கும்போது Webhook Response Block ஐப் பயன்படுத்துங்கள்: ஒரு குறிப்பிட்ட JSON புலத்தைக் காணும் வரை மீண்டும் முயற்சிக்கும் கட்டண நுழைவாயில்கள், XML ஐ எதிர்பார்க்கும் மரபு SOAP அமைப்புகள், பதிலை அடுத்தடுத்த படிகளாகப் பாகுபடுத்தும் iPaaS கருவிகள், அல்லது பதிலை பயனருக்குக் காண்பிக்கும் படிவ பில்டர்கள்.
Webhook Block vs Webhook Response Block
| அம்சம் | Webhook Block | Webhook Response Block |
|---|---|---|
| திசை | உள்வரும் HTTP அழைப்பைப் பெறுகிறது | அழைப்பவருக்கு HTTP பதிலைத் திருப்பி அனுப்புகிறது |
| இடம் | முதல் தொகுதி அல்லது நடு-ஓட்டம் | ஒரு Webhook Block இன் downstream எங்கும் |
| தேவையா | ஆம் (வெளிப்புற அழைப்புகளை ஏற்க) | விருப்பத்தேர்வு (தவிர்க்கப்பட்டால் ஒரு இயல்புநிலை 200 OK அனுப்பப்படுகிறது) |
| நோக்கம் | ஓட்டத்தைத் தூண்ட அல்லது தொடர | அழைப்பவருக்கு HTTP பதிலை வடிவமைக்க |
அதை எங்கே கண்டுபிடிப்பது
- Studio இல் உங்கள் சாட்பாட்டைத் திறக்கவும்
- இடது பக்கப்பட்டியில் இருந்து Webhook Response block ஐ கேன்வாஸுக்கு இழுக்கவும்
- கோரிக்கையைப் பெற்ற Webhook block இன் downstream இல் அதை இணைக்கவும்
- அதைக் கட்டமைக்க தொகுதியை இரட்டை-கிளிக் செய்யுங்கள்
Webhook Response block உடனடி அடுத்த தொகுதியாக இருக்க வேண்டியதில்லை. Webhook block க்கும் Webhook Response block க்கும் இடையில் Condition, API, Set Variable, மற்றும் Message தொகுதிகளை வைக்கலாம். ஓட்ட செயல்பாட்டின் போது response block அடையப்படும்போது, அதன் கட்டமைப்பு அசல் அழைப்பவருக்கான HTTP பதிலாகிறது.
கட்டமைப்பு
படி 1: HTTP நிலை குறியீட்டை அமைக்கவும்
| நிலை குறியீடு | எப்போது பயன்படுத்துவது |
|---|---|
200 | இயல்புநிலை. பெரும்பாலான அழைப்பவர்களுக்கு வெற்றியைக் குறிக்கிறது |
201 | webhook ஒரு வளத்தை உருவாக்கியபோது பயனுள்ளது (எ.கா. ஒரு புதிய உரையாடல்) |
202 | async செயலாக்கத்திற்காக ஏற்கப்பட்டது (பாட் பின்னர் அதன் மீது செயல்படும்) |
400 | தவறாக வடிவமைக்கப்பட்ட பேலோடுகளை நிராகரிக்கவும் |
401 | அங்கீகரிக்கப்படாத அழைப்பவர்களை நிராகரிக்கவும் |
500 | மீண்டும் முயற்சி தர்க்கத்திற்கு ஒரு பாட்-பக்க தோல்வியைக் குறிக்கவும் |
படி 2: Content-Type ஐ அமைக்கவும்
| Content-Type | எப்போது பயன்படுத்துவது |
|---|---|
application/json | பெரும்பாலான நவீன ஒருங்கிணைப்புகள் (இயல்புநிலை) |
application/xml | மரபு SOAP-பாணி அழைப்பவர்கள் |
text/plain | health-check பாணி callbacks |
text/html | ஒரு பயனருக்குக் காண்பிக்கப்படும் படிவ சமர்ப்பிப்பு ஒப்புதல்கள் |
படி 3: பதில் Body ஐ எழுதுங்கள்
body என்பது ஒரு free-form உரை புலம். அழைப்பவருக்குத் திருப்பித் தர விரும்பும் சரியான பேலோடை எழுதுங்கள். ஓட்டத்தில் முன்னர் பிடிக்கப்பட்ட மாறிகளை {variable_name} தொடரியலுடன் (ஒற்றை சுருள் அடைப்புக்குறிகள்) செருகலாம்.
JSON க்கு:
{
"received": true,
"conversation_id": "{conversation_id}",
"lead_id": "{reference_id}",
"acknowledged_at": "{current_time}"
}
XML க்கு:
<response>
<status>success</status>
<conversation_id>{conversation_id}</conversation_id>
</response>
வெற்று உரைக்கு:
OK
படி 4: சமர்ப்பித்து சேமிக்கவும்
தொகுதி மோடலில் Submit ஐக் கிளிக் செய்து, பின்னர் மேல் பட்டியில் உள்ள Save Changes ஐப் பயன்படுத்தி ஓட்டத்தைச் சேமிக்கவும்.
இது எப்படி வேலை செய்கிறது
External system POSTs to webhook URL
│
▼
Webhook Block fires
│
▼
(Optional) intermediate blocks:
- Condition to validate payload
- API Block to enrich data
- Set Variable to compute fields
│
▼
Webhook Response Block reached
│
▼
Custom HTTP response returned
to the original caller
│
▼
Flow continues to downstream blocks
(messages, further logic, etc.)
HTTP பதில் ஒத்திசைவாக அனுப்பப்படுகிறது: response block அடையப்படும் வரை வெளிப்புற அழைப்பவர் இணைக்கப்பட்டிருக்கிறார். இதன் காரணமாக, Webhook block க்கும் Webhook Response block க்கும் இடையிலான பாதையை வேகமாக வைத்திருங்கள். response block க்கு முன் நீண்ட கால API அழைப்புகள் அல்லது நேரத்தை எடுத்துக்கொள்ளும் தர்க்கத்தைத் தவிர்க்கவும், இல்லையெனில் அழைப்பவர் timeout ஆகலாம்.
பொதுவான பயன்பாட்டு வழக்குகள்
Conversation ID உடன் ஒப்புதல்
ஒரு iPaaS கருவி (n8n, Zapier, Make) webhook ஐத் தூண்டிய பிறகு உரையாடல் ID ஐ அதன் சொந்த அமைப்பில் பதிவு செய்ய விரும்புகிறது.
- Status Code:
201 - Content-Type:
application/json - Body:
{
"created": true,
"conversation_id": "{conversation_id}",
"reference_id": "{reference_id}"
}
சரிபார்ப்பு முடிவை Echo Back செய்தல்
ஒரு படிவ பில்டர் பயனர் உள்ளீட்டை post செய்கிறது. பாட் அதைச் சரிபார்த்து ஒரு pass/fail ஐத் திருப்பித் தருகிறது, இதனால் படிவம் சரியான செய்தியைக் காண்பிக்கலாம்.
- Status Code:
200 - Content-Type:
application/json - Body:
{
"valid": true,
"message": "Your request has been received"
}
தவறான பேலோடுகளை நிராகரித்தல்
ஒரு Condition block ஐ (தேவையான புலங்களைச் சரிபார்க்கிறது) தோல்வி கிளையில் 400 ஐத் திருப்பித் தரும் ஒரு Webhook Response block உடன் இணைக்கவும்.
- Status Code:
400 - Content-Type:
application/json - Body:
{
"error": "missing_required_field",
"field": "{missing_field}"
}
கட்டண நுழைவாயில் உறுதிப்படுத்தல்
ஒரு கட்டண நுழைவாயில் ஒரு settle webhook ஐ post செய்கிறது. பாட் ஒரு குறிப்பிட்ட JSON வடிவத்தைத் திருப்பித் தர வேண்டும் அல்லது நுழைவாயில் மீண்டும் மீண்டும் முயற்சிக்கும்.
- Status Code:
200 - Content-Type:
application/json - Body:
{
"status": "acknowledged",
"transaction_id": "{transaction_id}"
}
SMS வழங்கல் ரசீது
ஒரு மரபு SMS வழங்குநர் ஒரு வெற்று உரை OK பதிலை எதிர்பார்க்கிறது.
- Status Code:
200 - Content-Type:
text/plain - Body:
OK
சிறந்த நடைமுறைகள்
- பாதையை குறுகியதாக வைத்திருங்கள். Webhook மற்றும் Webhook Response க்கு இடையில் வேகமாக இயங்கும் தொகுதிகளை மட்டுமே வைக்கவும். நீண்ட API அழைப்புகள் response block க்குப் பிறகு செல்ல வேண்டும், இதனால் அழைப்பவர் timeout ஆகாது
- மீண்டும் முயற்சிக்கும் அழைப்பவர்களுக்கு எப்போதும் விரைவாகத் திருப்பித் தரவும். கட்டண நுழைவாயில்கள் மற்றும் SMS வழங்குநர்கள் பெரும்பாலும் வினாடிகளுக்குள் மீண்டும் முயற்சிக்கின்றனர். ஒரு வினாடி அல்லது இரண்டில் response block ஐ அடைவது நகல் அறிவிப்புகளைத் தவிர்க்கிறது
- அழைப்பவரின் எதிர்பார்க்கப்படும் வடிவத்துடன் சரியாகப் பொருந்தவும். நிலை குறியீடு சரியாக இருந்தாலும் கடுமையான அழைப்பவர்கள் பதில்களை நிராகரிக்கின்றனர். ஒருங்கிணைப்பு ஆவணங்களைப் படித்து அவர்களின் மாதிரி கோரிக்கைகளுடன் சோதிக்கவும்
- பதிலைக் கிளைக்க Condition blocks ஐப் பயன்படுத்தவும். வெற்றி கிளையில் ஒரு Webhook Response block மற்றும் தோல்வி கிளையில் வேறு ஒன்று (
400அல்லது401உடன்) வைத்திருங்கள் - உரையாடல் அல்லது reference ID ஐச் சேர்க்கவும். இது அழைப்பவரின் பதிவுகளை ChatMaxima இல் உள்ள உரையாடலுடன் தொடர்புபடுத்துவதை எளிதாக்குகிறது
- பதிலில் முக்கிய தரவை வைக்க வேண்டாம். பதில் அழைப்பவருக்குத் தெரியும். ரசீதை உறுதிப்படுத்த அவர்களுக்குத் தேவையானதை மட்டுமே திருப்பித் தரவும்
சிக்கல் தீர்வு
அழைப்பவர் என் தனிப்பயன் பதிலுக்குப் பதிலாக இயல்புநிலை 200 OK ஐப் பெறுகிறார்
- ஒரு Webhook Response block உள்ளது மற்றும் Webhook block இலிருந்து அணுகக்கூடியது என்பதை உறுதிப்படுத்தவும்
- ஓட்ட வரைபடத்தைச் சரிபார்க்கவும்: ஒரு Condition response block ஐச் சுற்றி வழியமைத்தால், இயல்புநிலை பயன்படுத்தப்படுகிறது
- தொகுதி சேமிக்கப்பட்டதை உறுதிசெய்யுங்கள். மோடலில் Submit ஐக் கிளிக் செய்து, பின்னர் மேல் பட்டியில் Save Changes ஐக் கிளிக் செய்யுங்கள்
அழைப்பவர் மீண்டும் மீண்டும் முயற்சிக்கிறார்
- நிலை குறியீடு அழைப்பவர் வெற்றியாகக் கருதுவதுடன் பொருந்துகிறதா என்பதை உறுதிசெய்யுங்கள். சில வழங்குநர்கள்
201அல்லது202ஐ அல்ல,200ஐ மட்டுமே ஏற்கிறார்கள் - பதில் body அழைப்பவரின் எதிர்பார்க்கப்படும் வடிவத்துடன் பொருந்துகிறதா என்பதைச் சரிபார்க்கவும். அவர்களின் ஆவணங்கள் அல்லது பதிவுகளை ஆய்வு செய்யுங்கள்
- Webhook மற்றும் Webhook Response க்கு இடையில் மெதுவான upstream தொகுதிகள் உள்ளதா எனச் சரிபார்க்கவும். பதில் அனுப்பப்படுவதற்கு முன் அழைப்பவர் timeout ஆகலாம்
மாறிகள் பதில் body இல் raw {variable_name} ஆகத் தோன்றுகின்றன
- மாறி அதே ஓட்டத்தில் முந்தைய தொகுதியால் அமைக்கப்பட்டது என்பதை உறுதிப்படுத்தவும்
- மாறி பெயர்கள் எழுத்து-உணர்திறன் கொண்டவை. எழுத்துப்பிழையைச் சரிபார்க்கவும்
- உள்ளமைக்கப்பட்ட புலங்களுக்கு, dot notation ஐப் பயன்படுத்துங்கள்:
{customer.email},{customer_email}அல்ல - மாறி உள்வரும் webhook பேலோடிலிருந்து வந்தால், பேலோட் உண்மையில் புலத்தைக் கொண்டிருந்ததை உறுதிசெய்யுங்கள்
தவறாக வடிவமைக்கப்பட்ட JSON கடுமையான அழைப்பவர்களால் நிராகரிக்கப்படுகிறது
- சேமிப்பதற்கு முன் body டெம்ப்ளேட்டை JSON ஆகச் சரிபார்க்கவும். ஒரு string புலத்தில் ஒரு quote செய்யப்படாத மாறி, மதிப்பில் quotes அல்லது line breaks இருந்தால் தவறான JSON ஐ உருவாக்கும்
{amount}போன்ற எண் புலங்களுக்கு, quotes இல் சுற்ற வேண்டாம். string புலங்களுக்கு, எப்போதும் சுற்றவும்:"name": "{name}"- திருப்பித் தரப்பட்ட உண்மையான bytes ஐப் பார்க்க ஒரு மாதிரி அழைப்புடன் (curl அல்லது Postman ஐப் பயன்படுத்தி) சோதிக்கவும்
Content-Type பொருந்தாமை
- சில அழைப்பவர்களுக்கு
application/json; charset=utf-8வெளிப்படையாகத் தேவை. இயல்புநிலை charset இல்லாமல்application/jsonஐ அனுப்புகிறது - SOAP கிளையன்ட்களுக்கு
application/xmlஐ விடtext/xmlதேவைப்படலாம். ஒருங்கிணைப்பு ஆவணங்களைச் சரிபார்க்கவும்
அடுத்த படிகள்
- Webhook Block - ஒரு ஓட்டத்தைத் தூண்ட அல்லது தொடர உள்வரும் HTTP அழைப்புகளைப் பெறவும்
- API Block - ஓட்டத்திலிருந்து வெளிப்புற API களை அழைக்கவும்
- Studio கண்ணோட்டம் - அனைத்து தொகுதி வகைகள் மற்றும் ஓட்ட பில்டர் அம்சங்களை ஆராயுங்கள்
Webhook Block - உங்கள் சாட்பாட் ஓட்டத்தில் உள்வரும் HTTP அழைப்புகளைப் பெறுதல்
உங்கள் ChatMaxima சாட்பாட் ஓட்டத்தை இடைநிறுத்தி ஒரு வெளிப்புற HTTP அழைப்புக்காக காத்திருங்கள். பேலோடுகளைப் பெறவும், ஓட்டத்தைத் தொடரவும், மற்றும் அழைப்பவருக்கு தனிப்பயன் HTTP பதில்களைத் திருப்பி அனுப்பவும்.
Firebase Block - உங்கள் சாட்பாட்டில் Firestore மற்றும் Cloud Messaging
Firebase Firestore மற்றும் Cloud Messaging ஐ உங்கள் ChatMaxima சாட்பாட்டுடன் இணைக்கவும். Studio ஓட்டங்களிலிருந்து ஆவணங்களைப் படிக்கவும், சேகரிப்புகளை வினவவும், மற்றும் push அறிவிப்புகளை அனுப்பவும்.