ChatMaxima Docs
Studio

Webhook Response బ్లాక్ - Webhook కాలర్‌లకు కస్టమ్ HTTP ప్రతిస్పందనలను పంపండి

మీ ChatMaxima webhookను ట్రిగర్ చేసిన సిస్టమ్‌కు కస్టమ్ JSON, XML, లేదా సాదా టెక్స్ట్ ప్రతిస్పందనలను తిరిగి పంపండి. స్టేటస్ కోడ్, content type మరియు bodyను కాన్ఫిగర్ చేయండి.

అవలోకనం

Webhook Response బ్లాక్ మీ Webhook Blockను కాల్ చేసిన ఏ సిస్టమ్‌కైనా కస్టమ్ HTTP ప్రతిస్పందనను తిరిగి పంపడానికి మిమ్మల్ని అనుమతిస్తుంది. ఈ బ్లాక్ లేకుండా, ChatMaxima సాధారణ 200 OK మరియు {"status":"success"} బాడీతో ప్రత్యుత్తరం ఇస్తుంది. చాలా callbacks కోసం అది బాగానే ఉంది, కానీ కొన్ని ఇంటిగ్రేషన్‌లు డెలివరీ విజయవంతమైందిగా భావించడానికి ముందు నిర్దిష్ట ఆకారం, స్టేటస్ కోడ్, లేదా content typeను ఆశిస్తాయి.

కాలర్ ప్రత్యుత్తరం గురించి కఠినంగా ఉన్నప్పుడు Webhook Response బ్లాక్‌ను ఉపయోగించండి: నిర్దిష్ట JSON ఫీల్డ్‌ను చూసేవరకు రీట్రై చేసే పేమెంట్ గేట్‌వేలు, XMLను ఆశించే లెగసీ SOAP సిస్టమ్‌లు, ప్రతిస్పందనను తదుపరి స్టెప్‌లలోకి పార్స్ చేసే iPaaS సాధనాలు, లేదా ప్రత్యుత్తరాన్ని యూజర్‌కు ప్రదర్శించే ఫారమ్ బిల్డర్‌లు.

Webhook బ్లాక్ vs Webhook Response బ్లాక్

అంశంWebhook బ్లాక్Webhook Response బ్లాక్
దిశఇన్‌బౌండ్ HTTP కాల్‌ను స్వీకరిస్తుందికాలర్‌కు HTTP ప్రతిస్పందనను తిరిగి పంపుతుంది
ప్లేస్‌మెంట్మొదటి బ్లాక్ లేదా mid-flowWebhook బ్లాక్‌కు తదుపరి ఎక్కడైనా
అవసరంఅవును (బాహ్య కాల్‌లను అంగీకరించడానికి)ఐచ్ఛికం (వదిలేస్తే డిఫాల్ట్ 200 OK పంపబడుతుంది)
ప్రయోజనంఫ్లోను ట్రిగర్ చేయడం లేదా పునఃప్రారంభించడంకాలర్‌కు HTTP ప్రత్యుత్తరాన్ని రూపొందించడం

దీన్ని ఎక్కడ కనుగొనాలి

  1. Studioలో మీ చాట్‌బాట్‌ను తెరవండి
  2. ఎడమ సైడ్‌బార్ నుండి Webhook Response బ్లాక్‌ను క్యాన్వాస్‌పైకి డ్రాగ్ చేయండి
  3. అభ్యర్థనను స్వీకరించిన Webhook బ్లాక్‌కు తదుపరి దాన్ని కనెక్ట్ చేయండి
  4. దాన్ని కాన్ఫిగర్ చేయడానికి బ్లాక్‌ను డబుల్-క్లిక్ చేయండి

Webhook Response బ్లాక్ తక్షణ తదుపరి బ్లాక్ అవ్వాల్సిన అవసరం లేదు. మీరు Webhook బ్లాక్ మరియు Webhook Response బ్లాక్ మధ్య Condition, API, Set Variable మరియు Message బ్లాక్‌లను ఉంచవచ్చు. ఫ్లో అమలు సమయంలో response బ్లాక్‌ను చేరుకున్నప్పుడు, దాని కాన్ఫిగరేషన్ అసలు కాలర్‌కు HTTP ప్రత్యుత్తరం అవుతుంది.

కాన్ఫిగరేషన్

స్టెప్ 1: HTTP స్టేటస్ కోడ్‌ను సెట్ చేయండి

స్టేటస్ కోడ్ఎప్పుడు ఉపయోగించాలి
200డిఫాల్ట్. చాలా కాలర్‌లకు విజయాన్ని సూచిస్తుంది
201webhook ఒక రిసోర్స్‌ను సృష్టించినప్పుడు ఉపయోగకరం (ఉదా. కొత్త కన్వర్సేషన్)
202అసమకాలిక ప్రాసెసింగ్ కోసం అంగీకరించబడింది (బాట్ తర్వాత దానిపై చర్య తీసుకుంటుంది)
400లోపభూయిష్ట పేలోడ్‌లను తిరస్కరించండి
401అనధికార కాలర్‌లను తిరస్కరించండి
500రీట్రై లాజిక్ కోసం బాట్-సైడ్ వైఫల్యాన్ని సూచించండి

స్టెప్ 2: Content-Typeను సెట్ చేయండి

Content-Typeఎప్పుడు ఉపయోగించాలి
application/jsonచాలా ఆధునిక ఇంటిగ్రేషన్‌లు (డిఫాల్ట్)
application/xmlలెగసీ SOAP-స్టైల్ కాలర్‌లు
text/plainహెల్త్-చెక్ స్టైల్ callbacks
text/htmlయూజర్‌కు ప్రదర్శించబడే ఫారమ్ సబ్‌మిషన్ acknowledgements

స్టెప్ 3: ప్రతిస్పందన బాడీని రాయండి

బాడీ ఒక 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 బ్లాక్‌ను చేరుకునేవరకు బాహ్య కాలర్ కనెక్ట్ అయి ఉంటుంది. దీని వల్ల, Webhook బ్లాక్ మరియు Webhook Response బ్లాక్ మధ్య పాత్‌ను వేగంగా ఉంచండి. response బ్లాక్‌కు ముందు దీర్ఘకాలిక API కాల్‌లు లేదా సమయం తీసుకునే లాజిక్‌ను నివారించండి, లేకపోతే కాలర్ టైమ్‌అవుట్ అవ్వవచ్చు.

సాధారణ వినియోగ సందర్భాలు

Conversation IDతో Acknowledge చేయండి

ఒక iPaaS సాధనం (n8n, Zapier, Make) webhookను ట్రిగర్ చేసిన తర్వాత తన స్వంత సిస్టమ్‌లో conversation IDని రికార్డ్ చేయాలనుకుంటుంది.

  • స్టేటస్ కోడ్: 201
  • Content-Type: application/json
  • బాడీ:
{
  "created": true,
  "conversation_id": "{conversation_id}",
  "reference_id": "{reference_id}"
}

వాలిడేషన్ ఫలితాన్ని తిరిగి Echo చేయండి

ఒక ఫారమ్ బిల్డర్ యూజర్ ఇన్‌పుట్‌ను పోస్ట్ చేస్తుంది. బాట్ దాన్ని ధృవీకరించి ఫారమ్ సరైన సందేశాన్ని చూపేలా pass/failను తిరిగి ఇస్తుంది.

  • స్టేటస్ కోడ్: 200
  • Content-Type: application/json
  • బాడీ:
{
  "valid": true,
  "message": "Your request has been received"
}

చెల్లని పేలోడ్‌లను తిరస్కరించండి

400ను తిరిగి ఇచ్చే వైఫల్య శాఖపై Webhook Response బ్లాక్‌తో Condition బ్లాక్‌ను (అవసరమైన ఫీల్డ్‌లను తనిఖీ చేస్తూ) కలపండి.

  • స్టేటస్ కోడ్: 400
  • Content-Type: application/json
  • బాడీ:
{
  "error": "missing_required_field",
  "field": "{missing_field}"
}

పేమెంట్ గేట్‌వే నిర్ధారణ

ఒక పేమెంట్ గేట్‌వే settle webhookను పోస్ట్ చేస్తుంది. బాట్ నిర్దిష్ట JSON ఆకారాన్ని తిరిగి ఇవ్వాలి లేకపోతే గేట్‌వే రీట్రై చేస్తూ ఉంటుంది.

  • స్టేటస్ కోడ్: 200
  • Content-Type: application/json
  • బాడీ:
{
  "status": "acknowledged",
  "transaction_id": "{transaction_id}"
}

SMS డెలివరీ రసీదు

ఒక లెగసీ SMS ప్రొవైడర్ సాదా టెక్స్ట్ OK ప్రతిస్పందనను ఆశిస్తుంది.

  • స్టేటస్ కోడ్: 200
  • Content-Type: text/plain
  • బాడీ: OK

ఉత్తమ పద్ధతులు

  • పాత్‌ను చిన్నగా ఉంచండి. అవి వేగంగా నడిస్తేనే Webhook మరియు Webhook Response మధ్య బ్లాక్‌లను ఉంచండి. దీర్ఘ API కాల్‌లు response బ్లాక్ తర్వాత వెళ్లాలి, తద్వారా కాలర్ టైమ్‌అవుట్ అవ్వదు
  • రీట్రై చేసే కాలర్‌ల కోసం ఎల్లప్పుడూ త్వరగా తిరిగి ఇవ్వండి. పేమెంట్ గేట్‌వేలు మరియు SMS ప్రొవైడర్‌లు తరచుగా సెకన్లలో రీట్రై చేస్తాయి. ఒకటి లేదా రెండు సెకన్లలో response బ్లాక్‌ను చేరుకోవడం నకిలీ నోటిఫికేషన్‌లను నివారిస్తుంది
  • కాలర్ ఆశించే ఆకారాన్ని ఖచ్చితంగా సరిపోల్చండి. స్టేటస్ కోడ్ సరైనది అయినప్పటికీ కఠినమైన కాలర్‌లు ప్రతిస్పందనలను తిరస్కరిస్తాయి. ఇంటిగ్రేషన్ డాక్‌లను చదివి వారి నమూనా అభ్యర్థనలతో పరీక్షించండి
  • ప్రతిస్పందనను శాఖలుగా విభజించడానికి Condition బ్లాక్‌లను ఉపయోగించండి. విజయ శాఖపై ఒక Webhook Response బ్లాక్‌ను మరియు వైఫల్య శాఖపై వేరే ఒకదాన్ని (400 లేదా 401తో) ఉంచండి
  • conversation లేదా reference IDని చేర్చండి. ఇది కాలర్ లాగ్‌లను ChatMaximaలోని కన్వర్సేషన్‌తో సరిపోల్చడం సులభం చేస్తుంది
  • ప్రతిస్పందనలో సున్నితమైన డేటాను ఉంచకండి. ప్రతిస్పందన కాలర్‌కు కనిపిస్తుంది. రసీదును నిర్ధారించడానికి వారికి అవసరమైనదాన్ని మాత్రమే తిరిగి ఇవ్వండి

ట్రబుల్‌షూటింగ్

కాలర్ నా కస్టమ్ ప్రతిస్పందనకు బదులుగా డిఫాల్ట్ 200 OKను స్వీకరిస్తుంది

  1. Webhook Response బ్లాక్ ఉందని మరియు Webhook బ్లాక్ నుండి చేరుకోగలదని నిర్ధారించండి
  2. ఫ్లో గ్రాఫ్‌ను తనిఖీ చేయండి: Condition response బ్లాక్ చుట్టూ రూట్ చేస్తే, డిఫాల్ట్ ఉపయోగించబడుతుంది
  3. బ్లాక్ సేవ్ చేయబడిందని నిర్ధారించండి. మోడల్‌లో Submitపై క్లిక్ చేసి, ఆపై టాప్ బార్‌లో Save Changes

కాలర్ పదేపదే రీట్రై చేస్తుంది

  1. స్టేటస్ కోడ్ కాలర్ విజయంగా భావించే దానితో సరిపోతుందని నిర్ధారించండి. కొన్ని ప్రొవైడర్‌లు 201 లేదా 202 కాకుండా 200ను మాత్రమే అంగీకరిస్తాయి
  2. ప్రతిస్పందన బాడీ కాలర్ ఆశించే ఆకారంతో సరిపోతుందని ధృవీకరించండి. వారి డాక్‌లు లేదా లాగ్‌లను తనిఖీ చేయండి
  3. Webhook మరియు Webhook Response మధ్య నెమ్మదిగా ఉన్న అప్‌స్ట్రీమ్ బ్లాక్‌ల కోసం తనిఖీ చేయండి. ప్రతిస్పందన పంపబడకముందే కాలర్ టైమ్‌అవుట్ అవుతుండవచ్చు

ప్రతిస్పందన బాడీలో వేరియబుల్స్ రా {variable_name}గా కనిపిస్తాయి

  1. అదే ఫ్లోలో మునుపటి బ్లాక్ ద్వారా వేరియబుల్ సెట్ చేయబడిందని నిర్ధారించండి
  2. వేరియబుల్ పేర్లు case-sensitive. స్పెల్లింగ్‌ను తనిఖీ చేయండి
  3. నెస్టెడ్ ఫీల్డ్‌ల కోసం, డాట్ నొటేషన్‌ను ఉపయోగించండి: {customer.email}, {customer_email} కాదు
  4. వేరియబుల్ ఇన్‌బౌండ్ webhook పేలోడ్ నుండి అయితే, పేలోడ్ వాస్తవంగా ఫీల్డ్‌ను కలిగి ఉందని నిర్ధారించండి

లోపభూయిష్ట JSON కఠినమైన కాలర్‌ల ద్వారా తిరస్కరించబడుతుంది

  1. సేవ్ చేయడానికి ముందు బాడీ టెంప్లేట్‌ను JSONగా ధృవీకరించండి. ఒక స్ట్రింగ్ ఫీల్డ్‌లోని quote చేయని వేరియబుల్, విలువ quotes లేదా line breaksను కలిగి ఉంటే చెల్లని JSONను ఉత్పత్తి చేస్తుంది
  2. {amount} వంటి numeric ఫీల్డ్‌ల కోసం, quotesలో చుట్టకండి. స్ట్రింగ్ ఫీల్డ్‌ల కోసం, ఎల్లప్పుడూ చుట్టండి: "name": "{name}"
  3. తిరిగి ఇవ్వబడిన వాస్తవ బైట్‌లను చూడటానికి నమూనా కాల్‌తో (curl లేదా Postman ఉపయోగించి) పరీక్షించండి

Content-Type తేడా

  1. కొన్ని కాలర్‌లకు application/json; charset=utf-8 స్పష్టంగా అవసరం. డిఫాల్ట్ charset లేకుండా application/jsonను పంపుతుంది
  2. SOAP క్లయింట్‌లకు application/xml కాకుండా text/xml అవసరం కావచ్చు. ఇంటిగ్రేషన్ డాక్‌లను తనిఖీ చేయండి

తదుపరి స్టెప్‌లు

  • Webhook బ్లాక్ - ఫ్లోను ట్రిగర్ చేయడానికి లేదా పునఃప్రారంభించడానికి ఇన్‌బౌండ్ HTTP కాల్‌లను స్వీకరించండి
  • API బ్లాక్ - ఫ్లో నుండి బాహ్య APIలను కాల్ చేయండి
  • Studio అవలోకనం - అన్ని బ్లాక్ రకాలు మరియు ఫ్లో బిల్డర్ ఫీచర్‌లను అన్వేషించండి

ఈ పేజీలో

అవలోకనంWebhook బ్లాక్ vs Webhook Response బ్లాక్దీన్ని ఎక్కడ కనుగొనాలికాన్ఫిగరేషన్స్టెప్ 1: HTTP స్టేటస్ కోడ్‌ను సెట్ చేయండిస్టెప్ 2: Content-Typeను సెట్ చేయండిస్టెప్ 3: ప్రతిస్పందన బాడీని రాయండిస్టెప్ 4: సబ్‌మిట్ చేసి సేవ్ చేయండిఇది ఎలా పనిచేస్తుందిసాధారణ వినియోగ సందర్భాలుConversation IDతో Acknowledge చేయండివాలిడేషన్ ఫలితాన్ని తిరిగి Echo చేయండిచెల్లని పేలోడ్‌లను తిరస్కరించండిపేమెంట్ గేట్‌వే నిర్ధారణSMS డెలివరీ రసీదుఉత్తమ పద్ధతులుట్రబుల్‌షూటింగ్కాలర్ నా కస్టమ్ ప్రతిస్పందనకు బదులుగా డిఫాల్ట్ 200 OKను స్వీకరిస్తుందికాలర్ పదేపదే రీట్రై చేస్తుందిప్రతిస్పందన బాడీలో వేరియబుల్స్ రా {variable_name}గా కనిపిస్తాయిలోపభూయిష్ట JSON కఠినమైన కాలర్‌ల ద్వారా తిరస్కరించబడుతుందిContent-Type తేడాతదుపరి స్టెప్‌లు