Solicita que o integrador envie uma OTP para o número de telefone.
Se o integrador retornar SUCCESS
, o Google espera que um SMS seja enviado para o número de telefone.
O Google fornece apenas um accountPhoneNumber
quando um usuário associa inicialmente a conta dele ao Google. Depois disso, apenas associationId
seria enviado para todas as chamadas subsequentes.
Se o endpoint encontrar um erro ao processar a solicitação, o corpo da resposta desse endpoint precisará ser do tipo
.ErrorResponse
Veja abaixo um exemplo de solicitação:
{
"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 de SMS no dispositivo para dispositivos Android O (consulte a referência). O valor terá 11 caracteres. Por exemplo, se o SMS normalmente for assim:
E o Google enviar "0123456789A" para esse campo, o SMS deverá ter esta aparência:
Como alternativa, ele pode ter esta aparência:
|
otpContext |
OPCIONAL: o contexto em que uma OTP está sendo solicitada. |
Campo de união account_identifier . OBRIGATÓRIO: esse é o identificador da conta para que uma OTP precisa ser enviada. 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 iniciará com um sinal de + e incluirá apenas números depois (sem traços). Isso é preenchido quando um usuário associa inicialmente a conta ao Google e durante a reassociação. |
associationId |
Esse é o identificador de associação usado para fazer referência à conta de um usuário. Isso é preenchido em 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: o identificador que o integrador conhece como o envio dessa solicitação de OTP. Este é o integrador gerado. |
result |
OBRIGATÓRIO: resultado desta solicitação |
Contexto de operação
Contexto em que uma OTP está sendo solicitada.
Representação JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de união otp_context . OBRIGATÓRIO: contexto em que uma OTP está sendo 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 a associação e a criação da autorização. |
Vazio
Este tipo não tem campos.
Esse objeto é usado para extensibilidade porque os booleanos e as enumerações geralmente precisam ser estendidos com dados extras. O implementador a utiliza para determinar a presença. A enumeração que isso representa pode ser estendida para conter dados em versões futuras.
A representação JSON para Empty
é um objeto JSON vazio {}
.
SendOtpResultCode
Códigos de resultado para a solicitação de envio 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 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 na 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 associada ao integrador foi encerrada. Só deverá ser usado quando o "associationId" for usado para identificar esse usuário. Retornar esse valor fará com que o instrumento do usuário seja 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. A conta pode ter sido invadida. Só deverá ser usado quando o "associationId" for usado para identificar esse usuário. Retornar esse valor fará com que o instrumento do usuário seja 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 associada ao integrador foi encerrada por fraude. Só deverá ser usado quando o "associationId" for usado para identificar esse usuário. Retornar esse valor fará com que o instrumento do usuário seja fechado com o Google. O usuário será forçado a adicionar um novo instrumento passando pelo fluxo de associação novamente. |