Chiede all'integratore di inviare una OTP al numero di telefono.
Se l'integratore restituisce SUCCESS
, Google si aspetta un SMS al numero di telefono.
Google fornisce un valore accountPhoneNumber
solo quando un utente associa inizialmente il proprio account a Google. Dopodiché, per tutte le chiamate successive viene inviato solo associationId
.
Se l'endpoint rileva un errore durante l'elaborazione della richiesta, il corpo della risposta da questo endpoint deve essere di tipo
.ErrorResponse
Ecco un esempio di richiesta:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-otp-abc",
"requestTimestamp": "1502545413026"
},
"accountPhoneNumber": "+918067218010",
"smsMatchingToken": "AB12345678C",
"otpContext": {
"association": {}
}
}
Ecco un esempio di risposta:
{
"responseHeader": {
"responseTimestamp": "1502545413098"
},
"paymentIntegratorSendOtpId": "99==ABC EF",
"result": "SUCCESS"
}
Richiesta HTTP
POST https://www.integratorhost.example.com/v1/sendOtp
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "requestHeader": { object ( |
Campi | |
---|---|
requestHeader |
REQUIRED: intestazione comune per tutte le richieste. |
smsMatchingToken |
REQUIRED: questo valore è fornito da Google e deve essere incluso nell'SMS inviato all'utente. In questo modo Google può associare automaticamente l'SMS sul dispositivo per i dispositivi Android O (consulta la documentazione di riferimento ). Deve contenere 11 caratteri. Ad esempio, se normalmente l'SMS è simile al:
E Google invia "0123456789A" per questo campo, l'SMS dovrebbe avere il seguente aspetto:
In alternativa, potrebbe avere il seguente aspetto:
|
otpContext |
FACOLTATIVO: questo è il contesto in cui viene richiesta una OTP. |
Campo unione account_identifier . REQUIRED: si tratta dell'identificatore dell'account a cui inviare una OTP. account_identifier può essere solo uno dei seguenti: |
|
accountPhoneNumber |
Questo è un numero di telefono in formato E.164. Gli esempi includono +14035551111 e +918067218000. Questa opzione inizierà sempre con un + e includerà solo numeri (senza trattini). Il campo viene compilato quando un utente associa per la prima volta il proprio account a Google e durante la riassociazione. |
associationId |
L'identificatore di associazione utilizzato per fare riferimento all'account di un utente. Il campo viene compilato per tutte le chiamate successive dopo l'associazione iniziale. |
Corpo della risposta
Oggetto di risposta per il metodo sendOtp.
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "responseHeader": { object ( |
Campi | |
---|---|
responseHeader |
REQUIRED: intestazione comune per tutte le risposte. |
paymentIntegratorSendOtpId |
FACOLTATIVO: identificatore utilizzato dall'integratore per l'invio della richiesta OTP. Questo è stato generato dall'integratore. |
result |
REQUIRED: il risultato della richiesta |
OtpContext
Contesto in cui viene richiesta una OTP.
Rappresentazione JSON |
---|
{ // Union field |
Campi | |
---|---|
Campo unione otp_context . REQUIRED: il contesto in cui viene richiesta una OTP. otp_context può essere solo uno dei seguenti: |
|
association |
È stata richiesta una OTP nel contesto dell'associazione/riassociazione. |
mandateCreation |
Richiesta di OTP nell'ambito della creazione del mandato. |
associationWithMandateCreation |
È stata richiesta l'associazione della OTP insieme alla creazione del mandato. |
Vuoto
Questo tipo non contiene campi.
Questo oggetto viene utilizzato per l'estensibilità perché i valori booleani e le enumerazioni spesso devono essere estesi con dati aggiuntivi. L'implementatore li utilizza per determinare la presenza. L'enumerazione che questa rappresenta potrebbe essere estesa per contenere dati nelle versioni future.
La rappresentazione JSON per Empty
è un oggetto JSON vuoto {}
.
SendOtpResultCode
Codici risultato per l'invio di una richiesta OTP.
Enum | |
---|---|
UNKNOWN_RESULT |
Non impostare mai questo valore predefinito. |
SUCCESS |
L'integratore ha inviato l'OTP. |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT |
Il numero di telefono non è associato all'account identificato da associationId . |
UNKNOWN_PHONE_NUMBER |
Il numero di telefono non è associato ad alcun account. Viene utilizzato quando associationId non è impostato. |
MESSAGE_UNABLE_TO_BE_SENT |
L'integratore non ha potuto inviare la OTP per un motivo non determinato. Si tratta di un errore temporaneo che potrebbe comportare un nuovo tentativo di questa chiamata. |
INVALID_PHONE_NUMBER |
Il formato del numero di telefono non era corretto. |
NOT_ELIGIBLE |
L'account dell'utente non è idoneo per questo servizio. |
OTP_LIMIT_REACHED |
L'utente ha richiesto o provato a verificare troppe OTP. |
ACCOUNT_CLOSED |
L'account dell'utente presso l'integratore è stato chiuso. Deve essere utilizzato solo quando "associationId" viene utilizzato per identificare l'utente. Se restituisci questo valore, lo strumento dell'utente verrà chiuso con Google. L'utente sarà costretto ad aggiungere un nuovo strumento ripetendo il flusso di associazione. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
L'account dell'utente con l'integratore è stato chiuso e si è verificata una presenza di presunte violazioni dell'account. Deve essere utilizzato solo quando "associationId" viene utilizzato per identificare l'utente. Se restituisci questo valore, lo strumento dell'utente verrà chiuso con Google. L'utente sarà costretto ad aggiungere un nuovo strumento ripetendo il flusso di associazione. |
ACCOUNT_CLOSED_FRAUD |
L'account dell'utente presso l'integratore è stato chiuso a causa di attività fraudolente. Deve essere utilizzato solo quando "associationId" viene utilizzato per identificare l'utente. Se restituisci questo valore, lo strumento dell'utente verrà chiuso con Google. L'utente sarà costretto ad aggiungere un nuovo strumento ripetendo il flusso di associazione. |