Visits

We have two variants of the Visits endpoint. Both have the same requirements in terms of making a request for data.

If you try to access a visits endpoint that your API Key or Access Token does not entitle you to access, you will receive a 403 - Forbidden response.



Making requests to the /visits endpoint

To make a valid request, you will need to supply ALL of the following parameters on the querystring of the endpoint URL:

Parameter name Data type Permitted values
HgemClientId Integer Must be a value greater than zero
FromDate ISO date Format is yyyy-mm-dd
ToDate ISO date Format is yyyy-mm-dd
Skip Integer Must be a value greater than or equal to zero
Take Integer Must be a value greater than zero

Optional parameters:

Parameter name Data type Permitted values
HgemBrandId Integer Must be a value greater than zero
VisitTypes Comma-separated list of 2-character strings See VisitTypes

Query parameter limits

Please review the Rate Limiting page for information on request rate limits that HGEM impose.
In addition, HGEM impose limits on the amount of data that can be returned on a single request for the visits endpoints.
These request parameter limits are:

Parameter name Limit
Take Maximum value = @Azure@ApiGateway:QuerySettings:MaxTakeSize@Azure@
FromDate Must not be today or in the future
ToDate Must not be today or in the future
FromDate & ToDate Maximum range of @Azure@ApiGateway:QuerySettings:VisitsForLastNoOfDays@Azure@ days
ToDate must be greater than or equal to FromDate
For a single day, set both FromDate and ToDate to the same value

Skip & Take paging

After your first successful request, you should do a comparison of the number of visits returned against the Take value you used.
If your response contained the same number of visits as the Take value you used, it is possible that there are more visits that could be returned.
In this case, you should make another call with the same parameters, except with an appropriate Skip, to check for any further results.



Example requests

Example cUrl:
curl -X GET https://results-api.hgem.com/visits/standard?hgemclientid=123456&fromdate=2019-05-01&todate=2019-05-08&skip=0&take=100
  -H "hgem-api-key: YOUR-API-KEY-GOES-HERE" 
  -H "Authorization: Bearer Some_really_long_base64_encoded_text_that_makes_up_your_JWT_access_token" 
Example Raw HTTP/1.1:

Below is an example request made by Postman

GET /visits/standard?hgemclientid=123456&skip=0&take=250&fromdate=2019-05-23&toDate=2019-05-30 HTTP/1.1
Host: results-api.hgem.com
hgem-api-key: YOUR-API-KEY-GOES-HERE
Authorization: Bearer Some_really_long_base64_encoded_text_that_makes_up_your_JWT_access_token
User-Agent: PostmanRuntime/7.13.0
Accept: */*
Cache-Control: no-cache
Postman-Token: e7fd3f29-dad4-4e82-8af8-dca71a93925e,2a369656-b09b-4212-9799-68f2fa4459af
accept-encoding: gzip, deflate
Connection: keep-alive
cache-control: no-cache


Possible API responses

HTTP Response Status Description
200 - OK Success - response body will contain your data
400 - Bad Request You have made a malformed request that cannot be processed (with the same parameters), even if you were to retry
401 - Unauthorized You have either failed to provide an API Key, an access token, or requested an endpoint you are not entitled to use
403 - Forbidden You have requested results data you are not entitle to access. Change your query
429 - Too Many Requests You have breached our API rate limits, try again later
500 - Internal Server Error The API request has resulted in an error which we have not been able to provide further information for.
503 - Service Unavilable The API is currently unavailable, try again later

See here for further information on HTTP response codes.



Successful Requests

When you make a successful request on the /visits endpoint, the response will be as per the example below:
Please review the Data Dictionary page for information on interpreting the data returned from your requests.



Bad Requests

When you make API calls that result in a response of 400 - Bad Request, you may also get a ProblemDetails response in the body.

An example response would be: