Solicita que o integrador envie uma OTP para o número de telefone.
Se o integrador retornar SUCCESS
, o Google vai esperar que um SMS seja enviado ao número de telefone.
O Google fornece um accountPhoneNumber
apenas quando um usuário associa inicialmente a própria conta ao Google. Depois disso, apenas associationId
seria enviado para todas as chamadas seguintes.
Se o endpoint encontrar um erro ao processar a solicitação, o corpo da resposta dele precisará ser do tipo
.ErrorResponse
Um exemplo de solicitação é semelhante a este:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-otp-abc",
"requestTimestamp": "1502545413026"
},
"accountPhoneNumber": "+918067218010",
"smsMatchingToken": "AB12345678C",
"otpContext": {
"association": {}
}
}
Veja um exemplo de resposta:
{
"responseHeader": {
"responseTimestamp": "1502545413098"
},
"paymentIntegratorSendOtpId": "99==ABC EF",
"result": "SUCCESS"
}
Solicitação HTTP
POST https://www.integratorhost.example.com/v1/sendOtp
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Representação JSON |
---|
{ "requestHeader": { object ( |
Campos | |
---|---|
requestHeader |
OBRIGATÓRIO: cabeçalho comum para todas as solicitações. |
smsMatchingToken |
OBRIGATÓRIO: este valor é fornecido pelo Google e precisa ser incluído no SMS enviado ao usuário. Isso permite que o Google faça a correspondência automática do SMS no dispositivo nos dispositivos Android O (consulte a referência). Ele terá 11 caracteres. Por exemplo, se o SMS normalmente for assim:
E o Google envia "0123456789A" para este campo, o SMS será semelhante a:
Como alternativa, poderia ser semelhante a:
|
otpContext |
OPCIONAL: é o contexto em que uma OTP é solicitada. |
Campo de união account_identifier . OBRIGATÓRIO: o identificador da conta que receberá uma OTP. account_identifier pode ser apenas de um dos tipos a seguir: |
|
accountPhoneNumber |
Este é um número de telefone no formato E.164. Por exemplo, +14035551111 e +918067218000. Isso sempre vai começar com um + e incluir apenas números depois (sem traços). Ele é preenchido quando um usuário associa inicialmente a conta ao Google e durante a reassociação. |
associationId |
Este é o identificador de associação usado para fazer referência à conta de um usuário. Esse conjunto é preenchido para todas as chamadas subsequentes após a associação inicial. |
Corpo da resposta
Objeto de resposta para o método sendOtp.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Representação JSON |
---|
{ "responseHeader": { object ( |
Campos | |
---|---|
responseHeader |
OBRIGATÓRIO: cabeçalho comum para todas as respostas. |
paymentIntegratorSendOtpId |
OPCIONAL: identificador que o integrador conhece essa solicitação de envio de OTP. Isso é gerado pelo integrador. |
result |
OBRIGATÓRIO: resultado da solicitação |
OtpContext
Contexto em que uma OTP é solicitada.
Representação JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de união otp_context . OBRIGATÓRIO: o contexto em que uma OTP é solicitada. otp_context pode ser apenas de um dos tipos a seguir: |
|
association |
A OTP está sendo solicitada no contexto de associação/reassociação. |
mandateCreation |
A OTP está sendo solicitada no contexto da criação da autorização. |
associationWithMandateCreation |
A OTP está sendo solicitada para associação com a criação da autorização. |
Vazio
Esse tipo não tem campos.
Esse objeto é usado para extensibilidade porque booleanos e enumerações geralmente precisam ser estendidos com dados extras. O implementador a utiliza para determinar a presença. A enumeração representada pode ser estendida para conter dados em versões futuras.
A representação JSON de Empty
é o objeto JSON vazio {}
.
SendOtpResultCode
Códigos de resultado para enviar uma solicitação de OTP.
Enums | |
---|---|
UNKNOWN_RESULT |
Nunca defina esse valor padrão. |
SUCCESS |
O integrador enviou a OTP. |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT |
O número de telefone não está associado à conta identificada por associationId . |
UNKNOWN_PHONE_NUMBER |
O número de telefone não está associado a nenhuma conta. Usado quando o associationId não está definido. |
MESSAGE_UNABLE_TO_BE_SENT |
O integrador não conseguiu enviar a OTP por algum motivo. Este é um erro temporário e pode resultar em uma nova tentativa de chamada. |
INVALID_PHONE_NUMBER |
O formato do número de telefone estava incorreto. |
NOT_ELIGIBLE |
A conta do usuário não está qualificada para este serviço. |
OTP_LIMIT_REACHED |
O usuário solicitou ou tentou verificar muitas OTPs. |
ACCOUNT_CLOSED |
A conta do usuário mantida no integrador foi encerrada. Só deve ser usado quando o campo "associationId" está sendo usado para identificar este usuário. Se esse valor for retornado, o instrumento do usuário será fechado com o Google. O usuário será forçado a adicionar um novo instrumento passando pelo fluxo de associação novamente. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
A conta do usuário com o integrador foi encerrada e há suspeita de que a conta esteja assumida. Só deve ser usado quando o campo "associationId" está sendo usado para identificar este usuário. Se esse valor for retornado, o instrumento do usuário será fechado com o Google. O usuário será forçado a adicionar um novo instrumento passando pelo fluxo de associação novamente. |
ACCOUNT_CLOSED_FRAUD |
A conta do usuário mantida no integrador foi encerrada devido a uma fraude. Só deve ser usado quando o campo "associationId" está sendo usado para identificar este usuário. Se esse valor for retornado, o instrumento do usuário será fechado com o Google. O usuário será forçado a adicionar um novo instrumento passando pelo fluxo de associação novamente. |