Право на участие
GTAF МОЖЕТ отправить следующий запрос на проверку соответствия требованиям, чтобы проверить, имеет ли пользователь право приобрести план.
GET DPA/{userKey}/Eligibility/{planId}?key_type={CPID,MSISDN}
Обратите внимание, что planId
— это уникальный идентификатор плана, который можно использовать для его покупки от имени пользователя (см. раздел «Покупка данных» ). Если planId
не указан, DPA ДОЛЖЕН вернуть все планы, доступные для покупки этим пользователем.
В разделе «Случаи ошибок» перечислены ожидаемые от DPA ответы в случае ошибки. Кроме того, DPA ДОЛЖЕН возвращать ошибку в следующих случаях:
- DPA возвращает код ошибки 400 BAD REQUEST, указывающий GTAF, что
planId
недействителен. - DPA возвращает код ошибки 409 CONFLICT, указывающий на то, что
planId
несовместим с тарифным планом пользователя.
В противном случае DPA ДОЛЖЕН вернуть ответ 200-OK. Формат успешного ответа EligibilityResponse следующий:
{
"eligiblePlans":
[
{
"planId": string, // Plan identifier. Can be used to
// refer to the plan during
// offers, etc. (req.)
}
]
}
Если запрос содержит planId
, ответ включает только этот план. В противном случае список включает все планы, которые пользователь может приобрести. Если planId
пуст и DPA не поддерживает возврат списка доступных планов, он ДОЛЖЕН вернуть ошибку 400 BAD REQUEST.
Возможности Android 5G
GTAF позволяет операторам связи предоставлять абонентам информацию о состоянии тарифицируемости по типам подключения. GTAF может периодически извлекать эту информацию, или операторы могут передавать её в режиме реального времени на основе внутренних триггеров.
API-интерфейс для извлечения
Устройство может извлекать информацию о показаниях счетчиков через GTAF, используя следующее:
GET DPA/{userKey}/planStatus?key_type={userKey}&client_id=AndroidSystemInfo
Обратите внимание, что DPA (Data Plan Agent) представляет собой API GW или сервер прав в сети оператора.
userKey — это токен аутентификации, установленный на начальном этапе аутентификации, как определено здесь .
client_id — это AndroidSystemInfo
Статус измеренности предоставляется в виде ENUM
DPA должен вернуть ответ 200 OK и включить planInfoPerClient. Обработка ошибок для DPA определяется здесь.
В модели pull GTAF выступает в качестве клиента и проверяет SSL-сертификат DPA. GTAF аутентифицируется в DPA, используя процедуру OAuth, описанную здесь .
Push API
Оператор связи также может передавать информацию о показаниях счетчика, используя функцию «следуй» на основе события-триггера, например, изменения тарифного плана и т. д.
POST https://mobiledataplansharing.googleapis.com/v1/operators/12345/clients/AndroidSystemInfo/users/abcdef/planStatus
DPA должен включить planInfoPerClient в тело сообщения. Ответы об ошибках от GTAF определены здесь.
В режиме push-уведомлений GTAF аутентифицирует входящие запросы от DPA, используя сервер Google Cloud OAuth2 . Входящие запросы должны быть аутентифицированы с использованием учётной записи службы, внесённой в белый список на портале интернет-провайдера для номера автономных систем (ASN), который представляет DPA. Подробнее см. в руководстве по интеграции здесь .