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 นําไปใช้ได้เพื่อส่งการแจ้งเตือนยอดคงเหลือต่ําให้แก่ผู้ใช้

ระบุผู้ใช้ที่เกี่ยวข้อง

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

  1. CPID ที่ใช้งานอยู่: ผู้ใช้ที่มี CPID ที่ใช้งานอยู่ จนกว่า CPID ที่สร้างโดยปลายทาง CPID จะถูกต้อง DPA ควรส่งการอัปเดตเกี่ยวกับแผนข้อมูลของผู้ใช้ หากตั้งค่าส่วนหัว Accept-Language ไว้ตอนที่สร้าง CPID สตริงที่มนุษย์อ่านได้ในสถานะแผนข้อมูลจะต้องเป็นภาษานั้น
  2. MSSDN ที่ลงทะเบียน: GTAF จะลงทะเบียน MSISDN ด้วย DPA ตามที่อธิบายไว้ในส่วน msisdn Registers ของ Data Plan Agent API เพื่อให้บริการแอปพลิเคชันที่มีสิทธิ์เข้าถึง MSISDN เมื่อลงทะเบียน MSISDN แล้ว DPA ควรส่งการอัปเดตเกี่ยวกับแพ็กเกจอินเทอร์เน็ตของผู้ใช้จนกว่าการจดทะเบียนจะหมดอายุ

คําอธิบาย API

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

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

แอปพลิเคชันรับข้อมูลสถานะแผนข้อมูลได้ 2 วิธี ดังนี้

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

การโต้ตอบ GTAF-DPA

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

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

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

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

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

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

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