Google मोबाइल डेटा प्लान शेयर करने वाला एपीआई

वजह

Google मोबाइल डेटा प्लान शेयर करने वाले एपीआई का इस्तेमाल करके, ऑपरेटर उपयोगकर्ता और उपयोगकर्ता की जानकारी को GTAF के साथ शेयर कर सकता है. इसकी पहचान उपयोगकर्ता कुंजी से की जाती है. इस पेज पर, हम उस तरीके के बारे में बताते हैं जिससे ये अपडेट GTAF में और इस तरह से Google ऐप्लिकेशन में पुश किए जा सकते हैं. एपीआई फ़िलहाल डीपीए को Google डेटा का इस्तेमाल करने के लिए, डेटा प्लान की स्थिति GTAF को भेजने की अनुमति देता है.

पुष्टि करना

GTAF के सभी डेटा प्लान शेयर करने वाले एपीआई अनुरोधों की पुष्टि, Google Cloud OAuth2 सर्वर में करके की जानी चाहिए. अनुरोधों को एक ऐसे सेवा खाते के तौर पर प्रमाणित किया जाना चाहिए जिसे डीपीए के प्रतिनिधित्व वाले ASN के ISP पोर्टल में अनुमति दी गई हो. Google Cloud सेवा खातों के साथ OAuth इस्तेमाल करने का तरीका जानने के लिए, सेवा के खातों के लिए Google Cloud OAuth 2.0 देखें.

डेटा प्लान से जुड़े अपडेट

फ़िलहाल, Google मोबाइल डेटा प्लान शेयर करने वाले एपीआई का इस्तेमाल करके, उपयोगकर्ता उपयोगकर्ता के डेटा प्लान से जुड़े अपडेट शेयर कर सकता है:

  • डेटा प्लान की स्थिति: यह उपयोगकर्ता के डेटा प्लान की मौजूदा स्थिति को कैप्चर करती है. उदाहरण के लिए, अगर किसी उपयोगकर्ता का डेटा खत्म हो जाता है, तो ऑपरेटर डेटा प्लान की स्थिति में बदलाव करने के लिए, GTAF को पुश कर सकता है. इसके बाद, GTAF इसका इस्तेमाल उपयोगकर्ता को कम बैलेंस सूचना भेजने के लिए कर सकता है.

काम के उपयोगकर्ताओं की पहचान करना

डीपीए की मदद से यह तय किया जा सकता है कि उपयोगकर्ताओं और G3F को कौनसा डेटा भेजना है. GTAF को इन उपयोगकर्ताओं से जुड़े अपडेट पाने की उम्मीद है:

  1. सक्रिय CPID: ऐसे उपयोगकर्ता जिनके पास CPID सक्रिय है. जब तक सीपीआईडी एंडपॉइंट से जनरेट किए गए सीपीआईडी मान्य नहीं होते, तब तक डीपीए को उपयोगकर्ता के डेटा प्लान के बारे में अपडेट भेजना चाहिए. अगर सीपीआईडी बनाते समय Accept-Language हेडर सेट किया गया था, तो डेटा प्लान की स्थिति में दिखने वाली ऐसी स्ट्रिंग जो उस भाषा में होनी चाहिए.
  2. MSIDN के साथ रजिस्टर किया गया: एमएसआईएसडीएन के ऐक्सेस वाले ऐप्लिकेशन दिखाने के लिए, GTAF, डेटा प्लान एजेंट एपीआई के msisdn रजिस्ट्रेशन सेक्शन में बताए गए तरीके से, डीपीए के साथ MSISDN रजिस्टर करेगा. जब MSISDN रजिस्टर हो जाता है, तो डीपीए को रजिस्ट्रेशन खत्म होने तक उपयोगकर्ता के डेटा प्लान के बारे में अपडेट भेजने चाहिए.

एपीआई की जानकारी

डेटा प्लान का स्टेटस शेयर करना

तीसरी इमेज. GTAF-DPA इंटरैक्शन, जब DPA, GTAF के साथ डेटा प्लान की स्थिति शेयर करता है.

ऐप्लिकेशन दो तरीकों से डेटा प्लान की स्थिति की जानकारी पा सकते हैं:

  1. ईयू (यूरोपीय संघ) डेटा प्लान की स्थिति की जानकारी के लिए GTAF को कॉल करता है:
    1. ऑपरेटर's DPA डेटा प्लान शेयर करने वाले एपीआई का इस्तेमाल करके उपयोगकर्ता के डेटा प्लान की स्थिति को GTAF पर भेजता है. GTAF, प्लान की स्थिति और उससे जुड़ी उपयोगकर्ता कुंजी सेव करता है.
    2. UE पर चलने वाले Google ऐप्लिकेशन में, Google के पास मौजूद एपीआई का इस्तेमाल करके, डेटा प्लान की स्थिति की जानकारी का अनुरोध किया जाता है. ऐप्लिकेशन में अपने अनुरोध में उपयोगकर्ता कुंजी शामिल है.
    3. अगर ऐप्लिकेशन, कैश मेमोरी में सेव किए गए डेटा प्लान की स्थिति का इस्तेमाल कर सकता है, तो GTAF, उपयोगकर्ता के डेटा प्लान का स्टेटस देखने के लिए, उपयोगकर्ता कुंजी का इस्तेमाल करता है. फिर GTAF, यूईटी में यह स्थिति दिखाता है.
  2. GTAF, यूईए में डेटा प्लान की स्थिति की जानकारी भेजता है:
    1. जब लागू होता है, तो ऑपरेटर से मिलने वाले डेटा प्लान की स्थिति सीधे यूईए में भेज दी जाती है.

GTAF-DPA इंटरैक्शन

डीपीए एक मौजूदा प्लान की स्थिति एंट्री बनाने और अपडेट करने के लिए, एचटीटीपीएस पोस्ट का इस्तेमाल करता है. इससे उपयोगकर्ता का क्लाइंट पर इस्तेमाल किया जा सकता है. फ़िलहाल, GTAF के पास मान्य मोबाइल आइडेंटिफ़ायर के तौर पर, mobiledataplan और youtube के साथ काम करने का विकल्प है. यहां YouTube क्लाइंट के लिए, GTAF के साथ 12345 और उपयोगकर्ता कुंजी वाले abcdef को शेयर करने वाले प्लान की जानकारी देने वाले ऑपरेटर के लिए एक उदाहरण दिया गया है:

POST https://mobiledataplansharing.googleapis.com/v1/operators/12345/clients/youtube/users/abcdef/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, एचटीटीपी जवाब कोड 200 दिखाएगा. साथ ही, उपयोगकर्ता को कोई सूचना भेजे जाने पर, सूचना की एंट्री के साथ पुश किया गया planStatus. अगर GTAF, अनुरोध से जुड़ी समस्या की पहचान करता है, तो वह 400-499 रेंज में एचटीटीपी स्टेटस कोड दिखाएगा. अगर GTAF, GTAF की गड़बड़ी की वजह से अनुरोध पूरा नहीं कर पाता, तो GTAF, 500-599 रेंज में एचटीटीपी कोड दिखाएगा. आम तौर पर 500-599 रेंज में जवाब पाने वाले अनुरोधों को फिर से कोशिश करने वाला माना जाता है और 400-499 रेंज में जवाब पाने वाले अनुरोधों को आम तौर पर फिर से स्वीकार नहीं किया जाता है.

डिफ़ॉल्ट क्लाइंट के लिए प्लान की स्थिति पुश

GTAF, नीचे दिए गए कॉल के साथ काम करता है. इसमें प्लैटफ़ॉर्म को ऑपरेटर की तरफ़ से पुश किए जाने पर, क्लाइंट को बताए बिना उसका इस्तेमाल किया जा सकता है. इस मामले में, हम मान लेते हैं कि प्लान की स्थिति mobiledataplan क्लाइंट के लिए है और ऑपरेटर उपयोगकर्ता को सूचना भेजना चाहता है. अनुरोध का मुख्य हिस्सा, हर क्लाइंट के इस्तेमाल के उदाहरण के तौर पर और डिफ़ॉल्ट क्लाइंट इस्तेमाल के उदाहरण के लिए एक ही होता है.

POST https://mobiledataplansharing.googleapis.com/v1/operators/12345/planStatuses?userKey=abcdef

अंतर्राष्ट्रीयकरण

अंतरराष्ट्रीय स्तर पर काम करने के लिए, डीपीए को उपयोगकर्ता की पसंदीदा भाषा पता होनी चाहिए. भले ही, उसने GTAF से सीधे तौर पर अनुरोध न किया हो. इस समस्या को हल करने के लिए, CPID एंडपॉइंट के लिए अनुरोध में स्वीकार करें-भाषा का हेडर शामिल हो सकता है. अगर हेडर शामिल किया जाता है, तो एमडीपी एपीआई का इस्तेमाल करके डीपीए से भेजे जाने वाले अपडेट में पढ़ने में आसान स्ट्रिंग, सीपीआईडी अनुरोध में दी गई सेटिंग का इस्तेमाल करती हैं.