Просит интегратора отправить 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» для этого поля, тогда SMS должно выглядеть так: Вот запрошенный вами одноразовый пароль: YYXXZZ. В качестве альтернативы это может выглядеть так: 0123456789А |
otpContext | ДОПОЛНИТЕЛЬНО : это контекст, в котором запрашивается OTP. |
Поле объединения account_identifier . НЕОБХОДИМО : это идентификатор учетной записи, для которой необходимо отправить OTP. account_identifier может быть только одним из следующих: | |
accountPhoneNumber | Это телефонный номер в формате E.164. Примеры включают +14035551111 и +918067218000. Это всегда будет начинаться с + и включать только цифры после (без тире). Это поле заполняется, когда пользователь первоначально связывает свою учетную запись с Google и во время повторного связывания. |
associationId | Это идентификатор ассоциации, используемый для ссылки на учетную запись пользователя. Это заполняется для всех последующих вызовов после первоначальной ассоциации. |
Тело ответа
Объект ответа для метода sendOtp.
В случае успеха тело ответа содержит данные со следующей структурой:
Представление JSON |
---|
{ "responseHeader": { object ( |
Поля | |
---|---|
responseHeader | ТРЕБУЕТСЯ : Общий заголовок для всех ответов. |
paymentIntegratorSendOtpId | НЕОБЯЗАТЕЛЬНО : Идентификатор, который известен интегратору для отправки OTP-запроса. Это генерируется интегратором. |
result | НЕОБХОДИМО : результат этого запроса. |
OpContext
Контекст, в котором запрашивается OTP.
Представление JSON |
---|
{ // Union field |
Поля | |
---|---|
Поле объединения otp_context . REQUIRED : контекст, в котором запрашивается OTP. otp_context может быть только одним из следующих: | |
association | OTP запрашивается в контексте ассоциации/повторной ассоциации. |
mandateCreation | OTP запрашивается в контексте создания мандата. |
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 | Интегратору по какой-то причине не удалось отправить одноразовый пароль. Это временная ошибка, которая может привести к повторной попытке вызова. |
INVALID_PHONE_NUMBER | Неверный формат номера телефона. |
NOT_ELIGIBLE | Учетная запись пользователя не подходит для этой службы. |
OTP_LIMIT_REACHED | Пользователь запросил или попытался проверить слишком много одноразовых паролей. |
ACCOUNT_CLOSED | Аккаунт пользователя у интегратора закрыт. Это следует использовать только тогда, когда для идентификации этого пользователя используется «associationId». Возврат этого значения приведет к закрытию инструмента пользователя в Google. Пользователь будет вынужден добавить новый инструмент, снова пройдя через процесс ассоциации. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER | Учетная запись пользователя в интеграторе была закрыта, подозреваемая учетная запись вступила во владение. Это следует использовать только тогда, когда для идентификации этого пользователя используется «associationId». Возврат этого значения приведет к закрытию инструмента пользователя в Google. Пользователь будет вынужден добавить новый инструмент, снова пройдя через процесс ассоциации. |
ACCOUNT_CLOSED_FRAUD | Учетная запись пользователя, принадлежащая интегратору, была закрыта из-за мошенничества. Это следует использовать только тогда, когда для идентификации этого пользователя используется «associationId». Возврат этого значения приведет к закрытию инструмента пользователя в Google. Пользователь будет вынужден добавить новый инструмент, снова пройдя через процесс ассоциации. |