Method: sendOtp

از یکپارچه‌ساز درخواست می‌کند که یک OTP به شماره تلفن ارسال کند.

اگر ادغام‌کننده SUCCESS برگرداند، Google انتظار دارد پیامکی به شماره تلفن ارسال شود.

هنگامی که کاربر در ابتدا حساب خود را با Google مرتبط می کند، Google فقط یک accountPhoneNumber ارائه می دهد. پس از آن، فقط 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 ارائه شده است و باید در پیامک ارسال شده به کاربر گنجانده شود. این به Google اجازه می‌دهد پیامک‌های موجود در دستگاه را برای دستگاه‌های Android O مطابقت دهد (به مرجع مراجعه کنید). این 11 کاراکتر خواهد بود.

به عنوان مثال، اگر پیامک به طور معمول به نظر می رسد:

Here's the OTP you requested: <OTP>

و گوگل "0123456789A" را برای این فیلد ارسال می کند، سپس پیامک باید به شکل زیر باشد:

0123456789A

OTPی که درخواست کردید این است: 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.

Enums
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 بسته شود. کاربر مجبور خواهد شد با گذراندن مجدد جریان ارتباط، ابزار جدیدی اضافه کند.