Method: echo

מחזיר הד ל-clientMessage שמועבר.

מטרת השיטה הזו היא לבדוק קישוריות בסיסית בין משלב התשלומים ל-Google.

Google עשויה להפעיל את השיטה הזו כמה פעמים בדקה, עם פרמטרים חוקיים או לא חוקיים, כדי לבדוק שאילוצי האבטחה נשמרים כראוי. Google גם קוראת לשיטה הזו אד-הוק לפי כיוון של מבצע השילוב וגם לפי הכיוון של Google. Google לעולם לא תתקשר למספר הזה מהר יותר מפעם אחת בכל 10 שניות, ואף פעם לא יותר מ-30 פעמים בחלון של 15 דקות.

דוגמאות לבדיקות אילוצי אבטחה:

  • כדי לוודא שנקודת הקצה של כלי לשילוב תשלומים לא מתנהל משא ומתן לגבי חבילות הצפנה חלשות.
  • בדיקה כדי לוודא שנקודת הקצה של הכלי לשילוב תשלומים לא תומכת בשום דבר מלבד TLS 1.2
  • כדי לוודא שנקודת הקצה של הכלי לשילוב תשלומים לא תומכת ב-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

חובה: הגרסה המשנית. מדובר בתיקונים של באגים קטנים.