L'integratore richiede l'invio di una OTP al numero di telefono.
Se l'integratore restituisce SUCCESS
, Google si aspetta che un SMS venga inviato al numero di telefono.
Google fornisce un accountPhoneNumber
solo quando un utente associa inizialmente il proprio account a Google. In seguito, verranno inviate solo associationId
per tutte le chiamate successive.
Se si verifica un errore durante l'elaborazione della richiesta, il corpo della risposta di questo endpoint deve essere di tipo
.ErrorResponse
Una richiesta di esempio ha il seguente aspetto:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-otp-abc",
"requestTimestamp": "1502545413026"
},
"accountPhoneNumber": "+918067218010",
"smsMatchingToken": "AB12345678C",
"otpContext": {
"association": {}
}
}
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 negli SMS inviati all'utente. In questo modo Google può trovare una corrispondenza automatica per il dispositivo Android O (vedi riferimento). Si tratta di 11 caratteri. Ad esempio, se normalmente l'SMS aveva il seguente aspetto:
Google invia "0123456789A" per questo campo, quindi l'SMS dovrebbe avere il seguente aspetto:
In alternativa potrebbe avere il seguente aspetto:
|
otpContext |
OPTIONAL: il contesto in cui viene richiesta una OTP. |
Campo unione account_identifier . REQUIRED: è l'identificatore dell'account a cui deve essere inviata 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. Sarà sempre preceduto da + e include solo i numeri successivi (senza trattini). Questo campo viene completato quando un utente associa inizialmente il proprio account a Google e durante la riassociazione. |
associationId |
Si tratta dell'identificatore dell'associazione utilizzato come riferimento per l'account di un utente. Il campo viene completato per tutte le chiamate successive dopo l'associazione iniziale. |
Corpo della risposta
Oggetto della 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: identifica come l'integratore sa che questa richiesta di OTP è stata inviata. Si tratta di un integratore generato. |
result |
REQUIRED: risultato della richiesta. |
Contesto Otp
Contesto in cui viene richiesta una OTP.
Rappresentazione JSON |
---|
{ // Union field |
Campi | |
---|---|
Campo unione otp_context . REQUIRED: contesto in cui viene richiesta una OTP. otp_context può essere solo uno dei seguenti: |
|
association |
La OTP viene richiesta nel contesto dell'associazione/riassociazione. |
mandateCreation |
La richiesta OTP viene richiesta nel contesto della creazione del mandato. |
associationWithMandateCreation |
È in corso la richiesta di associazione dell'OTP insieme alla creazione di mandato. |
Vuoto
Questo tipo non contiene campi.
Questo oggetto viene utilizzato per l'estensibilità, poiché i valori booleani e le enumerazioni devono essere spesso estesi con dati aggiuntivi. L'implementatore lo utilizza per determinare la presenza in casa. L'enumerazione che rappresenta potrebbe essere estesa per contenere i dati nelle versioni future.
La rappresentazione JSON per Empty
è un oggetto JSON vuoto {}
.
Codice risultato OTp
Codici risultato per l'invio di una richiesta OTP.
Enum | |
---|---|
UNKNOWN_RESULT |
Non impostare 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 è riuscito a inviare la OTP per qualche motivo. Questo è un errore temporaneo e potrebbe causare un nuovo tentativo di chiamata. |
INVALID_PHONE_NUMBER |
Il formato del numero di telefono non era corretto. |
NOT_ELIGIBLE |
L'account utente non è idoneo per questo servizio. |
OTP_LIMIT_REACHED |
L'utente ha richiesto o ha provato a verificare troppe OTP. |
ACCOUNT_CLOSED |
L'account dell'utente interessato dall'integratore è stato chiuso. Questo deve essere utilizzato solo quando l'"associationId" viene usato 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 attraversando nuovamente la procedura di associazione. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
L'account dell'utente con l'integratore è stato chiuso, il sospetto sospetto di violazione dell'account. Questo deve essere utilizzato solo quando l'"associationId" viene usato 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 attraversando nuovamente la procedura di associazione. |
ACCOUNT_CLOSED_FRAUD |
L'account dell'utente in possesso dell'integratore è stato chiuso a causa di attività fraudolente. Questo deve essere utilizzato solo quando l'"associationId" viene usato 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 attraversando nuovamente la procedura di associazione. |