---
title: Website integration
slug: en/website-integration
createdAt: 2026-03-24T07:25:15.488Z
---

***

Integrating your website with ticketmatic is one of the major attention points when implementing ticketmatic.

# General steps to configure

## Step 1 - Add sales links to your site

### Option 1 - Manually copy/paste links from ticketmatic to your CMS

This option is only feasible when integrating a website with a limited number of events per year.

In the sales flow links section of an event in ticketmatic you can copy the links.

::Image[]{src="https://static.slab.com/prod/uploads/i27x5zoo/posts/images/9wCsPSAgiV0mxKBRtKf8fg0L.png?jwt=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJodHRwczovL3NsYWJzdGF0aWMuY29tIiwiZXhwIjoxNzc0MzQ0NDA5LCJpYXQiOjE3NzQzMzcyMDksImlzcyI6Imh0dHBzOi8vYXBwLnNsYWIuY29tIiwianRpIjoiMzJmcmNpa2EyNHY0OG82ZDFzMW81a2ExIiwibmJmIjoxNzc0MzM3MjA5LCJwYXRoIjoicHJvZC9hc3NldHMvaTI3eDV6b28vcG9zdC9rNWNza3ZlaSJ9.R0irFRu31WJfdy-WDF_2H9Gc1X3RsZTZFcNFqubTTPUbR_N1p8KCXWBcon9sbgFFKe-6-vKV8IpZ2aeLN67BDRqnxn72maVKugM0GiAb0vhyvHT13Hq4sBUzxu80mcjHaiMaD1jluIFbrji0zlihawCAnt2_0uOC1IKYRL_I3h1aGKBN2p6veoySM5OtzqDJ5dVpcpAj6vyRlVC7--uzit8M0WckdwQVGUQLirqOIxGdR-UlH0Dmd-Cs3Li6ktG_4pjrcq8LpuxosJFpiTGcVb2g2UOUUkoREDjsKDU1fSOfpFgo3lwdHpxwGDuPKQCCdVpk6lTfMOM-ymhLT9Nl2Q" size="76" width="486" height="26" darkWidth="486" darkHeight="26" position="center" showCaption="false"}

### Option 2 - Retrieve sales links via the API

ticketmatic provides you with a Sales flow base URL.

e.g. `https\://apps.ticketmatic.com/widgets/myaccount/flow/web?event=`

Then you use the API to lookup the events and its associated eventcode. The eventcode is passed as a parameter to the Sales flow base URL.

API call to retrieve all events and eventcodes: [https://ticketmatic.com/docs/api/events/getlist/](https://ticketmatic.com/docs/api/events/getlist/)

### Option 3 - Retrieve links via a GET request to retrieve a JSON object with basic event information for the chosen flow.

ticketmatic provides you with a protected JSON list URL.

:::BlockQuote
https\\://apps.ticketmatic.com/widgets/myaccount/ticketsalessetup/b8e40ad4-7321-4c1c-8bec-61b40f2e2536/flows/web/events?json=true
:::

A JSON object is returned in the structure as shown below.

:::BlockQuote
\\\{ "account": "myaccount", "ticketsalessetup": "b8e40ad4-7321-4c1c-8bec-61b40f2e2536", "flow": "web", "currenttime": "2020-07-29T14:06:48+02:00", "events": \\\[ \\\{ "id": 13354, "code": "175379651962", "startts": "2021-11-26 19:00:00", "endts": "2021-11-26 23:00:00", "name": "The virus is back", "subtitle": "The Covid tour", "locationname": "Corona Club", "webremark": null, "waitinglisttype": 29001, "createdts": "2020-02-26 16:53:50.254943", "lastupdatets": "2020-02-26 16:58:14.932963", "url": "https\\://apps.ticketmatic.com/widgets/myaccount/flow/web?event=175379651962", "languagespecificurls": \\\{ "en": "https\\://apps.ticketmatic.com/widgets/myaccount/flow/web?event=175379651962\\\&l=en" } } ] }
:::

## Step 2 - Display availabilities (last tickets/waiting list/soldout/cancelled)

### Option 1 - Manually modify buttons in your CMS

### Option 2 - Retrieve availabilities via the API

You use the API to retrieve the contingent availabilities / waiting list status.

API call to retrieve all events: **[https://apps.ticketmatic.com/docs/api/events/getlist/](https://apps.ticketmatic.com/docs/api/events/getlist/)**

With this call you retrieve per contingent the availabilities. Beware that an event can have more than one contingent. E.g. a seated event with three seat ranks will have three contingents for each rank!

| total         | Total number of tickets for the contingent                                                 |
| ------------- | ------------------------------------------------------------------------------------------ |
| free          | Number of tickets that is available for sale for the contingent                            |
| reserved      | Number of tickets in unconfirmed orders for the contingent                                 |
| locked\_hard  | Number of ‘hard’ locked tickets for the contingent                                         |
| locked\_soft  | Number of ‘soft’ locked tickets for the contingent                                         |
| sold\_paid    | Number of sold tickets in confirmed orders that are completely paid for the contingent     |
| sold\_unpaid  | Number of sold tickets in confirmed orders that are not completely paid for the contingent |
| complimentary | Number of complimentary tickets in confirmed orders for the contingent                     |

`soldout` and `cancelled` or `postponed` are event statuses for which it is adviced to manually update the display in the CMS. Optionally custom fields can be added for those statuses in the event configuration, so the status can be maintained in ticketmatic.&#x20;

An event is on the `waiting list` when the waiting list type is either `29002` or `29003`.

An event is not on the waiting list when the waiting list type is `29001`.

:::hint{type="info"}
Important: `waitinglisttype` is a global event property and does not reflect the waiting list status per sales channel.
:::

When a waiting list is activated only for specific sales channels (e.g. the box office), the event will still get `waitinglisttype = 29002` or `29003`. This means that checking waitinglisttype alone is **not sufficient** to determine whether the waiting list applies to your online sales channel.
To correctly determine the waiting list status for a specific sales channel, use the `saleschannels` array returned by the [Get a single event](https://apps.ticketmatic.com/docs/api/events/get) endpoint. Each entry contains a `haswaitinglist` boolean per sales channel:

```json
"saleschannels": [
  {
    "saleschannelid": 2,
    "haswaitinglist": false,
    "isactive": true
  }
]
```

Filter on your own `saleschannelid` and check `haswaitinglist`. Only show the waiting list status on your website if `haswaitinglist` is `true` for your online sales channel — regardless of the value of `waitinglisttype` on the event itself.

## Step 3 - integrate a shopping cart icon on your website

More information on how to implement a shopping cart icon can be found here: [Shopping cart icon](docId\:hUyaKsOKBbkOkAIucsDh9)&#x20;

# Integrate customer accounts

## Option 1 - Web sales flow without accounts and logins

This option is the most commonly used setup. Customers do not need to create an account and can quickly order tickets by using their email address. First order they make in the system they need to provide their details such as address, phone number and optins for mailings.

## Option 2 - Web sales flow with TM accounts and using TM login

When this option is chosen, all sales links need to be setup using a flow that has the withauthentication parameter set to yes.

When a buyer clicks on such a link and they are not logged in yet, they will be prompted to log in or sign up.



::Image[]{src="https://api.archbee.com/api/optimize/zGnEynQy6cgPdn1J1kZsn/JVwxr5u6_FpE11_i1YWtJ_website-integration-authentication.png" size="48" width="391" height="572" darkWidth="391" darkHeight="572" position="center" alt="screenshot of the login screen" showCaption="false"}

Main advantage of using this approach is that you can flag certain contacts with a relation type in the ticketmatic backoffice and based on this relation type these customers can be given special prices. E.g. gold member,...

## Option 3 - Web sales with own accounts and using own login

When this option the website is managing its own logins and creates/retrieves ticketmatic contacts in the backend.

You can either store the ticketmatic contactid in your own application or store your ID as a foreign key in the ticketmatic contact records using a ticketmatic custom field.

When storing ticketmatic contactids in your own application, the ticketmatic contact deduplication feature should not be used, as you may loose the correct link between your and our database.

Therefore we recommend storing your ID in ticketmatic as a foreign key.

With this option the ticket sales have to be setup using widgets. You need to pass a valid ticketmatic contactid to each widget. The ticket sales flows cannot be used in this case. Further information: [Widgets](docId\:kfFN3s3r0fwCcIXRah9TN)

This option has multiple benefits. You can maintain a 'my account' section on the website.

A non-exhaustive list of features you could develop:

- Allow contacts to update their contact details
- Provide links to download tickets
- Display a calendar with the events of the contact
- Maintain extra info for the contact (images,...)
- Targeted marketing.

***

Contact [support@ticketmatic.com](mailto\:support@ticketmatic.com) if you need extra information or assistance.
