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_context יכול להיות רק אחד מהבאים:
association

object (Empty)

נשלחה בקשה ל-OTP בהקשר של שיוך/שיוך מחדש.

mandateCreation

object (Empty)

המערכת מבקשת OTP בהקשר של יצירת ייפוי כוח.

associationWithMandateCreation

object (Empty)

נשלחה בקשה לשיוך חד-פעמי (OTP) לצורך יצירת ייפוי כוח.

ריק

בסוג הזה אין שדות.

האובייקט הזה משמש להרחבה כי לעיתים קרובות צריך להרחיב את הערכים הבוליאניים והספירות באמצעות נתונים נוספים. ההטמעה מנצלת אותו כדי לקבוע את הנוכחות. ייתכן שהמספר יורחב כך שיכלול נתונים בגרסאות עתידיות.

ייצוג JSON עבור Empty הוא אובייקט JSON ריק {}.

SendOtpResultCode

קודי תוצאה לשליחת בקשת OTP.

טיפוסים בני מנייה (enum)
UNKNOWN_RESULT אני לא רוצה להגדיר את ערך ברירת המחדל הזה!
SUCCESS האינטגרל שלח את הסיסמה החד-פעמית.
PHONE_NUMBER_NOT_ASSOCIATED_WITH_ACCOUNT מספר הטלפון לא משויך לחשבון שזוהה על ידי associationId.
UNKNOWN_PHONE_NUMBER מספר הטלפון לא משויך לאף חשבון. הפעולה הזו משמשת כאשר associationId לא מוגדר.
MESSAGE_UNABLE_TO_BE_SENT השילוב לא הצליח לשלוח את הסיסמה החד-פעמית. זוהי שגיאה זמנית, והיא עשויה לגרום לניסיון חוזר של השיחה.
INVALID_PHONE_NUMBER הפורמט של מספר הטלפון היה שגוי.
NOT_ELIGIBLE החשבון של המשתמש לא כשיר לשירות הזה.
OTP_LIMIT_REACHED המשתמש ביקש או ניסה יותר מדי סיסמאות חד-פעמיות.
ACCOUNT_CLOSED

החשבון של המשתמש שמשלב את החשבון נסגר. יש להשתמש בערך הזה רק כש-"associationId" משמש לזיהוי המשתמש הזה.

אם הוא יוחזר, אמצעי התשלום של המשתמש ייסגר עם Google. המשתמש ייאלץ להוסיף אמצעי חדש על ידי ביצוע שוב של תהליך השיוך.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

החשבון של המשתמש עם המספר המשולב נסגר. קיים חשד שהוא השתלט על החשבון. יש להשתמש בערך הזה רק כש-"associationId" משמש לזיהוי המשתמש הזה.

אם הוא יוחזר, אמצעי התשלום של המשתמש ייסגר עם Google. המשתמש ייאלץ להוסיף אמצעי חדש על ידי ביצוע שוב של תהליך השיוך.

ACCOUNT_CLOSED_FRAUD

החשבון של המשתמש שמשלב את החשבון נסגר בגלל הונאה. יש להשתמש בערך הזה רק כש-"associationId" משמש לזיהוי המשתמש הזה.

אם הוא יוחזר, אמצעי התשלום של המשתמש ייסגר עם Google. המשתמש ייאלץ להוסיף אמצעי חדש על ידי ביצוע שוב של תהליך השיוך.