يعود إلى clientMessage
التي تم تمريرها.
الغرض من هذه الطريقة هو اختبار الاتصال الأساسي بين شركة تكامل الدفع وGoogle.
قد تطلب Google هذه الطريقة عدة مرات في الدقيقة باستخدام معلَمات صالحة أو غير صالحة، وذلك لاختبار القيود الأمنية التي يتم فرضها بشكل صحيح. تعتبر Google أيضًا هذه الطريقة مخصّصة وفقًا لتوجيهات شركة الدمج وكذلك توجيهات Google. لن تتصل Google بهذه الميزة أبدًا بشكل أسرع من مرة كل 10 ثوانٍ، ولا تزيد على 30 مرة على الإطلاق في نافذة مدتها 15 دقيقة.
في ما يلي أمثلة على اختبارات القيود الأمنية (على سبيل المثال لا الحصر):
- يمكنك إجراء اختبار للتأكّد من أنّ نقطة النهاية الخاصة بجهة تكامل عمليات الدفع لا تتفاوض مع مجموعات الرموز الضعيفة.
- اختبار للتأكّد من أنّ نقطة النهاية الخاصة بجهة تكامل عمليات الدفع لا تتفاوض مع أي إجراء غير الإصدار 1.2 من بروتوكول أمان طبقة النقل (TLS)
- نفِّذ اختبارًا للتأكّد من أنّ نقطة النهاية لدى وحدة تكامل عمليات الدفع لا تتوافق مع بروتوكول HTTP.
- نفِّذ اختبارًا للتأكّد من أنّ نقطة النهاية لدى شركة تكامل عمليات الدفع تفوِّض مفتاح توقيع PGP واحد معروف على الأقل.
- يمكنك إجراء اختبار للتأكّد من أنّ نقطة النهاية لدى وحدة تكامل عمليات الدفع متوافقة مع توقيعات مفاتيح PGP المتعدّدة، سواء كانت معروفة أم غير معروفة، سواء كانت منتهية الصلاحية أو نشطة.
- نفِّذ اختبارًا للتأكّد من أنّ شركة تكامل عمليات الدفع لا تتيح سوى استخدام تحليل JSON صارم.
إذا واجهت نقطة النهاية خطأً أثناء معالجة الطلب، يجب أن يكون نص الاستجابة من نقطة النهاية هذه من النوع
.ErrorResponse
يظهر مثال على الطلب على النحو التالي:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "ZWNobyB0cmFuc2FjdGlvbg",
"requestTimestamp": "1481899949606"
},
"clientMessage": "client message"
}
يظهر مثال على الرد على النحو التالي:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"clientMessage": "client message",
"serverMessage": "server message"
}
طلب HTTP
POST https://www.integratorhost.example.com/v1/echo
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
تمثيل JSON |
---|
{
"requestHeader": {
object ( |
الحقول | |
---|---|
requestHeader |
مطلوب: العنوان المشترك لجميع الطلبات. |
clientMessage |
مطلوب: يتم إرسال رسالة إلى صدى صوت في الردّ. |
نص الاستجابة
كائن الاستجابة لطريقة الصدى.
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON |
---|
{
"responseHeader": {
object ( |
الحقول | |
---|---|
responseHeader |
مطلوب: عنوان مشترك لجميع الردود. |
clientMessage |
مطلوب: تم استلام الرسالة في الطلب. |
serverMessage |
اختياري: رسالة الخادم، بشكل مستقل عن |
RequestHeader
كائن العنوان المحدَّد في جميع الطلبات المُرسَلة إلى الخادم.
تمثيل JSON |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
الحقول | |
---|---|
requestId |
مطلوب: المعرّف الفريد لهذا الطلب. هذه سلسلة يبلغ الحد الأقصى للطول 100 حرف، وتحتوي فقط على الأحرف "a-z" و"A-Z" و"0-9" و"":" و"-" و"_". |
requestTimestamp |
مطلوب: الطابع الزمني لهذا الطلب الذي تم تمثيله بالمللي ثانية منذ البداية. يجب أن يتحقّق المستلِم من أنّ الطابع الزمني هذا هو ± 60 ثانية من "الآن". إنّ الطابع الزمني لهذا الطلب غير ثابت عند إعادة المحاولة. |
userLocale |
غير مفعَّلة: يتم اختيار رمز لغة مكوّن من حرفَين أو ثلاثة أحرف بتنسيق ISO 639-2 Alpha 3 متبوعًا بواصلة ورمز بلد بتنسيق ISO 3166-1 Alpha-2، مثل "pt" أو "pt-BR" أو "fil" أو "fil-PH". يمكنك استخدام هذه المعلومات للمساعدة في توجيه حقول |
protocolVersion |
مطلوب: نسخة هذا الطلب. |
الإصدار
كائن الإصدار الذي هو شكل منظَّم لبنية إصدار a.b.c
الكلاسيكي. وتضمن توافق الإصدارات الرئيسية من الرقم نفسه. لاحظ أنه قد يتم تغيير القاصرين والمراجعات بشكل متكرر وبدون إشعار. يجب أن تقدّم شركة الدمج طلبات للإصدار الرئيسي نفسه.
تمثيل JSON |
---|
{ "major": integer, "minor": integer, "revision": integer } |
الحقول | |
---|---|
major |
مطلوب: رقم الإصدار الرئيسي. يتم وضع علامة على هذا الطلب توافقًا مع طلبات التوافق مع الإصدارات المختلفة. |
minor |
مطلوب: إصدار ثانوي. يشير هذا إلى أنه تم إصلاح أخطاء كبيرة. |
revision |
مطلوب: إصدار ثانوي. ويدل ذلك على إصلاح أخطاء بسيطة. |