Meminta integrator untuk mengirimkan OTP ke nomor telepon.
Jika integrator menampilkan SUCCESS
, Google mengharapkan SMS dikirim ke nomor telepon tersebut.
Google hanya menyediakan accountPhoneNumber
saat pengguna mengaitkan akunnya dengan Google. Setelah itu, hanya associationId
yang akan dikirim untuk semua panggilan berikutnya.
Jika endpoint mengalami error saat memproses permintaan, isi respons dari endpoint ini harus berjenis
.ErrorResponse
Contoh permintaan terlihat seperti ini:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-otp-abc",
"requestTimestamp": "1502545413026"
},
"accountPhoneNumber": "+918067218010",
"smsMatchingToken": "AB12345678C",
"otpContext": {
"association": {}
}
}
Contoh respons terlihat seperti ini:
{
"responseHeader": {
"responseTimestamp": "1502545413098"
},
"paymentIntegratorSendOtpId": "99==ABC EF",
"result": "SUCCESS"
}
Permintaan HTTP
POST https://www.integratorhost.example.com/v1/sendOtp
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
Representasi JSON |
---|
{ "requestHeader": { object ( |
Kolom | |
---|---|
requestHeader |
DIPERLUKAN: Header umum untuk semua permintaan. |
smsMatchingToken |
DIPERLUKAN: Nilai ini diberikan oleh Google dan harus disertakan dalam SMS yang dikirim kepada pengguna. Hal ini memungkinkan Google untuk mencocokkan otomatis SMS di perangkat dengan perangkat Android O (lihat referensi ). Panjang karakter ini adalah 11 karakter. Misalnya, jika SMS biasanya terlihat seperti ini:
Dan Google mengirimkan "0123456789A" untuk kolom ini, maka SMS-nya akan terlihat seperti ini:
Atau, tampilannya mungkin seperti ini:
|
otpContext |
OPSIONAL: Ini adalah konteks di mana OTP diminta. |
Kolom union account_identifier . REQUIRED: Ini adalah ID akun tujuan OTP yang akan dikirimkan. account_identifier hanya dapat berupa salah satu dari berikut: |
|
accountPhoneNumber |
Ini adalah nomor telepon berformat E.164. Contohnya mencakup +14035551111 dan +918067218000. Nama ini akan selalu diawali dengan + dan hanya menyertakan angka setelahnya (tanpa tanda hubung). Kolom ini diisi saat pengguna pertama kali mengaitkan akun mereka dengan Google dan selama pengaitan ulang. |
associationId |
Ini adalah ID pengaitan yang digunakan untuk mereferensikan akun pengguna. Ini diisi untuk semua panggilan berikutnya setelah pengaitan awal. |
Isi respons
Objek respons untuk metode sendOtp.
Jika berhasil, isi respons memuat data dengan struktur berikut:
Representasi JSON |
---|
{ "responseHeader": { object ( |
Kolom | |
---|---|
responseHeader |
DIPERLUKAN: Header umum untuk semua respons. |
paymentIntegratorSendOtpId |
OPSIONAL: Pengidentifikasi integrator mengetahui bahwa ini mengirim permintaan OTP. Ini adalah integrator yang dihasilkan. |
result |
REQUIRED: Hasil dari permintaan ini |
Konteks Otp
Konteks saat OTP diminta.
Representasi JSON |
---|
{ // Union field |
Kolom | |
---|---|
Kolom union otp_context . REQUIRED: Konteks tempat OTP diminta. otp_context hanya dapat berupa salah satu dari berikut: |
|
association |
OTP sedang diminta dalam konteks pengaitan/pengaitan ulang. |
mandateCreation |
OTP sedang diminta dalam konteks pembuatan mandat. |
associationWithMandateCreation |
OTP diminta untuk dikaitkan dengan pembuatan mandat. |
Kosong
Jenis ini tidak memiliki kolom.
Objek ini digunakan untuk ekstensibilitas karena boolean dan enumerasi sering kali perlu diperpanjang dengan data tambahan. Implementasi menggunakannya untuk menentukan kehadiran. Enumerasi yang diwakili ini dapat diperluas agar berisi data di versi mendatang.
Representasi JSON untuk Empty
adalah objek JSON kosong {}
.
SendOtpResultCode
Kode hasil untuk mengirim permintaan OTP.
Enumerasi | |
---|---|
UNKNOWN_RESULT |
Jangan pernah menetapkan nilai default ini. |
SUCCESS |
Integrator telah mengirimkan OTP. |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT |
Nomor telepon tidak dikaitkan dengan akun yang diidentifikasi oleh associationId . |
UNKNOWN_PHONE_NUMBER |
Nomor telepon tidak dikaitkan dengan akun mana pun. Ini digunakan saat associationId tidak ditetapkan. |
MESSAGE_UNABLE_TO_BE_SENT |
Integrator tidak dapat mengirim OTP karena alasan tertentu. Ini adalah error sementara, dan dapat menyebabkan panggilan ini dicoba lagi. |
INVALID_PHONE_NUMBER |
Format nomor telepon salah. |
NOT_ELIGIBLE |
Akun pengguna tidak memenuhi syarat untuk layanan ini. |
OTP_LIMIT_REACHED |
Pengguna telah meminta atau mencoba memverifikasi terlalu banyak OTP. |
ACCOUNT_CLOSED |
Akun pengguna yang dibekukan dengan integrator telah ditutup. Ini hanya boleh digunakan saat "associationId" digunakan untuk mengidentifikasi pengguna ini. Menampilkan nilai ini akan menyebabkan instrumen pengguna ditutup dengan Google. Pengguna akan dipaksa untuk menambahkan instrumen baru dengan melalui alur pengaitan lagi. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Akun pengguna dengan integrator telah ditutup, dan akun yang dicurigai mengambil alih. Ini hanya boleh digunakan saat "associationId" digunakan untuk mengidentifikasi pengguna ini. Menampilkan nilai ini akan menyebabkan instrumen pengguna ditutup dengan Google. Pengguna akan dipaksa untuk menambahkan instrumen baru dengan melalui alur pengaitan lagi. |
ACCOUNT_CLOSED_FRAUD |
Akun pengguna yang ditahan oleh integrator telah ditutup karena penipuan. Ini hanya boleh digunakan saat "associationId" digunakan untuk mengidentifikasi pengguna ini. Menampilkan nilai ini akan menyebabkan instrumen pengguna ditutup dengan Google. Pengguna akan dipaksa untuk menambahkan instrumen baru dengan melalui alur pengaitan lagi. |