Meminta integrator untuk mengirim OTP ke nomor telepon.
Jika integrator menampilkan SUCCESS
, Google mengharapkan SMS dikirim ke nomor telepon tersebut.
Google hanya menyediakan accountPhoneNumber
saat pengguna pertama kali 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:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-otp-abc",
"requestTimestamp": "1502545413026"
},
"accountPhoneNumber": "+918067218010",
"smsMatchingToken": "AB12345678C",
"otpContext": {
"association": {}
}
}
Contoh respons akan 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 |
WAJIB: Header umum untuk semua permintaan. |
smsMatchingToken |
WAJIB: Nilai ini diberikan oleh Google dan harus disertakan dalam SMS yang dikirimkan kepada pengguna. Hal ini memungkinkan Google mencocokkan otomatis SMS di perangkat untuk perangkat Android O (lihat referensi ). Panjangnya adalah 11 karakter. Jadi, misalnya, jika SMS biasanya terlihat seperti:
Dan Google mengirimkan "0123456789A" untuk kolom ini, SMS akan terlihat seperti ini:
Atau, halaman dapat terlihat seperti ini:
|
otpContext |
OPSIONAL: Ini adalah konteks saat OTP diminta. |
Kolom union account_identifier . WAJIB: ID akun ini memerlukan pengiriman OTP. account_identifier hanya dapat berupa salah satu dari yang berikut: |
|
accountPhoneNumber |
Ini adalah nomor telepon berformat E.164. Contohnya mencakup +14035551111 dan +918067218000. Kolom ini akan selalu diawali dengan + dan hanya menyertakan angka setelahnya (tanpa tanda hubung). Kolom ini diisi saat pengguna pertama kali mengaitkan akunnya dengan Google dan selama pengaitan ulang. |
associationId |
Ini adalah ID pengaitan yang digunakan untuk mereferensikan akun pengguna. Ini akan 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 |
WAJIB: Header umum untuk semua respons. |
paymentIntegratorSendOtpId |
OPSIONAL: ID integrator mengetahui permintaan OTP pengiriman ini. Ini adalah integrator yang dihasilkan. |
result |
WAJIB: Hasil permintaan ini |
OtpContext
Konteks saat OTP diminta.
Representasi JSON |
---|
{ // Union field |
Kolom | |
---|---|
Kolom union otp_context . WAJIB: Konteks saat OTP diminta. otp_context hanya dapat berupa salah satu dari yang berikut: |
|
association |
OTP diminta dalam konteks pengaitan/pengaitan ulang. |
mandateCreation |
OTP diminta dalam konteks pembuatan mandat. |
associationWithMandateCreation |
OTP diminta untuk dikaitkan bersama dengan pembuatan mandat. |
Kosong
Jenis ini tidak memiliki kolom.
Objek ini digunakan untuk ekstensibilitas karena boolean dan enumerasi sering kali perlu diperluas dengan data tambahan. Pengimplementasi menggunakannya untuk menentukan kehadiran. Enumerasi yang diwakili ini dapat diperluas agar memuat data di versi mendatang.
Representasi JSON untuk Empty
adalah objek JSON kosong {}
.
SendOtpResultCode
Kode hasil untuk permintaan kirim OTP.
Enum | |
---|---|
UNKNOWN_RESULT |
Jangan pernah menetapkan nilai default ini! |
SUCCESS |
Integrator telah mengirimkan OTP. |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT |
Nomor telepon tidak terkait dengan akun yang diidentifikasi oleh associationId . |
UNKNOWN_PHONE_NUMBER |
Nomor telepon tidak terkait dengan akun apa pun. Ini digunakan saat associationId tidak ditetapkan. |
MESSAGE_UNABLE_TO_BE_SENT |
Integrator tidak dapat mengirim OTP karena beberapa alasan. Hal ini merupakan error sementara, dan dapat mengakibatkan 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 disimpan 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, 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 disimpan dengan 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. |