Data Warehouse API v1

The Data Warehouse API allows you to retrieve data related to admin, bookings, guides, orders, scanned data, tasks , and visitors that are available in the warehouse (OLAP model). This API is mainly used for fetching data to use in a BI Tool.

Note

The Data Warehouse API does not contain real-time data. The fetched data is today -1, analog to the data available in QuickSight.

The scanned data is an exception to this, it is fetched every 15 minutes.

Terminologies

In the context of using the Data Warehouse API, here's a short description of what certain terminologies imply.

Venue

A venue is an organisation unit that registers on the Enviso Sales application for selling tickets through one or more sales channels (direct or indirect).

Organisation

An organisation is an overarching term that is used for bundling multiple venue units. In this case, multiple venue units are part of one organisation.

Order

An order is a collection of bought tickets.

Visitor

A visitor is the person who placed the order.

Guide

A guide is a person who is guiding visitors.

Skill

A skill assigned to a guide by the venue.

Task

A task mentions what a guide should do.

Scanned data

The data that is available after a venue has scanned the barcode of a bought ticket.

Principles

The Data Warehouse API is a REST API solution and attempts to conform to the RESTful design principles.

Note

Throughout the document, {version} stands for the first digit of the version in use.

Eg: If you are using version 1.0, {version} would mean v1

Important to know:

  • All connections must be made over HTTPS, not HTTP.

  • All the query parameters are to be passed in lower case.

  • All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > Locale).

    • yyyy-MM-ddTHH:mm:ss (Eg.: 1994-11-05T13:15:30)

Response status codes

The following HTTP status codes are used within the Data Warehouse API.

Code

Description

200

OK

The request was successful, resulting in everything working as expected.

201

Created

The request was successful, resulting in the creation of a new resource.

202

Accepted

The request has been accepted for processing, but processing has not been completed.

204

No Content

The request was successfully processed, and is not returning any content.

400

Bad Request

The server was unable to understand the request. The request is most likely malformed or a mandatory parameter is missing.

Note

It is recommended to make modifications in the current request and repeat the request.

401

Unauthorised

The request has not been processed because it lacks valid authentication credentials for the target resource.

If the request included valid authentication credentials, then the 401 response indicates that authorisation has been refused for the target resource.

403

Forbidden

The server understood the request but refuses to authorize it.

This probably means you did not pass the API Key (x-api-key) in your request headers.

404

Not Found

The requested resource does not exist.

The resource may be available in the future. Subsequent requests by the client are permissible.

422

Unprocessable Entity

The server understands the content type of the request entity, but was unable to process the contained instructions.

For example, this error condition may occur if validation rules to process the entity failed.

429

Too Many Requests

The server received too many request in a given amount of time.

500

Internal Server Error

The server encountered an unexpected error, which prevented it from fulfilling the request.

502

Bad Gateway

The server, while acting as a gateway or proxy, received an invalid response from the upstream server.

503

Service Unavailable

The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.

Request headers

  • The request and response data is sent as JSON.

    content-type: application/json
  • The API Key is required to be passed in the HTTP Request Headers.

    x-api-key: your_api_key
  • The Tenant Key can optionally be passed in the HTTP Request Headers.

    x-tenantsecretkey: your_tenant_key
  • The Authorization header is required for all endpoints.

    authorization: Bearer SPACE your_jwt_token

Error codes

Code

Message

1001

The provided <field_name> is invalid.

1002

No fromDate and toDate found inside the query parameters.

1003

The provided toDate cannot be before the fromDate.

1004

The provided date range should be more than 1 day.

1005

The provided date range should not exceed 1 month.

Authentication

Contact Vintia support to obtain the Tenant key, API key and API secret key, which you need to start communicating to the API.

Once you have the needed information, you need to authenticate first before you'll be able to call the Data Warehouse API.

For this, you'll need to use the Authentication API.

Going live

When going from the staging environment to the production environment:

  • Use the production environment API key and API secret key of the Authentication API.

  • Use the production environment API Key and Tenant key of the Data Warehouse API.

    Note

    Contact Vintia support to get your production environment keys of the Authentication API and Data Warehouse API.

  • Change the base URL from the staging environment to the production environment.

    • Production environment: https://api.enviso.io/datawarehouseapi

    • Staging environment: https://api.staging-enviso.io/datawarehouseapi

Admin

Get batch run status

Query parameter

Name

Type

Required

Description

modulename

string

true

The module name to get batch run status for.

Eg: modulename=bookings

Responses

Success response code: 200 OK

Request
var client = new RestClient("https://api.staging-enviso.io/datawarehouseapi/v1/admin/batchrun");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "text/plain");
request.AddHeader("x-tenantsecretkey", "string");
request.AddHeader("origin", "string");
request.AddHeader("x-api-key", "API_KEY");
IRestResponse response = client.Execute(request);
Request
HttpResponse<String> response = Unirest.get("https://api.staging-enviso.io/datawarehouseapi/v1/admin/batchrun")
  .header("Accept", "text/plain")
  .header("x-tenantsecretkey", "string")
  .header("origin", "string")
  .header("x-api-key", "API_KEY")
  .asString();
Request
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/admin/batchrun");
xhr.setRequestHeader("Accept", "text/plain");
xhr.setRequestHeader("x-tenantsecretkey", "string");
xhr.setRequestHeader("origin", "string");
xhr.setRequestHeader("x-api-key", "API_KEY");

xhr.send(data);
Request
import http.client

conn = http.client.HTTPSConnection("https://api.staging-enviso.io/datawarehouseapi")

headers = {
    'Accept': "text/plain",
    'x-tenantsecretkey': "string",
    'origin': "string",
    'x-api-key': "API_KEY"
    }

conn.request("GET", "/v1/admin/batchrun", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Response
{
    "batchRunStatus": "string",
    "batchId": "number",
    "batchRunId": "guid"
}
json
{
  "errors": [{
	"message": "string",
	"code": "number"
  }]
}

Bookings

List bookings

Query parameters

Name

Type

Required

Description

fromdate

date-time

true

Filter booking date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: fromdate=2020-09-01T00:00:00

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

todate

date-time

true

Filter booking date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: todate=2020-09-30T23:59:59

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

ordernumber

string

true

Filter order number.

Format: <unique code>

Eg: ordernumber=X12-WR4GCOMNKA

Note

The date range should be a minimum of 1 day and a maximum of 1 month.

Responses

Success response code: 200 OK

Possible error codes

Code

Message

1001

The provided <field_name> is invalid.

Eg: In the case of incorrect date formats.

1002

No fromDate & toDate found inside the query parameters.

Eg: In the case, you forgot to add the mandatory date filter to the request.

1003

The provided toDate cannot be before the fromDate.

1004

The provided date range should be more than 1 day.

1005

The provided date range should not exceed 1 month.

Request
var client = new RestClient("https://api.staging-enviso.io/datawarehouseapi/v1/bookings");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "text/plain");
request.AddHeader("x-tenantsecretkey", "string");
request.AddHeader("origin", "string");
request.AddHeader("x-api-key", "API_KEY");
IRestResponse response = client.Execute(request);
Request
HttpResponse<String> response = Unirest.get("https://api.staging-enviso.io/datawarehouseapi/v1/bookings")
  .header("Accept", "text/plain")
  .header("x-tenantsecretkey", "string")
  .header("origin", "string")
  .header("x-api-key", "API_KEY")
  .asString();
Request
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/bookings");
xhr.setRequestHeader("Accept", "text/plain");
xhr.setRequestHeader("x-tenantsecretkey", "string");
xhr.setRequestHeader("origin", "string");
xhr.setRequestHeader("x-api-key", "API_KEY");

xhr.send(data);
Request
import http.client

conn = http.client.HTTPSConnection("https://api.staging-enviso.io/datawarehouseapi")

headers = {
    'Accept': "text/plain",
    'x-tenantsecretkey': "string",
    'origin': "string",
    'x-api-key': "API_KEY"
    }

conn.request("GET", "/v1/bookings", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Response
[
  {
    "bookingId": "number",
    "bookingStatus": "string",
    "bookingDate": "date",
    "updatedOn": "date",
    "eventId": "number",
    "orderId": "number",
    "orderNumber": "string",
    "bookingLineId": "number",
    "orderLineId": "number",
    "offerId": "number",
    "bookingLineStatus": "string",
    "numberOfVisitors": "number",
    "guideLanguage": "string",
    "visitStart": "date",
    "visitEnd": "date"
  }
]
json
{
    "errors": [{
        "message": "string",
        "code": "number"
    }]
}

Guides

List guides

GET /datawarehouseapi/v1/guides?fromdate={fromdate}&todate={todate}

List the guides available inside the warehouse, limited to the creation period.

Query parameters

Name

Type

Required

Description

fromdate

date-time

true

Filter guide creation from date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: fromdate=2020-09-01T00:00:00

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

todate

date-time

true

Filter guide creation to date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: todate=2020-09-30T23:59:59

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

Note

The date range should be a minimum of 1 day and a maximum of 1 month.

Responses

Success response code: 200 OK

Possible error codes

Code

Message

1001

The provided <field_name> is invalid.

Eg: In the case of incorrect date formats.

1002

No fromDate & toDate found inside the query parameters.

Eg: In the case you forgot to add the mandatory date filter to the request.

1003

The provided toDate cannot be before the fromDate.

1004

The provided date range should be more than 1 day.

1005

The provided date range should not exceed 1 month.

Request
var client = new RestClient("https://api.staging-enviso.io/datawarehouseapi/v1/guides");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "text/plain");
request.AddHeader("x-tenantsecretkey", "string");
request.AddHeader("origin", "string");
request.AddHeader("x-api-key", "API_KEY");
IRestResponse response = client.Execute(request);
Request
HttpResponse<String> response = Unirest.get("https://api.staging-enviso.io/datawarehouseapi/v1/guides")
  .header("Accept", "text/plain")
  .header("x-tenantsecretkey", "string")
  .header("origin", "string")
  .header("x-api-key", "API_KEY")
  .asString();
Request
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/guides");
xhr.setRequestHeader("Accept", "text/plain");
xhr.setRequestHeader("x-tenantsecretkey", "string");
xhr.setRequestHeader("origin", "string");
xhr.setRequestHeader("x-api-key", "API_KEY");

xhr.send(data);
Request
import http.client

conn = http.client.HTTPSConnection("https://api.staging-enviso.io/datawarehouseapi")

headers = {
    'Accept': "text/plain",
    'x-tenantsecretkey': "string",
    'origin': "string",
    'x-api-key': "API_KEY"
    }

conn.request("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/guides", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Response
[
  {
	"id": "number",
	"firstName": "string",
	"lastName": "string",
	"name": "string",
	"associations": "string",
	"email": "string",
	"phone": "string",
	"bankAccountNumber": "string",
	"invoiceName": "string",
	"invoiceAddress": "string",
    "invoiceZip": "string",
    "invoiceCity": "string",
    "invoiceCountry": "string",
	"vatNumber": "string",
	"liable": "boolean",
	"statute": "string",
    "otherStatute": "string",
    "officeName": "string",
    "officeEmail": "string",
    "creationDate": "date",
    "emailLanguage": "string"
  }
]
{
  "errors": [{
	"message": "string",
	"code": "number"
  }]
}

Get guide by ID

URL parameter

Name

Type

Required

Description

guideid

number

true

Unique identifier of the guide.

Format: 1234

Eg: guideid=135

Response

Success response code: 200 OK

Request
var client = new RestClient("https://api.staging-enviso.io/datawarehouseapi/v1/guides/0");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "text/plain");
request.AddHeader("x-tenantsecretkey", "string");
request.AddHeader("origin", "string");
request.AddHeader("x-api-key", "API_KEY");
IRestResponse response = client.Execute(request);
Request
HttpResponse<String> response = Unirest.get("https://api.staging-enviso.io/datawarehouseapi/v1/guides/0")
  .header("Accept", "text/plain")
  .header("x-tenantsecretkey", "string")
  .header("origin", "string")
  .asString();
Request
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/guides/0");
xhr.setRequestHeader("Accept", "text/plain");
xhr.setRequestHeader("x-tenantsecretkey", "string");
xhr.setRequestHeader("origin", "string");
xhr.setRequestHeader("x-api-key", "API_KEY");

xhr.send(data);
Request
import http.client

conn = http.client.HTTPSConnection("https://api.staging-enviso.io/datawarehouseapi")

headers = {
    'Accept': "text/plain",
    'x-tenantsecretkey': "string",
    'origin': "string",
    'x-api-key': "API_KEY"
    }

conn.request("GET", "/v1/guides/0", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Response
{
  "id": "number",
  "firstName": "string",
  "lastName": "string",
  "name": "string",
  "associations": "string",
  "email": "string",
  "phone": "string",
  "bankAccountNumber": "string",
  "invoiceName": "string",
  "invoiceAddress": "string",
  "invoiceZip": "string",
  "invoiceCity": "string",
  "invoiceCountry": "string",
  "vatNumber": "string",
  "liable": "boolean",
  "statute": "string",
  "otherStatute": "string",
  "officeName": "string",
  "officeEmail": "string",
  "creationDate": "date",
  "emailLanguage": "string"
}
json
{
  "errors": [{
	"message": "string",
	"code": "number"
  }]
}

List guide availabilities

Query parameters

Name

Type

Required

Description

fromdate

date-time

true

Filter available from date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: fromdate=2020-09-01T00:00:00

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

todate

date-time

true

Filter available to date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: todate=2020-09-30T23:59:59

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

Note

The date range should be a minimum of 1 day and a maximum of 1 month.

Responses

Success response code: 200 OK

Possible error codes

Code

Message

1001

The provided <field_name> is invalid.

Eg: In the case of incorrect date formats.

1002

No fromDate & toDate found inside the query parameters.

Eg: In the case you forgot to add the mandatory date filter to the request.

1003

The provided toDate cannot be before the fromDate.

1004

The provided date range should be more than 1 day.

1005

The provided date range should not exceed 1 month.

Request
var client = new RestClient("https://api.staging-enviso.io/datawarehouseapi/v1/guides/availabilities");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "text/plain");
request.AddHeader("x-tenantsecretkey", "string");
request.AddHeader("origin", "string");
request.AddHeader("x-api-key", "API_KEY");
IRestResponse response = client.Execute(request);
Request
HttpResponse<String> response = Unirest.get("https://api.staging-enviso.io/datawarehouseapi/v1/guides/availabilities")
  .header("Accept", "text/plain")
  .header("x-tenantsecretkey", "string")
  .header("origin", "string")
  .header("x-api-key", "API_KEY")
  .asString();
Request
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/guides/availabilities");
xhr.setRequestHeader("Accept", "text/plain");
xhr.setRequestHeader("x-tenantsecretkey", "string");
xhr.setRequestHeader("origin", "string");
xhr.setRequestHeader("x-api-key", "API_KEY");

xhr.send(data);
Request
import http.client

conn = http.client.HTTPSConnection("https://api.staging-enviso.io/datawarehouseapi")

headers = {
    'Accept': "text/plain",
    'x-tenantsecretkey': "string",
    'origin': "string",
    'x-api-key': "API_KEY"
    }

conn.request("GET", "/v1/guides/availabilities", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Response
[
  {
    "id": "string",
    "guideId": "number",
    "from": "date",
    "till": "date"
  }
]
{
    "errors": [{
        "message": "string",
        "code": "number"
    }]
}

Get guide availabilities

URL parameter

Name

Type

Required

Description

guideid

number

true

Filter guide identifier.

Format: 1234

Eg: guideid=135

Query parameter

Name

Type

Required

Description

fromdate

datetime

false

Filter available from date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: fromdate=2022-09-01T00:00:00

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

todate

datetime

false

Filter available from date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: todate=2022-09-30T23:59:59

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

Note

The date range should be a minimum of 1 day and a maximum of 1 month.

Responses

Success response code: 200 OK

Possible error codes

Code

Message

1001

The provided <field_name> is invalid.

Eg: In the case of incorrect date formats.

1002

No fromDate & toDate found inside the query parameters.

Eg: In the case, you forgot to add the mandatory date filter to the request.

1003

The provided toDate cannot be before the fromDate.

1004

The provided date range should be more than 1 day.

1005

The provided date range should not exceed 1 month.

Request
var client = new RestClient("https://api.staging-enviso.io/datawarehouseapi/v1/guides/0/availabilities");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "text/plain");
request.AddHeader("x-tenantsecretkey", "string");
request.AddHeader("origin", "string");
request.AddHeader("x-api-key", "API_KEY");
IRestResponse response = client.Execute(request);
Request
HttpResponse<String> response = Unirest.get("https://api.staging-enviso.io/datawarehouseapi/v1/guides/0/availabilities")
  .header("Accept", "text/plain")
  .header("x-tenantsecretkey", "string")
  .header("origin", "string")
  .header("x-api-key", "API_KEY")
  .asString();
Request
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/guides/0/availabilities");
xhr.setRequestHeader("Accept", "text/plain");
xhr.setRequestHeader("x-tenantsecretkey", "string");
xhr.setRequestHeader("origin", "string");
xhr.setRequestHeader("x-api-key", "API_KEY");

xhr.send(data);
Request
import http.client

conn = http.client.HTTPSConnection("https://api.staging-enviso.io/datawarehouseapi")

headers = {
    'Accept': "text/plain",
    'x-tenantsecretkey': "string",
    'origin': "string",
    'x-api-key': "API_KEY"
    }

conn.request("GET", "/v1/guides/0/availabilities", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Response
[
  {
	"id": "string",
	"guideId": "number",
	"from": "date",
	"till": "date"
  }
]
json
{
  "errors": [{
	"message": "string",
	"code": "number"
  }]
}

Get guide skills

URL parameter

Name

Type

Required

Description

guideid

number

true

Filter guide identifier.

Format: 1234

Eg: guideid=135

Responses

Success response code: 200 OK

Request
var client = new RestClient("https://api.staging-enviso.io/datawarehouseapi/v1/guides/0/skills");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "text/plain");
request.AddHeader("x-tenantsecretkey", "string");
request.AddHeader("origin", "string");
request.AddHeader("x-api-key", "API_KEY");
IRestResponse response = client.Execute(request);
Request
HttpResponse<String> response = Unirest.get("https://api.staging-enviso.io/datawarehouseapi/v1/guides/0/skills")
  .header("Accept", "text/plain")
  .header("x-tenantsecretkey", "string")
  .header("origin", "string")
  .header("x-api-key", "API_KEY")
  .asString();
Request
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/guides/0/skills");
xhr.setRequestHeader("Accept", "text/plain");
xhr.setRequestHeader("x-tenantsecretkey", "string");
xhr.setRequestHeader("origin", "string");
xhr.setRequestHeader("x-api-key", "API_KEY");

xhr.send(data);
Request
import http.client

conn = http.client.HTTPSConnection("https://api.staging-enviso.io/datawarehouseapi")

headers = {
    'Accept': "text/plain",
    'x-tenantsecretkey': "string",
    'origin': "string",
    'x-api-key': "API_KEY"
    }

conn.request("GET", "/v1/guides/0/skills", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Response
[
    {
        "guideId": "number",
        "skillId": "number",
        "skillName": "string",
        "skillCategoryId": "number",
        "skillCategoryName": "string",
        "tenantId": 2200
    }
]
json
{
  "errors": [{
    "message": "string",
	"code": "number"
  }]
}

Orders

List orders

Query parameters

Name

Type

Required

Description

fromdate

date-time

true

Filter order modified date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: fromdate=2020-09-01T00:00:00

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

todate

date-time

true

Filter order modified date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: todate=2020-09-30T23:59:59

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

Note

The date range should be a minimum of 1 day and a maximum of 1 month.

Responses

Success response code: 200 OK

Possible error codes

Code

Message

1001

The provided <field_name> is invalid.

Eg: In the case of incorrect date formats.

1002

No fromDate & toDate found inside the query parameters.

Eg: In the case you forgot to add the mandatory date filter to the request.

1003

The provided toDate cannot be before the fromDate.

1004

The provided date range should be more than 1 day.

1005

The provided date range should not exceed 1 month.

Request
var client = new RestClient("https://api.staging-enviso.io/datawarehouseapi/v1/orders");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "text/plain");
request.AddHeader("x-tenantsecretkey", "string");
request.AddHeader("origin", "string");
request.AddHeader("x-api-key", "API_KEY");
IRestResponse response = client.Execute(request);
Request
HttpResponse<String> response = Unirest.get("https://api.staging-enviso.io/datawarehouseapi/v1/orders")
  .header("Accept", "text/plain")
  .header("x-tenantsecretkey", "string")
  .header("origin", "string")
  .header("x-api-key", "API_KEY")
  .asString();
Request
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/orders");
xhr.setRequestHeader("Accept", "text/plain");
xhr.setRequestHeader("x-tenantsecretkey", "string");
xhr.setRequestHeader("origin", "string");
xhr.setRequestHeader("x-api-key", "API_KEY");

xhr.send(data);
Request
import http.client

conn = http.client.HTTPSConnection("https://api.staging-enviso.io/datawarehouseapi")

headers = {
    'Accept': "text/plain",
    'x-tenantsecretkey': "string",
    'origin': "string",
    'x-api-key': "API_KEY"
    }

conn.request("GET", "/v1/orders", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
[
  {
	"orderId": "number",
	"orderItemId": "number",
	"orderNumber": "string",
	"externalReferenceId": "string",
	"salesChannel": "string",
	"salesPoint": "string",
	"offerId": "number",
	"offerName": "string",
	"offerType": "string",
	"ticketId": "number",
	"ticketName": "string",
	"visitDate": "date",
	"visitDay": "string",
	"visitStartTime": "time",
	"visitEndTime": "time",
	"status": "number",
	"quantity": "number",
	"amount": "decimal",
	"totalAmount": "decimal",
	"paymentMethod": "string",
	"paymentReferenceId": "string",
	"discountCodes": "string",
	"totalDiscountAmount": "decimal",
	"serviceFee": "decimal",
	"isoCurrencySymbol": "string",
	"creationDate": "date",
	"modifiedDate": "date"
  }
]
{
    "errors": [{
        "message": "string",
        "code": "number"
    }]
}

Scanned data

List scanned data

Query parameters

Name

Type

Required

Description

fromdate

datetime

true

(if limited by period)

Filter task start date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: fromdate=2022-09-01T00:00:00

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

todate

datetime

true

(if limited by period)

Filter task start date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: todate=2022-09-30T23:59:59

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

barcode

string

true

(if limited by barcode)

Filter barcode.

Format: <existing barcode>

Eg: barcode=EOHB2P9L20833Q56

Note

The date range should be a minimum of 1 day and a maximum of 1 month.

Responses

Success response code: 200 OK

Possible error codes

Code

Message

1001

The provided <field_name> is invalid.

Eg: In the case of incorrect date formats.

1002

No fromDate & toDate found inside the query parameters.

Eg: In the case, you forgot to add the mandatory date filter to the request.

1003

The provided toDate cannot be before the fromDate.

1004

The provided date range should be more than 1 day.

1005

The provided date range should not exceed 1 month.

Request
var client = new RestClient("https://api.staging-enviso.io/datawarehouseapi/v1/scanned");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "text/plain");
request.AddHeader("x-tenantsecretkey", "string");
request.AddHeader("origin", "string");
IRestResponse response = client.Execute(request);
Request
HttpResponse<String> response = Unirest.get("https://api.staging-enviso.io/datawarehouseapi/v1/scanned")
  .header("Accept", "text/plain")
  .header("x-tenantsecretkey", "string")
  .header("origin", "string")
  .header("x-api-key", "API_KEY")
  .asString();
Request
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/scanned");
xhr.setRequestHeader("Accept", "text/plain");
xhr.setRequestHeader("x-tenantsecretkey", "string");
xhr.setRequestHeader("origin", "string");
xhr.setRequestHeader("x-api-key", "API_KEY");

xhr.send(data);
Request
import http.client

conn = http.client.HTTPSConnection("https://api.staging-enviso.io/datawarehouseapi")

headers = {
    'Accept': "text/plain",
    'x-tenantsecretkey': "string",
    'origin': "string",
    'x-api-key': "API_KEY"
    }

conn.request("GET", "/v1/scanned", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Response
[
  {
    "barcode": "string",
    "scannedDate": "date",
    "ticketName": "string",
    "ticketId": "number",
    "tenantId": "number"
  }
]
json
{
  "errors": [{
    "message": "string",
	"code": "number"
  }]
}

Tasks

List tasks

Query parameters

Name

Type

Required

Description

fromdate

date-time

true

Filter task start date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: fromdate=2020-09-01T00:00:00

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

todate

date-time

true

Filter task to date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: todate=2020-09-30T23:59:59

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

ordernumber

string

true

Filter order number.

Format: <unique code>

Eg: ordernumber=X12-WR4GCOMNKA

Note

The date range should be a minimum of 1 day and a maximum of 1 month.

Responses

Success response code: 200 OK

Possible error codes

Code

Message

1001

The provided <field_name> is invalid.

Eg: In the case of incorrect date formats.

1002

No fromDate & toDate found inside the query parameters.

Eg: In the case, you forgot to add the mandatory date filter to the request.

1003

The provided toDate cannot be before the fromDate.

1004

The provided date range should be more than 1 day.

1005

The provided date range should not exceed 1 month.

Request
var client = new RestClient("https://api.staging-enviso.io/datawarehouseapi/v1/tasks");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "text/plain");
request.AddHeader("x-tenantsecretkey", "string");
request.AddHeader("origin", "string");
request.AddHeader("x-api-key", "API_KEY");
IRestResponse response = client.Execute(request);
Request
HttpResponse<String> response = Unirest.get("https://api.staging-enviso.io/datawarehouseapi/v1/tasks")
  .header("Accept", "text/plain")
  .header("x-tenantsecretkey", "string")
  .header("origin", "string")
  .header("x-api-key", "API_KEY")
  .asString();
Request
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/tasks");
xhr.setRequestHeader("Accept", "text/plain");
xhr.setRequestHeader("x-tenantsecretkey", "string");
xhr.setRequestHeader("origin", "string");
xhr.setRequestHeader("x-api-key", "API_KEY");

xhr.send(data);
Request
import http.client

conn = http.client.HTTPSConnection("https://api.staging-enviso.io/datawarehouseapi")

headers = {
    'Accept': "text/plain",
    'x-tenantsecretkey': "string",
    'origin': "string",
    'x-api-key': "API_KEY"
    }

conn.request("GET", "/v1/tasks", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Response
[
  {
	"id": "string",
	"title": "string",
	"description": "string",
	"location": "string",
	"start": "date",
	"end": "date",
	"status": "string",
	"visitorName": "string",
	"visitorCount": "number",
	"orderNumber": "string",
	"orderId": "number",
	"lastUpdatedDate": "date"
  }
]
{
    "errors": [{
        "message": "string",
        "code": "number"
    }]
}

Visitors

List visitors

Query parameters

Name

Type

Required

Description

fromdate

date-time

true

Filter order modified from date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: fromdate=2020-09-01T00:00:00

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

todate

date-time

true

Filter order modified to date.

Format: yyyy-MM-ddTHH:mm:ss

Eg: todate=2020-09-30T23:59:59

Note

All date and time data in the API request/response are passed in the venue's time zone. This can be configured from the Enviso Admin app (Settings > General).

ordernumber

string

true

Filter order number.

Format: <unique code>

Eg: ordernumber=X12-WR4GCOMNKA

Note

The date range should be a minimum of 1 day and a maximum of 1 month.

Responses

Success response code: 200 OK

Possible error codes

Code

Message

1001

The provided <field_name> is invalid.

Eg: In the case of incorrect date formats.

1002

No fromDate & toDate found inside the query parameters.

Eg: In the case you forgot to add the mandatory date filter to the request.

1003

The provided toDate cannot be before the fromDate.

1004

The provided date range should be more than 1 day.

1005

The provided date range should not exceed 1 month.

Request
var client = new RestClient("https://api.staging-enviso.io/datawarehouseapi/v1/visitors");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "text/plain");
request.AddHeader("x-tenantsecretkey", "string");
request.AddHeader("origin", "string");
request.AddHeader("x-api-key", "API_KEY");
IRestResponse response = client.Execute(request);
Request
HttpResponse<String> response = Unirest.get("https://api.staging-enviso.io/datawarehouseapi/v1/visitors")
  .header("Accept", "text/plain")
  .header("x-tenantsecretkey", "string")
  .header("origin", "string")
  .header("x-api-key", "API_KEY")
  .asString();
Request
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.staging-enviso.io/datawarehouseapi/v1/visitors");
xhr.setRequestHeader("Accept", "text/plain");
xhr.setRequestHeader("x-tenantsecretkey", "string");
xhr.setRequestHeader("origin", "string");
xhr.setRequestHeader("x-api-key", "API_KEY");

xhr.send(data);
Request
import http.client

conn = http.client.HTTPSConnection("https://api.staging-enviso.io/datawarehouseapi")

headers = {
    'Accept': "text/plain",
    'x-tenantsecretkey': "string",
    'origin': "string",
    'x-api-key': "API_KEY"
    }

conn.request("GET", "https://api.staging-enviso.io/bookingapi/v1/visitors", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Response
[
  {
	"id": "number",
	"firstName": "string",
	"lastName": "string",
	"email": "string",
    "phone": "string",
    "gender": "number",
	"groupName": "string",
	"schoolName": "string",
	"ageRange": "string",
	"dateOfBirth": "date",
	"poNumber": "string",
    "streetName": "string",
    "houseNumber": "string",
    "postalCode": "string",
    "city": "string",
	"country": "string",
	"language": "string",
	"orderId": "number",
	"orderNumber": "string",
	"vatNumber": "string",
	"financeDivisionEmail": "string",
	"visitReason": "string",
	"remarks": "string",
	"orderCreationDate": "date",
	"orderModifiedDate": "date"
  }
]
{
    "errors": [{
        "message": "string",
        "code": "number"
    }]
}