Запрашивает интегратора отправить OTP на номер телефона.
Если интегратор возвращает SUCCESS
, Google ожидает отправки SMS на номер телефона.
Google предоставляет только accountPhoneNumber
, когда пользователь изначально связывает свою учетную запись с Google. После этого для всех последующих вызовов будет отправляться только associationId
.
Если конечная точка обнаруживает ошибку при обработке запроса, тело ответа от этой конечной точки должно иметь тип
.ErrorResponse
Пример запроса выглядит так:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-otp-abc",
"requestTimestamp": "1502545413026"
},
"accountPhoneNumber": "+918067218010",
"smsMatchingToken": "AB12345678C",
"otpContext": {
"association": {}
}
}
Пример ответа выглядит так:
{
"responseHeader": {
"responseTimestamp": "1502545413098"
},
"paymentIntegratorSendOtpId": "99==ABC EF",
"result": "SUCCESS"
}
HTTP-запрос
POST https://www.integratorhost.example.com/v1/sendOtp
Тело запроса
Тело запроса содержит данные следующей структуры:
JSON-представление |
---|
{ "requestHeader": { object ( |
Поля | |
---|---|
requestHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех запросов. |
smsMatchingToken | ОБЯЗАТЕЛЬНО : это значение предоставляется Google и должно быть включено в SMS, доставляемое пользователю. Это позволяет Google автоматически сопоставлять SMS на устройстве с устройствами Android O (см. ссылку ). Это будет 11 символов. Например, если SMS обычно выглядит так: А Google отправляет на это поле «0123456789A», тогда СМС должно выглядеть так: Вот запрошенный вами OTP: YYXXZZ. Альтернативно это может выглядеть так: 0123456789А |
otpContext | НЕОБЯЗАТЕЛЬНО : это контекст, в котором запрашивается OTP. |
Поле объединения account_identifier . ОБЯЗАТЕЛЬНО : это идентификатор учетной записи, для которой необходимо отправить OTP. account_identifier может быть только одним из следующих: | |
accountPhoneNumber | Это номер телефона в формате E.164. Примеры: +14035551111 и +918067218000. Это всегда будет начинаться со знака + и после этого включать только цифры (без тире). Оно заполняется, когда пользователь первоначально связывает свою учетную запись с Google, а также во время повторной связи. |
associationId | Это идентификатор ассоциации, используемый для ссылки на учетную запись пользователя. Он заполняется для всех последующих вызовов после первоначальной ассоциации. |
Тело ответа
Объект ответа для метода sendOtp.
В случае успеха тело ответа содержит данные следующей структуры:
JSON-представление |
---|
{ "responseHeader": { object ( |
Поля | |
---|---|
responseHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех ответов. |
paymentIntegratorSendOtpId | НЕОБЯЗАТЕЛЬНО : Идентификатор, под которым интегратор знает этот запрос на отправку OTP. Это сгенерировано интегратором. |
result | ОБЯЗАТЕЛЬНО : Результат этого запроса. |
ОтпКонтекст
Контекст, в котором запрашивается OTP.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
Поле объединения otp_context . ОБЯЗАТЕЛЬНО : контекст, в котором запрашивается OTP. otp_context может быть только одним из следующих: | |
association | OTP запрашивается в контексте ассоциации/повторной ассоциации. |
mandateCreation | КОП запрашивается в контексте создания мандата. |
associationWithMandateCreation | OTP запрашивается для ассоциации наряду с созданием мандата. |
Пустой
Этот тип не имеет полей.
Этот объект используется для расширения, поскольку логические значения и перечисления часто необходимо расширять дополнительными данными. Разработчик использует его для определения присутствия. Представленное этим перечисление может быть расширено для включения данных в будущих версиях.
Представление JSON для Empty
— это пустой объект JSON {}
.
SendOtpResultCode
Коды результатов для отправки запроса OTP.
Перечисления | |
---|---|
UNKNOWN_RESULT | Никогда не устанавливайте это значение по умолчанию! |
SUCCESS | Интегратор отправил OTP. |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT | Номер телефона не связан с учетной записью, определенной по associationId . |
UNKNOWN_PHONE_NUMBER | Номер телефона не привязан ни к одной учетной записи. Это используется, когда associationId не установлен. |
MESSAGE_UNABLE_TO_BE_SENT | По какой-то причине Интегратор не смог отправить OTP. Это временная ошибка, которая может привести к повторной попытке вызова. |
INVALID_PHONE_NUMBER | Формат номера телефона неправильный. |
NOT_ELIGIBLE | Учетная запись пользователя не имеет права на эту услугу. |
OTP_LIMIT_REACHED | Пользователь запросил или попытался подтвердить слишком много одноразовых паролей. |
ACCOUNT_CLOSED | Учетная запись пользователя у интегратора закрыта. Это следует использовать только тогда, когда «associationId» используется для идентификации этого пользователя. Возврат этого значения приведет к закрытию инструмента пользователя в Google. Пользователь будет вынужден добавить новый инструмент, повторно пройдя процедуру связывания. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER | Аккаунт пользователя у интегратора закрыт, подозрение на захват аккаунта. Это следует использовать только тогда, когда «associationId» используется для идентификации этого пользователя. Возврат этого значения приведет к закрытию инструмента пользователя в Google. Пользователь будет вынужден добавить новый инструмент, повторно пройдя процедуру связывания. |
ACCOUNT_CLOSED_FRAUD | Аккаунт пользователя у интегратора закрыт из-за мошенничества. Это следует использовать только в том случае, если «associationId» используется для идентификации этого пользователя. Возврат этого значения приведет к закрытию инструмента пользователя в Google. Пользователь будет вынужден добавить новый инструмент, повторно пройдя процедуру связывания. |