# अपनी Journey में वेबहूक प्रतिक्रिया डेटा का उपयोग करना

## अवलोकन

जब आप [एक वेबहूक प्रतिक्रिया से मानों को मैप करते हैं](/hi/product/customer-journey/journey-elements/channels/webhook/#map-webhook-response-data-to-variables), तो Pushwoosh उन्हें वेरिएबल्स के रूप में संग्रहीत करता है जिन्हें आप बाद में Journey में कहीं भी उपयोग कर सकते हैं, जहाँ आप अन्यथा एक [इवेंट एट्रिब्यूट](/hi/product/audience-data-and-segmentation/events/#2-set-attributes) का उपयोग करेंगे।

<Aside type="note">
एक **वेबहूक** एलिमेंट जोड़ने और **प्रतिक्रिया मैपिंग** को कॉन्फ़िगर करने के लिए, [वेबहूक](/hi/product/customer-journey/journey-elements/channels/webhook/#map-webhook-response-data-to-variables) देखें।
</Aside>

## उपयोगकर्ता प्रोफ़ाइल अपडेट करें के साथ एक वेबहूक मान को टैग के रूप में सहेजें

एक [**वेबहूक**](/hi/product/customer-journey/journey-elements/channels/webhook/#map-webhook-response-data-to-variables) एक बाहरी सिस्टम से डेटा लौटा सकता है, जैसे कि एक CRM उपयोगकर्ता आईडी या सदस्यता स्थिति, जिसे Pushwoosh अभी तक उपयोगकर्ता प्रोफ़ाइल पर संग्रहीत नहीं करता है। [**उपयोगकर्ता प्रोफ़ाइल अपडेट करें**](/hi/product/customer-journey/journey-elements/flow-controls/update-user-profile/#use-a-value-from-a-webhook-response) मैप किए गए मानों को [टैग](/hi/product/audience-data-and-segmentation/user-data-tags/tags/) के रूप में सहेजता है ताकि आप उन्हें [सेगमेंट](/hi/product/audience-data-and-segmentation/segmentation/), [डायनामिक कंटेंट](/hi/product/personalization/dynamic-content/), और बाद के Journey स्टेप्स में उपयोग कर सकें।

### उदाहरण: एक CRM उपयोगकर्ता आईडी को टैग के रूप में सहेजें

एक नया उपयोगकर्ता आपके ऐप में साइन अप करता है, और Journey आपके CRM में एक मेल खाने वाला रिकॉर्ड बनाता है। लौटाए गए CRM उपयोगकर्ता आईडी को टैग के रूप में सहेजना आपको बाद में उसी CRM रिकॉर्ड को संदर्भित करने या अपडेट करने देता है, उदाहरण के लिए किसी अन्य Journey या फॉलो-अप वेबहूक कॉल से, बजाय इसके कि हर बार उपयोगकर्ता Journey में फिर से प्रवेश करने पर एक डुप्लिकेट रिकॉर्ड बनाया जाए।

**Journey प्रवाह:** ट्रिगर-आधारित एंट्री → वेबहूक → उपयोगकर्ता प्रोफ़ाइल अपडेट करें → एग्जिट

1. `SignUp` इवेंट पर **ट्रिगर-आधारित एंट्री** के साथ एक Journey बनाएं।
2. एंट्री स्टेप के बाद एक **वेबहूक** एलिमेंट जोड़ें। इसे नाम दें (उदाहरण के लिए, `CRM में उपयोगकर्ता बनाएं`) और अनुरोध URL को अपने CRM उपयोगकर्ता-बनाएं एंडपॉइंट पर सेट करें।
3. **प्रतिक्रिया मैपिंग** में, **पाथ** को प्रतिक्रिया में आईडी फ़ील्ड पर सेट करें (उदाहरण के लिए, `data.user.id`) और **एट्रिब्यूट** को `crm_user_id` पर सेट करें।

<img src="/journey-elements-webhook-response-data-1.webp" alt="पाथ data.user.id और एट्रिब्यूट crm_user_id के साथ वेबहूक प्रतिक्रिया मैपिंग" />

4. **वेबहूक** स्टेप के बाद एक **उपयोगकर्ता प्रोफ़ाइल अपडेट करें** एलिमेंट जोड़ें।

5. **डायनामिक टैग वैल्यू** में, **+ डायनामिक वैल्यू** पर क्लिक करें। **टैग** में, उस टैग का चयन करें जो CRM आईडी संग्रहीत करता है (यदि आवश्यक हो तो इसे पहले से बना लें)। **इवेंट** में, आपके द्वारा दिए गए नाम से वेबहूक स्टेप का चयन करें (`CRM में उपयोगकर्ता बनाएं`)। **डायनामिक वैल्यू** में, `crm_user_id` का चयन करें।
<img src="/journey-elements-webhook-response-data-2.webp" alt="CRM ID के लिए टैग, इवेंट वेबहूक स्टेप, और डायनामिक वैल्यू crm_user_id के साथ डायनामिक टैग वैल्यू" />
6. ब्रांच के अंत में **एग्जिट** जोड़ें।
<img src="/journey-elements-webhook-response-data-3.webp" alt="उपयोगकर्ता प्रोफ़ाइल अपडेट करें स्टेप के बाद एग्जिट के साथ समाप्त होने वाली Journey ब्रांच" />

<Aside type="caution">
यदि किसी उपयोगकर्ता के लिए वेबहूक मान गायब है (प्रतिक्रिया JSON नहीं थी, **पाथ** हल नहीं हुआ, या कॉल विफल हो गई), तो Pushwoosh उस टैग अपडेट को छोड़ देता है। टैग अपना पिछला मान रखता है या अनसेट रहता है, और Journey इस स्टेप पर बिना किसी त्रुटि के जारी रहती है। अपनी मैपिंग की पुष्टि करने के लिए लॉन्च से पहले [**टेस्ट वेबहूक**](/hi/product/customer-journey/journey-elements/channels/webhook/#test-the-webhook) चलाएं। [और जानें](/hi/product/customer-journey/journey-elements/flow-controls/update-user-profile/#use-a-value-from-a-webhook-response)।
</Aside> 

## टाइम डिले के साथ एक वेबहूक मान से एक देरी शेड्यूल करें

विज़िट तिथियां, नवीनीकरण की समय-सीमाएं, और डिलीवरी विंडो अक्सर एक बाहरी बुकिंग या बिलिंग सिस्टम में रहते हैं। जब एक [**वेबहूक**](/hi/product/customer-journey/journey-elements/channels/webhook/#map-webhook-response-data-to-variables) API प्रतिक्रिया से तारीख को मैप करता है, तो [**टाइम डिले**](/hi/product/customer-journey/journey-elements/flow-controls/time-delay/#use-a-date-from-a-webhook-response) Journey को उस क्षण तक रोक सकता है, उदाहरण के लिए एक अपॉइंटमेंट से 2 दिन पहले, ताकि अगला संदेश समय पर भेजा जा सके।

### उदाहरण: प्रतिक्रिया में एक तारीख से एक रिमाइंडर शेड्यूल करें

एक उपयोगकर्ता आपके ऐप में एक अपॉइंटमेंट बुक करता है। Journey आपके बुकिंग सिस्टम से विज़िट की तारीख प्राप्त करती है और विज़िट से 2 दिन पहले एक पुश रिमाइंडर भेजती है।


1. `AppointmentBooked` इवेंट पर **ट्रिगर-आधारित एंट्री** के साथ एक Journey बनाएं।
2. एंट्री स्टेप के बाद एक **वेबहूक** एलिमेंट जोड़ें। इसे नाम दें (उदाहरण के लिए, `अपॉइंटमेंट विवरण प्राप्त करें`) और अनुरोध URL को अपने बुकिंग सिस्टम API पर सेट करें।
3. **प्रतिक्रिया मैपिंग** में, **पाथ** को प्रतिक्रिया में तारीख फ़ील्ड पर सेट करें (उदाहरण के लिए, `appointment.date`) और **एट्रिब्यूट** को `visit_date` पर सेट करें।
<img src="/journey-elements-webhook-response-data-4.webp" alt="appointment.date से visit_date के लिए प्रतिक्रिया मैपिंग के साथ वेबहूक स्टेप" />
4. **वेबहूक** स्टेप के बाद एक **टाइम डिले** एलिमेंट जोड़ें। **उपयोगकर्ता/इवेंट डेटा के आधार पर** चुनें, **से तारीख प्राप्त करें** को **इवेंट** पर सेट करें, **इवेंट** को आपके द्वारा दिए गए नाम से वेबहूक स्टेप पर सेट करें (`अपॉइंटमेंट विवरण प्राप्त करें`), **इवेंट वैल्यू** को `visit_date` पर सेट करें, और देरी को **पहले** `2` **दिन** पर सेट करें।
<img src="/journey-elements-webhook-response-data-5.webp" alt="वेबहूक visit_date से 2 दिन पहले के ऑफसेट के साथ कॉन्फ़िगर किया गया टाइम डिले" />
5. यदि उपयोगकर्ता विज़िट से 2 दिन से कम समय पहले बुक कर सकते हैं, तो **टाइम डिले** एलिमेंट पर **यदि तारीख अतीत में है या तारीख खाली है तो ब्रांचों में विभाजित करें** को सक्षम करें। यह दो ब्रांच बनाता है, **अतीत में** और **भविष्य में**। देखें [जब तारीख अतीत में हो या खाली हो तो ब्रांचों को विभाजित करें](/hi/product/customer-journey/journey-elements/flow-controls/time-delay/#split-branches-when-the-date-is-in-the-past-or-empty)।
6. अपने रिमाइंडर संदेश के साथ एक **पुश** स्टेप जोड़ें। यदि स्प्लिट सक्षम है, तो इस **पुश** को दोनों ब्रांचों में जोड़ें: **अतीत में** (तुरंत भेजें) और **भविष्य में** (**टाइम डिले** के बाद)।
7. प्रत्येक ब्रांच के अंत में **एग्जिट** जोड़ें।
<img src="/journey-elements-webhook-response-data-6.webp" alt="टाइम डिले को अतीत में और भविष्य में ब्रांचों में विभाजित किया गया है, प्रत्येक में पुश और एग्जिट स्टेप हैं" />

<Aside type="caution">
यदि मैप किया गया मान गायब है या एक मान्य तारीख नहीं है, तो उपयोगकर्ता इस स्टेप पर एक त्रुटि के साथ Journey से बाहर निकल जाता है।

यदि विज़िट 2 दिन से पहले है, तो **पहले** `2` **दिन** का लक्ष्य पहले से ही अतीत में है जब उपयोगकर्ता **टाइम डिले** तक पहुंचता है, और उपयोगकर्ता बिना किसी त्रुटि और बिना किसी रिमाइंडर के Journey छोड़ देता है जब तक कि आप **यदि तारीख अतीत में है या तारीख खाली है तो ब्रांचों में विभाजित करें** को सक्षम नहीं करते हैं।

[**उपयोगकर्ता प्रोफ़ाइल अपडेट करें**](/hi/product/customer-journey/journey-elements/flow-controls/update-user-profile/#use-a-value-from-a-webhook-response) के विपरीत, जो टैग को अपरिवर्तित छोड़ देता है और जारी रहता है, **टाइम डिले** उपयोगकर्ता को तब रोकता है जब तारीख गायब, अमान्य, या अतीत में होती है (बिना ब्रांच विभाजन के)।
सुनिश्चित करें कि आपका वेबहूक मज़बूती से एक [समर्थित प्रारूप](/hi/product/customer-journey/journey-elements/flow-controls/time-delay/#delay-based-on-user-or-event-data) में एक तारीख लौटाता है। लॉन्च से पहले [**टेस्ट वेबहूक**](/hi/product/customer-journey/journey-elements/channels/webhook/#test-the-webhook) चलाएं। [और जानें](/hi/product/customer-journey/journey-elements/flow-controls/time-delay/#use-a-date-from-a-webhook-response)।
</Aside>

## ध्यान रखने योग्य बातें

* **पाथ सिंटैक्स:** एक डॉट-सेपरेटेड पाथ का उपयोग करें (उदाहरण के लिए, `data.user.id`)। वाइल्डकार्ड और फ़िल्टर समर्थित नहीं हैं। विवरण के लिए [वेबहूक प्रतिक्रिया मैपिंग](/hi/product/customer-journey/journey-elements/channels/webhook/#map-webhook-response-data-to-variables) देखें।
* **प्रतिक्रिया आकार:** 64 KB से बड़ी प्रतिक्रियाओं को मैपिंग के लिए संसाधित नहीं किया जाता है।
* **परीक्षण:** एक लाइव Journey में मैप किए गए मानों का उपयोग करने से पहले **वेबहूक** एलिमेंट में [**टेस्ट वेबहूक**](/hi/product/customer-journey/journey-elements/channels/webhook/#test-the-webhook) चलाएं।