‘অ্যাকশন ঘোষণা’ অংশে যেমন বর্ণনা করা হয়েছে, যখন কোনো ব্যবহারকারী একটি ইন-অ্যাপ অ্যাকশনের সাথে ইন্টারঅ্যাক্ট করেন, তখন গুগল সেই অ্যাকশনে ঘোষিত একটি URL-এ একটি HTTP রিকোয়েস্ট পাঠায়।
নিম্নলিখিত উদাহরণটি একটি ব্যয় প্রতিবেদন সম্পর্কিত ইমেইলে একটি ConfirmAction বাটন যোগ করে:
JSON-LD
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ConfirmAction",
"name": "Approve Expense",
"handler": {
"@type": "HttpActionHandler",
"url": "https://myexpenses.com/approve?expenseId=abc123"
}
},
"description": "Approval request for John's $10.13 expense for office supplies"
}
</script>
মাইক্রোডেটা
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="potentialAction" itemscope itemtype="http://schema.org/ConfirmAction">
<meta itemprop="name" content="Approve Expense"/>
<div itemprop="handler" itemscope itemtype="http://schema.org/HttpActionHandler">
<link itemprop="url" href="https://myexpenses.com/approve?expenseId=abc123"/>
</div>
</div>
<meta itemprop="description" content="Approval request for John's $10.13 expense for office supplies"/>
</div>
যখন ব্যবহারকারী বোতামটিতে ক্লিক করেন, তখন গুগল থেকে আপনার পরিষেবাতে একটি HTTP অনুরোধ পাঠানো হবে, যা নিশ্চিতকরণটি রেকর্ড করবে। আপনার পরিষেবা গুগল থেকে নিম্নলিখিত HTTP অনুরোধটি গ্রহণ করে:
POST /approve?expenseId=abc123 HTTP/1.1
Host: your-domain.com
Authorization: Bearer AbCdEf123456
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions)
confirmed=Approved
এই পৃষ্ঠার বাকি অংশে বর্ণনা করা হয়েছে যে, কাজটি সঠিকভাবে সম্পন্ন করার জন্য https://your-domain.com/approve?expenseId=abc123 এ থাকা পরিষেবাটিকে কী করতে হবে। এর মধ্যে রয়েছে:
- অনুরোধ যাচাই করা হচ্ছে
- পেলোড প্রক্রিয়াকরণ
- একটি প্রতিক্রিয়া কোড ফেরত দেওয়া
ধাপ ১: অনুরোধটি যাচাই করুন
https://your-domain.com/approve?expenseId=abc123 এ থাকা পরিষেবাটি যাচাই করার জন্য উৎসাহিত করা হচ্ছে:
- সীমিত ব্যবহারের অ্যাক্সেস টোকেন - রিপ্লে অ্যাটাক থেকে সুরক্ষার জন্য।
- ইউজার এজেন্ট - অনুরোধটি গুগল থেকে আসছে তা নিশ্চিত করার জন্য।
- বেয়ারার টোকেন - গুগল থেকে আসা অনুরোধটি যে এই পরিষেবার জন্যই উদ্দিষ্ট, তা নিশ্চিত করতে।
সকল অ্যাকশন অনুরোধের ইউজার এজেন্ট হলো Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/1.0 (KHTML, like Gecko; Gmail Actions) ।
সমস্ত যাচাই সফল হলে, পরিষেবাটি পরবর্তী ধাপে যেতে পারবে।
ধাপ ২: পদক্ষেপটি প্রক্রিয়া করুন
সার্ভিসটি ইউআরএল প্যারামিটারে উল্লেখিত অ্যাকশন এবং ব্যবহারকারীর কাছ থেকে সংগৃহীত অতিরিক্ত তথ্য উভয়ই প্রসেস করবে।
ব্যবহারকারীর অতিরিক্ত তথ্য রিকোয়েস্টের বডিতে থাকে এবং এটি x-www-form-urlecoded এনকোডিং ব্যবহার করে এনকোড করা হয়। এই তথ্যগুলো এমন সব প্রপার্টিতে সেট করা থাকে, যেগুলোর নাম অ্যাকশন-এর প্রপার্টিগুলোর নামের সাথে মিলে যায়। উদাহরণস্বরূপ, ConfirmAction-এর একটি confirmed প্রপার্টি রয়েছে।
ধাপ ৩: একটি প্রতিক্রিয়া কোড ফেরত দিন
সার্ভিসটি সফলভাবে অ্যাকশনটি প্রসেস ও রেকর্ড করার পর, এটির একটি রেসপন্স কোড 200 (OK) রিটার্ন করা উচিত। ত্রুটির ক্ষেত্রে নিম্নলিখিত রেসপন্স কোডগুলো ব্যবহার করা যেতে পারে:
| প্রতিক্রিয়া কোড | চিকিৎসা |
|---|---|
| ৪০০ (ভুল অনুরোধ) | গুগল কাজটি ব্যর্থ করে দেবে। |
| ৪০১ (অননুমোদিত) | গুগল কাজটি ব্যর্থ করে দেবে। |
| ৪০৪ (খুঁজে পাওয়া যায়নি) | গুগল কাজটি ব্যর্থ করে দেবে। |
| ৪০৮ (অনুরোধের সময়সীমা অতিক্রান্ত) | গুগল পরে আবার চেষ্টা করবে। |
স্থায়ীভাবে ব্যর্থ হলে, গুগল ব্যবহারকারীকে জানিয়ে দেবে যে কাজটি ব্যর্থ হয়েছে এবং ইমেইলের ভেতরে থাকা বিকল্প নির্দেশাবলী অনুসরণ করতে হবে।