‘অ্যাকশন ঘোষণা করুন’ অংশে যেমন বর্ণনা করা হয়েছে, যখন কোনো ব্যবহারকারী অ্যাপের ভেতরের কোনো অ্যাকশনের সাথে ইন্টারঅ্যাক্ট করেন, তখন গুগল সেই অ্যাকশনে ঘোষিত একটি 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-urlencoded ফরম্যাট ব্যবহার করে এনকোড করা হয়। এই তথ্যগুলো এমন সব প্রপার্টিতে সেট করা হয়, যেগুলোর নাম অ্যাকশনের প্রপার্টিগুলোর নামের সাথে মিলে যায়। উদাহরণস্বরূপ, ConfirmAction-এর একটি confirmed প্রপার্টি রয়েছে।
ধাপ ৩: একটি প্রতিক্রিয়া কোড ফেরত দিন
সার্ভিসটি সফলভাবে অ্যাকশনটি প্রসেস ও রেকর্ড করার পর, রেসপন্স কোড 200 (OK) রিটার্ন করুন। ত্রুটির ক্ষেত্রে আপনি নিম্নলিখিত রেসপন্স কোডগুলো ব্যবহার করতে পারেন:
| প্রতিক্রিয়া কোড | চিকিৎসা |
|---|---|
| ৪০০ (ভুল অনুরোধ) | গুগল এই কাজটি ব্যর্থ হিসেবে চিহ্নিত করে। |
| ৪০১ (অননুমোদিত) | গুগল এই কাজটি ব্যর্থ হিসেবে চিহ্নিত করে। |
| ৪০৪ (খুঁজে পাওয়া যায়নি) | গুগল এই কাজটি ব্যর্থ হিসেবে চিহ্নিত করে। |
| ৪০৮ (অনুরোধের সময়সীমা অতিক্রান্ত) | গুগল পরে আবার চেষ্টা করে। |
স্থায়ী ব্যর্থতার ক্ষেত্রে, গুগল ব্যবহারকারীকে জানিয়ে দেয় যে কাজটি ব্যর্থ হয়েছে এবং তাদের ইমেলের ভেতরে থাকা বিকল্প নির্দেশাবলী অনুসরণ করা উচিত।