Дополнительные варианты использования

право

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 (агент плана данных) представляет API GW или сервер прав в сети оператора.

userKey — это токен аутентификации, установленный во время начальной фазы аутентификации, как определено здесь .

client_id — это AndroidSystemInfo.

Статус измерения предоставляется в виде ENUM

DPA должен возвращать ответ 200 OK и включать planInfoPerClient. Здесь определяется обработка ошибок для DPA.

В модели вытягивания 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 . Входящие запросы должны быть аутентифицированы как учетная запись службы, внесенная в белый список на портале ISP для ASN, который представляет DPA. Кроме того, обратитесь к руководству по интеграции здесь для получения дополнительной информации.