تطلب من جهة الدمج إرسال كلمة مرور صالحة لمرة واحدة (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 |
مطلوب: توفّر Google هذه القيمة ويجب تضمينها في الرسالة القصيرة SMS التي يتم تسليمها للمستخدم. يتيح ذلك لـ Google مطابقة الرسائل القصيرة SMS على جهاز Android O تلقائيًا (راجِع المرجع ). سيتألف هذا الرقم من 11 حرفًا. لذلك، على سبيل المثال، إذا كانت رسالة SMS تبدو كما يلي:
وترسل Google الرقم "0123456789A" في هذا الحقل، يُفترض أن تظهر رسالة SMS بالشكل التالي:
بدلاً من ذلك، يمكن أن يبدو كالتالي:
|
otpContext |
اختياري: هذا هو السياق الذي يتم فيه طلب كلمة المرور لمرة واحدة (OTP). |
حقل الاتحاد account_identifier . مطلوب: هو معرّف الحساب الذي يجب إرسال كلمة مرور صالحة لمرة واحدة (OTP) إليه. يمكن أن يكون account_identifier واحدًا فقط مما يلي: |
|
accountPhoneNumber |
هذا رقم هاتف بتنسيق E.164. تشمل الأمثلة على ذلك +14035551111 و +918067218000. سيؤدي ذلك دائمًا إلى علامة + ويتضمن أرقامًا بعد ذلك فقط (بدون شرطات). تتم تعبئة هذا الحقل عندما يربط المستخدم حسابه في البداية بـ Google وأثناء إعادة الربط. |
associationId |
هذا هو معرّف الربط المستخدَم للإشارة إلى حساب مستخدم. وتتم تعبئة هذا الحقل لجميع الطلبات اللاحقة بعد الربط الأولي. |
نص الاستجابة
كائن الاستجابة لطريقة SendOtp.
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "responseHeader": { object ( |
الحقول | |
---|---|
responseHeader |
مطلوب: عنوان مشترك لجميع الردود. |
paymentIntegratorSendOtpId |
اختياري: المعرّف الذي يعرف مسؤول عملية الدمج هذا بأنه طلب إرسال كلمة المرور لمرة واحدة (OTP) هذا. تم إنشاء عملية الدمج هذه. |
result |
REQUIRED: نتيجة هذا الطلب |
OtpContext
السياق الذي يتم فيه طلب كلمة المرور لمرة واحدة (OTP).
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الاتحاد otp_context . مطلوب: السياق الذي يتم فيه طلب كلمة المرور لمرة واحدة (OTP). يمكن أن يكون otp_context واحدًا فقط مما يلي: |
|
association |
يتم طلب كلمة المرور لمرة واحدة (OTP) في سياق الربط أو إعادة الارتباط. |
mandateCreation |
يتم طلب كلمة المرور لمرة واحدة (OTP) في سياق إنشاء التفويض. |
associationWithMandateCreation |
يتم طلب كلمة المرور لمرة واحدة (OTP) للارتباط وإنشاء التفويض. |
ما مِن لاعبين
لا يحتوي هذا النوع على أي حقول.
يُستخدم هذا الكائن لقابلية التوسّع لأنه غالبًا ما تحتاج القيم المنطقية والتعدادات إلى توسيعها ببيانات إضافية. ويستخدمه القائم بالتنفيذ لتحديد الحضور. ويمكن توسيع التعداد الذي يمثله ليتضمن البيانات في الإصدارات المستقبلية.
تمثيل JSON لـ Empty
هو كائن JSON {}
فارغ.
SendOtpResultCode
رموز النتائج لطلب إرسال كلمة المرور لمرة واحدة (OTP).
عمليات التعداد | |
---|---|
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 |
طلب المستخدم أو حاول التحقّق من عدد كبير جدًا من كلمات المرور لمرة واحدة (OTP). |
ACCOUNT_CLOSED |
تم إغلاق حساب المستخدم لدى جهة الدمج. يجب استخدام هذه السمة فقط عند إدخال قيمة "associationId" تُستخدم لتحديد هوية هذا المستخدم. سيؤدي عرض هذه القيمة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة من خلال إجراء عملية الربط مرة أخرى. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
تم إغلاق حساب المستخدم لدى جهة الدمج، ويُشتبه في الاستيلاء على الحساب. يجب استخدام هذه السمة فقط عند إدخال قيمة "associationId" تُستخدم لتحديد هوية هذا المستخدم. سيؤدي عرض هذه القيمة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة من خلال إجراء عملية الربط مرة أخرى. |
ACCOUNT_CLOSED_FRAUD |
تم إغلاق حساب المستخدم التابع لجهة الدمج بسبب عملية احتيال. يجب استخدام هذه السمة فقط عند إدخال قيمة "associationId" تُستخدم لتحديد هوية هذا المستخدم. سيؤدي عرض هذه القيمة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة من خلال إجراء عملية الربط مرة أخرى. |