Solicita al integrador que envíe una OTP al número de teléfono.
Si el integrador muestra SUCCESS
, Google espera que se envíe un SMS al número de teléfono.
Google solo proporciona una accountPhoneNumber
cuando un usuario asocia inicialmente su cuenta con Google. A partir de ese momento, solo se enviará associationId
para todas las llamadas posteriores.
Si el extremo encuentra un error mientras procesa la solicitud, el cuerpo de la respuesta de este extremo debe ser del tipo
.ErrorResponse
A continuación, se muestra una solicitud de ejemplo:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-otp-abc",
"requestTimestamp": "1502545413026"
},
"accountPhoneNumber": "+918067218010",
"smsMatchingToken": "AB12345678C",
"otpContext": {
"association": {}
}
}
Una respuesta de ejemplo se ve de la siguiente manera:
{
"responseHeader": {
"responseTimestamp": "1502545413098"
},
"paymentIntegratorSendOtpId": "99==ABC EF",
"result": "SUCCESS"
}
Solicitud HTTP
POST https://www.integratorhost.example.com/v1/sendOtp
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "requestHeader": { object ( |
Campos | |
---|---|
requestHeader |
REQUIRED: Encabezado común para todas las solicitudes |
smsMatchingToken |
OBLIGATORIO: Google proporciona este valor y debe incluirse en el SMS que se envía al usuario. Esto permite que Google haga coincidir automáticamente el SMS en el dispositivo para dispositivos Android O (consulta referencia). Debe tener 11 caracteres. Por ejemplo, si el SMS normalmente se ve de la siguiente manera:
Y Google envía "0123456789A" para este campo, el SMS debería verse así:
De forma alternativa, podría verse de la siguiente manera:
|
otpContext |
OPCIONAL: Este es el contexto en el que se solicita una OTP. |
Campo de unión account_identifier . REQUIRED: Este es el identificador de la cuenta para la que se debe enviar una OTP. account_identifier puede ser solo uno de los siguientes: |
|
accountPhoneNumber |
Este es un número de teléfono con formato E.164. Algunos ejemplos son +14035551111 y +918067218000. Esto siempre comenzará con un signo + y, después, solo se incluirán números (sin guiones). Se completa cuando un usuario asocia inicialmente su cuenta con Google y durante la reasociación. |
associationId |
Es el identificador de asociación que se usa para hacer referencia a la cuenta de un usuario. Se propaga para todas las llamadas posteriores después de la asociación inicial. |
Cuerpo de la respuesta
Objeto de respuesta para el método sendOtp.
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
Representación JSON |
---|
{ "responseHeader": { object ( |
Campos | |
---|---|
responseHeader |
REQUIRED: Encabezado común para todas las respuestas |
paymentIntegratorSendOtpId |
OPCIONAL: Es el identificador como el integrador reconoce que esta solicitud de OTP de envío. Se genera por medio del integrador. |
result |
OBLIGATORIO: Resultado de esta solicitud |
OtpContext
Contexto en el que se solicita una OTP.
Representación JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de unión otp_context . OBLIGATORIO: Contexto en el que se solicita una OTP. otp_context puede ser solo uno de los siguientes: |
|
association |
Se solicita la OTP en el contexto de la asociación o reasociación. |
mandateCreation |
Se solicita una OTP en el contexto de la creación del mandato. |
associationWithMandateCreation |
Se solicita la OTP para la asociación junto con la creación del mandato. |
Vacío
Este tipo no tiene campos.
Este objeto se usa para la extensibilidad, ya que los booleanos y las enumeraciones a menudo deben extenderse con datos adicionales. El implementador lo usa para determinar la presencia. La enumeración que esto representa se puede extender para contener datos en versiones futuras.
La representación JSON para Empty
es un objeto JSON vacío {}
.
SendOtpResultCode
Códigos de resultado para el envío de la solicitud de OTP.
Enumeraciones | |
---|---|
UNKNOWN_RESULT |
No establezcas nunca este valor predeterminado. |
SUCCESS |
El integrador envió la OTP. |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT |
El número de teléfono no está asociado con la cuenta que identificó associationId . |
UNKNOWN_PHONE_NUMBER |
El número de teléfono no está asociado con ninguna cuenta. Se usa cuando no se establece associationId . |
MESSAGE_UNABLE_TO_BE_SENT |
El integrador no pudo enviar la OTP por algún motivo. Este es un error transitorio y puede provocar que se vuelva a intentar la llamada. |
INVALID_PHONE_NUMBER |
El formato del número de teléfono era incorrecto. |
NOT_ELIGIBLE |
La cuenta del usuario no es apta para este servicio. |
OTP_LIMIT_REACHED |
El usuario solicitó o intentó verificar demasiadas OTP. |
ACCOUNT_CLOSED |
Se cerró la cuenta del usuario que se retuvo con el integrador. Solo debe usarse cuando el valor "associationId" se está usando para identificar a este usuario. Devolver este valor hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un nuevo instrumento siguiendo el flujo de asociación nuevamente. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Se cerró la cuenta del usuario con el integrador, por lo que se sospecha que se realizó una apropiación de la cuenta. Solo debe usarse cuando el valor "associationId" se está usando para identificar a este usuario. Devolver este valor hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un nuevo instrumento siguiendo el flujo de asociación nuevamente. |
ACCOUNT_CLOSED_FRAUD |
La cuenta del usuario que se retuvo con el integrador se cerró debido a un fraude. Solo debe usarse cuando el valor "associationId" se está usando para identificar a este usuario. Devolver este valor hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un nuevo instrumento siguiendo el flujo de asociación nuevamente. |