Ожидается, что в случае ошибки DPA вернет код состояния HTTP вместе с ответом HTTP, который ДОЛЖЕН включать объект JSON с дополнительной информацией об ошибке. Тело ответа об ошибке ДОЛЖНО содержать экземпляр ErrorResponse .
{
"errorMessage": string,
"cause": enum(ErrorCause)
}
Ответ об ошибке DPA ДОЛЖЕН соответствовать следующему:
- Пользователь в настоящее время находится в роуминге, и запрос DPA отключен для этого пользователя. DPA возвращает ошибку 403 с USER_ROAMING в качестве причины ошибки.
- DPA возвращает код ошибки 404 NOT_FOUND, указывающий GTAF, что ключ пользователя недействителен (т. е. ключ пользователя не существует) с INVALID_NUMBER.
- DPA возвращает код ошибки 410 GONE с BAD_CPID в качестве причины ошибки, указывающей GTAF, что клиент должен получить новый ключ пользователя , если key_type = CPID и срок действия CPID истек.
- DPA возвращает код ошибки 501 NOT_IMPLEMENTED, указывающий, что он не поддерживает этот вызов с причиной ошибки SERVICE_UNAVAILABLE.
- DPA возвращает ошибку 429 TOO MANY REQUESTS with TOO_MANY_REQUESTS с заголовком Retry-After, указывающим, что GTAF отправляет слишком много запросов к DPA.
- DPA возвращает ошибку 409 CONFLICT, указывающую, что запрос не может быть выполнен из-за конфликта с текущим состоянием DPA.
- Сервис временно недоступен. DPA возвращает 503 SERVICE UNAVAILABLE с заголовком Retry-After, указывающим, когда можно попытаться выполнить новый запрос.
- DPA возвращает код ошибки 500 INTERNAL SERVER ERROR для всех других неуказанных ошибок ERROR_CAUSE_UNSPECIFIED в качестве причины ошибки.
В случае ошибок, возникших во время покупки, следующие коды ошибок представляют собой неудачные результаты транзакции:
- DPA возвращает код ошибки 400 BAD REQUEST, указывающий GTAF, что идентификатор приобретенного плана недействителен.
- DPA возвращает код ошибки 402 PAYMENT REQUIRED, указывающий GTAF, что у пользователя недостаточно средств для совершения покупки.
- DPA возвращает код ошибки 409 CONFLICT, указывающий GTAF, что приобретаемый план несовместим с текущим набором продуктов пользователя. Например, если политика тарифного плана оператора запрещает смешивание тарифных планов с постоплатой и предоплатой, попытка приобрести план с предоплатой для пользователя с постоплатой приведет к ошибке 409 CONFLICT.
- DPA возвращает код ошибки 403 FORBIDDEN, указывающий GTAF, что текущая транзакция является дубликатом ранее выполненной транзакции. DPA ДОЛЖЕН возвращать в ответ следующие причины ошибки:
- Если предыдущая транзакция потерпела неудачу, причина ошибки указывает причину сбоя.
- Если предыдущая транзакция прошла успешно, DUPLICATE_TRANSACTION.
- Если предыдущая транзакция все еще находится в очереди, REQUEST_QUEUED.
Ожидается, что в случае ошибки DPA вернет код состояния HTTP вместе с ответом HTTP, который ДОЛЖЕН включать объект JSON с дополнительной информацией об ошибке. Тело ответа об ошибке ДОЛЖНО содержать экземпляр ErrorResponse .
{
"errorMessage": string,
"cause": enum(ErrorCause)
}
Ответ об ошибке DPA ДОЛЖЕН соответствовать следующему:
- Пользователь в настоящее время находится в роуминге, и запрос DPA отключен для этого пользователя. DPA возвращает ошибку 403 с USER_ROAMING в качестве причины ошибки.
- DPA возвращает код ошибки 404 NOT_FOUND, указывающий GTAF, что ключ пользователя недействителен (т. е. ключ пользователя не существует) с INVALID_NUMBER.
- DPA возвращает код ошибки 410 GONE с BAD_CPID в качестве причины ошибки, указывающей GTAF, что клиент должен получить новый ключ пользователя , если key_type = CPID и срок действия CPID истек.
- DPA возвращает код ошибки 501 NOT_IMPLEMENTED, указывающий, что он не поддерживает этот вызов с причиной ошибки SERVICE_UNAVAILABLE.
- DPA возвращает ошибку 429 TOO MANY REQUESTS with TOO_MANY_REQUESTS с заголовком Retry-After, указывающим, что GTAF отправляет слишком много запросов к DPA.
- DPA возвращает ошибку 409 CONFLICT, указывающую, что запрос не может быть выполнен из-за конфликта с текущим состоянием DPA.
- Сервис временно недоступен. DPA возвращает 503 SERVICE UNAVAILABLE с заголовком Retry-After, указывающим, когда можно попытаться выполнить новый запрос.
- DPA возвращает код ошибки 500 INTERNAL SERVER ERROR для всех других неуказанных ошибок ERROR_CAUSE_UNSPECIFIED в качестве причины ошибки.
В случае ошибок, возникших во время покупки, следующие коды ошибок представляют собой неудачные результаты транзакции:
- DPA возвращает код ошибки 400 BAD REQUEST, указывающий GTAF, что идентификатор приобретенного плана недействителен.
- DPA возвращает код ошибки 402 PAYMENT REQUIRED, указывающий GTAF, что у пользователя недостаточно средств для совершения покупки.
- DPA возвращает код ошибки 409 CONFLICT, указывающий GTAF, что приобретаемый план несовместим с текущим набором продуктов пользователя. Например, если политика тарифного плана оператора запрещает смешивание тарифных планов с постоплатой и предоплатой, попытка приобрести план с предоплатой для пользователя с постоплатой приведет к ошибке 409 CONFLICT.
- DPA возвращает код ошибки 403 FORBIDDEN, указывающий GTAF, что текущая транзакция является дубликатом ранее выполненной транзакции. DPA ДОЛЖЕН возвращать в ответ следующие причины ошибки:
- Если предыдущая транзакция потерпела неудачу, причина ошибки указывает причину сбоя.
- Если предыдущая транзакция прошла успешно, DUPLICATE_TRANSACTION.
- Если предыдущая транзакция все еще находится в очереди, REQUEST_QUEUED.