action.devices.SYNC
এই ইন্টেন্টটি প্রদত্ত ব্যবহারকারীর সাথে যুক্ত ডিভাইসগুলোর তালিকা এবং সেগুলোর সক্ষমতা জানতে চায়।
অ্যাকাউন্ট লিঙ্ক করার সময় অথবা যখন কোনো ব্যবহারকারী ম্যানুয়ালি তাদের ডিভাইসগুলো রিসিংক করেন, তখন এটি সক্রিয় হয়। আপনার পরিষেবাটিতে প্রতিটি ডিভাইসের জন্য সমর্থিত বৈশিষ্ট্য এবং গুণাবলীসহ সাড়া দেওয়া উচিত।
আপনার SYNC রেসপন্স ব্যবহারকারীর সাথে যুক্ত সমস্ত ডিভাইস ফেরত দেবে। এটি কোনো নির্দিষ্ট ডিভাইস অ্যাক্সেসযোগ্য কিনা তা নির্ধারণ করে না। এই কাজটি QUERY এবং EXECUTE রেসপন্স দ্বারা পরিচালিত হয়।
আরও বিস্তারিত জানতে, শনাক্তকরণ ও সিঙ্ক দেখুন।
অনুরোধের বিন্যাস
| ক্ষেত্র | প্রকার | বর্ণনা |
|---|---|---|
requestId | স্ট্রিং | প্রয়োজনীয়। অনুরোধের আইডি। |
inputs | অ্যারে | প্রয়োজনীয়। ইনটেন্ট অনুরোধের সাথে মিলে যাওয়া ইনপুটগুলির তালিকা। |
[ item, ... ] | বস্তু | ইনটেন্ট অনুরোধের সাথে যুক্ত টাইপ এবং পেলোড। |
intent | প্রয়োজনীয়। (ধ্রুবক মান: অভিপ্রায় অনুরোধের ধরণ। |
উদাহরণ
SYNC অভিপ্রায় অনুরোধ
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"inputs": [
{
"intent": "action.devices.SYNC"
}
]
}প্রতিক্রিয়া বিন্যাস
| ক্ষেত্র | প্রকার | বর্ণনা |
|---|---|---|
requestId | স্ট্রিং | প্রয়োজনীয়। সংশ্লিষ্ট অনুরোধের আইডি। |
payload | বস্তু | প্রয়োজনীয়। অভিপ্রায় প্রতিক্রিয়া পেলোড। |
agentUserId | স্ট্রিং | প্রয়োজনীয়। এটি এজেন্টের প্ল্যাটফর্মে থাকা অনন্য (এবং অপরিবর্তনীয়) ইউজার আইডিকে প্রতিফলিত করে। এই স্ট্রিংটি গুগলের কাছে অস্বচ্ছ, তাই এজেন্টের দিকে যদি একটি পরিবর্তনযোগ্য ফর্মের পরিবর্তে একটি অপরিবর্তনীয় ফর্ম থাকে, তবে অপরিবর্তনীয় ফর্মটি ব্যবহার করুন (যেমন ইমেলের পরিবর্তে অ্যাকাউন্ট নম্বর)। |
errorCode | স্ট্রিং | SYNC-এ পদ্ধতিগত ত্রুটির জন্য |
debugString | স্ট্রিং | বিস্তারিত ত্রুটি যা ব্যবহারকারীদের কাছে কখনও উপস্থাপন করা হবে না, কিন্তু উন্নয়নের সময় লগ করা বা ব্যবহার করা হতে পারে। |
devices | অ্যারে | প্রয়োজনীয়। ব্যবহারকারীর মালিকানাধীন ডিভাইসগুলোর তালিকা। শূন্য বা তার বেশি ডিভাইস দেখানো হলে তা ফেরত দেওয়া হয় (শূন্য ডিভাইস বলতে বোঝায় ব্যবহারকারীর কোনো ডিভাইস নেই, অথবা তিনি সবগুলো সংযোগ বিচ্ছিন্ন করে দিয়েছেন)। |
[ item, ... ] | বস্তু | ডিভাইসের মেটাডেটা। |
id | স্ট্রিং | প্রয়োজনীয়। ডেভেলপারের ক্লাউডে থাকা ডিভাইসটির আইডি। এটি ব্যবহারকারী এবং ডেভেলপার উভয়ের জন্যই অনন্য হতে হবে, কারণ শেয়ার করার ক্ষেত্রে একই ডিভাইসের একাধিক ভিউ থেকে ডুপ্লিকেট বাদ দেওয়ার জন্য আমরা এটি ব্যবহার করতে পারি। ডিভাইসটির জন্য এটি অপরিবর্তনীয় হওয়া উচিত; যদি এটি পরিবর্তিত হয়, তবে অ্যাসিস্ট্যান্ট এটিকে একটি নতুন ডিভাইস হিসেবে গণ্য করবে। |
type | স্ট্রিং | প্রয়োজনীয়। ডিভাইসটির হার্ডওয়্যার ধরণ। অবশ্যই এই প্যাটার্নের সাথে মিলতে হবে: |
traits | অ্যারে | প্রয়োজনীয়। এই ডিভাইসটির বৈশিষ্ট্যসমূহের তালিকা। এটি ডিভাইসটির সমর্থিত কমান্ড, অ্যাট্রিবিউট এবং স্টেটসমূহকে সংজ্ঞায়িত করে। |
[ item, ... ] | স্ট্রিং | সমর্থিত বৈশিষ্ট্যের নাম। অবশ্যই এই প্যাটার্নের সাথে মিলতে হবে: |
name | বস্তু | প্রয়োজনীয়। এই ডিভাইসটির নামসমূহ। |
defaultNames | অ্যারে | ব্যবহারকারীর পরিবর্তে ডেভেলপার কর্তৃক প্রদত্ত নামের তালিকা, যা প্রায়শই প্রস্তুতকারকের নাম, SKU ইত্যাদি হয়ে থাকে। |
[ item, ... ] | স্ট্রিং | ডিভাইসের ডিফল্ট নাম। |
name | স্ট্রিং | প্রয়োজনীয়। ডিভাইসের প্রাথমিক নাম, যা সাধারণত ব্যবহারকারী প্রদান করেন। অ্যাসিস্ট্যান্টও তার প্রতিক্রিয়ায় ডিভাইসটিকে বর্ণনা করার জন্য এই নামটিই পছন্দ করবে। নাম ৬০ ইউনিকোড কোড পয়েন্ট (ক্যারেক্টার) সীমা অতিক্রম করলে তা সংক্ষিপ্ত করা হবে এবং কোনো ত্রুটি দেখানো হবে না। দীর্ঘ নামগুলো পরিচালনা করার দায়িত্ব ডেভেলপারদের। |
nicknames | অ্যারে | ডিভাইসটির জন্য ব্যবহারকারী কর্তৃক প্রদত্ত অতিরিক্ত নামসমূহ। |
[ item, ... ] | স্ট্রিং | ডিভাইসের ডাকনাম। |
willReportState | বুলিয়ান | প্রয়োজনীয়। এটি নির্দেশ করে যে এই ডিভাইসটির অবস্থা রিয়েল টাইম ফিড দ্বারা আপডেট করা হবে কিনা। (অবস্থা জানানোর জন্য রিয়েল টাইম ফিড ব্যবহার করতে 'true', এবং পোলিং মডেল ব্যবহার করতে 'false')। |
notificationSupportedByAgent | বুলিয়ান | (ডিফল্ট: ডিভাইসটির জন্য নোটিফিকেশন চালু আছে কিনা তা নির্দেশ করে। |
roomHint | স্ট্রিং | সেটআপ সহজ করার জন্য ব্যবহারকারীর বাড়িতে ডিভাইসটির বর্তমান ঘরের ঠিকানা প্রদান করে। |
deviceInfo | বস্তু | প্রয়োজনে এককালীন লজিকে ব্যবহারের জন্য ডিভাইসটির বর্ণনা সম্বলিত ফিল্ড এতে রয়েছে (যেমন, 'Y লাইটের ত্রুটিপূর্ণ ফার্মওয়্যার সংস্করণ X-এর কারণে রঙ সমন্বয় করা প্রয়োজন', অথবা 'নিরাপত্তা ত্রুটির কারণে Z ফার্মওয়্যারের সকল ব্যবহারকারীকে অবহিত করা প্রয়োজন')। |
manufacturer | স্ট্রিং | বিশেষ করে তখন উপযোগী যখন ডেভেলপারটি অন্যান্য ডিভাইসের জন্য একটি হাব হিসেবে কাজ করে। গুগল এক্ষেত্রে প্রস্তুতকারকদের একটি প্রমিত তালিকা প্রদান করতে পারে, যাতে উদাহরণস্বরূপ টিপি-লিঙ্ক এবং স্মার্টথিংস উভয়ই 'osram'-কে একই ভাবে বর্ণনা করে। |
model | স্ট্রিং | নির্দিষ্ট ডিভাইসটির মডেল বা SKU শনাক্তকারী। |
hwVersion | স্ট্রিং | হার্ডওয়্যারের সাথে সংযুক্ত নির্দিষ্ট সংস্করণ নম্বর, যদি উপলব্ধ থাকে। |
swVersion | স্ট্রিং | সফটওয়্যার/ফার্মওয়্যারের সাথে সংযুক্ত নির্দিষ্ট সংস্করণ নম্বর, যদি থাকে। |
attributes | বস্তু | প্রতিটি ট্রেইট স্কিমা রেফারেন্সে বর্ণিত ট্রেইট-ভিত্তিক অ্যাট্রিবিউটগুলোর সাথে সামঞ্জস্যপূর্ণ। |
customData | বস্তু | ডেভেলপার দ্বারা সংজ্ঞায়িত একটি অবজেক্ট যা ভবিষ্যতের QUERY এবং EXECUTE অনুরোধগুলির সাথে সংযুক্ত করা হবে, প্রতি ডিভাইসে সর্বোচ্চ ৫১২ বাইট। আপনার ক্লাউড পরিষেবার প্রয়োজন হতে পারে এমন ডিভাইস সম্পর্কিত অতিরিক্ত তথ্য, যেমন ডিভাইসটির গ্লোবাল রিজিয়ন, সংরক্ষণ করতে এই অবজেক্টটি ব্যবহার করুন। এই অবজেক্টের ডেটার উপর কয়েকটি সীমাবদ্ধতা রয়েছে: কোনো সংবেদনশীল তথ্য নয়, যার মধ্যে ব্যক্তিগতভাবে শনাক্তযোগ্য তথ্য অন্তর্ভুক্ত কিন্তু এতেই সীমাবদ্ধ নয়। |
otherDeviceIds | অ্যারে | স্থানীয়ভাবে কার্যকর করার জন্য ক্লাউড সিঙ্ক করা ডিভাইস শনাক্ত করতে ব্যবহৃত বিকল্প আইডিগুলোর তালিকা। |
[ item, ... ] | বস্তু | বিকল্প ডিভাইস আইডি। |
agentId | স্ট্রিং | এজেন্টের আইডি। সাধারণত, এটি অ্যাকশন কনসোলের প্রজেক্ট আইডি। |
deviceId | স্ট্রিং | প্রয়োজনীয়। এজেন্ট দ্বারা নির্ধারিত ডিভাইস আইডি। ডিভাইস আইডিটি অবশ্যই অনন্য হতে হবে। |
উদাহরণ
SYNC অভিপ্রায় প্রতিক্রিয়া
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "agentUserId": "1836.15267389", "devices": [ { "id": "123", "type": "action.devices.types.OUTLET", "traits": [ "action.devices.traits.OnOff" ], "name": { "defaultNames": [ "My Outlet 1234" ], "name": "Night light", "nicknames": [ "wall plug" ] }, "willReportState": false, "roomHint": "kitchen", "deviceInfo": { "manufacturer": "lights-out-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" }, "otherDeviceIds": [ { "deviceId": "local-device-id" } ], "customData": { "fooValue": 74, "barValue": true, "bazValue": "foo" } }, { "id": "456", "type": "action.devices.types.LIGHT", "traits": [ "action.devices.traits.OnOff", "action.devices.traits.Brightness", "action.devices.traits.ColorSetting" ], "name": { "defaultNames": [ "lights out inc. bulb A19 color hyperglow" ], "name": "lamp1", "nicknames": [ "reading lamp" ] }, "willReportState": false, "roomHint": "office", "attributes": { "colorModel": "rgb", "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 9000 }, "commandOnlyColorSetting": false }, "deviceInfo": { "manufacturer": "lights out inc.", "model": "hg11", "hwVersion": "1.2", "swVersion": "5.4" }, "customData": { "fooValue": 12, "barValue": false, "bazValue": "bar" } } ] } }