Случаи ошибок

Ожидается, что в случае ошибки 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.