বাহ্যিক ট্রিগার ব্যবহার করে চ্যাট স্পেসে অ্যাসিঙ্ক্রোনাস মেসেজ পাঠানোর জন্য কীভাবে একটি ওয়েবহুক সেট আপ করতে হয় তা এই পৃষ্ঠায় বর্ণনা করা হয়েছে। উদাহরণস্বরূপ, সার্ভার ডাউন হয়ে গেলে চ্যাটে অন-কল কর্মীদের অবহিত করার জন্য আপনি একটি পর্যবেক্ষণ অ্যাপ্লিকেশন কনফিগার করতে পারেন। একটি চ্যাট অ্যাপের সাথে একটি সিঙ্ক্রোনাস বার্তা পাঠাতে, একটি বার্তা পাঠান দেখুন।
এই ধরনের আর্কিটেকচার ডিজাইনের সাথে, ব্যবহারকারীরা ওয়েবহুক বা সংযুক্ত বাহ্যিক অ্যাপ্লিকেশনের সাথে যোগাযোগ করতে পারে না কারণ যোগাযোগ একমুখী। ওয়েবহুক কথোপকথনমূলক নয়। তারা ব্যবহারকারী বা চ্যাট অ্যাপ ইন্টারঅ্যাকশন ইভেন্টের বার্তাগুলির প্রতিক্রিয়া বা গ্রহণ করতে পারে না। বার্তাগুলির প্রতিক্রিয়া জানাতে, ওয়েবহুকের পরিবর্তে একটি চ্যাট অ্যাপ তৈরি করুন ।
যদিও একটি ওয়েবহুক প্রযুক্তিগতভাবে একটি চ্যাট অ্যাপ নয়—ওয়েবহুকগুলি মানক HTTP অনুরোধগুলি ব্যবহার করে অ্যাপ্লিকেশনগুলিকে সংযুক্ত করে—এই পৃষ্ঠাটি এটিকে সরলীকরণের জন্য একটি চ্যাট অ্যাপ হিসাবে উল্লেখ করে৷ প্রতিটি ওয়েবহুক শুধুমাত্র সেই চ্যাট স্পেসে কাজ করে যেখানে এটি নিবন্ধিত আছে। ইনকামিং ওয়েবহুকগুলি সরাসরি বার্তাগুলিতে কাজ করে, তবে শুধুমাত্র যখন সমস্ত ব্যবহারকারীর চ্যাট অ্যাপগুলি সক্ষম থাকে৷ আপনি Google Workspace মার্কেটপ্লেসে ওয়েবহুক প্রকাশ করতে পারবেন না।
নিম্নলিখিত চিত্রটি চ্যাটের সাথে সংযুক্ত একটি ওয়েবহুকের আর্কিটেকচার দেখায়:
পূর্ববর্তী চিত্রে, একটি চ্যাট অ্যাপে নিম্নলিখিত তথ্যের প্রবাহ রয়েছে:
- চ্যাট অ্যাপ লজিক এক্সটার্নাল থার্ড-পার্টি পরিষেবা থেকে তথ্য পায়, যেমন প্রোজেক্ট ম্যানেজমেন্ট সিস্টেম বা টিকিটিংয়ের টুল।
- চ্যাট অ্যাপ লজিক একটি ক্লাউড বা অন-প্রিমিসেস সিস্টেমে হোস্ট করা হয় যা একটি নির্দিষ্ট চ্যাট স্পেসে ওয়েবহুক ইউআরএল ব্যবহার করে বার্তা পাঠাতে পারে।
- ব্যবহারকারীরা সেই নির্দিষ্ট চ্যাট স্পেসে চ্যাট অ্যাপ থেকে বার্তা পেতে পারে, কিন্তু চ্যাট অ্যাপের সাথে ইন্টারঅ্যাক্ট করতে অক্ষম।
পূর্বশর্ত
পাইথন
- Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট। আপনার Google Workspace সংস্থাকে অবশ্যই ব্যবহারকারীদের ইনকামিং ওয়েবহুক যোগ করতে এবং ব্যবহার করতে দিতে হবে।
- পাইথন 3.6 বা তার বেশি
- পাইপ প্যাকেজ ম্যানেজমেন্ট টুল
httplib2
লাইব্রেরি। লাইব্রেরি ইনস্টল করতে, আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:pip install httplib2
একটি Google চ্যাট স্পেস। Google Chat API ব্যবহার করে একটি তৈরি করতে, একটি স্থান তৈরি করুন দেখুন। চ্যাটে একটি তৈরি করতে, সহায়তা কেন্দ্রের ডকুমেন্টেশনে যান।
Node.js
- Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট। আপনার Google Workspace সংস্থাকে অবশ্যই ব্যবহারকারীদের ইনকামিং ওয়েবহুক যোগ করতে এবং ব্যবহার করতে দিতে হবে।
- Node.js 14 বা তার বেশি
- npm প্যাকেজ ম্যানেজমেন্ট টুল
- একটি Google চ্যাট স্পেস। Google Chat API ব্যবহার করে একটি তৈরি করতে, একটি স্থান তৈরি করুন দেখুন। চ্যাটে একটি তৈরি করতে, সহায়তা কেন্দ্রের ডকুমেন্টেশনে যান।
জাভা
- Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট। আপনার Google Workspace সংস্থাকে অবশ্যই ব্যবহারকারীদের ইনকামিং ওয়েবহুক যোগ করতে এবং ব্যবহার করতে দিতে হবে।
- Java 11 বা তার বেশি
- ম্যাভেন প্যাকেজ ম্যানেজমেন্ট টুল
- একটি Google চ্যাট স্পেস। Google Chat API ব্যবহার করে একটি তৈরি করতে, একটি স্থান তৈরি করুন দেখুন। চ্যাটে একটি তৈরি করতে, সহায়তা কেন্দ্রের ডকুমেন্টেশনে যান।
অ্যাপস স্ক্রিপ্ট
- Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট। আপনার Google Workspace সংস্থাকে অবশ্যই ব্যবহারকারীদের ইনকামিং ওয়েবহুক যোগ করতে এবং ব্যবহার করতে দিতে হবে।
- একটি স্বতন্ত্র অ্যাপস স্ক্রিপ্ট প্রকল্প তৈরি করুন এবং উন্নত চ্যাট পরিষেবা চালু করুন।
- একটি Google চ্যাট স্পেস। Google Chat API ব্যবহার করে একটি তৈরি করতে, একটি স্থান তৈরি করুন দেখুন। চ্যাটে একটি তৈরি করতে, সহায়তা কেন্দ্রের ডকুমেন্টেশনে যান।
একটি ওয়েবহুক তৈরি করুন
একটি ওয়েবহুক তৈরি করতে, এটিকে চ্যাট স্পেসে নিবন্ধন করুন যেখানে আপনি বার্তা পেতে চান এবং তারপর একটি স্ক্রিপ্ট লিখুন যা বার্তা পাঠায়।
ইনকামিং ওয়েবহুক নিবন্ধন করুন
- একটি ব্রাউজারে, চ্যাট খুলুন। চ্যাট মোবাইল অ্যাপ থেকে ওয়েবহুক কনফিগার করা যায় না।
- আপনি একটি ওয়েবহুক যোগ করতে চান যেখানে স্থান যান.
- স্পেস শিরোনামের পাশে, expand more তীরটিতে ক্লিক করুন এবং তারপরে Apps & integrations এ ক্লিক করুন।
অ্যাড ওয়েবহুক যোগ
ক্লিক করুন।নাম ক্ষেত্রে,
Quickstart Webhook
লিখুন।Avatar URL ক্ষেত্রে,
https://developers.google.com/chat/images/chat-product-icon.png
লিখুন।Save এ ক্লিক করুন।
ওয়েবহুক ইউআরএল কপি করতে,
More এ ক্লিক করুন এবং তারপর Copy লিঙ্কে ক্লিক করুন।
ওয়েবহুক স্ক্রিপ্ট লিখুন
উদাহরণ ওয়েবহুক স্ক্রিপ্টটি ওয়েবহুক URL-এ একটি POST
অনুরোধ পাঠিয়ে ওয়েবহুক নিবন্ধিত স্থানটিতে একটি বার্তা পাঠায়। চ্যাট এপিআই Message
একটি উদাহরণ দিয়ে প্রতিক্রিয়া জানায়।
কিভাবে একটি ওয়েবহুক স্ক্রিপ্ট তৈরি করতে হয় তা শিখতে একটি ভাষা নির্বাচন করুন:
পাইথন
আপনার কাজের ডিরেক্টরিতে,
quickstart.py
নামে একটি ফাইল তৈরি করুন।quickstart.py
এ, নিম্নলিখিত কোড পেস্ট করুন:url
ভেরিয়েবলের মানটিকে ওয়েবহুক ইউআরএল দিয়ে প্রতিস্থাপন করুন যা আপনি ওয়েবহুক নিবন্ধন করার সময় কপি করেছিলেন।
Node.js
আপনার কাজের ডিরেক্টরিতে,
index.js
নামে একটি ফাইল তৈরি করুন।index.js
এ, নিম্নলিখিত কোড পেস্ট করুন:url
ভেরিয়েবলের মানটিকে ওয়েবহুক ইউআরএল দিয়ে প্রতিস্থাপন করুন যা আপনি ওয়েবহুক নিবন্ধন করার সময় কপি করেছিলেন।
জাভা
আপনার কাজের ডিরেক্টরিতে,
pom.xml
নামে একটি ফাইল তৈরি করুন।pom.xml
এ, নিম্নলিখিতগুলি কপি এবং পেস্ট করুন:আপনার ওয়ার্কিং ডিরেক্টরিতে, নিম্নলিখিত ডিরেক্টরি গঠন
src/main/java
তৈরি করুন।src/main/java
ডিরেক্টরিতে,App.java
নামে একটি ফাইল তৈরি করুন।App.java
এ, নিম্নলিখিত কোড পেস্ট করুন:URL
ভেরিয়েবলের মানটিকে ওয়েবহুক ইউআরএল দিয়ে প্রতিস্থাপন করুন যা আপনি ওয়েবহুক নিবন্ধন করার সময় কপি করেছিলেন।
অ্যাপস স্ক্রিপ্ট
একটি ব্রাউজারে, অ্যাপস স্ক্রিপ্টে যান।
নতুন প্রকল্প ক্লিক করুন
নিম্নলিখিত কোড পেস্ট করুন:
url
ভেরিয়েবলের মানটিকে ওয়েবহুক ইউআরএল দিয়ে প্রতিস্থাপন করুন যা আপনি ওয়েবহুক নিবন্ধন করার সময় কপি করেছিলেন।
ওয়েবহুক স্ক্রিপ্ট চালান
একটি CLI-তে, স্ক্রিপ্টটি চালান:
পাইথন
python3 quickstart.py
Node.js
node index.js
জাভা
mvn compile exec:java -Dexec.mainClass=App
অ্যাপস স্ক্রিপ্ট
- রান এ ক্লিক করুন।
যখন আপনি কোডটি চালান, তখন ওয়েবহুক আপনি যে স্থানে এটি নিবন্ধন করেন সেখানে একটি বার্তা পাঠায়।
একটি বার্তা থ্রেড শুরু করুন বা উত্তর দিন
বার্তা অনুরোধের অংশ হিসাবে
spaces.messages.thread.threadKey
নির্দিষ্ট করুন। আপনি একটি থ্রেড শুরু করছেন বা উত্তর দিচ্ছেন কিনা তার উপর নির্ভর করে,threadKey
জন্য নিম্নলিখিত মানগুলি ব্যবহার করুন:যদি একটি থ্রেড শুরু করা হয়,
threadKey
একটি নির্বিচারে স্ট্রিং সেট করুন, কিন্তু থ্রেড একটি উত্তর পোস্ট করার জন্য এই মান একটি নোট করুন.যদি একটি থ্রেডের উত্তর দেওয়া হয়,
threadKey
নির্দিষ্ট করুন যা থ্রেডটি শুরু করার সময় সেট করা হয়েছিল। উদাহরণস্বরূপ, থ্রেডের একটি উত্তর পোস্ট করতে যেখানে প্রাথমিক বার্তাটিMY-THREAD
ব্যবহার করেছে,MY-THREAD
সেট করুন।
নির্দিষ্ট
threadKey
পাওয়া না গেলে থ্রেড আচরণ সংজ্ঞায়িত করুন:একটি থ্রেডের উত্তর দিন বা একটি নতুন থ্রেড শুরু করুন। webhuok URL-এ
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
প্যারামিটার যোগ করুন। এই URL প্যারামিটারটি পাস করার ফলে চ্যাট নির্দিষ্টthreadKey
ব্যবহার করে একটি বিদ্যমান থ্রেড সন্ধান করতে পারে। যদি একটি পাওয়া যায়, তাহলে বার্তাটি সেই থ্রেডের উত্তর হিসাবে পোস্ট করে। যদি কোনটি পাওয়া না যায়, তাহলে বার্তাটি সেইthreadKey
সাথে সম্পর্কিত একটি নতুন থ্রেড শুরু করে।একটি থ্রেডের উত্তর দিন বা কিছুই করবেন না। webhuok URL-এ
messageReplyOption=REPLY_MESSAGE_OR_FAIL
প্যারামিটার যোগ করুন। এই URL প্যারামিটারটি পাস করার ফলে চ্যাট নির্দিষ্টthreadKey
ব্যবহার করে একটি বিদ্যমান থ্রেড সন্ধান করতে পারে। যদি একটি পাওয়া যায়, তাহলে বার্তাটি সেই থ্রেডের উত্তর হিসাবে পোস্ট করে। যদি কেউ খুঁজে না পাওয়া যায়, তাহলে বার্তা পাঠানো হয় না।
আরও জানতে,
messageReplyOption
দেখুন।
নিম্নলিখিত কোড নমুনা একটি বার্তা থ্রেড শুরু বা উত্তর:
পাইথন
Node.js
অ্যাপস স্ক্রিপ্ট
ত্রুটিগুলি পরিচালনা করুন
ওয়েবহুক অনুরোধগুলি বিভিন্ন কারণে ব্যর্থ হতে পারে, যার মধ্যে রয়েছে:
- অবৈধ অনুরোধ.
- ওয়েবহুক বা স্পেস হোস্টিং ওয়েবহুক মুছে ফেলা হয়।
- নেটওয়ার্ক সংযোগ বা কোটা সীমার মতো অন্তর্বর্তী সমস্যা।
আপনার ওয়েবহুক তৈরি করার সময়, আপনাকে যথাযথভাবে ত্রুটিগুলি পরিচালনা করা উচিত:
- ব্যর্থতা লগিং.
- সময়-ভিত্তিক, কোটা, বা নেটওয়ার্ক সংযোগ ত্রুটির জন্য, সূচকীয় ব্যাকঅফের সাথে অনুরোধটি পুনঃচেষ্টা করা ।
- ওয়েবহুক বার্তা পাঠানো গুরুত্বপূর্ণ না হলে কিছু না করা, যা উপযুক্ত।
Google Chat API ত্রুটিগুলিকে একটি google.rpc.Status
হিসাবে ফেরত দেয়, যার মধ্যে একটি HTTP ত্রুটি code
রয়েছে যা সম্মুখীন হওয়া ত্রুটির ধরন নির্দেশ করে: একটি ক্লায়েন্ট ত্রুটি (400 সিরিজ) বা একটি সার্ভার ত্রুটি (500 সিরিজ)৷ সমস্ত HTTP ম্যাপিং পর্যালোচনা করতে, google.rpc.Code
দেখুন।
{
"code": 503,
"message": "The service is currently unavailable.",
"status": "UNAVAILABLE"
}
কিভাবে HTTP স্থিতি কোড ব্যাখ্যা করতে হয় এবং ত্রুটিগুলি পরিচালনা করতে হয় তা শিখতে, ত্রুটিগুলি দেখুন।
সীমাবদ্ধতা এবং বিবেচনা
- Google Chat API-এ একটি ওয়েবহুক দিয়ে একটি বার্তা তৈরি করার সময়, প্রতিক্রিয়াটিতে সম্পূর্ণ বার্তা থাকে না। প্রতিক্রিয়া শুধুমাত্র
name
এবংthread.name
ক্ষেত্রগুলি পূরণ করে৷