Introduction
What is Spektrix
Spektrix is an integrated ticketing, marketing and fundraising solution for arts, cultural and entertainment organisations, built around cloud-based, Software as a service (SaaS) technology. We enable our users to sell tickets, memberships and merchandise, accept donations, and build long-term relationships with their audiences and donors. We do this with an all-in-one approach combining software, insights and business services, a powerful network of partners offering consultancy, web services and software solutions, and a vibrant user community.
Terminology you will encounter in this documentation:
- Client refers to an organisation which uses Spektrix (e.g. a theatre / production company / venue). Each Client has its own Spektrix system, identified by a unique client name.
- User refers to a member of staff in a client organisation, such as a Sales Manager or Marketing Manager.
- Customer refers to the clients’ end users (e.g. ticket buyers).
- You / Web partner / Tech partner / Ticket Agent refers to the organisation or individual that is responsible for building the integration.
Resources
- Refer to our glossary for Spektrix specific terminology for the building blocks of the system
- Understand how we work with partners, and what to expect from us as you build an integration.
- If you are a web developer, understand areas of accountability for you, Spektrix and the client.
- Once you have completed your integration, add your profile to the Spektrix Partner Directory to connect with Spektrix clients and prospects
Highly configurable
Spektrix is designed to be a single product that is highly configurable by clients. Though the system can be powerful to clients straight out of the box, no two clients’ businesses are the same and different solutions are required for each.
What this means for you, is that identifying a client’s business priorities will be key to creating a successful integration with Spektrix. These business priorities – specifically pain points and desired outcomes – will depend on the client’s unique needs and determine the best way of configuring their system. These needs may be based on:
- The size of the organisation
- The type, number and frequency of events they put on
- The type and number of customers they welcome
- And many more factors that comprise the client’s business model. This is a non-exhaustive list.
This documentation covers:
- Technical how-to for web partners, tech partners and sector partners such as ticket agents building website integrations and partner products that integrate with Spektrix, using any of the integration tools.
- Best practice and use cases which can inform clients and partners on how to make the most out of Spektrix in order to fulfil business needs/priorities.
For web partners working on a client website
Spektrix hosts all the data that powers our clients’ ticketing, marketing and fundraising operation. We don’t host clients’ websites. Instead, we provide functionality which allows you to integrate Spektrix with the client’s website, which then allows customers to, among other things, access their online accounts, book tickets, make donations, purchase subscriptions (and more) without leaving the client’s website. Spektrix does all the heavy lifting to implement the complex logic of purchases, allowing you to focus on design and user experience.
In order to achieve the best possible integration between Spektrix and the client’s website, we offer open access to our integration tools to all clients and their partners.
Integration tools
Spektrix provides 3 tools that can be used to build the integrations for the two sections of the booking journey:
- A set of pre-built, unstyled web pages, designed to be styled and placed on the client's site as iframes
- A RESTful, JSON-based API
- A set of web components
- Spektrix Link, a pre-built purchase pathway provided and maintained by Spektrix
Web integrations do not require a binary decision on which tool to use. No one tool is better than the other – rather, they are each capable of different results and are designed to work in tandem with each other. By mixing and matching our integration tools, you can configure the online customer journey based upon the client’s priorities and business needs. Our tools offer solutions to our clients varying on their needs based on the:
- Resources of the organisation
- Web partners’ expertise
- Specific user journey requirements dependent on business priorities
Every step of the booking journey should be an opportunity for the client to evaluate priorities and decide where to invest their resources if they need customisation to fulfil their needs.
Booking journey
For the purposes of this documentation, we’re going to split the integration process into two themes.
- Displaying read-only information independent of current transaction or logged in customer, such as displaying the catalogue of Spektrix items the client is selling e.g. Events, including seat availability, Donations, Merchandise, Memberships.
- Displaying and writing back to the database information that dynamically changes depending on the current session and logged in customer, such as contents of a basket and the logged in customer's details.
How to use the Spektrix Integration tools and possible combinations
1. To display information independent of current transaction or logged in customer:
-
Styling our pre built web pages and embedding them as Iframes on your site
- The content of our iframes is standardised, but there are options to add some custom messaging.
- The sequence of iframes is standardised, with specific options on entering and leaving the iframe journey.
- We provide iframes with no styling, so that you can add CSS and style them according to the look and feel of the rest of the website for a seamless online experience.
- Most clients are likely to use the Choose Seats iframe for the seat selection, as this part of the booking journey is complicated to rebuild.
- You should select to use iframes for parts of the customer journey where an investment in a custom approach is not proportionate to the client’s needs.
-
API server side calls, populating your own CMS with data
- You can use the API to retrieve information on Events, Instances, Pricelists, Funds and then use that to power customised pages you’ve designed, such as event calendars.
- The API is available for website integrations in two modes:
- Web mode exposes public information, reflecting the information available via the iframes. Most website integrations only require Web mode.
- System Owner mode requires authentication and enables full access to the entire system, including objects not available via the Iframes. Most website integrations do not require authenticated calls.
- Generally, only GET calls need be made in server side API integrations.
- The API can also be used to integrate with the CMS of your choice. This allows the client to keep Spektrix as the source of truth and reduce double entry of data in both Spektrix and CMS.
- New integrations should use the current version of our API v3. API v1 and API v2 are our legacy APIs and we no longer support these versions for new integrations.
2. To display and write back to the Spektrix database information that dynamically changes depending on the current session and logged in customer. Booking journeys built with a combination of the integration tools pass on session information via a Session ID.
-
Styling our pre built web pages and embedding them as Iframes on your site
- The content of iframes is standardised, but there are options to add some custom messaging.
- The sequence of iframes is standardised, with specific options on entering and leaving the iframe journey.
- We provide iframes with no styling, so that you can add CSS and style them according to the look and feel of the rest of the website for a seamless online experience.
- Most clients are likely to use iframes for Checkout, as payment processing is not currently available via any of the other Spektrix integration tools.
- Select to use iframes for parts of the customer journey where an investment to a custom approach is not proportionate to the client’s needs.
-
Using our Web / Public mode of the API v3 to make client side calls
- This approach offers more flexibility in design and more flexibility in user journeys.
- You can use the API to retrieve information on Basket, Customer and then use that to power customised pages you’ve designed, such as a custom basket. You can also send (POST) items to the basket and amend them once in the basket (PATCH, DELETE). You can edit Customer information (PATCH, DELETE).
- This section of the booking path uses Web mode, reflecting the information available via the iframes. This requires no authentication.
- A session cookie must be explicitly included in the calls to ensure the session is carried over between sending and retrieving information.
-
Web Components
- Custom components built off the Spektrix API v3 that can provide an enhanced customer experience:
- by providing clear information to customers about their login status and what’s in their basket at all times.
- for purchasing merchandise, gift vouchers, memberships and making donations.
- The component itself contains the functionality to dynamically display information. You unlock that functionality by placing your own markup within it. We provide the components to allow you to ship units of business logic to your client’s pages without having to write any Javascript (if you don't want to).
- Efficient to deploy, offering flexibility in design.
- Custom components built off the Spektrix API v3 that can provide an enhanced customer experience:
CMS
Spektrix does not provide a CMS solution. It is CMS agnostic and can be integrated with any CMS, as long as the CMS of your choice allows you to add script tags to the <head>
. We don’t offer plugins to integrate CMS with Spektrix, however we have various web partners who have developed their own tools and plugins.
Full list of API endpoints can be found here.
For tech partners building a partner product
The multi-tenancy of our platform means that each client has their own separate database on a shared deployment. Clients are always running the same single version of Spektrix and we maintain consistency in our API, so integrations are compatible with all of our clients.
There are two ways you can integrate with Spektrix:
- Our API is open to access for you to build an integration with your own product.
- The API is two-way, allowing you to retrieve and write back information.
- Available in:
- System owner mode which requires authentication and gives you complete access to the client's system. Most partner products, for example EPOS, ticket kiosks, streaming, require System owner mode, because they are updating customer records, processing orders etc.
- Web mode which gives you access to public information only. This may be used for example to build a listings aggregator site where all of the info is public.
- Note that processing card payments are not possible by the API, although you can mark transactions as being paid for with a Custom Payment.
- Full list of API endpoints is here.
- We provide various different ways to format data held in client databases, in both human and machine-readable formats. If you are looking to build a revenue management or customer analytics solution, this will likely be your point of entry. Please note we don’t have a reporting API.
For ticket agents
The Agency API feed allows ticket agents to gain live access to sell for or on behalf of a client. This allows a flexible working relationship by allowing agents access to live inventory in real time, all selling from the live plan alongside customers online and client users.
We have a list of agent API endpoints and a sample approach for ticket agents to integrate with Spektrix.
Support
As you're building your integration with Spektrix, get in touch with our support team who can provide consultancy and troubleshooting. There is no fee for this for any partner working with a client or building a partner product.
You can reach us via
- email to support@spektrix.com
- phone at 0207 183 3586 (UK/IE) or 1-800-961-5971 (US/CA)
Please ensure you include:
- The type of integration you are building (web, partner product, ticket agent).
- The name of the client you are working with, if applicable.
- Any deadlines we should be aware of.
For those exploring integrations as an Agent or building a partner product, you can request your access to the Spektrix Sandbox (SDK) Environment.