แรงจูงใจ
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 วิธีนี้
- UE โทรไปที่ GTAF เพื่อดูข้อมูลสถานะของแพ็กเกจอินเทอร์เน็ต
- DPA ของผู้ให้บริการใช้ API การแชร์แพ็กเกจข้อมูลเพื่อส่งสถานะแพ็กเกจข้อมูลของผู้ใช้ไปยัง GTAF GTAF จะเก็บสถานะแพ็กเกจและคีย์ของผู้ใช้ที่เกี่ยวข้องไว้จนกว่าจะหมดอายุตามที่โอเปอเรเตอร์ระบุ
- แอปพลิเคชันของ Google ที่ทํางานใน UE จะขอข้อมูลสถานะแผนข้อมูลโดยใช้ API ภายในของ Google แอปพลิเคชันมีคีย์ผู้ใช้ในคําขอ
- หากแอปพลิเคชันสามารถใช้สถานะแพ็กเกจข้อมูลที่แคชไว้ GTAF จะใช้คีย์ผู้ใช้เพื่อค้นหาสถานะแพ็กเกจข้อมูลของผู้ใช้ GTAF จะส่งคืน สถานะให้กับแอปพลิเคชัน
- GTAF จะส่งข้อมูลสถานะของแผนข้อมูลไปยัง UE ดังนี้
- เมื่อมีความเกี่ยวข้อง ระบบจะพุชสถานะแผนข้อมูลที่ได้รับจากโอเปอเรเตอร์ไปยัง 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 จะใช้ค่านี้เพื่อสร้างชื่อและเนื้อหาของการแจ้งเตือนที่แสดงต่อผู้ใช้