Method: echo

पास किए गए clientMessage को वापस इको करता है.

इस तरीके का मकसद, पेमेंट इंटिग्रेटर और Google के बीच बुनियादी कनेक्टिविटी की जांच करना है.

Google इस तरीके को हर मिनट में, मान्य या अमान्य पैरामीटर के साथ कई बार इस्तेमाल कर सकता है. इससे यह जांच की जा सकती है कि सुरक्षा से जुड़ी पाबंदियां ठीक से लागू हैं या नहीं. Google इस तरीके को ऐड-हॉक भी करता है. इसे इंटिग्रेटर के निर्देश और Google के निर्देश पर भी कहा जाता है. Google कभी भी, हर 10 सेकंड में एक बार से ज़्यादा तेज़ी से कॉल नहीं करेगा. साथ ही, 15 मिनट की विंडो में 30 से ज़्यादा बार कॉल नहीं करेगा.

सुरक्षा सीमा की जांच के उदाहरण यहां दिए गए हैं (इसमें और भी चीज़ें शामिल हो सकती हैं):

  • जांच करके यह पक्का करें कि पेमेंट इंटिग्रेटर का एंडपॉइंट, कमज़ोर साइफ़र सुइट के साथ नेगोशिएट नहीं करता.
  • जांच करके यह पक्का करें कि पेमेंट इंटिग्रेटर का एंडपॉइंट, TLS 1.2 के अलावा किसी और नेगोशिएट नहीं करता
  • जांच करके यह पक्का करें कि पेमेंट इंटिग्रेटर का एंडपॉइंट, एचटीटीपी के साथ काम नहीं करता.
  • जांच करें, ताकि यह पक्का किया जा सके कि पेमेंट इंटिग्रेटर के एंडपॉइंट पर, कम से कम एक ऐसी 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"
}

एचटीटीपी अनुरोध

POST https://www.integratorhost.example.com/v1/echo

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में इस तरह का डेटा शामिल होता है:

जेएसओएन के काेड में दिखाना
{
  "requestHeader": {
    object (RequestHeader)
  },
  "clientMessage": string
}
फ़ील्ड
requestHeader

object (RequestHeader)

ज़रूरी: सभी अनुरोधों के लिए सामान्य हेडर.

clientMessage

string

ज़रूरी: जवाब में इको होने वाला मैसेज.

जवाब का मुख्य भाग

इको तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

जेएसओएन के काेड में दिखाना
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "clientMessage": string,
  "serverMessage": string
}
फ़ील्ड
responseHeader

object (ResponseHeader)

ज़रूरी: सभी जवाबों के लिए सामान्य हेडर.

clientMessage

string

ज़रूरी: अनुरोध में मैसेज मिला.

serverMessage

string

ज़रूरी नहीं: सर्वर का मैसेज, clientMessage से अलग, इको हो रहा है.

RequestHeader

हेडर ऑब्जेक्ट, जो सर्वर को भेजे गए सभी अनुरोधों पर तय होता है.

जेएसओएन के काेड में दिखाना
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
फ़ील्ड
requestId

string

ज़रूरी है: इस अनुरोध का यूनीक आइडेंटिफ़ायर.

यह स्ट्रिंग ज़्यादा से ज़्यादा 100 वर्णों की होती है. साथ ही, इसमें सिर्फ़ "a-z", "A-Z", "0-9", -->, "-", और "_" वर्ण शामिल हैं.

requestTimestamp

string (int64 format)

ज़रूरी है: इस अनुरोध का टाइमस्टैंप, epoch के बाद के मिलीसेकंड के तौर पर दिखाया जाता है. रिसीवर को यह पुष्टि करनी चाहिए कि यह टाइमस्टैंप 'अभी' के ± 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 के क्लासिक वर्शन के स्ट्रक्चर का स्ट्रक्चर है. इस बात की गारंटी है कि एक ही नंबर वाले मुख्य वर्शन, सभी के साथ काम करेंगे. ध्यान दें कि मामूली और बदलाव, बिना किसी सूचना के बार-बार बदल सकते हैं. इंटिग्रेटर को एक ही मेजर वर्शन के सभी अनुरोधों के साथ काम करना चाहिए.

जेएसओएन के काेड में दिखाना
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
फ़ील्ड
major

integer

ज़रूरी: मेजर वर्शन. इसे अलग-अलग वर्शन के साथ कम्पैटबिलटी रिक्वेस्ट के लिए मार्क किया जाता है. इसकी कोई गारंटी नहीं है कि इसके साथ काम करने की सुविधा मिलेगी.

minor

integer

ज़रूरी: माइनर वर्शन. यह अहम गड़बड़ियां ठीक करता है.

revision

integer

ज़रूरी: माइनर वर्शन. यह छोटी गड़बड़ियों को ठीक करने के बारे में बताता है.