Google মোবাইল ডেটা প্ল্যান শেয়ারিং API

প্রেরণা

Google মোবাইল ডেটা প্ল্যান শেয়ারিং API একটি অপারেটরকে একটি ব্যবহারকারীর ( ব্যবহারকারী কী দ্বারা চিহ্নিত) ডেটা প্ল্যান সম্পর্কে তথ্য GTAF-এ পাঠাতে দেয়৷ এই পৃষ্ঠায়, আমরা সেই পদ্ধতির রূপরেখা দিই যার মাধ্যমে এই আপডেটগুলি GTAF এবং এর মাধ্যমে Google অ্যাপ্লিকেশনগুলিতে পুশ করা যেতে পারে। API বর্তমানে DPA-কে GTAF-এ ডেটা প্ল্যান স্ট্যাটাস পাঠাতে অনুমতি দেয় যাতে Google ক্লায়েন্ট ব্যবহার করে।

প্রমাণীকরণ

GTAF-এ সমস্ত ডেটা প্ল্যান শেয়ারিং API অনুরোধগুলি অবশ্যই Google Cloud OAuth2 সার্ভার ব্যবহার করে প্রমাণীকৃত হতে হবে। অনুরোধগুলি অবশ্যই একটি পরিষেবা অ্যাকাউন্ট হিসাবে প্রমাণীকৃত হতে হবে যা DPA প্রতিনিধিত্ব করে ASN এর জন্য ISP পোর্টালে সাদা তালিকাভুক্ত করা হয়েছে। Google ক্লাউড পরিষেবা অ্যাকাউন্টগুলির সাথে কীভাবে OAuth ব্যবহার করতে হয় তার ডকুমেন্টেশনের জন্য পরিষেবা অ্যাকাউন্টগুলির জন্য Google Cloud OAuth 2.0 দেখুন৷

ডেটা প্ল্যান আপডেট

বর্তমানে Google মোবাইল ডেটা প্ল্যান শেয়ারিং এপিআই একজন অপারেটরকে ব্যবহারকারীর ডেটা প্ল্যান সম্পর্কে আপডেট শেয়ার করার অনুমতি দেয়:

  • ডেটা প্ল্যান স্ট্যাটাস: ব্যবহারকারীর ডেটা প্ল্যানের বর্তমান অবস্থা ক্যাপচার করে। উদাহরণস্বরূপ, যদি একজন ব্যবহারকারীর ডেটা শেষ হয়ে যায়, তাহলে একজন অপারেটর GTAF-এ ডেটা প্ল্যান স্ট্যাটাস আপডেট করতে পারে যা GTAF ব্যবহার করে ব্যবহারকারীকে প্ল্যান স্ট্যাটাস বিজ্ঞপ্তি পাঠাতে পারে।

API বর্ণনা

চিত্র 3. GTAF-DPA ইন্টারঅ্যাকশন যখন DPA GTAF-এর সাথে ডেটা প্ল্যান স্ট্যাটাস শেয়ার করে।

অ্যাপ্লিকেশন দুটি উপায়ে GTAF এর সাথে ভাগ করা ডেটা প্ল্যান স্ট্যাটাস তথ্য পেতে পারে:

  1. UE ডেটা প্ল্যান স্ট্যাটাস তথ্যের জন্য GTAF কল করে:
    1. অপারেটরের ডিপিএ ডেটা প্ল্যান শেয়ারিং এপিআই ব্যবহার করে ব্যবহারকারীর ডেটা প্ল্যান স্ট্যাটাস জিটিএএফ-এ পুশ করতে। অপারেটর দ্বারা নির্দিষ্ট মেয়াদ শেষ না হওয়া পর্যন্ত GTAF প্ল্যান স্ট্যাটাস এবং এর সাথে যুক্ত ইউজার কী সংরক্ষণ করে।
    2. UE-তে চলমান Google অ্যাপ্লিকেশন একটি Google-অভ্যন্তরীণ API ব্যবহার করে ডেটা প্ল্যান স্ট্যাটাস তথ্যের জন্য অনুরোধ করে। অ্যাপ্লিকেশনটি তার অনুরোধে ব্যবহারকারী কী অন্তর্ভুক্ত করে।
    3. যদি অ্যাপ্লিকেশনটি ক্যাশ করা ডেটা প্ল্যানের স্থিতি ব্যবহার করতে পারে তবে GTAF ব্যবহারকারীর ডেটা প্ল্যানের স্থিতি দেখতে ব্যবহারকারী কী ব্যবহার করে। GTAF তারপর আবেদনে এই অবস্থা ফেরত দেয়।
  2. GTAF ডেটা প্ল্যান স্ট্যাটাস তথ্য UE-তে পুশ করে:
    1. প্রাসঙ্গিক হলে, অপারেটর থেকে প্রাপ্ত ডেটা প্ল্যান স্ট্যাটাস সরাসরি UE-তে পাঠানো হয়। বিশেষ করে, পুশড প্ল্যান স্ট্যাটাসটি Google Play পরিষেবাতে মোবাইল ডেটা প্ল্যান মডিউলের ডিভাইস ক্যাশে আপডেট করতে ব্যবহৃত হয়।

শেয়ারিং ডেটা প্ল্যান স্ট্যাটাস

একটি ক্লায়েন্ট দ্বারা ব্যবহার করার জন্য ব্যবহারকারীর জন্য একটি বিদ্যমান প্ল্যান স্ট্যাটাস এন্ট্রি তৈরি এবং আপডেট করতে DPA একটি HTTPS পোস্ট ব্যবহার করে। বর্তমানে GTAF বৈধ ক্লায়েন্ট শনাক্তকারী হিসাবে মোবাইল ডেটাপ্ল্যান এবং ইউটিউব সমর্থন করে। এখানে asn 12345 সহ অপারেটরের জন্য একটি উদাহরণ অনুরোধ এবং ইউটিউব ক্লায়েন্টের জন্য GTAF এর সাথে ব্যবহারকারী কী abcdef শেয়ারিং প্ল্যান তথ্য রয়েছে:

পোস্ট https://mobiledataplansharing.googleapis.com/v1/operators/12345/clients/youtube/users/abcdef/planStatus

অনুরোধের মূল অংশটি PlanStatus- এর একটি উদাহরণ।

{
  "plans": [{
    "planName": "ACME1",
    "planId": "1",
    "planCategory": "PREPAID",
    "expirationTime": "2017-01-29T01:00:03.14159Z", // req.
    "planModules": [{
      "moduleName": "Giga Plan", // req.
      "trafficCategories": ["GENERIC"],
      "expirationTime": "2017-01-29T01:00:03.14159Z", // req.
      "overUsagePolicy": "BLOCKED",
      "maxRateKbps": "1500",
      "description": "1GB for a month", // req.
      "coarseBalanceLevel": "HIGH_QUOTA"
    }]
  }],
  "planInfoPerClient": {
    "youtube": {
      "rateLimitedStreaming": {
        "maxMediaRateKbps": 569
      }
    }
  },
  "languageCode": "en-US", // req.
  "expireTime": "2018-06-14T08:41:27-07:00", // req.
  "updateTime": "2018-06-07T07:41:22-07:00", // req.
  "title": "Prepaid Plan"
}

অনুরোধটি সফল হলে, ব্যবহারকারীকে কোনো বিজ্ঞপ্তি পাঠানো হলে GTAF HTTP প্রতিক্রিয়া কোড 200 এবং পুশ করা প্ল্যান স্ট্যাটাস এন্ট্রি একটি বিজ্ঞপ্তি এন্ট্রি সহ ফেরত দেবে। যদি GTAF অনুরোধের সাথে একটি সমস্যা চিহ্নিত করে, তাহলে এটি 400-499 রেঞ্জের মধ্যে একটি HTTP স্ট্যাটাস কোড প্রদান করবে। GTAF ত্রুটির কারণে GTAF একটি অনুরোধ সম্পূর্ণ করতে না পারলে, GTAF 500-599 রেঞ্জের মধ্যে একটি HTTP কোড ফেরত দেবে। যে অনুরোধগুলি 500-599 পরিসরে একটি প্রতিক্রিয়া পায় সেগুলি পুনরায় চেষ্টাযোগ্য বলে বিবেচিত হয় এবং যে অনুরোধগুলি 400-499 পরিসরে একটি প্রতিক্রিয়া পায় সেগুলি সাধারণত পুনরায় চেষ্টা করা যায় না৷ Error Cases GTAF থেকে পাওয়া ত্রুটির প্রতিক্রিয়াগুলো বিস্তারিতভাবে ব্যাখ্যা করে।

ডিফল্ট ক্লায়েন্টের জন্য প্ল্যান স্ট্যাটাস পুশ

GTAF নিম্নলিখিত কলটিকে সমর্থন করে যেখানে অপারেটর দ্বারা প্ল্যান স্ট্যাটাস পুশ করা হয় যার জন্য এটি ব্যবহার করা যেতে পারে তা উল্লেখ না করে। এই ক্ষেত্রে, আমরা ধরে নিই যে প্ল্যান স্ট্যাটাসটি মোবাইলডেটাপ্ল্যান ক্লায়েন্টের জন্য এবং অপারেটর ব্যবহারকারীকে একটি বিজ্ঞপ্তি পাঠাতে চায়। অনুরোধের অংশটি হল PlanStatus- এর একটি উদাহরণ

পোস্ট https://mobiledataplansharing.googleapis.com/v1/operators/12345/planStatuses?userKey=abcdef

আন্তর্জাতিকীকরণ

আন্তর্জাতিকীকরণকে সমর্থন করার জন্য, DPA-কে অবশ্যই GTAF-এর সরাসরি অনুরোধ ছাড়াই ব্যবহারকারীর পছন্দের ভাষা জানতে হবে। এই সমস্যাটি সমাধান করার জন্য CPID এন্ডপয়েন্টের অনুরোধে ব্যবহারকারীর ভাষার পছন্দগুলিতে ক্লায়েন্টদের অ্যাক্সেসের উপর নির্ভর করে একটি Accept-Language হেডার অন্তর্ভুক্ত হতে পারে। যদি শিরোনামটি অন্তর্ভুক্ত করা হয় তবে DPA MDP API ব্যবহার করে যে আপডেটগুলি পাঠায় তাতে মানব পাঠযোগ্য স্ট্রিংগুলিকে অবশ্যই CPID অনুরোধে প্রদত্ত সেটিংস ব্যবহার করতে হবে।

DPA ব্যবহারকারীর ভাষার পছন্দগুলি আপডেট করতে পারে যখন এটি একটি গ্রহণ-ভাষা শিরোনাম সহ GTAF থেকে একটি অনুরোধ পায় এবং GTAF-কে ভবিষ্যতের অনুরোধে ভাষা কোড নির্ধারণ করতে আপডেট হওয়া ব্যবহারকারীর পছন্দগুলি ব্যবহার করে।

DPA অবশ্যই ভাষাকোড ব্যবহার করে ব্যবহারকারীর দৃশ্যমান স্ট্রিংগুলির জন্য ব্যবহৃত ভাষা উল্লেখ করবে। GTAF ব্যবহারকারীকে দেখানো শিরোনাম এবং বিজ্ঞপ্তিগুলির মূল অংশ তৈরি করতে এটি ব্যবহার করে।