এপিআই স্পেসিফিকেশন বিভাগে প্ল্যাটফর্মের সাথে ইন্টিগ্রেশনের জন্য প্রয়োজনীয় প্রযুক্তিগত উপাদানগুলির একটি বিশদ বিবরণ দেওয়া হয়েছে, যার মধ্যে রয়েছে অথরাইজেশন স্কোপ, ডেটা টাইপ ডেফিনিশন এবং এন্ডপয়েন্ট স্ট্রাকচার। এই এপিআইটি হলো পুরোনো ফিটবিট ওয়েব এপিআই-এর একটি কৌশলগত বিবর্তন, যা আরও স্থিতিশীল এবং সামঞ্জস্যপূর্ণ ডেভেলপার অভিজ্ঞতা নিশ্চিত করার জন্য আধুনিক পরিকাঠামোর উপর পুনর্নির্মাণ করা হয়েছে।
স্কোপ
গুগল হেলথ এপিআই স্কোপ ব্যবহার করার জন্য আপনাকে অবশ্যই আপনার অনুমোদন অনুরোধটি আপডেট করতে হবে। স্কোপগুলো নির্ধারণ করে যে আপনার অ্যাপটি রিড বা রাইট অপারেশন সমর্থন করে কিনা। আপনার অ্যাপের জন্য অপ্রয়োজনীয় স্কোপ ব্যবহার করবেন না। আপনার অ্যাপের ডিজাইন পরিবর্তিত হলে আপনি পরবর্তীতে যেকোনো সময় আরও স্কোপ যোগ করতে পারেন।
গুগল হেলথ এপিআই স্কোপগুলো হলো একটি HTTP URL যা https://www.googleapis.com/auth/googlehealth.{scope} দিয়ে শুরু হয়। উদাহরণস্বরূপ, https://www.googleapis.com/auth/googlehealth.activity_and_fitness.writeonly।
স্কোপ ম্যাপিং
ফিটবিট ওয়েব এপিআই স্কোপগুলো গুগল হেলথ এপিআই স্কোপের সাথে যেভাবে সংযুক্ত হয়, তা নিচে দেওয়া হলো:
| ফিটবিট ওয়েব এপিআই স্কোপ | গুগল হেলথ এপিআই স্কোপ |
|---|---|
| কার্যকলাপ | .activity_and_fitness.readonly .activity_and_fitness.writeonly |
| রক্তে গ্লুকোজ | .health_metrics_and_measurements.readonly .health_metrics_and_measurements.writeonly |
| কার্ডিও_ফিটনেস | .activity_and_fitness.readonly .activity_and_fitness.writeonly |
| ইলেক্ট্রোকার্ডিওগ্রাম | .ecg.readonly |
| হৃদস্পন্দন | .health_metrics_and_measurements.readonly .health_metrics_and_measurements.writeonly |
| অনিয়মিত ছন্দ বিজ্ঞপ্তি | .irn.readonly |
| অবস্থান | .location.readonly |
| পুষ্টি | .nutrition.readonly .nutrition.writeonly |
| অক্সিজেন_স্যাচুরেশন | .health_metrics_and_measurements.readonly .health_metrics_and_measurements.writeonly |
| প্রোফাইল | .profile.readonly .profile.writeonly |
| শ্বাস-প্রশ্বাসের হার | .health_metrics_and_measurements.readonly .health_metrics_and_measurements.writeonly |
| সেটিংস | .settings.readonly .settings.writeonly |
| ঘুম | .sleep.readonly .sleep.writeonly |
| তাপমাত্রা | .health_metrics_and_measurements.readonly .health_metrics_and_measurements.writeonly |
| ওজন | .health_metrics_and_measurements.readonly .health_metrics_and_measurements.writeonly |
ডেটা টাইপ
এখানে গুগল হেলথ এপিআই ডেটা টাইপগুলোর একটি তালিকা এবং ফিটবিট ওয়েব এপিআই-এর সাথে সেগুলোর সামঞ্জস্য তুলে ধরা হলো।
| ফিটবিট ওয়েব এপিআই ডেটা টাইপ | গুগল হেলথ এপিআই ডেটা টাইপdataType |
|---|---|
| কার্যকলাপের ক্যালোরি | সক্রিয় শক্তি ব্যয়িতactive-energy-burned |
| সক্রিয় অঞ্চলের মিনিট | সক্রিয় অঞ্চলের মিনিটactive-zone-minutes |
| ব্যবহারকারীর কার্যকলাপের স্তরের পরিবর্তন অন্তর্ভুক্ত। | কার্যকলাপের স্তরactivity-level |
| উচ্চতা | উচ্চতাaltitude |
| রক্তে গ্লুকোজ | রক্তে গ্লুকোজblood-glucose |
| শরীরের চর্বি | শরীরের চর্বিbody-fat |
প্রতিটি হার্ট রেট জোনে caloriesOut | হার্ট রেট জোনে ক্যালোরিcalories-in-heart-rate-zone |
| তাপমাত্রা (মূল) | শরীরের মূল তাপমাত্রাcore-body-temperature |
| এইচআরভি সারাংশ | দৈনিক হৃদস্পন্দন পরিবর্তনশীলতাdaily-heart-rate-variability |
| SpO2 সারাংশ | দৈনিক অক্সিজেন স্যাচুরেশনdaily-oxygen-saturation |
| বিশ্রামের সময় হৃদস্পন্দন | দৈনিক বিশ্রামকালীন হৃদস্পন্দনdaily-resting-heart-rate |
| ত্বকের তাপমাত্রা | দৈনিক ঘুমের তাপমাত্রা নির্ণয়daily-sleep-temperature-derivations |
| দূরত্ব | দূরত্বdistance |
| ইলেক্ট্রোকার্ডিওগ্রাম (ইসিজি) | ইলেক্ট্রোকার্ডিওগ্রাম (ইসিজি)electrocardiogram |
| রেকর্ডকৃত কার্যকলাপ | ব্যায়ামexercise |
| মেঝে | মেঝেfloors |
| খাবার | খাবারfood |
| খাদ্য পরিমাপের একক | খাদ্য পরিমাপের এককfood-measurement-unit |
| হৃদস্পন্দন | হৃদস্পন্দনheart-rate |
| এইচআরভি ইন্ট্রাডে | হৃদস্পন্দন পরিবর্তনশীলতাheart-rate-variability |
| অনিয়মিত ছন্দ বিজ্ঞপ্তি (IRN) | অনিয়মিত ছন্দ বিজ্ঞপ্তিirregular-rhythm-notification |
| খাদ্য তালিকা | পুষ্টি লগnutrition-log |
| SpO2 ইন্ট্রাডে | অক্সিজেন স্যাচুরেশনoxygen-saturation |
| ব্যবহারকারী যখন দৌড়ায় তখন VO2 Max এর মান | রান ভিও২ ম্যাক্সrun-vo2-max |
| কার্যকলাপের সময় সিরিজ মিনিট নিষ্ক্রিয় | নিষ্ক্রিয় সময়কালsedentary-period |
| ঘুম | ঘুমsleep |
| পদক্ষেপ | পদক্ষেপsteps |
| কার্যকলাপের সময় সিরিজ সাঁতারের স্ট্রোক | সাঁতারের দৈর্ঘ্যের ডেটাswim-lengths-data |
কার্যকলাপের ফলে caloriesOut | মোট ক্যালোরিtotal-calories |
| VO2 সর্বোচ্চ মান | ভিও২ ম্যাক্সvo2-max |
| ওজন | ওজনweight |
এন্ডপয়েন্ট
REST এন্ডপয়েন্টগুলো সকল ডেটা টাইপের জন্য একটি সামঞ্জস্যপূর্ণ সিনট্যাক্স অনুসরণ করে।
- সার্ভিস এন্ডপয়েন্ট : মূল HTTP URL পরিবর্তিত হয়ে https://health.googleapis.com হবে।
- এন্ডপয়েন্ট সিনট্যাক্স : গুগল হেলথ এপিআই সীমিত সংখ্যক এন্ডপয়েন্ট সমর্থন করে, যা বেশিরভাগ সমর্থিত ডেটা টাইপ দ্বারা ব্যবহার করা যায়। এটি সমস্ত ডেটা টাইপের জন্য একটি সামঞ্জস্যপূর্ণ সিনট্যাক্স প্রদান করে এবং এন্ডপয়েন্টগুলো ব্যবহার করা সহজ করে তোলে।
- ব্যবহারকারী শনাক্তকারী : এন্ডপয়েন্ট সিনট্যাক্সে হয় ইউজার আইডি অথবা 'me' উল্লেখ করতে হবে। 'me' ব্যবহার করার ক্ষেত্রে, অ্যাক্সেস টোকেন থেকে ইউজার আইডি অনুমান করা হয়।
উদাহরণ : এখানে গুগল হেলথ এপিআই ব্যবহার করে কল করা GET প্রোফাইল এন্ডপয়েন্টের একটি উদাহরণ দেওয়া হলো।
GET https://health.googleapis.com/v4/users/me/profile
এন্ডপয়েন্ট ম্যাপিং
উপলব্ধ ডেটা টাইপ এবং সেগুলোর সমর্থিত এপিআই মেথডগুলোর তালিকার জন্য গুগল হেলথ এপিআই ডেটা টাইপ টেবিলটি দেখুন।
| ফিটবিট ওয়েব এপিআই এন্ডপয়েন্ট টাইপ | গুগল স্বাস্থ্য এপিআই |
| GET (লগ | সারাংশ | দৈনিক সারাংশ) যেখানে আপনি শুধুমাত্র একদিনের ডেটা অনুরোধ করছেন | windowSize = 1 day` সহ `dailyRollup` পদ্ধতি |
| GET (ইন্ট্রাডে) যেখানে আপনি সূক্ষ্ম ডেটার জন্য অনুরোধ করছেন | তালিকা পদ্ধতি |
| তারিখ বা ব্যবধান অনুসারে সময় সিরিজ (GET) | তারিখের পরিসর সহ rollUp বা dailyRollUp পদ্ধতি |
| GET (লগ তালিকা) | তালিকা পদ্ধতি |
| লগ তৈরি ও আপডেট করুন | প্যাচ পদ্ধতি |
| লগ মুছে ফেলুন | ব্যাচডিলিট পদ্ধতি |
| প্রোফাইল পান | users.getProfile ব্যবহারকারীর নির্দিষ্ট তথ্য ফেরত দেয়। users.getSettings ব্যবহারকারীর ইউনিট এবং টাইমজোন ফেরত দেয়। |
| প্রোফাইল আপডেট করুন | users.updateProfile ব্যবহারকারীর নির্দিষ্ট তথ্য পরিবর্তন করে। users.updateSettings ব্যবহারকারীর ইউনিট এবং টাইমজোন পরিবর্তন করে। |
| ব্যবহারকারী আইডি পান | users.getIdentity ব্যবহারকারীর Fitbit লিগ্যাসি এবং Google ইউজার আইডি ফেরত দেয়। |
| ডিভাইসগুলি পান | users.pairedDevices পেয়ার করা ডিভাইসগুলোর তালিকা ফেরত দেয়। |
| সাবস্ক্রিপশন তৈরি করুন | projects.subscribers.subscriptions.create ম্যানুয়ালি একটি সাবস্ক্রিপশন তৈরি করে। |
| সাবস্ক্রিপশনগুলি মুছুন | projects.subscribers.subscriptions.delete একটি সাবস্ক্রিপশন মুছে ফেলুন |
| সাবস্ক্রিপশন তালিকা পান | projects.subscribers.subscriptions.list সমস্ত সাবস্ক্রিপশন তালিকাভুক্ত করে। |