Method: sendOtp

ขอให้ผู้ผสานรวมระบบส่ง OTP ไปยังหมายเลขโทรศัพท์

หากผู้รวมบริการส่งคืน SUCCESS Google คาดหวังว่าจะได้รับ SMS ที่หมายเลขโทรศัพท์นั้น

Google จะให้ accountPhoneNumber เมื่อผู้ใช้เชื่อมโยงบัญชีของตนกับ Google เท่านั้น หลังจากนั้น ระบบจะส่งเฉพาะ associationId สำหรับการโทรครั้งต่อๆ ไปทั้งหมด

หากปลายทางพบข้อผิดพลาดขณะประมวลผลคำขอ เนื้อหาการตอบกลับจากปลายทางนี้ควรเป็นประเภท ErrorResponse

ตัวอย่างคำขอมีลักษณะดังนี้


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "0123434-otp-abc",
    "requestTimestamp": "1502545413026"
  },
  "accountPhoneNumber": "+918067218010",
  "smsMatchingToken": "AB12345678C",
  "otpContext": {
    "association": {}
  }
}

ตัวอย่างคำตอบจะมีลักษณะดังนี้


{
  "responseHeader": {
    "responseTimestamp": "1502545413098"
  },
  "paymentIntegratorSendOtpId": "99==ABC EF",
  "result": "SUCCESS"
}

คำขอ HTTP

POST https://www.integratorhost.example.com/v1/sendOtp

เนื้อหาของคำขอ

เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้

การแสดง JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "smsMatchingToken": string,
  "otpContext": {
    object (OtpContext)
  },

  // Union field account_identifier can be only one of the following:
  "accountPhoneNumber": string,
  "associationId": string
  // End of list of possible types for union field account_identifier.
}
ช่อง
requestHeader

object (RequestHeader)

ต้องระบุ: ส่วนหัวทั่วไปสำหรับคำขอทั้งหมด

smsMatchingToken

string

ต้องระบุ: ค่านี้มาจาก Google และต้องระบุไว้ใน SMS ที่ส่งให้ผู้ใช้ ซึ่งจะช่วยให้ Google จับคู่ SMS ในอุปกรณ์โดยอัตโนมัติสำหรับอุปกรณ์ Android O ได้ (ดูข้อมูลอ้างอิง) ซึ่งมีอักขระ 11 ตัว

เช่น ถ้า SMS มีลักษณะดังนี้

Here's the OTP you requested: <OTP>

แล้ว Google จะส่ง "0123456789A" สำหรับฟิลด์นี้ SMS ควรมีลักษณะดังนี้

0123456789A

Here's the OTP you requested: YYXXZZ

หรืออาจมีลักษณะดังนี้

Here's the OTP you requested: YYXXZZ

0123456789A

otpContext

object (OtpContext)

ไม่บังคับ: บริบทที่มีการขอ OTP

ช่องการรวม account_identifier ต้องระบุ: นี่คือตัวระบุของบัญชีที่ต้องส่ง OTP account_identifier ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
accountPhoneNumber

string

หมายเลขโทรศัพท์ในรูปแบบ E.164 ตัวอย่างเช่น +14035551111 และ +918067218000 ซึ่งจะนำด้วยเครื่องหมาย + และจะรวมเฉพาะตัวเลขหลังจากนั้นเสมอ (โดยไม่มีเครื่องหมายขีดกลาง)

ข้อมูลนี้สร้างขึ้นเมื่อผู้ใช้เชื่อมโยงบัญชีกับ Google เป็นครั้งแรกและระหว่างการเชื่อมโยงใหม่

associationId

string

รหัสนี้คือตัวระบุการเชื่อมโยงที่ใช้อ้างอิงบัญชีของผู้ใช้

ระบบจะป้อนข้อมูลนี้สำหรับการเรียกครั้งต่อๆ มาทั้งหมดหลังจากการเชื่อมโยงครั้งแรก

เนื้อหาการตอบกลับ

ออบเจ็กต์การตอบสนองสำหรับเมธอด sendOtp

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorSendOtpId": string,
  "result": enum (SendOtpResultCode)
}
ช่อง
responseHeader

object (ResponseHeader)

ต้องระบุ: ส่วนหัวทั่วไปของคำตอบทั้งหมด

paymentIntegratorSendOtpId

string

ไม่บังคับ: ระบุผู้ผสานรวมระบบทราบว่าคำขอ OTP นี้เป็นการส่งคำขอ นี่คือผู้ผสานรวมระบบ

result

enum (SendOtpResultCode)

ต้องระบุ: ผลลัพธ์ของคำขอนี้

OtpContext

บริบทที่มีการขอ OTP

การแสดง JSON
{

  // Union field otp_context can be only one of the following:
  "association": {
    object (Empty)
  },
  "mandateCreation": {
    object (Empty)
  },
  "associationWithMandateCreation": {
    object (Empty)
  }
  // End of list of possible types for union field otp_context.
}
ช่อง
ช่องการรวม otp_context ต้องระบุ: บริบทที่มีการขอ OTP otp_context ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
association

object (Empty)

มีการขอ OTP ในบริบทของการเชื่อมโยง/การเชื่อมโยงอีกครั้ง

mandateCreation

object (Empty)

มีการขอ OTP ในบริบทของการสร้างหนังสือมอบอำนาจ

associationWithMandateCreation

object (Empty)

กำลังขอ OTP ในการเชื่อมโยงพร้อมกับการสร้างหนังสือมอบอำนาจ

ว่าง

ประเภทนี้ไม่มีช่อง

ออบเจ็กต์นี้ใช้สำหรับการขยายการใช้งานเนื่องจากบูลีนและการแจกแจงมักจะต้องขยายด้วยข้อมูลเพิ่มเติม ผู้นำไปใช้งานจะใช้ค่านี้เพื่อระบุการมีอยู่ การแจงนับที่แสดงนี้อาจขยายให้มีข้อมูลในเวอร์ชันในอนาคต

การแสดง JSON สำหรับ Empty เป็นออบเจ็กต์ JSON {} ที่ว่างเปล่า

SendOtpResultCode

รหัสผลลัพธ์สำหรับการส่งคำขอ OTP

Enum
UNKNOWN_RESULT โปรดอย่าตั้งค่าเริ่มต้นนี้
SUCCESS ผู้ผสานรวมได้ส่ง OTP แล้ว
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT หมายเลขโทรศัพท์ไม่ได้เชื่อมโยงกับบัญชีที่ระบุโดย associationId
UNKNOWN_PHONE_NUMBER หมายเลขโทรศัพท์ไม่ได้เชื่อมโยงกับบัญชีใดๆ ซึ่งจะใช้เมื่อไม่ได้ตั้งค่า associationId
MESSAGE_UNABLE_TO_BE_SENT ผู้ผสานรวมส่ง OTP ไม่ได้ด้วยเหตุผลบางอย่าง ข้อผิดพลาดนี้เกิดขึ้นชั่วคราวและอาจส่งผลให้ระบบลองโทรอีกครั้ง
INVALID_PHONE_NUMBER รูปแบบหมายเลขโทรศัพท์ไม่ถูกต้อง
NOT_ELIGIBLE บัญชีของผู้ใช้ไม่มีสิทธิ์ใช้บริการนี้
OTP_LIMIT_REACHED ผู้ใช้ขอหรือพยายามยืนยัน OTP จำนวนมากเกินไป
ACCOUNT_CLOSED

ปิดบัญชีของผู้ใช้ที่ไว้กับผู้ผสานรวมระบบแล้ว ควรใช้เมื่อ "associationId" เท่านั้น กำลังมีการใช้เพื่อระบุผู้ใช้รายนี้

การแสดงค่านี้จะทำให้เครื่องมือของผู้ใช้ปิดด้วย Google ระบบจะบังคับให้ผู้ใช้เพิ่มเครื่องมือใหม่โดยทำตามขั้นตอนการเชื่อมโยงอีกครั้ง

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

มีการปิดบัญชีผู้ใช้ที่มีผู้รวมระบบแล้ว บัญชีที่ต้องสงสัยจะเข้าควบคุม ควรใช้เมื่อ "associationId" เท่านั้น กำลังมีการใช้เพื่อระบุผู้ใช้รายนี้

การแสดงค่านี้จะทำให้เครื่องมือของผู้ใช้ปิดด้วย Google ระบบจะบังคับให้ผู้ใช้เพิ่มเครื่องมือใหม่โดยทำตามขั้นตอนการเชื่อมโยงอีกครั้ง

ACCOUNT_CLOSED_FRAUD

บัญชีของผู้ใช้ที่ไว้กับผู้รวมระบบถูกปิดเนื่องจากการประพฤติมิชอบ ควรใช้เมื่อ "associationId" เท่านั้น กำลังมีการใช้เพื่อระบุผู้ใช้รายนี้

การแสดงค่านี้จะทำให้เครื่องมือของผู้ใช้ปิดด้วย Google ระบบจะบังคับให้ผู้ใช้เพิ่มเครื่องมือใหม่โดยทำตามขั้นตอนการเชื่อมโยงอีกครั้ง