מחזיר הד ל-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 |
חובה: הודעה שתזכיר את התשובה שלה. |
גוף התגובה
אובייקט תגובה לשיטת ההד.
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכלול נתונים במבנה הבא:
ייצוג 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 |
חובה: הגרסה המשנית. מדובר בתיקונים של באגים קטנים. |