Yêu cầu nhà tích hợp gửi OTP đến số điện thoại.
Nếu nhà tích hợp trả về SUCCESS
, thì Google dự kiến sẽ gửi một tin nhắn SMS đến số điện thoại.
Google chỉ cung cấp accountPhoneNumber
khi ban đầu người dùng liên kết tài khoản của họ với Google. Sau đó, chỉ associationId
mới được gửi cho tất cả các cuộc gọi tiếp theo.
Nếu điểm cuối gặp lỗi trong khi xử lý yêu cầu, thì nội dung phản hồi từ điểm cuối này phải thuộc loại
.ErrorResponse
Một yêu cầu mẫu có dạng như sau:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-otp-abc",
"requestTimestamp": "1502545413026"
},
"accountPhoneNumber": "+918067218010",
"smsMatchingToken": "AB12345678C",
"otpContext": {
"association": {}
}
}
Một phản hồi mẫu sẽ có dạng như sau:
{
"responseHeader": {
"responseTimestamp": "1502545413098"
},
"paymentIntegratorSendOtpId": "99==ABC EF",
"result": "SUCCESS"
}
Yêu cầu HTTP
POST https://www.integratorhost.example.com/v1/sendOtp
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu với cấu trúc như sau:
Biểu diễn dưới dạng JSON |
---|
{ "requestHeader": { object ( |
Các trường | |
---|---|
requestHeader |
BẮT BUỘC: Tiêu đề chung cho tất cả các yêu cầu. |
smsMatchingToken |
BẮT BUỘC: Giá trị này do Google cung cấp và phải được bao gồm trong SMS gửi tới người dùng. Điều này cho phép Google tự động đối sánh SMS trên thiết bị với các thiết bị Android O (xem tham chiếu ). Mật khẩu này sẽ dài 11 ký tự. Ví dụ: nếu SMS thường có dạng như sau:
Và Google gửi "0123456789A" cho trường này, sau đó SMS sẽ trông giống như sau:
Ngoài ra, thành phần này có thể như sau:
|
otpContext |
KHÔNG BẮT BUỘC: Đây là ngữ cảnh mà OTP đang được yêu cầu. |
Trường nhóm account_identifier . BẮT BUỘC: Đây là mã định danh của tài khoản cần gửi OTP. account_identifier chỉ có thể là một trong những loại sau đây: |
|
accountPhoneNumber |
Đây là số điện thoại có định dạng E.164. Ví dụ bao gồm +14035551111 và +918067218000. Điều này sẽ luôn dẫn đầu bằng dấu + và chỉ bao gồm các số sau đó (không có dấu gạch ngang). Thông tin này được điền khi người dùng liên kết tài khoản của họ với Google lúc đầu và trong quá trình liên kết lại. |
associationId |
Đây là giá trị nhận dạng liên kết dùng để tham chiếu tài khoản của một người dùng. Giá trị này được điền cho tất cả các cuộc gọi tiếp theo sau mối liên kết ban đầu. |
Nội dung phản hồi
Đối tượng phản hồi cho phương thức sendOtp.
Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:
Biểu diễn dưới dạng JSON |
---|
{ "responseHeader": { object ( |
Các trường | |
---|---|
responseHeader |
BẮT BUỘC: Tiêu đề chung cho tất cả các phản hồi. |
paymentIntegratorSendOtpId |
KHÔNG BẮT BUỘC: Giá trị nhận dạng của nhà tích hợp biết yêu cầu gửi OTP này là. Đây là công cụ tích hợp được tạo. |
result |
BẮT BUỘC: Kết quả của yêu cầu này |
Ngữ cảnh Otp
Ngữ cảnh yêu cầu OTP.
Biểu diễn dưới dạng JSON |
---|
{ // Union field |
Các trường | |
---|---|
Trường nhóm otp_context . BẮT BUỘC: Ngữ cảnh trong đó yêu cầu OTP. otp_context chỉ có thể là một trong những loại sau đây: |
|
association |
OTP đang được yêu cầu trong ngữ cảnh liên kết/liên kết lại. |
mandateCreation |
Đang yêu cầu OTP trong trường hợp tạo uỷ nhiệm chi. |
associationWithMandateCreation |
Đang yêu cầu OTP để liên kết với tạo uỷ nhiệm chi. |
Trống
Loại này không có trường nào.
Đối tượng này được dùng để mở rộng vì boolean và bảng liệt kê thường cần được mở rộng bằng dữ liệu bổ sung. Người triển khai sử dụng thuộc tính này để xác định sự hiện diện. Bảng liệt kê này có thể được mở rộng để chứa dữ liệu trong các phiên bản trong tương lai.
Biểu diễn JSON cho Empty
là đối tượng JSON {}
trống.
Mã kết quả gửi
Mã kết quả để gửi yêu cầu OTP.
Enum | |
---|---|
UNKNOWN_RESULT |
Không bao giờ đặt giá trị mặc định này! |
SUCCESS |
Integrator đã gửi OTP. |
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT |
Số điện thoại không liên kết với tài khoản do associationId xác định. |
UNKNOWN_PHONE_NUMBER |
Số điện thoại không được liên kết với bất kỳ tài khoản nào. Giá trị này được sử dụng khi bạn không đặt associationId . |
MESSAGE_UNABLE_TO_BE_SENT |
Tích hợp không thể gửi OTP vì lý do nào đó. Đây là lỗi tạm thời và có thể dẫn đến việc gọi lại. |
INVALID_PHONE_NUMBER |
Định dạng số điện thoại không chính xác. |
NOT_ELIGIBLE |
Tài khoản của người dùng không đủ điều kiện cho dịch vụ này. |
OTP_LIMIT_REACHED |
Người dùng đã yêu cầu hoặc cố gắng xác minh quá nhiều OTP. |
ACCOUNT_CLOSED |
Tài khoản của người dùng được tích hợp với nhà tích hợp đã bị đóng. Bạn chỉ nên sử dụng thuộc tính này khi đang sử dụng "associationId" để nhận dạng người dùng này. Khi trả lại giá trị này, công cụ của người dùng sẽ bị đóng với Google. Người dùng sẽ buộc phải thêm công cụ mới bằng cách thực hiện lại quy trình liên kết. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Tài khoản của người dùng với nhà tích hợp đã bị đóng, tài khoản bị nghi ngờ chiếm đoạt. Bạn chỉ nên sử dụng thuộc tính này khi đang sử dụng "associationId" để nhận dạng người dùng này. Khi trả lại giá trị này, công cụ của người dùng sẽ bị đóng với Google. Người dùng sẽ buộc phải thêm công cụ mới bằng cách thực hiện lại quy trình liên kết. |
ACCOUNT_CLOSED_FRAUD |
Tài khoản của người dùng do nhà tích hợp giữ đã bị đóng do gian lận. Bạn chỉ nên sử dụng thuộc tính này khi đang sử dụng "associationId" để nhận dạng người dùng này. Khi trả lại giá trị này, công cụ của người dùng sẽ bị đóng với Google. Người dùng sẽ buộc phải thêm công cụ mới bằng cách thực hiện lại quy trình liên kết. |