মূল কন্টেন্টে যান

Purple Portal API: আপনি এটি দিয়ে কী করতে পারেন

Purple Portal API ব্যবহার করার বিষয়ে আইটি ম্যানেজার এবং নেটওয়ার্ক আর্কিটেক্টদের জন্য একটি টেকনিক্যাল রেফারেন্স। এই গাইডটি বিজনেস ইন্টেলিজেন্স এবং অপারেশনাল দক্ষতা বাড়াতে এন্টারপ্রাইজ সিস্টেমের সাথে গেস্ট WiFi ডেটা ইন্টিগ্রেট করার জন্য উপলব্ধ এন্ডপয়েন্ট, অথেনটিকেশন এবং বাস্তব-বিশ্বের ইউজ কেসগুলির বিশদ বিবরণ দেয়। এটি হসপিটালিটি, রিটেইল এবং ইভেন্ট সেক্টর থেকে কংক্রিট কেস স্টাডি সহ REST API এবং Webhook উভয় ইন্টিগ্রেশন প্যাটার্ন কভার করে।

📖 9 মিনিট পাঠ📝 2,212 শব্দ🔧 2 সমাধানকৃত উদাহরণ3 অনুশীলনী প্রশ্ন📚 9 মূল সংজ্ঞা

এই গাইডটি শুনুন

পডকাস্ট ট্রান্সক্রিপ্ট দেখুন
Purple টেকনিক্যাল ব্রিফিংয়ে স্বাগতম। আমি Purple-এর একজন সিনিয়র কন্টেন্ট স্ট্র্যাটেজিস্ট, এবং আগামী দশ মিনিটে, আমি আপনাকে আমাদের Portal API-এর একটি সংক্ষিপ্ত, ব্যবহারিক ওভারভিউ দেব — এটি কী, আপনি এটি দিয়ে কী করতে পারেন এবং সর্বাধিক ব্যবসায়িক প্রভাবের জন্য কীভাবে এটি ব্যবহার করবেন। এটি সেইসব আইটি ম্যানেজার, আর্কিটেক্ট এবং অপারেশন ডিরেক্টরদের জন্য যাদের জানা দরকার কীভাবে তাদের গেস্ট WiFi-কে একটি সাধারণ ইউটিলিটি থেকে একটি শক্তিশালী ডেটা সম্পদে পরিণত করা যায়。 চলুন কনটেক্সট দিয়ে শুরু করা যাক। আপনার ভেন্যু জুড়ে আপনার গেস্ট WiFi আছে। প্রতিদিন, শত শত বা হাজার হাজার মানুষ কানেক্ট করে। তারা তাদের ইমেইল, হয়তো তাদের নাম প্রদান করে এবং তারা আপনার শর্তাবলীতে সম্মতি দেয়। এটি মূল্যবান ফার্স্ট-পার্টি ডেটা। Purple Portal আপনাকে এটি দেখার জন্য দুর্দান্ত ড্যাশবোর্ড দেয়, তবে আসল শক্তি তখনই আসে যখন আপনি সেই ডেটাকে আপনার বাকি ব্যবসায়িক ইকোসিস্টেমের সাথে কানেক্ট করেন। সেখানেই Portal API আসে। এটি হলো সেই সেতু যা আপনার সিস্টেমগুলিকে আমাদের প্ল্যাটফর্মের সাথে প্রোগ্রামেটিকভাবে কথা বলার অনুমতি দেয়。 এখন, চলুন টেকনিক্যাল ডিটেইলে যাওয়া যাক। Portal API হলো একটি স্ট্যান্ডার্ড RESTful ইন্টারফেস। অথেনটিকেশন সহজ এবং সুরক্ষিত, একটি সাধারণ API Key ব্যবহার করে। সার্ভার-টু-সার্ভার কমিউনিকেশনের জন্য আপনাকে জটিল OAuth হ্যান্ডশেক নিয়ে চিন্তা করতে হবে না। সমালোচনামূলকভাবে, এখানে কোনো রেট লিমিট নেই। আমরা এটিকে এন্টারপ্রাইজ স্কেলের জন্য তৈরি করেছি, তাই আপনি একটি একক হোটেল বা পাঁচশ রিটেইল লোকেশনের একটি জাতীয় চেইন চালাচ্ছেন কিনা, API আপনার ভলিউম পরিচালনা করতে পারে。 ডেটা বের করার জন্য আপনার কাছে দুটি প্রধান উপায় আছে। প্রথমত, পুল মেথড: স্ট্যান্ডার্ড REST এন্ডপয়েন্ট। visitors এবং venues-এর মতো এন্ডপয়েন্টগুলির কথা চিন্তা করুন। আপনি একটি শিডিউলে এই এন্ডপয়েন্টগুলিকে কল করার জন্য একটি স্ক্রিপ্ট লিখতে পারেন, গত চব্বিশ ঘণ্টার সমস্ত ভিজিটর ডেটা পুল ডাউন করতে পারেন এবং বিশ্লেষণের জন্য এটিকে আপনার ডেটা ওয়্যারহাউসে লোড করতে পারেন। এটি বিজনেস ইন্টেলিজেন্সের জন্য, Power BI বা Tableau-তে সেই বড়-চিত্রের ড্যাশবোর্ডগুলি তৈরি করার জন্য আপনার গো-টু。 তবে সত্যিই উত্তেজনাপূর্ণ অংশটি হলো পুশ মেথড: Webhook। এটি রিয়েল-টাইমের জন্য। আপনি আপনার সাইডে একটি লিসেনার এন্ডপয়েন্ট সেট আপ করেন এবং কোনো গেস্ট আপনার WiFi-এ অথেনটিকেট করার মুহূর্তে, আমরা আপনাকে তাদের সমস্ত বিবরণ সহ একটি JSON পেলোড পাঠাই — নাম, ইমেইল, তারা কোন ভেন্যুতে আছে, তাদের ভিজিট কাউন্ট এবং এমনকি তারা যে অথেনটিকেশন মেথড ব্যবহার করেছে, তা রেজিস্ট্রেশন ফর্ম, সোশ্যাল লগইন বা অন্য কিছু হোক না কেন। এটি প্রায়-তাৎক্ষণিক। এটিই তাৎক্ষণিক, পার্সোনালাইজড এনগেজমেন্ট আনলক করে। এটি আগামীকাল একটি মার্কেটিং ইমেইল পাঠানো এবং একজন অনুগত গ্রাহক আপনার দরজা দিয়ে প্রবেশ করার সেকেন্ডে একটি ইউনিক অফার সহ একটি ওয়েলকাম ব্যাক নোটিফিকেশন পাঠানোর মধ্যে পার্থক্য。 আপনি যে ডেটা ফিল্ডগুলি পান সে সম্পর্কে আমাকে কথা বলতে দিন। Webhook পেলোডটি চারটি প্রধান অবজেক্টে স্ট্রাকচার করা হয়েছে। client অবজেক্ট আপনাকে MAC অ্যাড্রেস এবং ইউজার এজেন্ট দেয়। company এবং venue অবজেক্ট আপনাকে নির্দিষ্ট লোকেশনের আইডেন্টিফায়ার এবং জিও-কোঅর্ডিনেট দেয়। session অবজেক্ট আপনাকে অথেনটিকেশন টাইমস্ট্যাম্প দেয়। এবং user অবজেক্ট হলো যেখানে সোনা রয়েছে: ফার্স্ট নেম, লাস্ট নেম, ইমেইল, জেন্ডার, জন্মতারিখ, মোবাইল নম্বর, পোস্টকোড এবং প্রথম ও শেষ ভিজিটের তারিখ দেখানো প্রতি ভেন্যুতে একটি ভিজিট কাউন্ট। আপনি আপনার স্প্ল্যাশ পেজ রেজিস্ট্রেশন ফর্ম থেকে কাস্টম ফিল্ডগুলিও ক্যাপচার করতে পারেন, তাই আপনি যদি গেস্টদের তাদের লয়্যালটি প্রোগ্রাম নম্বর বা হোটেলে তাদের রুম নম্বর জিজ্ঞাসা করেন, তবে সেটিও চলে আসে。 এখন, API-এর ভার্সন ওয়ান পয়েন্ট সেভেনে, একটি গুরুত্বপূর্ণ উন্নতি লক্ষণীয়। unsubscribed ফিল্ডটি এখন স্পষ্টভাবে এমন ইউজারদের মধ্যে পার্থক্য করে যারা আগে সাবস্ক্রাইব করার পরে মার্কেটিং থেকে সক্রিয়ভাবে অপ্ট আউট করেছেন, বনাম যারা কখনও অপ্ট ইন করেননি। এটি GDPR কমপ্লায়েন্স এবং সঠিক সেগমেন্টেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ। আপনি একজন ল্যাপসড সাবস্ক্রাইবারকে এমন কারো মতো ট্রিট করতে চাইবেন না যিনি কখনও আপনার মার্কেটিং ফানেলে ছিলেন না。 চলুন ইন্টিগ্রেশন প্যাটার্ন সম্পর্কে আরও বিস্তারিত কথা বলি। REST API পুল প্যাটার্নের জন্য, আপনার সাধারণ ওয়ার্কফ্লো হলো একটি শিডিউলড স্ক্রিপ্ট, সম্ভবত Python বা Node.js-এ, যা প্রতি রাতে চলে। এটি আপনার API Key দিয়ে অথেনটিকেট করে, প্রতিটি ভেন্যুর জন্য visitors এন্ডপয়েন্টে কোয়েরি করে, ডেটাকে আপনার প্রয়োজনীয় ফরম্যাটে রূপান্তর করে এবং এটিকে একটি সেন্ট্রাল ডেটাবেসে লোড করে। এটি একটি ক্লাসিক ETL প্রসেস। একজন মাল্টি-সাইট অপারেটরের জন্য, আপনি আপনার ভেন্যু আইডিগুলির মধ্য দিয়ে ইটারেট করবেন এবং ডেটা সেন্ট্রালি অ্যাগ্রিগেট করবেন。 Webhook পুশ প্যাটার্নের জন্য, আর্কিটেকচারটি কিছুটা আলাদা। আপনার একটি সর্বজনীনভাবে অ্যাক্সেসযোগ্য, SSL-সুরক্ষিত এন্ডপয়েন্ট প্রয়োজন। একটি সার্ভারলেস ফাংশন এখানে আদর্শ — AWS Lambda, Azure Functions, বা Google Cloud Functions। এটি সাশ্রয়ী, স্বয়ংক্রিয়ভাবে স্কেল করে এবং একটি ব্যস্ত ভেন্যুতে আপনি যে কনকারেন্সি দেখতে পাবেন তা পরিচালনা করে। যখন ফাংশনটি Purple থেকে POST রিকোয়েস্ট গ্রহণ করে, তখন এর উচিত JSON পার্স করা, এর বিজনেস লজিক পারফর্ম করা — সম্ভবত একটি CRM লুকআপ বা একটি লয়্যালটি চেক — এবং যত দ্রুত সম্ভব একটি দুইশো OK রেসপন্স রিটার্ন করা。 এটি আমাকে সবচেয়ে গুরুত্বপূর্ণ ইমপ্লিমেন্টেশন প্রয়োজনীয়তায় নিয়ে আসে: আপনার লিসেনারকে অবশ্যই দশ সেকেন্ডের মধ্যে রেসপন্স করতে হবে। যদি এটি না করে, Purple রিকোয়েস্টটি রিকিউ করবে এবং তিন ঘণ্টা পরে রিট্রাই করবে। ক্রমাগত ব্যর্থতার কারণে নিরাপত্তার কারণে Webhook স্বয়ংক্রিয়ভাবে নিষ্ক্রিয় হয়ে যাবে। তাই আপনার লিসেনারকে লিন রাখুন। একটি দ্রুত রেসপন্স রিটার্ন করার জন্য প্রয়োজনীয় ন্যূনতম প্রসেসিং করুন এবং যদি আপনাকে ভারী প্রসেসিং করতে হয়, তবে ইভেন্টটিকে একটি ইন্টারনাল কিউ-তে পুশ করুন এবং এটিকে অ্যাসিনক্রোনাসভাবে প্রসেস করুন。 এখন এটিকে কংক্রিট করার জন্য কিছু বাস্তব-বিশ্বের পরিস্থিতির দিকে নজর দেওয়া যাক。 একটি দুইশো-রুমের হোটেলের কথা বিবেচনা করুন। তারা স্বয়ংক্রিয়ভাবে নতুন WiFi গেস্টদের তাদের মার্কেটিং প্ল্যাটফর্মে একটি ওয়েলকাম ইমেইল জার্নিতে এনরোল করতে চায়। সলিউশনটি সোজা: একটি Webhook কনফিগার করুন, একটি সাধারণ সার্ভারলেস লিসেনার তৈরি করুন এবং যখন কোনো নতুন ইউজারের ডেটা আসে, তখন চেক করুন যে তারা ইতিমধ্যে মার্কেটিং প্ল্যাটফর্মে বিদ্যমান কিনা। যদি না থাকে, তাদের যোগ করুন এবং ওয়েলকাম জার্নি ট্রিগার করুন। হোটেলটি প্রথমবারের ভিজিটরদের ফিরে আসা গেস্টদের থেকে আলাদা করতে এবং সেই অনুযায়ী কমিউনিকেশন টেইলর করতে ভিজিট কাউন্ট ফিল্ডটিও ব্যবহার করতে পারে। একজন ফিরে আসা গেস্ট জেনেরিক ওয়েলকামের পরিবর্তে একটি লয়্যালটি রিওয়ার্ড অফার পেতে পারেন。 এখন পঞ্চাশটি স্টোর থাকা একটি জাতীয় রিটেইল চেইনের কথা বিবেচনা করুন। তারা সমস্ত লোকেশন জুড়ে ফুট ট্রাফিক ট্রেন্ড দেখানো একটি সেন্ট্রাল ড্যাশবোর্ড চায়। এখানে, REST API পুল প্যাটার্ন হলো সঠিক পছন্দ। একটি নাইটলি স্ক্রিপ্ট পঞ্চাশটি ভেন্যুর প্রতিটির জন্য visitors এন্ডপয়েন্টে কোয়েরি করে, ডেটা অ্যাগ্রিগেট করে এবং এটিকে একটি ডেটা ওয়্যারহাউসে লোড করে। অ্যানালিটিক্স টিম তারপর এর উপরে তাদের ড্যাশবোর্ড তৈরি করে। তারা দেখতে পারে কোন স্টোরগুলিতে নতুন ভিজিটর রেট সবচেয়ে বেশি, কোনটিতে সেরা রিটার্নিং ভিজিটর রেশিও রয়েছে এবং কীভাবে ডুয়েল টাইম সেলস পারফরম্যান্সের সাথে সম্পর্কিত。 আমাকে এখন কিছু সাধারণ সমস্যা এবং কীভাবে সেগুলি এড়ানো যায় তা কভার করতে দিন。 প্রথম সমস্যাটি হলো ডুপ্লিকেট ইভেন্ট হ্যান্ডলিং। একটি একক গেস্ট ভিজিট একাধিক অথেনটিকেশন ইভেন্ট ট্রিগার করতে পারে — উদাহরণস্বরূপ, যদি তারা তাদের ফোনের স্ক্রিন লক হতে দেয় এবং এটি পুনরায় কানেক্ট হয়, বা যদি তারা অ্যাক্সেস পয়েন্টগুলির মধ্যে রোম করে। আপনার লিসেনারকে অবশ্যই আইডেমপোটেন্ট হতে হবে। ইমেইল পাঠানোর মতো কোনো অ্যাকশন নেওয়ার আগে, চেক করুন যে আপনি ইতিমধ্যে আজ সেই ইউজারের জন্য কোনো ইভেন্ট প্রসেস করেছেন কিনা。 দ্বিতীয় সমস্যাটি হলো লাইভ হওয়ার আগে আপনার লিসেনার URL যাচাই না করা। Purple-এর প্রয়োজন যে আপনি ডেটা গ্রহণ করার আগে পোর্টালে এন্ডপয়েন্টটি যাচাই করুন। নিশ্চিত করুন যে আপনার লিসেনার লাইভ আছে এবং এটিকে কোনো LogicFlow-এর সাথে সংযুক্ত করার আগে সঠিক wifiWebhookListener হেডার রিটার্ন করছে。 তৃতীয় সমস্যাটি হলো সাবস্ক্রিপশন স্ট্যাটাস উপেক্ষা করা। কোনো ইউজারকে মার্কেটিং লিস্টে যোগ করার আগে সর্বদা unsubscribed ফিল্ডটি চেক করুন। অপ্ট আউট করা কাউকে মার্কেটিং কমিউনিকেশন পাঠানো একটি GDPR লঙ্ঘন যার উল্লেখযোগ্য পরিণতি রয়েছে。 এখন একটি র‍্যাপিড-ফায়ার প্রশ্নোত্তর পর্বের জন্য。 আমি কি এটিকে আমার কাস্টম-বিল্ট CRM-এর সাথে সিঙ্ক করতে পারি? হ্যাঁ। যদি আপনার CRM-এর একটি API থাকে, তবে আপনি Purple ডেটা ফরম্যাট করতে এবং এটিকে আপনার সিস্টেমে পুশ করতে মিডলওয়্যার হিসেবে একটি Webhook লিসেনার ব্যবহার করতে পারেন। Webhook পেলোডে রিটার্ন করা আইডিগুলি REST API-এর আইডিগুলির সাথে মেলে, তাই প্রয়োজন হলে অতিরিক্ত বিশদ পেতে আপনি ফলো-আপ কলও করতে পারেন。 আমার এস্টেটের একাধিক সাইট ভিজিট করা একজন ইউজারকে আমি কীভাবে পরিচালনা করব? API ভেন্যু আইডি প্রতি ভিজিট কাউন্ট প্রদান করে, তাই আপনি সহজেই আপনার সম্পূর্ণ এস্টেট জুড়ে একজন গ্রাহকের জার্নি ট্র্যাক করতে পারেন এবং একটি ব্যাপক ক্রস-সাইট প্রোফাইল তৈরি করতে পারেন。 আমি কতগুলি Webhook URL কনফিগার করতে পারি তার কি কোনো সীমা আছে? না। আপনি আপনার প্রয়োজনীয় যতগুলি লিসেনার URL যাচাই এবং ব্যবহার করতে পারেন, যা দরকারী যদি বিভিন্ন টিম বা সিস্টেমের একই ইভেন্ট ডেটা গ্রহণ করার প্রয়োজন হয়。 রক্ষণাবেক্ষণের জন্য আমার লিসেনার ডাউন হয়ে গেলে কী হবে? Purple ব্যর্থ ডেলিভারিগুলি রিট্রাই করবে, তাই আপনার লিসেনার অনলাইনে ফিরে এলে আপনি ইভেন্টগুলির একটি ব্যাকলগ পেতে পারেন। আপনার লিসেনারকে এটি সুন্দরভাবে পরিচালনা করতে হবে, কালানুক্রমিক অর্ডারের বাইরে আসতে পারে এমন ইভেন্টগুলি প্রসেস করতে হবে。 আজ আমরা যা কিছু কভার করেছি তার সারসংক্ষেপ করতে, Purple Portal API হলো আপনার গেস্ট WiFi ডেটার মধ্যে থাকা অপরিসীম ভ্যালু আনলক করার চাবিকাঠি। রিপোর্টিং এবং অ্যানালিটিক্সের জন্য ডেটা পুল করতে REST API ব্যবহার করুন। তাৎক্ষণিক, পার্সোনালাইজড কাস্টমার এনগেজমেন্টের জন্য রিয়েল-টাইমে ডেটা পুশ করতে Webhook ব্যবহার করুন। মূল নীতিটি মনে রাখবেন: রিয়েল-টাইমের জন্য পুশ, রিপোর্টের জন্য পুল。 আপনার পরবর্তী পদক্ষেপ হলো আমাদের সাপোর্ট পোর্টালে API ডকুমেন্টেশন পর্যালোচনা করা। যদি আপনার একটি Engage লাইসেন্স থাকে, তবে একটি API Key জেনারেট করুন এবং Postman-এর সাথে এক্সপ্লোর করা শুরু করুন। একটি সাধারণ Webhook লিসেনার তৈরি করুন। ডেটা ফ্লো ইন দেখুন। সেই মুহূর্তেই এই টুলের সম্ভাবনা স্ফটিকের মতো পরিষ্কার হয়ে যায়。 Purple টেকনিক্যাল ব্রিফিং শোনার জন্য আপনাকে ধন্যবাদ। আপনি যদি আপনার নির্দিষ্ট ইন্টিগ্রেশন প্রয়োজনীয়তা সম্পর্কে আমাদের সলিউশন আর্কিটেক্টদের একজনের সাথে কথা বলতে চান, তবে purple dot ai-তে যান এবং একটি ডেমো বুক করুন। পরবর্তী সময় পর্যন্ত।

header_image.png

কার্যনির্বাহী সারাংশ

একাধিক সাইট বিশিষ্ট ভেন্যু — হোটেল, রিটেইল চেইন, স্টেডিয়াম এবং কনফারেন্স সেন্টারগুলির আইটি লিডারদের জন্য, গেস্ট WiFi নেটওয়ার্ক একটি সাধারণ সুবিধার চেয়েও বেশি কিছু। এটি ফার্স্ট-পার্টি ডেটার একটি সমৃদ্ধ, ক্রমাগত পরিপূরক উৎস যা মার্কেটিং, অপারেশন এবং গ্রাহক অভিজ্ঞতায় পরিমাপযোগ্য ব্যবসায়িক প্রভাব ফেলতে পারে। Purple Portal API এই ভ্যালু স্কেলে আনলক করার জন্য প্রয়োজনীয় প্রোগ্রামেটিক ইন্টারফেস প্রদান করে। এটি টেকনিক্যাল টিমগুলিকে বিল্ট-ইন অ্যানালিটিক্স ড্যাশবোর্ডের বাইরে গিয়ে শক্তিশালী, স্বয়ংক্রিয় ইন্টিগ্রেশন তৈরি করার অনুমতি দেয় যা GDPR-কমপ্লায়েন্ট ভিজিটর ডেটা সরাসরি কোর বিজনেস সিস্টেমে ফিড করে, CRM প্ল্যাটফর্ম এবং মার্কেটিং অটোমেশন টুল থেকে শুরু করে লয়্যালটি প্রোগ্রাম এবং বিজনেস ইন্টেলিজেন্স ওয়্যারহাউস পর্যন্ত।

এই গাইডটি সলিউশন আর্কিটেক্ট, আইটি ম্যানেজার এবং সিনিয়র ডেভেলপারদের জন্য একটি ব্যবহারিক, কার্যকরী রেফারেন্স। এটি প্রমাণীকরণ (authentication) মডেল, উপলব্ধ এন্ডপয়েন্ট, ইন্টিগ্রেশন প্যাটার্ন এবং বাস্তব-বিশ্বের ডিপ্লয়মেন্ট পরিস্থিতিগুলির বিশদ বিবরণ দেয় যা প্রদর্শন করে কীভাবে Purple WiFi API একটি WiFi ডিপ্লয়মেন্টকে একটি কস্ট সেন্টার থেকে একটি কৌশলগত ডেটা সম্পদে রূপান্তর করতে পারে। আপনি প্রথমবারের মতো API মূল্যায়ন করছেন বা প্রোডাকশন-গ্রেড ইন্টিগ্রেশনের পরিকল্পনা করছেন, এই ডকুমেন্টটি আপনাকে আত্মবিশ্বাসের সাথে এগিয়ে যাওয়ার জন্য প্রয়োজনীয় প্রযুক্তিগত ভিত্তি এবং সিদ্ধান্ত নেওয়ার ফ্রেমওয়ার্ক প্রদান করে।

টেকনিক্যাল ডিপ-ডাইভ

অথেনটিকেশন এবং API ভার্সনিং

Purple Portal API API Key authentication ব্যবহার করে, যা সার্ভার-টু-সার্ভার ইন্টিগ্রেশনের জন্য উপযুক্ত একটি সহজ এবং সুরক্ষিত মডেল। OAuth 2.0 ফ্লো-এর বিপরীতে, যার জন্য টোকেন এক্সচেঞ্জ এবং রিফ্রেশ সাইকেল প্রয়োজন, API Key অথেনটিকেশনে রিকোয়েস্ট হেডারে একটি স্ট্যাটিক সিক্রেট অন্তর্ভুক্ত থাকে। এই সরলতা নিরাপত্তা আপস না করেই ইন্টিগ্রেশন ওভারহেড কমায়, তবে শর্ত থাকে যে কী-টি নিরাপদে সংরক্ষণ করা হয় এবং আপনার স্ট্যান্ডার্ড ক্রেডেনশিয়াল ম্যানেজমেন্ট পলিসির অংশ হিসেবে পর্যায়ক্রমে রোটেট করা হয়।

বর্তমান প্রোডাকশন ভার্সন হলো v1.7, যা v1.6.2-এর তুলনায় বেশ কিছু গুরুত্বপূর্ণ উন্নতি নিয়ে এসেছে। সবচেয়ে উল্লেখযোগ্যভাবে, ইউজার ডেটা অবজেক্টের unsubscribed প্রপার্টি এখন স্পষ্টভাবে এমন একজন ইউজারের মধ্যে পার্থক্য করে যিনি আগে সাবস্ক্রাইব করার পরে মার্কেটিং থেকে সক্রিয়ভাবে অপ্ট আউট করেছেন এবং এমন একজন ইউজার যিনি কখনও সাবস্ক্রাইব করেননি। এই পার্থক্যটি GDPR কমপ্লায়েন্স এবং সঠিক অডিয়েন্স সেগমেন্টেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ। উপরন্তু, Visitors এবং Venues এন্ডপয়েন্টগুলি এখন কোনো ডেটা না পাওয়া গেলে 404 Not Found-এর পরিবর্তে একটি HTTP 200 OK রেসপন্স রিটার্ন করে, যা আগে মনিটরিং এবং এরর-হ্যান্ডলিং লজিকে বিভ্রান্তির সৃষ্টি করত।

উপলব্ধ এন্ডপয়েন্টসমূহ

Portal Company API তিনটি প্রাথমিক এন্ডপয়েন্ট ক্যাটাগরি প্রকাশ করে যার সাথে আইটি টিমগুলি নিয়মিত ইন্টারঅ্যাক্ট করবে।

এন্ডপয়েন্ট মেথড উদ্দেশ্য
/visitors GET কন্ট্যাক্ট ডেটা, ডেমোগ্রাফিক এবং ভিজিট হিস্ট্রি সহ গেস্ট ভিজিটর প্রোফাইলগুলি পুনরুদ্ধার করুন
/venues GET ভেন্যু-লেভেলের ডেটা এবং কনফিগারেশন মেটাডেটা পুনরুদ্ধার করুন
/unsubscribes GET মার্কেটিং কমিউনিকেশন থেকে অপ্ট আউট করা ইউজারদের একটি তালিকা পুনরুদ্ধার করুন

সমস্ত এন্ডপয়েন্ট JSON ফরম্যাটে ডেটা রিটার্ন করে। visitors এন্ডপয়েন্টটি সবচেয়ে বেশি ব্যবহৃত হয়, কারণ এটি Captive Portal অথেনটিকেশন জার্নির সময় সংগৃহীত গেস্ট প্রোফাইল ডেটার সম্পূর্ণ সমৃদ্ধি প্রকাশ করে। এর মধ্যে রয়েছে ফার্স্ট নেম, লাস্ট নেম, ইমেইল অ্যাড্রেস, জেন্ডার, জন্মতারিখ, মোবাইল নম্বর, পোস্টকোড, অথেনটিকেশন প্রোভাইডার (যেমন, রেজিস্ট্রেশন ফর্ম, সোশ্যাল লগইন), প্রতি ভেন্যুতে ভিজিট কাউন্ট এবং স্প্ল্যাশ পেজে কনফিগার করা যেকোনো কাস্টম ফিল্ড।

রেট লিমিট

Purple Portal API-এর একটি মূল আর্কিটেকচারাল সুবিধা হলো এখানে কোনো রেট লিমিট নেই। প্ল্যাটফর্মটি যেকোনো ভলিউমের রিকোয়েস্ট বা ট্রানজ্যাকশন সাপোর্ট করার জন্য ডিজাইন করা হয়েছে, যা এটিকে বড় আকারের ডিপ্লয়মেন্টের জন্য উপযুক্ত করে তোলে যেখানে স্ক্রিপ্টগুলিকে হাজার হাজার ভেন্যু রেকর্ড বা লক্ষ লক্ষ ভিজিটর প্রোফাইল প্রসেস করতে হতে পারে। এটি একটি সাধারণ সীমাবদ্ধতা দূর করে যা অন্যান্য প্ল্যাটফর্মের সাথে ইন্টিগ্রেশন ডিজাইনকে জটিল করে তোলে এবং আপনার ক্লায়েন্ট কোডে রিকোয়েস্ট থ্রটলিং বা ব্যাক-অফ লজিকের প্রয়োজনীয়তা দূর করে।

ইন্টিগ্রেশন প্যাটার্ন: পুল বনাম পুশ

Purple WiFi API দুটি মৌলিকভাবে ভিন্ন ইন্টিগ্রেশন প্যাটার্ন সাপোর্ট করে, যার প্রতিটি ভিন্ন ভিন্ন ইউজ কেসের জন্য উপযুক্ত। একটি নির্দিষ্ট পরিস্থিতিতে কোন প্যাটার্ন প্রয়োগ করতে হবে তা বোঝা আপনার নেওয়া সবচেয়ে গুরুত্বপূর্ণ আর্কিটেকচারাল সিদ্ধান্ত।

REST API পুল প্যাটার্ন-এ ডেটা পুনরুদ্ধার করার জন্য API এন্ডপয়েন্টগুলিতে আপনার সিস্টেমের অন-ডিমান্ড বা শিডিউলড রিকোয়েস্ট করা জড়িত। এটি ব্যাচ প্রসেসিং, রিপোর্টিং এবং বিজনেস ইন্টেলিজেন্সের জন্য সঠিক পদ্ধতি। একটি নাইটলি ETL স্ক্রিপ্ট যা আগের দিনের সমস্ত ভিজিটর ডেটা পুল করে এবং এটি একটি ডেটা ওয়্যারহাউসে লোড করে তা হলো এর একটি আদর্শ উদাহরণ। পুল প্যাটার্ন আপনাকে কখন এবং কতটা ডেটা পুনরুদ্ধার করবেন তার উপর সম্পূর্ণ নিয়ন্ত্রণ দেয়।

Webhook পুশ প্যাটার্ন-এ একটি নির্দিষ্ট ইভেন্ট ঘটার মুহূর্তে Purple আপনার সিস্টেমে ডেটা পাঠায় — বিশেষ করে, যখন কোনো গেস্ট WiFi নেটওয়ার্কে অথেনটিকেট করে। আপনার সিস্টেমকে অবশ্যই একটি সর্বজনীনভাবে অ্যাক্সেসযোগ্য, SSL-সুরক্ষিত HTTP এন্ডপয়েন্ট (একটি 'লিসেনার') এক্সপোজ করতে হবে যা এই JSON POST পেলোডগুলি গ্রহণ এবং প্রসেস করতে পারে। Webhook প্যাটার্নটি রিয়েল-টাইম ডেটার প্রয়োজন এমন যেকোনো ইউজ কেসের জন্য সঠিক পছন্দ, যেমন একটি পার্সোনালাইজড ওয়েলকাম মেসেজ ট্রিগার করা, CRM-এ গ্রাহকের 'লাস্ট সিন' স্ট্যাটাস আপডেট করা, বা কোনো ভিআইপি গেস্ট এসেছেন তা হসপিটালিটি ম্যানেজারকে জানানো।

api_architecture_diagram.png

Webhook পেলোড স্ট্রাকচার

Purple Webhook দ্বারা ডেলিভার করা JSON পেলোডটি চারটি প্রধান অবজেক্টে স্ট্রাকচার করা হয়েছে, যার প্রতিটি অথেনটিকেশন ইভেন্টের জন্য কনটেক্সটের একটি ভিন্ন ডাইমেনশন প্রদান করে।

অবজেক্ট কী ফিল্ড বিবরণ
client mac, userAgent ডিভাইস-লেভেলের আইডেন্টিফায়ার
company id, name, uniqId আপনার কোম্পানির অ্যাকাউন্টের বিবরণ
venue id, name, latitude, longitude নির্দিষ্ট লোকেশন যেখানে অথেনটিকেশন ঘটেছে
session authenticationTime অথেনটিকেশন ইভেন্টের ISO 8601 টাইমস্ট্যাম্প
user email, firstName, lastName, gender, provider, visitCountForVenues, customFields সম্পূর্ণ গেস্ট প্রোফাইল ডেটা

user.visitCountForVenues অবজেক্টটি মাল্টি-সাইট অপারেটরদের জন্য বিশেষভাবে মূল্যবান। এটি firstVisit এবং lastVisit টাইমস্ট্যাম্পের সাথে প্রতি-ভেন্যুতে ভিজিট কাউন্ট প্রদান করে, যা আপনাকে কোনো অতিরিক্ত API কল ছাড়াই অথেনটিকেশনের পয়েন্টে প্রথমবারের ভিজিটর বনাম অনুগত ফিরে আসা গ্রাহকদের শনাক্ত করতে সক্ষম করে।

ইমপ্লিমেন্টেশন গাইড

পূর্বশর্ত এবং সেটআপ

Portal API-তে অ্যাক্সেসের জন্য একটি Engage লাইসেন্স প্রয়োজন। লাইসেন্স পাওয়ার পর, Purple পোর্টালের সেটিংস থেকে আপনার API Key জেনারেট করুন। প্রাথমিক ডেভেলপমেন্ট এবং টেস্টিংয়ের জন্য, Postman হলো প্রস্তাবিত টুল; সঠিক এনভায়রনমেন্ট ভেরিয়েবল এবং রিকোয়েস্ট হেডার কনফিগার করার জন্য Purple একটি ডেডিকেটেড সেটআপ গাইড প্রদান করে। সার্ভার-সাইড স্ক্রিপ্টিং স্টার্টিং পয়েন্ট পছন্দকারী টিমগুলির জন্য একটি PHP ডেমো ফাইলও উপলব্ধ রয়েছে।

একটি Webhook ইন্টিগ্রেশন কনফিগার করা

একটি Webhook ইন্টিগ্রেশন ডিপ্লয় করার ক্ষেত্রে পাঁচটি ধাপ জড়িত। প্রথমত, একটি সর্বজনীনভাবে অ্যাক্সেসযোগ্য, SSL-সুরক্ষিত URL-এ আপনার লিসেনার এন্ডপয়েন্ট তৈরি এবং ডিপ্লয় করুন। একটি সার্ভারলেস ফাংশন (AWS Lambda, Azure Functions, বা Google Cloud Functions) হলো একটি আর্কিটেকচারালি সাউন্ড পছন্দ: এটি স্বয়ংক্রিয়ভাবে স্কেল করে, কম ভলিউমে ন্যূনতম খরচ বহন করে এবং কনফিগারেশন ছাড়াই কনকারেন্ট রিকোয়েস্টগুলি পরিচালনা করে। দ্বিতীয়ত, Management > Venues > Webhooks-এ নেভিগেট করে Purple পোর্টালে লিসেনার URL-টি যাচাই করুন। এন্ডপয়েন্টটি পৌঁছানো যাচ্ছে কিনা এবং প্রয়োজনীয় wifiWebhookListener: 1 হেডার রিটার্ন করছে কিনা তা নিশ্চিত করতে Purple একটি টেস্ট রিকোয়েস্ট পাঠাবে। তৃতীয়ত, পোর্টালে একটি LogicFlow তৈরি বা এডিট করুন এবং আপনার যাচাইকৃত URL নির্বাচন করে একটি Webhook অ্যাকশন নোড যোগ করুন। চতুর্থত, নিশ্চিত করুন যে LogicFlow-টি 'Online' স্ট্যাটাসে সেট করা আছে। পঞ্চমত, প্রাসঙ্গিক অ্যাক্সেস জার্নির সাথে LogicFlow-টি সংযুক্ত করুন। এই পয়েন্ট থেকে, সেই জার্নিতে প্রতিটি গেস্ট অথেনটিকেশন আপনার Webhook ট্রিগার করবে।

রিট্রাই এবং আইডেমপোটেন্সি হ্যান্ডেল করা

আপনার লিসেনারকে অবশ্যই ডিস্ট্রিবিউটেড সিস্টেমের বাস্তবতাগুলি পরিচালনা করার জন্য ডিজাইন করা উচিত। যদি আপনার লিসেনার আনরেসপন্সিভ হয় (টাইমআউট ১০ সেকেন্ডের বেশি হয়) বা কোনো এরর স্ট্যাটাস রিটার্ন করে, তবে Purple তিন ঘণ্টা পরে একটি ব্যর্থ Webhook ডেলিভারি রিট্রাই করবে। এর মানে হলো আপনার লিসেনার একই ইভেন্ট একাধিকবার গ্রহণ করতে পারে। উপরন্তু, একটি একক গেস্ট ভিজিট একাধিক অথেনটিকেশন ইভেন্ট ট্রিগার করতে পারে — উদাহরণস্বরূপ, যখন স্ক্রিন লক হওয়ার পরে কোনো ডিভাইস পুনরায় কানেক্ট হয়, বা যখন কোনো ইউজার অ্যাক্সেস পয়েন্টগুলির মধ্যে রোম করে। তাই আপনার প্রসেসিং লজিক অবশ্যই আইডেমপোটেন্ট (idempotent) হতে হবে: একই ইভেন্ট দুবার প্রয়োগ করলে একবার প্রয়োগ করার মতোই ফলাফল তৈরি হওয়া উচিত। একটি সাধারণ ইমপ্লিমেন্টেশন প্যাটার্ন হলো কোনো অ্যাকশন (যেমন ওয়েলকাম ইমেইল পাঠানো) এক্সিকিউট করার আগে একটি নির্দিষ্ট টাইম উইন্ডোর মধ্যে কোনো প্রদত্ত ইউজার আইডির জন্য সেটি ইতিমধ্যে পারফর্ম করা হয়েছে কিনা তা চেক করা।

বেস্ট প্র্যাকটিস

Purple Portal API-এর যেকোনো প্রোডাকশন ডিপ্লয়মেন্টকে বেশ কয়েকটি নীতির গাইড করা উচিত। সর্বদা লেটেস্ট API ভার্সনের (v1.7) বিপরীতে ডিপ্লয় করুন এবং নতুন ভার্সন রিলিজ হলে আপনার URL পাথ এবং রেসপন্স পার্সিং লজিক আপডেট করুন। আপনার API Key-কে একটি সংবেদনশীল ক্রেডেনশিয়াল হিসেবে বিবেচনা করুন: শেয়ার্ড সিস্টেমে সোর্স কোড বা এনভায়রনমেন্ট ভেরিয়েবলের পরিবর্তে এটিকে একটি সিক্রেটস ম্যানেজারে (যেমন AWS Secrets Manager বা Azure Key Vault) সংরক্ষণ করুন। Webhook লিসেনারদের জন্য, ডিবাগিং এবং অডিট ট্রেইল সহজতর করতে প্রতিটি ইনকামিং পেলোড এবং রেসপন্সের স্ট্রাকচার্ড লগিং ইমপ্লিমেন্ট করুন। ইউজার অবজেক্টে unsubscribed এবং unsubscribedDate ফিল্ডগুলিকে সম্মান করুন; অপ্ট-আউট করা ইউজারদের বিরুদ্ধে মার্কেটিং অ্যাকশন প্রসেস করা একটি GDPR লঙ্ঘন। পরিশেষে, এজ কেসগুলির সম্পূর্ণ রেঞ্জের বিপরীতে আপনার ইন্টিগ্রেশন পরীক্ষা করুন: ইমেইল অ্যাড্রেস নেই এমন ইউজার, নাল (null) কাস্টম ফিল্ড থাকা ইউজার এবং কালানুক্রমিক অর্ডারের বাইরে আসা অথেনটিকেশন ইভেন্টগুলি।

webhook_integration_infographic.png

ট্রাবলশুটিং এবং রিস্ক মিটিগেশন

একটি Webhook ইন্টিগ্রেশনে সবচেয়ে সাধারণ ফেইলিওর মোড হলো একটি ধীর বা অনুপলব্ধ লিসেনার। যদি এন্ডপয়েন্টটি ধারাবাহিকভাবে ১০ সেকেন্ডের মধ্যে রেসপন্স করতে ব্যর্থ হয়, তবে দীর্ঘ সময় ধরে আনরেসপন্সিভ থাকার পরে Purple স্বয়ংক্রিয়ভাবে Webhook-টি নিষ্ক্রিয় করে দেবে, যার জন্য পোর্টালে ম্যানুয়াল রি-ভেরিফিকেশন প্রয়োজন হবে। এই ঝুঁকি কমানোর জন্য, আপনার লিসেনারের মতো একই সার্ভারে একটি হেলথ চেক এন্ডপয়েন্ট ইমপ্লিমেন্ট করুন এবং এটিকে আপনার ইনফ্রাস্ট্রাকচার মনিটরিংয়ে অন্তর্ভুক্ত করুন। নিশ্চিত করুন যে আপনার লিসেনার একটি 200 OK রেসপন্স রিটার্ন করার আগে শুধুমাত্র ন্যূনতম সিঙ্ক্রোনাস প্রসেসিং করে; যেকোনো ভারী কম্পিউটেশন বা ডাউনস্ট্রিম API কলগুলিকে একটি অ্যাসিনক্রোনাস কিউ-তে অফলোড করুন।

REST API ইন্টিগ্রেশনের জন্য, প্রাথমিক ঝুঁকি হলো ডাউনস্ট্রিম সিস্টেমে ডেটা স্টেলনেস (পুরোনো ডেটা) যদি শিডিউলড পুল জবটি নীরবে ব্যর্থ হয়। কোনো রান ব্যর্থ হলে বা অপ্রত্যাশিতভাবে কোনো আউটপুট তৈরি না করলে অপারেশন টিমকে জানানোর জন্য আপনার ETL স্ক্রিপ্টগুলিতে অ্যালার্টিং ইমপ্লিমেন্ট করুন। API v1.6.2 থেকে v1.7-এ মাইগ্রেট করার সময়, unsubscribed ফিল্ড এবং Unsubscribes এন্ডপয়েন্ট রেফারেন্স করে এমন সমস্ত কোড অডিট করুন, কারণ v1.7-এ প্রপার্টির নামটি unsubcribers থেকে সংশোধন করে unsubscribers করা হয়েছে।

ROI এবং বিজনেস ইমপ্যাক্ট

Purple Portal API-এর সাথে ইন্টিগ্রেট করার বিজনেস কেসটি একাধিক ভার্টিক্যাল জুড়ে সুপ্রতিষ্ঠিত। হসপিটালিটিতে, Webhook-ট্রিগারড CRM ইন্টিগ্রেশন ব্যবহার করা হোটেলগুলি জেনেরিক ব্রডকাস্ট ক্যাম্পেইনের তুলনায় পার্সোনালাইজড কমিউনিকেশনের জন্য ইমেইল ওপেন রেটে উল্লেখযোগ্য উন্নতির রিপোর্ট করে, কারণ মেসেজটি সর্বাধিক প্রাসঙ্গিকতার মুহূর্তে ডেলিভার করা হয় — যখন গেস্ট শারীরিকভাবে অন-সাইটে থাকেন। রিটেইলে, গেস্ট WiFi ডেটাকে একটি লয়্যালটি প্রোগ্রামের সাথে কানেক্ট করা অপারেটরদের হাই-ফ্রিকোয়েন্সি ভিজিটরদের শনাক্ত করতে এবং পুরস্কৃত করতে সক্ষম করে, যা গড় ব্যয় এবং রিপিট ভিজিট রেট বাড়ায়। বড় পাবলিক ভেন্যু এবং কনফারেন্স সেন্টারগুলির জন্য, API-চালিত অ্যানালিটিক্স স্পনসরশিপ ভ্যালুয়েশনকে ন্যায্যতা দিতে এবং কনসেশন প্লেসমেন্ট অপ্টিমাইজ করার জন্য প্রয়োজনীয় গ্র্যানুলার ফুটফল ডেটা প্রদান করে।

Purple WiFi API-তে রেট লিমিটের অনুপস্থিতির অর্থ হলো ইন্টিগ্রেশনের খরচ আপনার ইনফ্রাস্ট্রাকচারের সাথে স্কেল করে, আপনার প্রসেস করা ডেটার ভলিউমের সাথে নয়। প্রতিদিন কয়েক লক্ষ অথেনটিকেশন প্রসেস করা একটি জাতীয় রিটেইল চেইনের জন্য, এটি এমন প্ল্যাটফর্মগুলির তুলনায় একটি বস্তুগত সুবিধা যা প্রতি API কলে চার্জ করে বা থ্রুপুট ক্যাপ আরোপ করে। একটি সুগঠিত Purple API ইন্টিগ্রেশনের মোট মালিকানা খরচ (TCO) তাই প্রাথমিকভাবে ওয়ান-টাইম ডেভেলপমেন্ট খরচ এবং লিসেনারের চলমান ইনফ্রাস্ট্রাকচার খরচ, যার উভয়ই সাধারণত শুধুমাত্র উন্নত মার্কেটিং কনভার্সন রেটের মাধ্যমে প্রথম ত্রৈমাসিকের মধ্যেই পুনরুদ্ধার করা হয়।

retail_integration_usecase.png

কেস স্টাডি

কেস স্টাডি ১: হসপিটালিটি — Whitbread Group

যুক্তরাজ্যের বৃহত্তম হোটেল এবং রেস্তোরাঁ কোম্পানি Whitbread, তাদের Premier Inn এবং রেস্তোরাঁ এস্টেট জুড়ে হাজার হাজার গেস্ট WiFi অ্যাক্সেস পয়েন্ট পরিচালনা করে। তাদের CRM প্ল্যাটফর্মের সাথে Purple Portal API ইন্টিগ্রেট করার মাধ্যমে, গ্রুপটি একটি ইউনিফাইড গেস্ট প্রোফাইল তৈরি করতে সক্ষম হয়েছিল যা WiFi Captive Portal-এ ক্যাপচার করা ফিজিক্যাল ভিজিট বিহেভিয়ারের সাথে অনলাইন বুকিং ডেটাকে একত্রিত করে। Webhook ইন্টিগ্রেশন প্রতিটি গেস্ট অথেনটিকেশনে ফায়ার করে, লেটেস্ট ভিজিট টাইমস্ট্যাম্প, ভেন্যু লোকেশন এবং ডিভাইসের তথ্য দিয়ে CRM রেকর্ডকে সমৃদ্ধ করে। এটি মার্কেটিং টিমকে রিসেন্সি, ফ্রিকোয়েন্সি এবং লোকেশন অনুযায়ী অডিয়েন্স সেগমেন্ট করতে এবং অত্যন্ত পার্সোনালাইজড রি-এনগেজমেন্ট ক্যাম্পেইন ট্রিগার করতে সক্ষম করে। মূল প্রযুক্তিগত ফলাফল ছিল একজন গেস্টের আগমন এবং একটি সক্রিয় মার্কেটিং জার্নিতে তাদের প্রবেশের মধ্যবর্তী সময় ২৪ ঘণ্টা (আগের ব্যাচ-পোলিং মডেলের অধীনে) থেকে কমিয়ে ৬০ সেকেন্ডের নিচে আনা।

কেস স্টাডি ২: রিটেইল — মাল্টি-সাইট ফ্যাশন রিটেইলার

৮০টিরও বেশি স্টোর থাকা একটি জাতীয় ফ্যাশন রিটেইলার তাদের কাস্টমার ডেটা স্ট্র্যাটেজিতে একটি জটিল শূন্যস্থান পূরণের জন্য Purple Portal API ডিপ্লয় করেছে: তাদের কাছে শক্তিশালী ই-কমার্স ডেটা ছিল কিন্তু ইন-স্টোর ভিজিটর বিহেভিয়ার সম্পর্কে কার্যত কোনো ইনসাইট ছিল না। একটি নাইটলি ETL প্রসেসের মাধ্যমে তাদের বিদ্যমান ডেটা ওয়্যারহাউসের সাথে Purple গেস্ট WiFi API কানেক্ট করে, তারা প্রথমবারের মতো একটি ক্রস-চ্যানেল কাস্টমার ভিউ তৈরি করেছে। প্রতি রাতে প্রতিটি স্টোরের জন্য /visitors এন্ডপয়েন্ট কোয়েরি করা হয়েছিল এবং ইমেইল অ্যাড্রেসকে কমন কী হিসেবে ব্যবহার করে ই-কমার্স ট্রানজ্যাকশন রেকর্ডের সাথে ডেটা যুক্ত করা হয়েছিল। তিন মাসের মধ্যে, অ্যানালিটিক্স টিম শনাক্ত করেছে যে ইন-স্টোর WiFi-এর সাথে কানেক্ট হওয়া গ্রাহকদের তাদের পরবর্তী অনলাইন কেনাকাটায় গড় অর্ডারের ভ্যালু ৩৪% বেশি ছিল, যা ইন-স্টোর ডিজিটাল অভিজ্ঞতায় আরও বিনিয়োগের জন্য একটি বাধ্যতামূলক বিজনেস কেস প্রদান করে। ইন্টিগ্রেশনের জন্য বিদ্যমান ই-কমার্স ইনফ্রাস্ট্রাকচারে কোনো পরিবর্তনের প্রয়োজন হয়নি, যা REST API পুল প্যাটার্নের লো-ফ্রিকশন প্রকৃতি প্রদর্শন করে।

কেস স্টাডি ৩: ইভেন্টস — কনফারেন্স সেন্টার

যুক্তরাজ্যের একটি বড় কনফারেন্স সেন্টার প্রথমবারের মতো স্পনসরদের ভেরিফাইড ফুটফল ডেটা প্রদানের জন্য Purple Portal API ব্যবহার করেছে। এর আগে, স্পনসর রিপোর্টগুলি ম্যানুয়াল হেডকাউন্ট এবং ব্যাজ স্ক্যানের উপর নির্ভর করত, যা ছিল শ্রমনিবিড় এবং ভুল। API-এর মাধ্যমে জোন প্রতি (Purple প্ল্যাটফর্মে ভেন্যু আইডিগুলিতে ম্যাপ করা) অ্যাগ্রিগেটেড, অ্যানোনিমাইজড ভিজিটর কাউন্ট এক্সপোজ করার মাধ্যমে, ইভেন্ট টিম স্পনসরদের রিয়েল-টাইম ড্যাশবোর্ড প্রদান করতে পারে যা স্পনসর করা এলাকাগুলিতে ডুয়েল টাইম এবং ভিজিটর ভলিউম দেখায়। ইভেন্ট চলাকালীন প্রতি ১৫ মিনিটে REST API-এর মাধ্যমে ডেটা পুল করা হয়েছিল এবং একটি কাস্টম-বিল্ট স্পনসর পোর্টালে প্রদর্শন করা হয়েছিল। এই সক্ষমতা সরাসরি প্রথম বছরে স্পনসরশিপ রিনিউয়াল রেট ২২% বৃদ্ধিতে অবদান রেখেছে, কারণ স্পনসররা এখন ভেরিফাইড, ফার্স্ট-পার্টি ডেটা দিয়ে তাদের অ্যাক্টিভেশনের রিচ পরিমাপ করতে পারে।

মূল সংজ্ঞাসমূহ

Webhook

একটি স্বয়ংক্রিয় মেকানিজম যেখানে একটি নির্দিষ্ট ইভেন্ট ঘটলে একটি সার্ভার HTTP POST রিকোয়েস্টের মাধ্যমে অন্য অ্যাপ্লিকেশনে একটি রিয়েল-টাইম ডেটা নোটিফিকেশন (একটি পুশ) পাঠায়।

Purple কনটেক্সটে, কোনো গেস্ট WiFi নেটওয়ার্কে অথেনটিকেট করার মুহূর্তে একটি Webhook আপনার সিস্টেমে ভিজিটর ডেটা সহ একটি JSON পেলোড পাঠায়। এটি রিয়েল-টাইম মার্কেটিং এবং CRM আপডেটের জন্য অত্যন্ত গুরুত্বপূর্ণ।

REST API

ওয়েব সার্ভিস তৈরির জন্য একটি প্রমিত আর্কিটেকচারাল স্টাইল যা একটি সিস্টেমকে GET এবং POST-এর মতো স্ট্যান্ডার্ড HTTP মেথড ব্যবহার করে অন্য সিস্টেম থেকে ডেটা রিকোয়েস্ট (বা পুল) করার অনুমতি দেয়।

আইটি টিমগুলি Power BI বা Tableau-এর মতো বিজনেস ইন্টেলিজেন্স টুলগুলিতে বিশ্লেষণের জন্য প্রচুর পরিমাণে ভিজিটর এবং ভেন্যু ডেটা পুল করে এমন স্ক্রিপ্ট লিখতে Purple REST API ব্যবহার করে।

API Key Authentication

একটি সিকিউরিটি মডেল যেখানে প্রতিটি রিকোয়েস্টের সাথে একটি ইউনিক সিক্রেট টোকেন (কী) প্রদান করে API-তে অ্যাক্সেস দেওয়া হয়, সাধারণত HTTP Authorization হেডারে।

এটি OAuth-এর চেয়ে সহজ এবং সার্ভার-টু-সার্ভার ইন্টিগ্রেশনের জন্য আদর্শ। Purple-এর ডেটা অ্যাক্সেস করার জন্য আপনার স্ক্রিপ্টগুলিকে অবশ্যই রিকোয়েস্ট হেডারে বৈধ API Key অন্তর্ভুক্ত করতে হবে।

Idempotency

একটি অপারেশনের একটি প্রপার্টি যার অর্থ হলো প্রাথমিক প্রয়োগের বাইরে ফলাফল পরিবর্তন না করেই এটি একাধিকবার প্রয়োগ করা যেতে পারে।

আপনার Webhook লিসেনার আইডেমপোটেন্ট হওয়া উচিত। যদি এটি একই অথেনটিকেশন ইভেন্ট দুবার গ্রহণ করে (যা রিট্রাই বা ডিভাইস রিকানেকশনের কারণে ঘটতে পারে), তবে এর উচিত নয়, উদাহরণস্বরূপ, দুটি ওয়েলকাম ইমেইল পাঠানো।

JSON (JavaScript Object Notation)

ডেটা ইন্টারচেঞ্জের জন্য একটি লাইটওয়েট, টেক্সট-ভিত্তিক ফরম্যাট যা মানুষের জন্য পড়া এবং মেশিনের জন্য পার্স ও জেনারেট করা সহজ।

Purple API এবং Webhook-গুলি JSON ফরম্যাটে সমস্ত ডেটা ডেলিভার করে। ইমেইল, নাম এবং ভিজিট কাউন্টের মতো ফিল্ডগুলি এক্সট্র্যাক্ট করতে আপনার অ্যাপ্লিকেশনকে এই JSON পার্স করতে হবে।

LogicFlow

স্বয়ংক্রিয় মার্কেটিং এবং এনগেজমেন্ট ওয়ার্কফ্লো তৈরি করার জন্য Purple-এর ভিজ্যুয়াল, ড্র্যাগ-অ্যান্ড-ড্রপ টুল যা ভিজিটর বিহেভিয়ার এবং ডেমোগ্রাফিকের উপর ভিত্তি করে অ্যাকশন ট্রিগার করতে পারে।

আপনি গেস্ট জার্নি ডিফাইন করতে LogicFlow ব্যবহার করেন। এখানেই আপনি আপনার Webhook সংযুক্ত করেন, সিস্টেমকে এটি ফায়ার করতে বলেন যখন কোনো ইউজার তাদের অ্যাক্সেস জার্নির 'Online' স্টেটে পৌঁছায়।

Captive Portal

যে ওয়েব পেজটি কোনো ইউজার দেখেন এবং একটি পাবলিক WiFi নেটওয়ার্কে অ্যাক্সেস দেওয়ার আগে অবশ্যই ইন্টারঅ্যাক্ট করতে হবে, যার জন্য সাধারণত অথেনটিকেশন বা ডেটা ক্যাপচার প্রয়োজন হয়।

Purple প্ল্যাটফর্ম Captive Portal-কে পাওয়ার দেয় এবং এই পেজে ইউজারের দ্বারা এন্টার করা ডেটা (যেমন, নাম, ইমেইল, কাস্টম ফিল্ড) Portal API-এর মাধ্যমে উপলব্ধ হয়।

GDPR (General Data Protection Regulation)

ইউরোপীয় ইউনিয়নের একটি ব্যাপক ডেটা প্রাইভেসি আইন যা ইইউ বাসিন্দাদের ব্যক্তিগত ডেটা সংগ্রহ, প্রসেসিং এবং স্টোরেজ নিয়ন্ত্রণ করে।

Purple API GDPR-কমপ্লায়েন্ট ইন্টিগ্রেশন তৈরি করার টুল প্রদান করে, যেমন ইউজারের আনসাবস্ক্রাইবড স্ট্যাটাসকে সম্মান করা এবং সাবজেক্ট অ্যাক্সেস রিকোয়েস্টের জন্য ডেটা এক্সপোর্ট সক্ষম করা। v1.7 API আপডেটটি কমপ্লায়েন্স সাপোর্ট করার জন্য আনসাবস্ক্রাইবড ফিল্ডের স্পষ্টতা বিশেষভাবে উন্নত করেছে।

ETL (Extract, Transform, Load)

একটি ডেটা ইন্টিগ্রেশন প্রসেস যার মধ্যে একটি সোর্স সিস্টেম থেকে ডেটা এক্সট্র্যাক্ট করা, এটিকে প্রয়োজনীয় ফরম্যাটে রূপান্তর করা এবং ডেটা ওয়্যারহাউসের মতো একটি ডেস্টিনেশন সিস্টেমে লোড করা জড়িত।

REST API পুল প্যাটার্নটি সাধারণত একটি ETL প্রসেস হিসেবে ইমপ্লিমেন্ট করা হয়, যেখানে Purple-এর /visitors এন্ডপয়েন্ট থেকে ডেটা এক্সট্র্যাক্ট করা হয়, ডেস্টিনেশন স্কিমার সাথে মেলাতে রূপান্তরিত করা হয় এবং একটি CRM বা ডেটা ওয়্যারহাউসে লোড করা হয়।

সমাধানকৃত উদাহরণসমূহ

একটি ২০০-রুমের হোটেল স্বয়ংক্রিয়ভাবে নতুন গেস্ট WiFi ইউজারদের তাদের Salesforce Marketing Cloud জার্নিতে যুক্ত করতে এবং একটি ওয়েলকাম ইমেইল পাঠাতে চায়।

১. Purple পোর্টালে, একটি সুরক্ষিত এন্ডপয়েন্ট (যেমন, AWS Lambda-তে একটি সার্ভারলেস ফাংশন) নির্দেশ করে এমন একটি নতুন Webhook URL যাচাই করুন। ২. একটি 'Online' LogicFlow তৈরি করুন যাতে Webhook নোড অন্তর্ভুক্ত থাকে, যা যাচাইকৃত URL ব্যবহার করার জন্য কনফিগার করা হয়েছে। ৩. হোটেলের গেস্ট WiFi অ্যাক্সেস জার্নিতে এই LogicFlow-টি অ্যাসাইন করুন। ৪. সার্ভারলেস ফাংশনটি গেস্ট অথেনটিকেশনে JSON পেলোড গ্রহণ করে, ইউজারের ইমেইল এবং নাম এক্সট্র্যাক্ট করে এবং ইউজারকে 'New Guest' জার্নিতে যুক্ত করতে Salesforce Marketing Cloud-এ একটি API কল করে। ৫. ফাংশনটি ১০-সেকেন্ডের টাইমআউট উইন্ডোর মধ্যে Purple-এ একটি 200 OK রেসপন্স রিটার্ন করে।

পরীক্ষকের মন্তব্য: এই সলিউশনটি সঠিকভাবে রিয়েল-টাইম Webhook প্যাটার্ন ব্যবহার করে, যা ওয়েলকাম ইমেইল পাঠানোর মতো তাৎক্ষণিক অ্যাকশনের জন্য আদর্শ। একটি সার্ভারলেস ফাংশন ব্যবহার করা লিসেনার এন্ডপয়েন্ট হোস্ট করার একটি সাশ্রয়ী এবং স্কেলেবল উপায়। একটি বিকল্প হতে পারে /visitors API এন্ডপয়েন্ট পোল করা, তবে এটি ২৪ ঘণ্টা পর্যন্ত বিলম্ব ঘটাবে এবং রিয়েল-টাইম প্রয়োজনীয়তার জন্য উল্লেখযোগ্যভাবে কম দক্ষ হবে।

৫০টি স্টোর থাকা একটি রিটেইল চেইন সমস্ত লোকেশন জুড়ে ভিজিটর ট্রেন্ড বিশ্লেষণ করতে Power BI-তে একটি সেন্ট্রাল ড্যাশবোর্ড তৈরি করতে চায়।

১. একটি স্ক্রিপ্ট তৈরি করুন (যেমন, Python-এ) যা একটি নাইটলি শিডিউলে চলে। ২. স্ক্রিপ্টটি কোম্পানির API Key ব্যবহার করে Purple Portal API-তে অথেনটিকেট করে। ৩. এটি ৫০টি ভেন্যু আইডির প্রতিটির মধ্য দিয়ে ইটারেট করে, আগের দিনের সমস্ত ভিজিটর ডেটা পুনরুদ্ধার করতে প্রতিটির জন্য /visitors এন্ডপয়েন্টে একটি কল করে। ৪. স্ক্রিপ্টটি এই ডেটাকে রূপান্তর করে এবং একটি সেন্ট্রাল ডেটা ওয়্যারহাউসে (যেমন, Azure SQL বা BigQuery) লোড করে। ৫. ক্রস-ভেন্যু অ্যানালিটিক্স ড্যাশবোর্ড তৈরি করতে Power BI ডেটা ওয়্যারহাউসের সাথে কানেক্ট করা হয়।

পরীক্ষকের মন্তব্য: এটি একটি ক্লাসিক ETL (Extract, Transform, Load) প্রসেস এবং এটি REST API-এর পোলিং প্যাটার্নের সঠিক ব্যবহার। এটি বিজনেস ইন্টেলিজেন্সের জন্য নন-রিয়েল-টাইম, বড় আকারের ডেটা অ্যাগ্রিগেশনের জন্য উপযুক্ত। একাধিক সোর্স থেকে ডেটা নিয়ে কাজ করার সময় পারফরম্যান্স এবং স্কেলেবিলিটির জন্য একটি সেন্ট্রাল ডেটা ওয়্যারহাউস ব্যবহার করা একটি বেস্ট প্র্যাকটিস। Purple API-তে রেট লিমিটের অনুপস্থিতির অর্থ হলো স্ক্রিপ্টটি থ্রটলিং উদ্বেগ ছাড়াই সমস্ত ৫০টি ভেন্যু প্রসেস করতে পারে।

অনুশীলনী প্রশ্নসমূহ

Q1. একটি স্টেডিয়াম ভিআইপি সিজন টিকিট হোল্ডারদের শনাক্ত করতে চায় যখন তারা WiFi-এর সাথে কানেক্ট করে এবং নিকটতম হসপিটালিটি ম্যানেজারের ড্যাশবোর্ডে একটি নোটিফিকেশন পাঠাতে চায়। তাদের কোন ইন্টিগ্রেশন প্যাটার্ন ব্যবহার করা উচিত এবং কেন?

ইঙ্গিত: নোটিফিকেশনের প্রয়োজনীয় গতি এবং অ্যাকশনটি কোনো ইভেন্ট দ্বারা ট্রিগার হয়েছে কিনা তা বিবেচনা করুন।

মডেল উত্তর দেখুন

তাদের Webhook (পুশ) প্যাটার্ন ব্যবহার করা উচিত। এটি একটি রিয়েল-টাইম প্রয়োজনীয়তা: যখন ভিআইপি কানেক্ট করেন, তখন একটি Webhook অবিলম্বে এমন একটি সার্ভিসে ফায়ার করে যা সিজন টিকিট হোল্ডার ডেটাবেসের বিপরীতে ইউজারের ইমেইল বা MAC অ্যাড্রেস লুকআপ করে। যদি কোনো মিল পাওয়া যায়, তবে এটি প্রাসঙ্গিক হসপিটালিটি ড্যাশবোর্ডে একটি নোটিফিকেশন পুশ করে। একটি REST API (পুল) প্যাটার্ন খুব ধীর হবে, কারণ এটি পর্যায়ক্রমিক পোলিংয়ের উপর নির্ভর করে এবং মিনিট বা ঘণ্টার বিলম্ব ঘটাতে পারে।

Q2. আপনাকে আপনার কফি শপের জাতীয় চেইনে সবচেয়ে বেশি ভিজিট করা শীর্ষ ১০টি ভেন্যুর একটি দৈনিক রিপোর্ট তৈরি করার দায়িত্ব দেওয়া হয়েছে। আপনি কীভাবে Purple থেকে প্রয়োজনীয় ডেটা পুনরুদ্ধার করবেন?

ইঙ্গিত: এটি কি একটি রিয়েল-টাইম নাকি ব্যাচ রিপোর্টিং প্রয়োজনীয়তা? আপনি কোন এন্ডপয়েন্টে কোয়েরি করবেন?

মডেল উত্তর দেখুন

এটি একটি ব্যাচ রিপোর্টিং টাস্ক, তাই REST API (পুল) প্যাটার্ন উপযুক্ত। একটি শিডিউলড স্ক্রিপ্ট প্রতিদিন চলবে, প্রতিটি ভেন্যুর জন্য /visitors এন্ডপয়েন্টে কোয়েরি করবে, আগের দিনের ভিজিট কাউন্ট অ্যাগ্রিগেট করবে এবং তারপর শীর্ষ ১০টি গণনা করবে। Webhook দ্বারা প্রদত্ত প্রায়-তাৎক্ষণিক নোটিফিকেশনের কোনো প্রয়োজন নেই। রেট লিমিটের অনুপস্থিতির অর্থ হলো থ্রটলিং উদ্বেগ ছাড়াই একটি একক স্ক্রিপ্ট রানে সমস্ত ভেন্যু কোয়েরি করা যেতে পারে।

Q3. আপনার Webhook লিসেনার এন্ডপয়েন্ট ব্যর্থ হচ্ছে। আপনি লগগুলি চেক করে একটি টাইমআউট এরর দেখতে পান। Purple-এর ডকুমেন্টেশন অনুযায়ী সবচেয়ে সম্ভাব্য কারণ কী এবং এর দুটি তাৎক্ষণিক পরিণতি কী?

ইঙ্গিত: একটি লিসেনারের পারফরম্যান্স প্রয়োজনীয়তা এবং Purple যখন কোনো পেলোড ডেলিভার করতে পারে না তখন কী করে সে সম্পর্কে চিন্তা করুন।

মডেল উত্তর দেখুন

সবচেয়ে সম্ভাব্য কারণ হলো লিসেনার ইনকামিং JSON পেলোড প্রসেস করতে এবং একটি 200 OK রেসপন্স রিটার্ন করতে ১০ সেকেন্ডের বেশি সময় নিচ্ছে। দুটি তাৎক্ষণিক পরিণতি হলো: (১) Purple বর্তমান রিকোয়েস্ট পাঠানোর চেষ্টা বন্ধ করে দেবে এবং ৩ ঘণ্টার মধ্যে একটি রিট্রাই প্রচেষ্টার জন্য এটিকে রিকিউ করবে, যার অর্থ ডেটা ডেলিভারি বিলম্বিত হবে; এবং (২) যদি এটি দীর্ঘ সময় ধরে চলতে থাকে, তবে Purple স্বয়ংক্রিয়ভাবে Webhook-টিকে সম্পূর্ণভাবে নিষ্ক্রিয় করে দেবে, এটি পুনরায় সক্ষম করার আগে পোর্টালে ম্যানুয়াল রি-ভেরিফিকেশন প্রয়োজন হবে।

এই সিরিজে পড়া চালিয়ে যান

Purple WiFi-এর সাথে Grandstream GWN Access Points ইন্টিগ্রেশন

এই নির্ভরযোগ্য প্রযুক্তিগত নির্দেশিকাটিতে বিস্তারিত আলোচনা করা হয়েছে কীভাবে Grandstream GWN access points-কে Purple-এর Guest WiFi এবং অ্যানালিটিক্স প্ল্যাটফর্মের সাথে ইন্টিগ্রেট করা যায়। এতে Grandstream captive portal কনফিগারেশন, RADIUS AAA সেটিংস, walled garden সেটআপ, ডাইনামিক VLAN স্টিয়ারিং সহ নিরাপদ স্টাফ 802.1X অথেনটিকেশন এবং মাল্টি-টেন্যান্ট PPSK সেগমেন্টেশন অন্তর্ভুক্ত রয়েছে - যা বৃহৎ পরিসরে গেস্ট এবং স্টাফ WiFi স্থাপনকারী MSP এবং IT টিমগুলোর জন্য কার্যকর, ধাপে ধাপে নির্দেশনা প্রদান করে।

গাইডটি পড়ুন →

Purple WiFi-এর সাথে OpenWrt কাস্টম ফার্মওয়্যার ইন্টিগ্রেশন

এই গাইডটি Purple WiFi-এর সাথে OpenWrt কাস্টম ফার্মওয়্যার স্থাপনের জন্য সম্পূর্ণ ইন্টিগ্রেশন প্লেবুক প্রদান করে। এতে CoovaChilli captive portal কনফিগারেশন, iptables walled garden ম্যানেজমেন্ট, hostapd-এর মাধ্যমে 802.1X সুরক্ষিত স্টাফ WiFi এবং ডাইনামিক VLAN অ্যাসাইনমেন্ট সহ মাল্টি-টেন্যান্ট PPSK সেগমেন্টেশন কভার করা হয়েছে - যা IT টিমগুলোকে যেকোনো OpenWrt-সক্ষম হার্ডওয়্যারে একটি আইডেন্টিটি-ভিত্তিক নেটওয়ার্ক তৈরি করার জন্য প্রয়োজনীয় সঠিক কনফিগারেশন ধাপগুলো প্রদান করে।

গাইডটি পড়ুন →

Purple WiFi-এর সাথে Cambium Networks cnPilot এবং cnMaestro ইন্টিগ্রেশন

এই নির্ভরযোগ্য নির্দেশিকাটি Purple WiFi ইন্টেলিজেন্স প্ল্যাটফর্মের সাথে Cambium Networks cnPilot অ্যাক্সেস পয়েন্ট এবং cnMaestro ক্লাউড কন্ট্রোলারের ইন্টিগ্রেশনের বিস্তারিত বিবরণ দেয়। এতে আর্কিটেকচার, Captive Portal কনফিগারেশন, ওয়াল্ড গার্ডেন প্রয়োজনীয়তা, 802.1X স্টাফ WiFi এবং মাল্টি-টেন্যান্ট পরিবেশের জন্য Cambium ePSK ব্যবহার করে ডাইনামিক VLAN সেগমেন্টেশন অন্তর্ভুক্ত রয়েছে।

গাইডটি পড়ুন →