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

ช่อง Union 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)

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

บริบท Otp

บริบทที่มีการขอ 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.
}
ช่อง
ช่อง Union 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 Integrator ได้ส่ง 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 ระบบจะบังคับให้ผู้ใช้เพิ่มเครื่องมือใหม่โดยดําเนินการตามขั้นตอนการเชื่อมโยงอีกครั้ง