Method: echo

Zwraca echa do przekazanej wartości clientMessage.

Ta metoda służy do testowania podstawowych połączeń między integratorem płatności a Google.

Ta metoda może być wywoływana przez Google wiele razy na minutę z prawidłowymi lub nieprawidłowymi parametrami w celu sprawdzenia, czy ograniczenia zabezpieczeń są odpowiednio przestrzegane. Google nazywa tę metodę doraźnie i z pomocą integratora. Google nigdy nie wywoła tej metody szybciej niż raz na 10 sekund i nigdy nie więcej niż 30 razy w ciągu 15 minut.

Przykłady testów ograniczeń zabezpieczeń:

  • Przeprowadź test, aby upewnić się, że punkt końcowy integratora płatności nie jest negocjowany na słabe zestawy szyfrów.
  • Przeprowadź test, aby upewnić się, że punkt końcowy integratora płatności nie negocjuje tylko z protokołem TLS 1.2
  • Przeprowadź test, aby sprawdzić, czy punkt końcowy integratora płatności nie obsługuje HTTP.
  • Przeprowadź test, aby upewnić się, że punkt końcowy integratora płatności określa co najmniej 1 znany klucz podpisywania PGP.
  • Przeprowadź test, aby upewnić się, że punkt końcowy integratora płatności obsługuje wiele podpisów kluczy PGP, zarówno znanych, jak i nieznanych, zarówno tych wygasłych, jak i aktywnych.
  • Przeprowadź test, aby upewnić się, że integrator płatności obsługuje tylko ścisłą analizę danych JSON.

Jeśli podczas przetwarzania żądania punkt końcowy napotka błąd, treść odpowiedzi z tego punktu końcowego powinna być typu ErrorResponse.

Przykładowe żądanie wygląda tak:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "ZWNobyB0cmFuc2FjdGlvbg",
    "requestTimestamp": "1481899949606"
  },
  "clientMessage": "client message"
}

Przykładowa odpowiedź wygląda tak:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "clientMessage": "client message",
  "serverMessage": "server message"
}

Żądanie HTTP

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

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "clientMessage": string
}
Pola
requestHeader

object (RequestHeader)

REQUIRED: wspólny nagłówek dla wszystkich żądań.

clientMessage

string

REQUIRED: wiadomość do wykonania w odpowiedzi.

Treść odpowiedzi

Obiekt odpowiedzi dla metody echa.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "clientMessage": string,
  "serverMessage": string
}
Pola
responseHeader

object (ResponseHeader)

REQUIRED: wspólny nagłówek wszystkich odpowiedzi.

clientMessage

string

REQUIRED: w żądaniu odebrano wiadomość.

serverMessage

string

OPCJONALNIE: komunikat serwera niezależnie od odczytywanego parametru clientMessage.

RequestHeader

Obiekt nagłówka zdefiniowany we wszystkich żądaniach wysyłanych do serwera.

Zapis JSON
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
Pola
requestId

string

REQUIRED: unikalny identyfikator tego żądania.

Jest to ciąg o maksymalnej długości 100 znaków, który zawiera tylko znaki „a–z”, „A–Z”, „0–9”, „:”, „-” i „_”.

requestTimestamp

string (int64 format)

REQUIRED: sygnatura czasowa tego żądania w milisekundach od początku epoki. Odbiorca powinien sprawdzić, czy ta sygnatura czasowa mieści się w zakresie ± 60 s „teraz”. Ta sygnatura czasowa żądania nie jest idempotentna przy ponownych próbach.

userLocale
(deprecated)

string

WYCOFANE: opcjonalnie dwu- lub trzyliterowy kod języka w formacie ISO 639-2 alfa 3, po którym następuje łącznik i kod kraju w formacie ISO 3166-1 Alpha-2, np. „pt”, „pt-BR”, „fil” lub „fil-PH”. Ułatwia to obsługę pól userMessage w odpowiedzi.

protocolVersion

object (Version)

REQUIRED: wersja żądania.

Wersja

Obiekt wersji będący ustrukturyzowaną formą klasycznej struktury wersji a.b.c. Główne wersje tego samego numeru zawsze będą zgodne. Pamiętaj, że drobne zmiany i zmiany mogą się zmieniać często i bez powiadomienia. Integrator musi obsługiwać wszystkie żądania tej samej wersji głównej.

Zapis JSON
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
Pola
major

integer

REQUIRED: wersja główna. Ten element jest oznaczony w przypadku żądań zgodności z różnymi wersjami Google Workspace.

minor

integer

REQUIRED: wersja podrzędna. To oznacza ważne poprawki błędów.

revision

integer

REQUIRED: wersja podrzędna. Oznaczają poprawki drobnych błędów.