Method: echo

يعود إلى 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": string
}
الحقول
requestHeader

object (RequestHeader)

مطلوب: العنوان المشترك لجميع الطلبات.

clientMessage

string

مطلوب: يتم إرسال رسالة إلى صدى صوت في الردّ.

نص الاستجابة

كائن الاستجابة لطريقة الصدى.

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

تمثيل JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "clientMessage": string,
  "serverMessage": string
}
الحقول
responseHeader

object (ResponseHeader)

مطلوب: عنوان مشترك لجميع الردود.

clientMessage

string

مطلوب: تم استلام الرسالة في الطلب.

serverMessage

string

اختياري: رسالة الخادم، بشكل مستقل عن clientMessage التي يتم ارتدادها.

RequestHeader

كائن العنوان المحدَّد في جميع الطلبات المُرسَلة إلى الخادم.

تمثيل JSON
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
الحقول
requestId

string

مطلوب: المعرّف الفريد لهذا الطلب.

هذه سلسلة يبلغ الحد الأقصى للطول 100 حرف، وتحتوي فقط على الأحرف "a-z" و"A-Z" و"0-9" و"":" و"-" و"_".

requestTimestamp

string (int64 format)

مطلوب: الطابع الزمني لهذا الطلب الذي تم تمثيله بالمللي ثانية منذ البداية. يجب أن يتحقّق المستلِم من أنّ الطابع الزمني هذا هو ± 60 ثانية من "الآن". إنّ الطابع الزمني لهذا الطلب غير ثابت عند إعادة المحاولة.

userLocale
(deprecated)

string

غير مفعَّلة: يتم اختيار رمز لغة مكوّن من حرفَين أو ثلاثة أحرف بتنسيق ISO 639-2 Alpha 3 متبوعًا بواصلة ورمز بلد بتنسيق ISO 3166-1 Alpha-2، مثل "pt" أو "pt-BR" أو "fil" أو "fil-PH". يمكنك استخدام هذه المعلومات للمساعدة في توجيه حقول userMessage في الاستجابة.

protocolVersion

object (Version)

مطلوب: نسخة هذا الطلب.

الإصدار

كائن الإصدار الذي هو شكل منظَّم لبنية إصدار a.b.c الكلاسيكي. وتضمن توافق الإصدارات الرئيسية من الرقم نفسه. لاحظ أنه قد يتم تغيير القاصرين والمراجعات بشكل متكرر وبدون إشعار. يجب أن تقدّم شركة الدمج طلبات للإصدار الرئيسي نفسه.

تمثيل JSON
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
الحقول
major

integer

مطلوب: رقم الإصدار الرئيسي. يتم وضع علامة على هذا الطلب توافقًا مع طلبات التوافق مع الإصدارات المختلفة.

minor

integer

مطلوب: إصدار ثانوي. يشير هذا إلى أنه تم إصلاح أخطاء كبيرة.

revision

integer

مطلوب: إصدار ثانوي. ويدل ذلك على إصلاح أخطاء بسيطة.