Method: echo

전달된 clientMessage를 에코백합니다.

이 방법의 목적은 결제 통합업체와 Google 간의 기본 연결을 테스트하는 것입니다.

이 메서드는 보안 제약 조건이 제대로 적용되고 있는지 테스트하기 위해 유효하거나 잘못된 매개변수를 사용하여 1분마다 여러 번 호출할 수 있습니다. Google은 또한 통합업체의 방향과 Google의 방향에 따라 이 메서드를 임시로 호출합니다. Google에서는 이 호출을 10초에 1회 이상 호출하지 않으며 15분 동안 30회 이상 호출하지 않습니다.

보안 제약 조건 테스트의 예는 다음과 같습니다 (단, 이에 국한되지 않음).

  • 결제 통합업체의 엔드포인트가 취약한 암호화 스위트와 협상하지 않는지 테스트합니다.
  • 결제 통합업체의 엔드포인트가 TLS 1.2 이외의 다른 것에 대해 협상하지 않는지 테스트
  • 결제 통합업체의 엔드포인트가 HTTP를 지원하지 않는지 테스트합니다.
  • 결제 통합업체의 엔드포인트에서 알려진 PGP 서명 키를 하나 이상 요구하는지 테스트합니다.
  • 결제 통합업체의 엔드포인트가 만료되었거나 활성 상태인 알려진 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

필수: 응답에 에코할 메시지입니다.

응답 본문

echo 메서드의 응답 객체입니다.

성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.

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

지원 중단됨: 2자 또는 3자로 된 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

필수: 마이너 버전입니다. 사소한 버그 수정을 나타냅니다.