Declaring Actions -এ বর্ণিত হিসাবে, যখন একজন ব্যবহারকারী একটি ইন-অ্যাপ অ্যাকশনের সাথে ইন্টারঅ্যাক্ট করেন, তখন Google অ্যাকশনে ঘোষিত একটি 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>
ব্যবহারকারী যখন বোতামটিতে ক্লিক করবেন, তখন Google থেকে আপনার পরিষেবায় একটি HTTP অনুরোধ জারি করা হবে, যা নিশ্চিতকরণ রেকর্ড করবে। আপনার পরিষেবা Google থেকে নিম্নলিখিত 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) ।
যদি সমস্ত পরীক্ষা পাস হয়, তাহলে পরিষেবাটি পরবর্তী ধাপে যেতে পারে।
ধাপ ২: ক্রিয়াটি প্রক্রিয়া করুন
পরিষেবাটি URL প্যারামিটারে উল্লেখিত পদক্ষেপের পাশাপাশি ব্যবহারকারীর কাছ থেকে সংগৃহীত অতিরিক্ত তথ্য প্রক্রিয়া করবে।
ব্যবহারকারীর অতিরিক্ত তথ্য অনুরোধের মূল অংশে থাকে এবং x-www-form-urlecoded এনকোডিং ব্যবহার করে এনকোড করা হয়। তথ্যগুলি এমন বৈশিষ্ট্যে সেট করা হয় যার নাম Action এর বৈশিষ্ট্যের সাথে মিলে যায়। উদাহরণস্বরূপ, ConfirmAction এর বৈশিষ্ট্যটি confirmed আছে।
ধাপ ৩: একটি প্রতিক্রিয়া কোড ফেরত দিন
একবার পরিষেবাটি সফলভাবে প্রক্রিয়াকরণ এবং ক্রিয়াটি রেকর্ড করার পরে, এটি একটি প্রতিক্রিয়া কোড 200 (OK) ফেরত দেবে। নিম্নলিখিত প্রতিক্রিয়া কোডগুলি ত্রুটি পরিস্থিতিতে ব্যবহার করা যেতে পারে:
| প্রতিক্রিয়া কোড | চিকিৎসা |
|---|---|
| ৪০০ (খারাপ অনুরোধ) | গুগল এই পদক্ষেপে ব্যর্থ হবে। |
| ৪০১ (অননুমোদিত) | গুগল এই পদক্ষেপে ব্যর্থ হবে। |
| ৪০৪ (পাওয়া যায়নি) | গুগল এই পদক্ষেপে ব্যর্থ হবে। |
| ৪০৮ (অনুরোধের সময়সীমা) | গুগল পরে আবার চেষ্টা করবে। |
স্থায়ী ব্যর্থতার ক্ষেত্রে, গুগল ব্যবহারকারীকে বলবে যে পদক্ষেপটি ব্যর্থ হয়েছে এবং ব্যবহারকারীর ইমেলের ভিতরে বিকল্প নির্দেশাবলী অনুসরণ করা উচিত।