# इवेंट स्ट्रीमिंग इंटीग्रेशन

<Aside type="caution" icon="setting" title="डेवलपर सहायता की आवश्यकता है">
 आपको इंटीग्रेशन सेट अप करने के लिए अपनी डेवलपमेंट टीम की मदद की आवश्यकता होगी। कृपया यह गाइड उनके साथ साझा करें।
</Aside>

## इंटीग्रेशन का अवलोकन

### इंटीग्रेशन का प्रकार

**स्रोत:** कॉन्फ़िगर किए गए इवेंट ट्रिगर्स के आधार पर Pushwoosh से आपके सिस्टम में HTTP या gRPC के माध्यम से डेटा भेजा जाता है।

### इंटीग्रेशन कैसे काम करता है?

Pushwoosh संचार इवेंट डेटा (जैसे, पुश/ईमेल गतिविधि) को क्लाइंट-परिभाषित एंडपॉइंट पर प्रसारित करता है। डेटा बैच स्ट्रीम में निर्धारित अंतराल पर या न्यूनतम बैच आकार तक पहुंचने पर भेजा जाता है।

डेटा केवल तभी भेजा जाता है जब यह चयनित इवेंट्स, प्लेटफ़ॉर्म और वैकल्पिक फ़िल्टर (अभियान/संदेश कोड, लाइव गतिविधि) से मेल खाता है। क्लाइंट एंडपॉइंट को स्थिति के साथ प्राप्त करने और वैकल्पिक रूप से प्रतिक्रिया देने के लिए तैयार होना चाहिए।

### शब्दावली

**एंडपॉइंट URL**: सर्वर-साइड एंडपॉइंट जो अनुरोध प्राप्त करने की अनुमति देता है। क्लाइंट यदि आवश्यक हो तो एक पोर्ट निर्दिष्ट कर सकता है।

उदाहरण:

* `https://clientdomainname.com/webhook_endpoint`  
* `https://clientdomainname.com:8081/webhook_endpoint`

### सिंक्रनाइज़ की गई संस्थाओं की सूची

* संचार सांख्यिकी इवेंट्स (जैसे, पुश भेजा गया, ईमेल डिलीवर हुआ)

### उपयोग के मामले

* **वास्तविक समय में सहभागिता ट्रैकिंग**

उपयोगकर्ता की बातचीत जैसे पुश भेजा गया, ईमेल खोला गया, या संदेश डिलीवर होने पर नज़र रखें, जिससे अभियान के प्रदर्शन में तत्काल दृश्यता सक्षम हो।

* **बाहरी एनालिटिक्स इंटीग्रेशन**

केंद्रीकृत रिपोर्टिंग और विश्लेषण के लिए तृतीय-पक्ष एनालिटिक्स प्लेटफ़ॉर्म पर इवेंट्स स्ट्रीम करें।

* **स्वचालित उपयोगकर्ता वर्कफ़्लो**

उपयोगकर्ता के व्यवहार के आधार पर बाहरी सिस्टम (जैसे CRM या मार्केटिंग ऑटोमेशन टूल) में क्रियाएं ट्रिगर करें, जैसे, जब कोई उपयोगकर्ता ईमेल खोलता है तो एक अनुवर्ती संदेश भेजें।

## इंटीग्रेशन सेट अप करना

इंटीग्रेशन सेट अप करने के लिए:

1. अपने Pushwoosh खाते में, **सेटिंग्स > तृतीय-पक्ष इंटीग्रेशन** पर जाएं, **इवेंट स्ट्रीमिंग इंटीग्रेशन** ढूंढें, और **कॉन्फ़िगर करें** पर क्लिक करें।

![इवेंट स्ट्रीमिंग इंटीग्रेशन कॉन्फ़िगर करें](/integrations-event-streaming-integration-1.webp)

2. खुलने वाली विंडो में, आवश्यक फ़ील्ड भरें।

![आवश्यक फ़ील्ड भरें](/integrations-event-streaming-integration-2.webp)

#### एंडपॉइंट URL दर्ज करें

 **एंडपॉइंट URL** फ़ील्ड में, वह पूरा URL दर्ज करें जहां इवेंट्स भेजे जाएंगे, जिसमें प्रोटोकॉल और पोर्ट यदि लागू हो, शामिल हैं।
 
 **उदाहरण**

* `https://clientdomainname.com/webhook_endpoint`   
* `https://clientdomainname.com:8081/webhook\_endpoint` 


#### इवेंट्स चुनें

   
**इवेंट्स** ड्रॉपडाउन से, कम से कम एक इवेंट चुनें। यदि कोई भी नहीं चुना गया है, तो सत्यापन विफल हो जाएगा। इवेंट्स की सूची बैकएंड द्वारा प्रबंधित की जाती है और समय के साथ बदल सकती है।

#### प्राधिकरण क्रेडेंशियल प्रदान करें

यदि आपके सर्वर द्वारा आवश्यक हो, तो **प्राधिकरण** फ़ील्ड में `Authorization` हेडर के लिए पूरा मान दर्ज करें।

उदाहरण:

* `Bearer your_token_here`  
    
* `Basic base64encoded_credentials`

<Aside>यह मान `Authorization` हेडर (HTTP) या gRPC मेटाडेटा में **जैसा है वैसा** डाला जाता है। सुनिश्चित करें कि ऑथ स्कीम और टोकन के बीच एक स्पेस है।</Aside>

#### ट्रांसपोर्ट प्रकार चुनें

**ट्रांसपोर्ट प्रकार** ड्रॉपडाउन से, इवेंट ट्रांसमिशन के लिए डिलीवरी प्रोटोकॉल चुनें: **HTTP** या **gRPC**। प्रत्येक का विशिष्ट व्यवहार और कॉन्फ़िगरेशन होता है।

##### HTTP

**HTTP** ट्रांसपोर्ट प्रकार के साथ, Pushwoosh निम्नलिखित में से किसी एक शर्त के आधार पर बैच में डेटा भेजता है:

* कम से कम 100 इवेंट्स भेजे जाने के लिए तैयार हैं, या

* अंतिम प्रसारण के बाद एक घंटा बीत चुका है।

डेटा भेजने के बाद, एक सफल प्रतिक्रिया प्राप्त होने पर कनेक्शन बंद हो जाता है।

यदि सर्वर **5xx त्रुटि** के साथ प्रतिक्रिया करता है, तो Pushwoosh परिभाषित रिट्राई नीति के अनुसार अनुरोध को फिर से प्रयास करेगा।

**रिट्राई तंत्र**

| प्रयास | देरी |
| :---- | :---- |
| पहला | 1 सेकंड |
| दूसरा | पहले प्रयास के 3 सेकंड बाद |
| तीसरा | दूसरे प्रयास के 8 सेकंड बाद |

यदि सभी रिट्राई विफल हो जाते हैं, तो अनुरोध को छोड़ दिया जाता है।

**टाइमआउट**

एक अनुरोध के लिए डिफ़ॉल्ट टाइमआउट **30 सेकंड** है। इसे समर्थन के माध्यम से अनुरोध पर अनुकूलित किया जा सकता है।

<LinkCard  
  title="उदाहरण देखें" 
  href="/webhook_request_batch.json" 
  target="_blank"
  rel="noopener noreferrer"
/>

##### gRPC

gRPC ट्रांसपोर्ट प्रकार डेटा ट्रांसमिशन के लिए **द्विदिश स्ट्रीमिंग** का उपयोग करता है। [gRPC दस्तावेज़ीकरण](https://grpc.io/docs/what-is-grpc/core-concepts/#bidirectional-streaming-rpc) में और जानें।

एक स्ट्रीम तब खोली जाती है जब निम्नलिखित में से कोई भी शर्त पूरी होती है:
* कम से कम 1,000 इवेंट्स डिलीवरी के लिए तैयार हैं
* अंतिम स्ट्रीम खोले जाने के बाद एक घंटा बीत चुका है

इवेंट्स भेजे जाने के बाद स्ट्रीम बंद हो जाती है। यह सुनिश्चित करता है कि कम समय में प्रत्येक व्यक्तिगत इवेंट के लिए एक नई स्ट्रीम नहीं खोली जाती है।

<LinkCard  
  title="प्रोटोबफ स्पेसिफिकेशन देखें" 
  href="/webhook.proto" 
/>

**रिट्राई तंत्र**  
प्रत्येक इवेंट में एक अद्वितीय `uuid` शामिल होता है। यदि कोई इवेंट विफल होता है:

1. प्रतिक्रिया में एक `status` **"Success" के बराबर नहीं** होना चाहिए  
2. अनुरोध से मूल `uuid` शामिल होना चाहिए

Pushwoosh इस प्रतिक्रिया के आधार पर डिलीवरी का पुनः प्रयास करेगा।

**कनेक्शन सेटिंग्स** 

**TLS**, **keep-alive**, या **रिट्राई नीतियां** जैसे उन्नत विकल्प समर्थन के माध्यम से मैन्युअल रूप से कॉन्फ़िगर किए जाते हैं और इसमें विकास भागीदारी की आवश्यकता हो सकती है।

### प्लेटफ़ॉर्म चुनें

**प्लेटफ़ॉर्म अनुभाग** में, इवेंट स्ट्रीमिंग को सक्रिय करने के लिए कम से कम एक प्लेटफ़ॉर्म चुनें।

![कम से कम एक प्लेटफ़ॉर्म चुनें](/integrations-event-streaming-integration-3.webp)

समर्थित प्लेटफ़ॉर्म में शामिल हैं:

* iOS, Android, macOS, Windows, Amazon, Safari  
* Chrome, Firefox, Internet Explorer, Baidu, Huawei  
* Email, SMS, Line, Xiaomi, WhatsApp

### उन्नत फ़िल्टर कॉन्फ़िगर करें

**उन्नत फ़िल्टर** अनुभाग में, फ़िल्टर का उपयोग करके इवेंट डिलीवरी मानदंडों को परिष्कृत करें:

* **लाइव गतिविधि इवेंट्स:** लाइव गतिविधि इवेंट्स प्राप्त करने के लिए सक्षम करें। इन इवेंट्स में केवल `live_activity_id` सहित मेटाडेटा होता है।  
    
* **अभियान फ़िल्टर:** अभियान कोड द्वारा फ़िल्टर करें। केवल इन अभियानों से जुड़े इवेंट्स ही डिलीवर किए जाएंगे।  
    
* **संदेश फ़िल्टर:** संदेश कोड द्वारा फ़िल्टर करें। केवल इन संदेशों से जुड़े इवेंट्स ही डिलीवर किए जाएंगे।

![उन्नत फ़िल्टर सेट करें](/integrations-event-streaming-integration-4.webp)

सभी आवश्यक फ़ील्ड भरने के बाद, अपने इंटीग्रेशन को सहेजने और सक्रिय करने के लिए **लागू करें** बटन पर क्लिक करें।
<Aside>कॉन्फ़िगरेशन परिवर्तन सबमिट करने के **15 मिनट के भीतर** प्रभावी होंगे।</Aside>


<Aside type="tip">
कस्टम टाइमआउट या gRPC कॉन्फ़िगरेशन जैसी उन्नत सेटिंग्स के लिए, कृपया [समर्थन से संपर्क करें](https://help.pushwoosh.com/hc/en-us/requests/new)।
</Aside>


## अनुरोध विवरण और उदाहरण

|            |                                                   |
|-----------------------|----------------------------------------------------------|
| **एंडपॉइंट**          | `https://exampleclientendpoint.com/webhook_endpoint`     |
| **HTTP अनुरोध**      | `POST`                                                   |
| **प्रमाणीकरण**    | नहीं                                                       |
| **अनुरोध का प्रकार**      | स्रोत                                                   |
| **अनुरोध का अर्थ**   | वेबहुक एंडपॉइंट पर अनुरोध भेजें                    |
| **हेडर्स**           | `Content-Type: application/json`                         |

**अनुरोध बॉडी उदाहरण**

```
{ 
  "event_name": "Email Opened",
  "message_code": "E682-E6D92B9A-53E24868",
  "campaign_id": 961048,
  "platform": "Email",
  "payload": "Welcome to Headway! 👋",
  "application_code": "XXXXX-XXXXX",
  "hwid": "user@example.com",
  "user_id": "USER_ID",
  "timestamp": 1723799271,
  "journey_title": "",
  "journey_point_title": "5_Welcome_ID_new"
}
```

**प्रतिक्रिया**  
फिलहाल, प्रतिक्रिया कोड और बॉडी को अनदेखा कर दिया जाता है।

## आपको कैसे पता चलेगा कि इंटीग्रेशन काम कर रहा है?

आपको अपने कॉन्फ़िगर किए गए एंडपॉइंट पर Pushwoosh से अनुरोध प्राप्त होने लगेंगे।