RequestHeader

  • The RequestHeader object is included in all server requests and contains identifying information like request ID, timestamp, user locale (deprecated), and protocol version.

  • The requestId is a unique identifier for each request with a maximum length of 100 characters, using only alphanumeric characters, colon, hyphen, and underscore.

  • The requestTimestamp is crucial for request validation and should be within 60 seconds of the current time.

  • The protocolVersion follows a structured format (major.minor.revision) indicating the compatibility level of the request.

  • Integrators must handle requests with the same major version but should be aware that minor and revision changes might occur frequently.

Header object that is defined on all requests sent to the server.

JSON representation
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
Fields
requestId

string

REQUIRED: Unique identifier of this request.

This is a string that has a max length of 100 characters, and contains only the characters "a-z", "A-Z", "0-9", ":", "-", and "_".

requestTimestamp

string (int64 format)

REQUIRED: Timestamp of this request represented as milliseconds since epoch. The receiver should verify that this timestamp is ± 60s of 'now'. This request timestamp is not idempotent upon retries.

userLocale
(deprecated)

string

DEPRECATED: A two- or three-letter ISO 639-2 Alpha 3 language code optionally followed by a hyphen and an ISO 3166-1 Alpha-2 country code, e.g.'pt', 'pt-BR', 'fil', or 'fil-PH'. Use this to help drive the userMessage fields in the response.

protocolVersion

object (Version)

REQUIRED: The version of this request.

Version

Version object which is a structured form of the classic a.b.c version structure. Major versions of the same number are guaranteed to be compatible. Note that minor and revisions can change frequently and without notice. The integrator must support all requests for the same major version.

JSON representation
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
Fields
major

integer

REQUIRED: Major version. This is marked for compatibility requests with different versions are not guaranteed to be compatible.

minor

integer

REQUIRED: Minor version. This denotes significant bug fixes.

revision

integer

REQUIRED: Minor version. This denotes minor bug fixes.