ইভেন্ট স্ট্রিমিং ইন্টিগ্রেশন
ইন্টিগ্রেশনের ওভারভিউ
Anchor link toইন্টিগ্রেশনের প্রকার
Anchor link toউৎস: কনফিগার করা ইভেন্ট ট্রিগারের উপর ভিত্তি করে Pushwoosh থেকে আপনার সিস্টেমে HTTP বা gRPC-এর মাধ্যমে ডেটা পাঠানো হয়।
ইন্টিগ্রেশন কীভাবে কাজ করে?
Anchor link toPushwoosh একটি ক্লায়েন্ট-ডিফাইন্ড এন্ডপয়েন্টে কমিউনিকেশন ইভেন্ট ডেটা (যেমন, পুশ/ইমেল অ্যাক্টিভিটি) পাঠায়। ডেটা নির্ধারিত বিরতিতে বা ন্যূনতম ব্যাচ সাইজে পৌঁছানোর পর ব্যাচ স্ট্রিমে পাঠানো হয়।
ডেটা শুধুমাত্র তখনই পাঠানো হয় যদি এটি নির্বাচিত ইভেন্ট, প্ল্যাটফর্ম এবং ঐচ্ছিক ফিল্টার (ক্যাম্পেইন/মেসেজ কোড, লাইভ অ্যাক্টিভিটি) এর সাথে মিলে যায়। ক্লায়েন্ট এন্ডপয়েন্টকে ডেটা গ্রহণ করার জন্য এবং ঐচ্ছিকভাবে একটি স্ট্যাটাস সহ প্রতিক্রিয়া জানানোর জন্য প্রস্তুত থাকতে হবে।
শব্দকোষ
Anchor link toএন্ডপয়েন্ট URL: সার্ভার-সাইড এন্ডপয়েন্ট যা অনুরোধ গ্রহণ করতে দেয়। ক্লায়েন্ট প্রয়োজন হলে একটি পোর্ট নির্দিষ্ট করতে পারে।
উদাহরণ:
https://clientdomainname.com/webhook_endpointhttps://clientdomainname.com:8081/webhook_endpoint
সিঙ্ক্রোনাইজড সত্তার তালিকা
Anchor link to- কমিউনিকেশন পরিসংখ্যান ইভেন্ট (যেমন, Push Sent, Email Delivered)
- পোস্ট ইভেন্ট: আপনার অ্যাপ
postEventএর মাধ্যমে Pushwoosh-এ যে ইভেন্টগুলো পাঠায়, সেগুলো কমিউনিকেশন পরিসংখ্যান ইভেন্ট থেকে আলাদাভাবে স্ট্রিম করা হয়
ব্যবহারের ক্ষেত্র
Anchor link to- রিয়েল-টাইম এনগেজমেন্ট ট্র্যাকিং
ব্যবহারকারীর ইন্টারঅ্যাকশন যেমন পুশ পাঠানো, ইমেল খোলা, বা মেসেজ ডেলিভারি হওয়ার সাথে সাথে মনিটর করুন, যা ক্যাম্পেইনের পারফরম্যান্সের তাৎক্ষণিক দৃশ্যমানতা সক্ষম করে।
- বাহ্যিক অ্যানালিটিক্স ইন্টিগ্রেশন
কেন্দ্রীয় রিপোর্টিং এবং বিশ্লেষণের জন্য তৃতীয় পক্ষের অ্যানালিটিক্স প্ল্যাটফর্মে ইভেন্ট স্ট্রিম করুন।
- স্বয়ংক্রিয় ব্যবহারকারী ওয়ার্কফ্লো
ব্যবহারকারীর আচরণের উপর ভিত্তি করে বাহ্যিক সিস্টেমে (যেমন CRM বা মার্কেটিং অটোমেশন টুল) অ্যাকশন ট্রিগার করুন, যেমন, যখন কোনো ব্যবহারকারী একটি ইমেল খোলে তখন একটি ফলো-আপ মেসেজ পাঠান।
ইন্টিগ্রেশন সেট আপ করা
Anchor link toইন্টিগ্রেশন সেট আপ করতে:
- আপনার Pushwoosh অ্যাকাউন্টে, Settings > 3rd party Integrations-এ যান, Event streaming integration খুঁজুন, এবং Configure-এ ক্লিক করুন।

- যে উইন্ডোটি খুলবে, সেখানে প্রয়োজনীয় ক্ষেত্রগুলি পূরণ করুন।

এন্ডপয়েন্ট URL লিখুন
Anchor link toEndpoint URL ফিল্ডে, ইভেন্টগুলি যেখানে পাঠানো হবে তার সম্পূর্ণ URL লিখুন, প্রযোজ্য হলে প্রোটোকল এবং পোর্ট সহ।
উদাহরণ
https://clientdomainname.com/webhook_endpointhttps://clientdomainname.com:8081/webhook\_endpoint
ইভেন্ট নির্বাচন করুন
Anchor link toEvents ড্রপডাউন থেকে, অন্তত একটি ইভেন্ট নির্বাচন করুন। যদি কোনোটি নির্বাচন করা না হয়, তাহলে ভ্যালিডেশন ব্যর্থ হবে। ইভেন্টের তালিকা ব্যাকএন্ড দ্বারা পরিচালিত হয় এবং সময়ের সাথে সাথে পরিবর্তিত হতে পারে।
অথোরাইজেশন ক্রেডেনশিয়াল প্রদান করুন
Anchor link toযদি আপনার সার্ভারের প্রয়োজন হয়, তাহলে Authorization ফিল্ডে Authorization হেডারের জন্য সম্পূর্ণ মান লিখুন।
উদাহরণ:
-
Bearer your_token_here -
Basic base64encoded_credentials
ট্রান্সপোর্ট টাইপ বেছে নিন
Anchor link toTransport type ড্রপডাউন থেকে, ইভেন্ট ট্রান্সমিশনের জন্য ডেলিভারি প্রোটোকল বেছে নিন: HTTP বা gRPC। প্রতিটির নির্দিষ্ট আচরণ এবং কনফিগারেশন রয়েছে।
HTTP
Anchor link toHTTP ট্রান্সপোর্ট টাইপের সাথে, Pushwoosh নিম্নলিখিত শর্তগুলির মধ্যে একটির উপর ভিত্তি করে ব্যাচে ডেটা পাঠায়:
-
অন্তত ১০০টি ইভেন্ট পাঠানোর জন্য প্রস্তুত, অথবা
-
শেষ ট্রান্সমিশনের পর এক ঘন্টা কেটে গেছে।
ডেটা পাঠানোর পর, একটি সফল প্রতিক্রিয়া পাওয়ার সাথে সাথে সংযোগটি বন্ধ হয়ে যায়।
যদি সার্ভার একটি 5xx ত্রুটি দিয়ে প্রতিক্রিয়া জানায়, Pushwoosh সংজ্ঞায়িত রিট্রাই পলিসি অনুযায়ী অনুরোধটি পুনরায় চেষ্টা করবে।
রিট্রাই মেকানিজম
| চেষ্টা | বিলম্ব |
|---|---|
| ১ম | ১ সেকেন্ড |
| ২য় | ১ম চেষ্টার ৩ সেকেন্ড পর |
| ৩য় | ২য় চেষ্টার ৮ সেকেন্ড পর |
যদি সমস্ত রিট্রাই ব্যর্থ হয়, অনুরোধটি বাতিল করা হয়।
টাইমআউট
একটি অনুরোধের জন্য ডিফল্ট টাইমআউট হল ৩০ সেকেন্ড। এটি সাপোর্টের মাধ্যমে অনুরোধে কাস্টমাইজ করা যেতে পারে।
gRPC
Anchor link togRPC ট্রান্সপোর্ট টাইপ ডেটা ট্রান্সমিশনের জন্য বাইডিরেকশনাল স্ট্রিমিং ব্যবহার করে। gRPC ডকুমেন্টেশনে আরও জানুন।
নিম্নলিখিত শর্তগুলির মধ্যে যেকোনো একটি পূরণ হলে একটি স্ট্রিম খোলা হয়:
- ডেলিভারির জন্য কমপক্ষে ১,০০০টি ইভেন্ট প্রস্তুত
- শেষ স্ট্রিম খোলার পর এক ঘন্টা কেটে গেছে
ইভেন্টগুলি পাঠানোর পরে স্ট্রিমটি বন্ধ হয়ে যায়। এটি নিশ্চিত করে যে অল্প সময়ের মধ্যে প্রতিটি পৃথক ইভেন্টের জন্য একটি নতুন স্ট্রিম খোলা হয় না।
রিট্রাই মেকানিজম
প্রতিটি ইভেন্টে একটি অনন্য uuid অন্তর্ভুক্ত থাকে। যদি একটি ইভেন্ট ব্যর্থ হয়:
- প্রতিক্রিয়ায় একটি
statusঅন্তর্ভুক্ত থাকতে হবে যা"Success"এর সমান নয় - অনুরোধ থেকে আসল
uuidঅন্তর্ভুক্ত করতে হবে
Pushwoosh এই প্রতিক্রিয়ার উপর ভিত্তি করে ডেলিভারি পুনরায় চেষ্টা করবে।
সংযোগ সেটিংস
TLS, keep-alive, বা retry policies এর মতো উন্নত বিকল্পগুলি সাপোর্টের মাধ্যমে ম্যানুয়ালি কনফিগার করা হয় এবং এর জন্য ডেভেলপমেন্টের জড়িত থাকার প্রয়োজন হতে পারে।
পোস্ট ইভেন্ট সক্রিয় করুন
Anchor link toএই টগলটি ডিফল্টরূপে বন্ধ থাকে, তাই শুধুমাত্র কমিউনিকেশন পরিসংখ্যান ইভেন্ট স্ট্রিম হয়। আপনার অ্যাপ postEvent এর মাধ্যমে Pushwoosh-এ যে ইভেন্ট পাঠায় সেগুলোও স্ট্রিম করতে, Allow post events টগলটি চালু করুন।
যে Post events ফিল্ডটি প্রদর্শিত হবে, সেখান থেকে আপনার অ্যাকাউন্টের কোন ইভেন্টগুলি স্ট্রিম করতে হবে তা নির্বাচন করুন। টগলটি চালু থাকা অবস্থায় অন্তত একটি ইভেন্ট প্রয়োজন। যদি আপনার অ্যাকাউন্ট এখনও কোনো ইভেন্ট না পাঠিয়ে থাকে, তাহলে এই তালিকাটি খালি থাকবে যতক্ষণ না আপনি অন্তত একবার postEvent কল করেন।
প্ল্যাটফর্ম নির্বাচন করুন
Anchor link toPlatforms বিভাগে, ইভেন্ট স্ট্রিমিং সক্রিয় করতে অন্তত একটি প্ল্যাটফর্ম নির্বাচন করুন।

সমর্থিত প্ল্যাটফর্মগুলির মধ্যে রয়েছে:
- iOS, Android, macOS, Windows, Amazon, Safari
- Chrome, Firefox, Internet Explorer, Huawei
- Email, SMS, Line, Xiaomi, WhatsApp
উন্নত ফিল্টার কনফিগার করুন
Anchor link toAdvanced filters বিভাগে, ফিল্টার ব্যবহার করে ইভেন্ট ডেলিভারির মানদণ্ড পরিমার্জন করুন:
-
লাইভ অ্যাক্টিভিটি ইভেন্ট: লাইভ অ্যাক্টিভিটি ইভেন্ট গ্রহণ করতে সক্রিয় করুন। এই ইভেন্টগুলিতে শুধুমাত্র মেটাডেটা থাকে যার মধ্যে
live_activity_idঅন্তর্ভুক্ত। -
ক্যাম্পেইন ফিল্টার: ক্যাম্পেইন কোড দ্বারা ফিল্টার করুন। শুধুমাত্র এই ক্যাম্পেইনগুলির সাথে যুক্ত ইভেন্টগুলি ডেলিভার করা হবে।
-
মেসেজ ফিল্টার: মেসেজ কোড দ্বারা ফিল্টার করুন। শুধুমাত্র এই মেসেজগুলির সাথে যুক্ত ইভেন্টগুলি ডেলিভার করা হবে।

সমস্ত প্রয়োজনীয় ক্ষেত্রগুলি পূরণ করার পরে, আপনার ইন্টিগ্রেশন সংরক্ষণ এবং সক্রিয় করতে Apply বোতামে ক্লিক করুন।
অনুরোধের বিবরণ এবং উদাহরণ
Anchor link to| এন্ডপয়েন্ট | 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", "attributes": null}অ্যাট্রিবিউট
Anchor link toকমিউনিকেশন পরিসংখ্যান ইভেন্টগুলির মধ্যে, attributes শুধুমাত্র পুশ ইভেন্টের জন্য পপুলেট হয়, যেখানে পুশ পাঠানো হয়েছিল সেই প্ল্যাটফর্মের জন্য চ্যানেল-নির্দিষ্ট কন্টেন্ট (Android, iOS, ইত্যাদি) থাকে। ইমেল এবং SMS ইভেন্টগুলিতে শুধুমাত্র টপ-লেভেল ফিল্ডগুলি থাকে (event_name, platform, payload, ইত্যাদি)। সেই ইভেন্টগুলির জন্য attributes null থাকে। একটি পপুলেটেড attributes অবজেক্টের মধ্যে, ইভেন্টের নিজস্ব প্ল্যাটফর্মের বাইরের ফিল্ডগুলি খালি মান হিসাবে পাঠানোর পরিবর্তে বাদ দেওয়া হয়। সম্পূর্ণ ফিল্ড তালিকার জন্য webhook.proto দেখুন।
একটি পোস্ট ইভেন্ট তার অ্যাট্রিবিউট কী/ভ্যালু পেয়ারগুলি attributes.event_attributes-এ বহন করে। message_code এবং payload খালি থাকে, কারণ একটি পোস্ট ইভেন্ট কোনো মেসেজ বা ক্যাম্পেইনের সাথে যুক্ত নয়।
প্রতিক্রিয়া
এই মুহূর্তে, প্রতিক্রিয়া কোড এবং বডি উপেক্ষা করা হয়।
আপনি কীভাবে জানবেন যে ইন্টিগ্রেশন কাজ করছে?
Anchor link toআপনি আপনার কনফিগার করা এন্ডপয়েন্টে Pushwoosh থেকে অনুরোধ পেতে শুরু করবেন।