বিষয়বস্তুতে যান

ইভেন্ট স্ট্রিমিং ইন্টিগ্রেশন

ইন্টিগ্রেশনের ওভারভিউ

Anchor link to

ইন্টিগ্রেশনের প্রকার

Anchor link to

উৎস: কনফিগার করা ইভেন্ট ট্রিগারের উপর ভিত্তি করে Pushwoosh থেকে আপনার সিস্টেমে HTTP বা gRPC-এর মাধ্যমে ডেটা পাঠানো হয়।

ইন্টিগ্রেশন কীভাবে কাজ করে?

Anchor link to

Pushwoosh একটি ক্লায়েন্ট-ডিফাইন্ড এন্ডপয়েন্টে কমিউনিকেশন ইভেন্ট ডেটা (যেমন, পুশ/ইমেল অ্যাক্টিভিটি) পাঠায়। ডেটা নির্ধারিত বিরতিতে বা ন্যূনতম ব্যাচ সাইজে পৌঁছানোর পর ব্যাচ স্ট্রিমে পাঠানো হয়।

ডেটা শুধুমাত্র তখনই পাঠানো হয় যদি এটি নির্বাচিত ইভেন্ট, প্ল্যাটফর্ম এবং ঐচ্ছিক ফিল্টার (ক্যাম্পেইন/মেসেজ কোড, লাইভ অ্যাক্টিভিটি) এর সাথে মিলে যায়। ক্লায়েন্ট এন্ডপয়েন্টকে ডেটা গ্রহণ করার জন্য এবং ঐচ্ছিকভাবে একটি স্ট্যাটাস সহ প্রতিক্রিয়া জানানোর জন্য প্রস্তুত থাকতে হবে।

শব্দকোষ

Anchor link to

এন্ডপয়েন্ট URL: সার্ভার-সাইড এন্ডপয়েন্ট যা অনুরোধ গ্রহণ করতে দেয়। ক্লায়েন্ট প্রয়োজন হলে একটি পোর্ট নির্দিষ্ট করতে পারে।

উদাহরণ:

  • https://clientdomainname.com/webhook_endpoint
  • https://clientdomainname.com:8081/webhook_endpoint

সিঙ্ক্রোনাইজড সত্তার তালিকা

Anchor link to
  • কমিউনিকেশন পরিসংখ্যান ইভেন্ট (যেমন, Push Sent, Email Delivered)
  • পোস্ট ইভেন্ট: আপনার অ্যাপ postEvent এর মাধ্যমে Pushwoosh-এ যে ইভেন্টগুলো পাঠায়, সেগুলো কমিউনিকেশন পরিসংখ্যান ইভেন্ট থেকে আলাদাভাবে স্ট্রিম করা হয়

ব্যবহারের ক্ষেত্র

Anchor link to
  • রিয়েল-টাইম এনগেজমেন্ট ট্র্যাকিং

ব্যবহারকারীর ইন্টারঅ্যাকশন যেমন পুশ পাঠানো, ইমেল খোলা, বা মেসেজ ডেলিভারি হওয়ার সাথে সাথে মনিটর করুন, যা ক্যাম্পেইনের পারফরম্যান্সের তাৎক্ষণিক দৃশ্যমানতা সক্ষম করে।

  • বাহ্যিক অ্যানালিটিক্স ইন্টিগ্রেশন

কেন্দ্রীয় রিপোর্টিং এবং বিশ্লেষণের জন্য তৃতীয় পক্ষের অ্যানালিটিক্স প্ল্যাটফর্মে ইভেন্ট স্ট্রিম করুন।

  • স্বয়ংক্রিয় ব্যবহারকারী ওয়ার্কফ্লো

ব্যবহারকারীর আচরণের উপর ভিত্তি করে বাহ্যিক সিস্টেমে (যেমন CRM বা মার্কেটিং অটোমেশন টুল) অ্যাকশন ট্রিগার করুন, যেমন, যখন কোনো ব্যবহারকারী একটি ইমেল খোলে তখন একটি ফলো-আপ মেসেজ পাঠান।

ইন্টিগ্রেশন সেট আপ করা

Anchor link to

ইন্টিগ্রেশন সেট আপ করতে:

  1. আপনার Pushwoosh অ্যাকাউন্টে, Settings > 3rd party Integrations-এ যান, Event streaming integration খুঁজুন, এবং Configure-এ ক্লিক করুন।

ইভেন্ট স্ট্রিমিং ইন্টিগ্রেশন কনফিগার করুন

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

প্রয়োজনীয় ক্ষেত্রগুলি পূরণ করুন

এন্ডপয়েন্ট URL লিখুন

Anchor link to

Endpoint URL ফিল্ডে, ইভেন্টগুলি যেখানে পাঠানো হবে তার সম্পূর্ণ URL লিখুন, প্রযোজ্য হলে প্রোটোকল এবং পোর্ট সহ।

উদাহরণ

  • https://clientdomainname.com/webhook_endpoint
  • https://clientdomainname.com:8081/webhook\_endpoint

ইভেন্ট নির্বাচন করুন

Anchor link to

Events ড্রপডাউন থেকে, অন্তত একটি ইভেন্ট নির্বাচন করুন। যদি কোনোটি নির্বাচন করা না হয়, তাহলে ভ্যালিডেশন ব্যর্থ হবে। ইভেন্টের তালিকা ব্যাকএন্ড দ্বারা পরিচালিত হয় এবং সময়ের সাথে সাথে পরিবর্তিত হতে পারে।

অথোরাইজেশন ক্রেডেনশিয়াল প্রদান করুন

Anchor link to

যদি আপনার সার্ভারের প্রয়োজন হয়, তাহলে Authorization ফিল্ডে Authorization হেডারের জন্য সম্পূর্ণ মান লিখুন।

উদাহরণ:

  • Bearer your_token_here

  • Basic base64encoded_credentials

ট্রান্সপোর্ট টাইপ বেছে নিন

Anchor link to

Transport type ড্রপডাউন থেকে, ইভেন্ট ট্রান্সমিশনের জন্য ডেলিভারি প্রোটোকল বেছে নিন: HTTP বা gRPC। প্রতিটির নির্দিষ্ট আচরণ এবং কনফিগারেশন রয়েছে।

HTTP ট্রান্সপোর্ট টাইপের সাথে, Pushwoosh নিম্নলিখিত শর্তগুলির মধ্যে একটির উপর ভিত্তি করে ব্যাচে ডেটা পাঠায়:

  • অন্তত ১০০টি ইভেন্ট পাঠানোর জন্য প্রস্তুত, অথবা

  • শেষ ট্রান্সমিশনের পর এক ঘন্টা কেটে গেছে।

ডেটা পাঠানোর পর, একটি সফল প্রতিক্রিয়া পাওয়ার সাথে সাথে সংযোগটি বন্ধ হয়ে যায়।

যদি সার্ভার একটি 5xx ত্রুটি দিয়ে প্রতিক্রিয়া জানায়, Pushwoosh সংজ্ঞায়িত রিট্রাই পলিসি অনুযায়ী অনুরোধটি পুনরায় চেষ্টা করবে।

রিট্রাই মেকানিজম

চেষ্টাবিলম্ব
১ম১ সেকেন্ড
২য়১ম চেষ্টার ৩ সেকেন্ড পর
৩য়২য় চেষ্টার ৮ সেকেন্ড পর

যদি সমস্ত রিট্রাই ব্যর্থ হয়, অনুরোধটি বাতিল করা হয়।

টাইমআউট

একটি অনুরোধের জন্য ডিফল্ট টাইমআউট হল ৩০ সেকেন্ড। এটি সাপোর্টের মাধ্যমে অনুরোধে কাস্টমাইজ করা যেতে পারে।

gRPC ট্রান্সপোর্ট টাইপ ডেটা ট্রান্সমিশনের জন্য বাইডিরেকশনাল স্ট্রিমিং ব্যবহার করে। gRPC ডকুমেন্টেশনে আরও জানুন।

নিম্নলিখিত শর্তগুলির মধ্যে যেকোনো একটি পূরণ হলে একটি স্ট্রিম খোলা হয়:

  • ডেলিভারির জন্য কমপক্ষে ১,০০০টি ইভেন্ট প্রস্তুত
  • শেষ স্ট্রিম খোলার পর এক ঘন্টা কেটে গেছে

ইভেন্টগুলি পাঠানোর পরে স্ট্রিমটি বন্ধ হয়ে যায়। এটি নিশ্চিত করে যে অল্প সময়ের মধ্যে প্রতিটি পৃথক ইভেন্টের জন্য একটি নতুন স্ট্রিম খোলা হয় না।

রিট্রাই মেকানিজম
প্রতিটি ইভেন্টে একটি অনন্য uuid অন্তর্ভুক্ত থাকে। যদি একটি ইভেন্ট ব্যর্থ হয়:

  1. প্রতিক্রিয়ায় একটি status অন্তর্ভুক্ত থাকতে হবে যা "Success" এর সমান নয়
  2. অনুরোধ থেকে আসল uuid অন্তর্ভুক্ত করতে হবে

Pushwoosh এই প্রতিক্রিয়ার উপর ভিত্তি করে ডেলিভারি পুনরায় চেষ্টা করবে।

সংযোগ সেটিংস

TLS, keep-alive, বা retry policies এর মতো উন্নত বিকল্পগুলি সাপোর্টের মাধ্যমে ম্যানুয়ালি কনফিগার করা হয় এবং এর জন্য ডেভেলপমেন্টের জড়িত থাকার প্রয়োজন হতে পারে।

পোস্ট ইভেন্ট সক্রিয় করুন

Anchor link to

এই টগলটি ডিফল্টরূপে বন্ধ থাকে, তাই শুধুমাত্র কমিউনিকেশন পরিসংখ্যান ইভেন্ট স্ট্রিম হয়। আপনার অ্যাপ postEvent এর মাধ্যমে Pushwoosh-এ যে ইভেন্ট পাঠায় সেগুলোও স্ট্রিম করতে, Allow post events টগলটি চালু করুন।

যে Post events ফিল্ডটি প্রদর্শিত হবে, সেখান থেকে আপনার অ্যাকাউন্টের কোন ইভেন্টগুলি স্ট্রিম করতে হবে তা নির্বাচন করুন। টগলটি চালু থাকা অবস্থায় অন্তত একটি ইভেন্ট প্রয়োজন। যদি আপনার অ্যাকাউন্ট এখনও কোনো ইভেন্ট না পাঠিয়ে থাকে, তাহলে এই তালিকাটি খালি থাকবে যতক্ষণ না আপনি অন্তত একবার postEvent কল করেন।

প্ল্যাটফর্ম নির্বাচন করুন

Anchor link to

Platforms বিভাগে, ইভেন্ট স্ট্রিমিং সক্রিয় করতে অন্তত একটি প্ল্যাটফর্ম নির্বাচন করুন।

অন্তত একটি প্ল্যাটফর্ম নির্বাচন করুন

সমর্থিত প্ল্যাটফর্মগুলির মধ্যে রয়েছে:

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

উন্নত ফিল্টার কনফিগার করুন

Anchor link to

Advanced 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 থেকে অনুরোধ পেতে শুরু করবেন।