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