자격요건
GTAF는 사용자가 요금제를 구매할 수 있는지 확인하기 위해 다음 자격 요건 요청을 발행할 수 있습니다.
GET DPA/{userKey}/Eligibility/{planId}?key_type={CPID,MSISDN}
planId
는 사용자를 대신하여 요금제를 구매하는 데 사용할 수 있는 요금제의 고유 식별자입니다 (데이터 구매 참고).
planId
가 지정되지 않은 경우 DPA는 해당 사용자가 구매할 수 있는 모든 요금제를 반환해야 합니다(MUST).
오류 사례에는 오류 발생 시 DPA에서 예상되는 응답이 나열되어 있습니다. 또한 DPA는 다음 오류 사례에서 오류를 반환해야 합니다(SHALL).
- DPA는 GTAF에
planId
이 유효하지 않음을 나타내는 400 BAD REQUEST 오류 코드를 반환합니다. - DPA는
planId
이 사용자의 데이터 요금제와 호환되지 않음을 나타내는 409 CONFLICT 오류 코드를 반환합니다.
그렇지 않으면 DPA는 200-OK 응답을 반환해야 합니다(SHALL). 성공적인 EligibilityResponse의 형식은 다음과 같습니다.
{
"eligiblePlans":
[
{
"planId": string, // Plan identifier. Can be used to
// refer to the plan during
// offers, etc. (req.)
}
]
}
요청에 planId
가 포함된 경우 응답에는 해당 요금제만 포함됩니다. 그렇지 않으면 목록에 사용자가 구매할 수 있는 모든 요금제가 포함됩니다. planId
가 비어 있고 DPA가 자격 요건을 충족하는 요금제 목록 반환을 지원하지 않는 경우 400 BAD REQUEST 오류를 반환해야 합니다(MUST).
Android 5G 환경
GTAF를 사용하면 이동통신사가 구독자의 연결 유형별로 측정 상태를 공유할 수 있습니다. 이 정보는 GTAF에서 주기적으로 가져올 수 있으며, 이동통신사는 내부 트리거에 따라 정보를 푸시할 수 있습니다.
Pull API
기기는 다음을 사용하여 GTAF를 통해 측정 정보(meteredness information)를 가져올 수 있습니다.
GET DPA/{userKey}/planStatus?key_type={userKey}&client_id=AndroidSystemInfo
DPA (데이터 요금제 에이전트)는 이동통신사 네트워크의 API GW 또는 권한 서버를 나타냅니다.
userKey는 여기에 정의된 초기 인증 단계에서 설정된 인증 토큰입니다.
client_id가 AndroidSystemInfo입니다.
요금 부과 여부 상태가 ENUM으로 제공됨
DPA는 200 OK 응답을 반환하고 planInfoPerClient를 포함해야 합니다. DPA의 오류 처리는 여기에 정의되어 있습니다.
풀 모델에서 GTAF는 클라이언트 역할을 하며 DPA의 SSL 인증서를 검증합니다. GTAF는 여기에 정의된 OAuth 절차를 사용하여 DPA에 인증합니다.
Push API
이동통신사는 트리거 이벤트(예: 요금제 변경 등)를 기반으로 다음을 사용하여 측정 정보도 푸시할 수 있습니다.
POST https://mobiledataplansharing.googleapis.com/v1/operators/12345/clients/AndroidSystemInfo/users/abcdef/planStatus
DPA는 메시지 본문에 planInfoPerClient를 포함해야 합니다. GTAF의 오류 응답은 여기에 정의되어 있습니다.
푸시 모드에서 GTAF는 Google Cloud OAuth2 서버를 사용하여 DPA에서 수신되는 요청을 인증합니다. 수신 요청은 DPA가 나타내는 ASN에 대해 ISP 포털에서 허용 목록에 추가된 서비스 계정으로 인증되어야 합니다. 자세한 내용은 통합 가이드(여기)를 참고하세요.