API การแชร์แผนข้อมูลโทรศัพท์มือถือของ Google

แรงจูงใจ

API การแชร์แพ็กเกจอินเทอร์เน็ตมือถือของ Google ช่วยให้ผู้ให้บริการสามารถส่งข้อมูลเกี่ยวกับแพ็กเกจผู้ใช้ (ระบุโดย คีย์ผู้ใช้) แพ็กเกจอินเทอร์เน็ตไปยัง GTAF ได้ ในหน้านี้ เราจะแนะนํากลไกซึ่งสามารถพุชการอัปเดตเหล่านี้ไปยัง GTAF รวมถึงแอปพลิเคชันของ Google ปัจจุบัน API ช่วยให้ DPA ส่งสถานะของแผนข้อมูลไปยังไคลเอ็นต์ GTAF ได้

การตรวจสอบสิทธิ์

คําขอ API การแชร์แผนข้อมูลทั้งหมดไปยัง GTAF ต้องผ่านการตรวจสอบสิทธิ์โดยใช้เซิร์ฟเวอร์ OAuth2 ของ Google Cloud คําขอต้องผ่านการตรวจสอบสิทธิ์เป็นบัญชีบริการที่อยู่ในรายการที่อนุญาตพิเศษในพอร์ทัล ISP สําหรับ ASN ที่ DPA เป็นตัวแทน โปรดดูรายละเอียดวิธีการใช้ OAuth กับบัญชีบริการ Google Cloud ใน Google Cloud OAuth 2.0 สําหรับบัญชีบริการ

การอัปเดตแผนข้อมูล

ปัจจุบัน API การแชร์แพ็กเกจอินเทอร์เน็ตมือถือของ Google ช่วยให้โอเปอเรเตอร์แชร์การอัปเดตเกี่ยวกับแผนข้อมูลของผู้ใช้ได้

  • สถานะแพ็กเกจอินเทอร์เน็ต: บันทึกสถานะปัจจุบันของแพ็กเกจอินเทอร์เน็ตของผู้ใช้ เช่น หากผู้ใช้ไม่มีข้อมูล โอเปอเรเตอร์จะพุชการอัปเดตสถานะแผนข้อมูลไปยัง GTAF ซึ่ง GTAF อาจใช้เพื่อส่งการแจ้งเตือนสถานะแผนให้กับผู้ใช้ได้

คําอธิบาย API

รูปที่ 3 การโต้ตอบ GTAF-DPA เมื่อ DPA แชร์สถานะแผนข้อมูลกับ GTAF

แอปพลิเคชันจะรับข้อมูลสถานะแผนข้อมูลที่แชร์กับ GTAF ได้ด้วยวิธีใดวิธีหนึ่งใน 2 วิธีนี้

  1. UE โทรไปที่ GTAF เพื่อดูข้อมูลสถานะของแพ็กเกจอินเทอร์เน็ต
    1. DPA ของผู้ให้บริการใช้ API การแชร์แพ็กเกจข้อมูลเพื่อส่งสถานะแพ็กเกจข้อมูลของผู้ใช้ไปยัง GTAF GTAF จะเก็บสถานะแพ็กเกจและคีย์ของผู้ใช้ที่เกี่ยวข้องไว้จนกว่าจะหมดอายุตามที่โอเปอเรเตอร์ระบุ
    2. แอปพลิเคชันของ Google ที่ทํางานใน UE จะขอข้อมูลสถานะแผนข้อมูลโดยใช้ API ภายในของ Google แอปพลิเคชันมีคีย์ผู้ใช้ในคําขอ
    3. หากแอปพลิเคชันสามารถใช้สถานะแพ็กเกจข้อมูลที่แคชไว้ GTAF จะใช้คีย์ผู้ใช้เพื่อค้นหาสถานะแพ็กเกจข้อมูลของผู้ใช้ GTAF จะส่งคืน สถานะให้กับแอปพลิเคชัน
  2. GTAF จะส่งข้อมูลสถานะของแผนข้อมูลไปยัง UE ดังนี้
    1. เมื่อมีความเกี่ยวข้อง ระบบจะพุชสถานะแผนข้อมูลที่ได้รับจากโอเปอเรเตอร์ไปยัง UE โดยตรง โดยเฉพาะอย่างยิ่ง สถานะแพ็กเกจพุชจะใช้เพื่ออัปเดตแคชของอุปกรณ์ในโมดูลแพ็กเกจอินเทอร์เน็ตมือถือใน Google Play บริการ

การแชร์สถานะแผนข้อมูล

DPA ใช้ HTTPS POST เพื่อสร้างและอัปเดตรายการสถานะแพ็กเกจที่มีอยู่เพื่อให้ลูกค้าใช้งาน ปัจจุบัน GTAF รองรับแพ็กเกจอินเทอร์เน็ตมือถือและ youtube เป็นตัวระบุไคลเอ็นต์ที่ถูกต้อง ต่อไปนี้คือตัวอย่างคําขอสําหรับโอเปอเรเตอร์ที่มี asn 12345 และ userabc abcdef จะแชร์แผนกับ GTAF สําหรับไคลเอ็นต์ youtube

โพสต์ 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 และรายการ planStatus ที่พุชมาพร้อมกับรายการการแจ้งเตือนหากมีการส่งการแจ้งเตือนไปยังผู้ใช้ หาก GTAF ระบุว่ามีปัญหาเกิดขึ้นกับคําขอ ระบบจะแสดงรหัสสถานะ HTTP ในช่วง 400-499 หาก GTAF ดําเนินการตามคําขอไม่ได้เพราะข้อผิดพลาดของ GTAF อยู่ GTAF จะแสดงผลรหัส HTTP ในช่วง 500-599 คําขอที่ตอบกลับในช่วง 500-599 จะถือว่าลองซ้ําได้ และคําขอที่ตอบกลับในช่วง 400-499 มักจะลองใหม่ไม่ได้ กรณีข้อผิดพลาดจะอธิบาย การตอบกลับข้อผิดพลาดจาก GTAF โดยละเอียด

พุชสถานะแผนสําหรับไคลเอ็นต์เริ่มต้น

GTAF รองรับการเรียกต่อไปนี้ โดยที่โอเปอเรเตอร์จะพุชสถานะแผนโดยไม่ระบุไคลเอ็นต์สําหรับใช้ ในกรณีนี้ เราถือว่าสถานะแพ็กเกจมีไว้สําหรับไคลเอ็นต์ mobiledataplan และโอเปอเรเตอร์ต้องการส่งการแจ้งเตือนไปยังผู้ใช้ เนื้อหาของคําขอเป็นอินสแตนซ์ของ PlanStatus

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

การก้าวสู่ระดับสากล

DPA ต้องทราบภาษาที่ผู้ใช้ต้องการแม้ว่าจะไม่มีคําขอโดยตรงจาก GTAF เพื่อรองรับการรองรับสากล หากต้องการแก้ไขปัญหานี้ คําขอที่ส่งไปยังปลายทาง CPID อาจมีส่วนหัว "ยอมรับภาษา" ทั้งนี้ขึ้นอยู่กับการเข้าถึงค่ากําหนดภาษาของผู้ใช้ของลูกค้า หากมีส่วนหัวรวมอยู่ด้วย สตริงที่มนุษย์อ่านออกในการอัปเดตที่ DPA ส่งโดยใช้ MDP API จะต้องใช้การตั้งค่าที่ระบุไว้ในคําขอ CPID

DPA MAY จะอัปเดตค่ากําหนดภาษาของผู้ใช้เมื่อได้รับคําขอจาก GTAF ที่มีส่วนหัว "ยอมรับภาษา" และใช้ค่ากําหนดของผู้ใช้ที่อัปเดตแล้วเพื่อกําหนดรหัสภาษาในคําขอในอนาคตไปยัง GTAF

DPA จะต้องระบุภาษาที่ใช้สําหรับสตริงที่ผู้ใช้มองเห็นได้โดยใช้ languageCode GTAF จะใช้ค่านี้เพื่อสร้างชื่อและเนื้อหาของการแจ้งเตือนที่แสดงต่อผู้ใช้