### Define start function parameters
Source: https://go.confluence.secutix.com/wiki/spaces/DOCEN/pages/41617208
Structure the configuration object required by the widget library's start function, including mandatory hostname and apiKey fields.
```javascript
{ hostname: string that represent the hostname of the internet point of sales (mandatory) apikey: string that contains the apikey linked to the internet point of sales (mandatory) language: string representing the language in which the widgets should be displayed (optional, it takes the default institution language if not provided) widgets: a list of widget definitions }
```
--------------------------------
### Subscription Data Layers
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058859
Examples for adding, validating, and canceling subscriptions.
```json
event:"ee-addSubscription" ecommerce:Object add:Object user:Object contactNumber:"3010" products:Array[1] 0:Object id:"466508722" name:"Open Season Ticket" brand:"Season tickets" quantity:2 variant:"SALE"
```
```json
event:"ee-validateSubscription" ecommerce:Object currencyCode:"EUR" validate:Object user:Object contactNumber:"3010" products:Array[1] 0:Object id:"466508722" name:"Open Season Ticket" brand:"Season tickets" quantity:2 variant:"SALE" performance:Array[3] 0:Object id:"466498532" name:"Swan Lake" date:"15/04/2021 - 15:30" category:"Cat 1 / Subscriber - Adult" price:"14.00" quantity:1 brand:"Event" variant:"SALE" 1:Object id:"466498533" name:"La Travia" date:"16/04/2021 - 15:30" category:"Cat 1 / Subscriber - Adult" price:"14.00" quantity:1 brand:"Event" variant:"SALE" 2:Object id:"466498535" name:"Romeo&Juliet" date:"17/04/2021 - 15:30" category:"Cat 1 / Subscriber - Adult" price:"14.00" quantity:1 brand:"Event" variant:"SALE"
```
```json
event:"ee-cancelSubscription" ecommerce:Object currencyCode:"EUR" cancel:Object user:Object contactNumber:"3010" products:Array[1] 0:Object id:"466508722" name:"Open Season Ticket" brand:"Season tickets" quantity:2 variant:"SALE" performance:Array[3] 0:Object id:"466498532" name:"Swan Lake" date:"15/04/2021 - 15:30" category:"Cat 1 / Subscriber - Adult" price:"14.00" quantity:1 brand:"Event" variant:"SALE" 1:Object [...]
```
--------------------------------
### New DataLayer Structure Example
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058567/Enhanced%2Be-commerce%2Bdata%2Blayer%2Bfull%2Bdocumentation
Example of the enhanced e-commerce data layer object pushed to the Order Confirmation Page.
```javascript
'ecommerce': { 'purchase': { 'actionField': { 'id': '12345', // File ID 'affiliation': 'MOSA_TSHOP', // OrganizationCode_PoSCode 'revenue': '35.43', // Total order amount (incl.
```
--------------------------------
### Supplementary data example
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/66225618/New%2BSEPA%2Bversion
An example of the supplementary data schema provided by a bank.
```xml
SEPAISO20022 Bank for processing for CUBE
```
--------------------------------
### Widget.start(config)
Source: https://go.confluence.secutix.com/wiki/spaces/DOCEN/pages/41617208
Initializes the widget library by calling the start function with a configuration object containing global settings and a list of widget definitions.
```APIDOC
## Widget.start(config)
### Description
Initializes the widget library and renders widgets into specified HTML containers.
### Parameters
- **hostname** (string) - Required - The hostname of the internet point of sales.
- **apiKey** (string) - Required - The API key linked to the internet point of sales.
- **language** (string) - Optional - The language for widget display (defaults to institution language).
- **widgets** (array) - Required - A list of widget definition objects.
### Widget Definition Object
- **name** (string) - Required - The case-sensitive name of the widget.
- **container** (string) - Required - The ID of the HTML container element.
- **[specific parameters]** (any) - Optional - Additional parameters specific to the chosen widget.
```
--------------------------------
### Server response metadata
Source: https://go.confluence.secutix.com/wiki/spaces/DOCEN/pages/41626608
Example of the server response metadata returned by the system.
```json
{"serverDuration": 12, "requestCorrelationId": "cf645cee31ff4023993667d2fbdf0618"}
```
--------------------------------
### Product Click Data Layer
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058859/Improved%2BGoogle%2BAnalytics%2BData%2Blayer%2Bfor%2Bcalculated%2Bseason%2Bticket%2Bsales
Example of the ee-productClick event data structure including contactNumber and orderType.
```javascript
event:"ee-productClick" ecommerce:Object click:Object user:Object contactNumber:"3010" // add the contactNumber after user logged in, this can be empty due to guest hashedEmail:".." // only push when activate webTracking.userInfoTrackingType actionField:Object list:"Plan your visit" products:Array[1] 0:Object id:"101061827659" name:"West Hall - Guided visit" brand:"Visit pass" variant: "SALE" // add the orderType from the action productClick (exclude datalayers which already done) position:0
```
--------------------------------
### Event Metadata Configuration
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/49217623/CSV%2BInjection
Example of defining reserved keys for event metadata such as barcode positioning and resale URLs.
```json
[{"key": "BARCODE_POSITION", "value": "CENTER"},{"key": "CANCEL_RESALE_TICKETSHOP_URL", "value": "https://ticketshop.secutix.com/account/tickets?cancelResaleTicketId="}, {"key": "RESALE_TICKETSHOP_URL", "value": "https://ticketshop.secutix.com/account/resale/resellTickets?ticketIds="}]
```
--------------------------------
### Widget Library Source URLs
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43060683/One-click%2BPurchase%2BWidget%2BUnlock%2Byour%2Bfrictionless%2Bsales%2Bjourney%2Banywhere
Examples of how to construct the source URL for the widget library based on the ticket shop domain.
```text
https://mosa.demo-widgets.secutix.com/stx-widgets/v2/Widgets.js
```
```text
https://YOUR_INSTITUTION_CODE.widgets.secutix.com/stx-widgets/v2/Widgets.js
```
--------------------------------
### Configure Ticket Metadata Fields
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/49220341
Examples for defining main and extra ticket metadata using the index-based key-value format.
```text
ticketDetails.main.1.lang = 'en' ticketDetails.main.1.key = 'my key' ticketDetails.main.1.value = 'xyz'
```
```text
ticketDetails.extra.1.lang = 'en' ticketDetails.extra.1.key = 'my key' ticketDetails.extra.1.value = 'xyz'
```
--------------------------------
### GET /products
Source: https://go.confluence.secutix.com/wiki/spaces/DOCEN/pages/41616650
Retrieves a list of products available in a specific point of sales, demonstrating the use of pagination via the limit parameter.
```APIDOC
## GET /products
### Description
Retrieves a list of products available in a specific point of sales.
### Method
GET
### Endpoint
/products
### Parameters
#### Query Parameters
- **limit** (integer) - Optional - Specifies the maximum number of records to be returned.
### Response
#### Success Response (200)
- **success** (boolean) - Indicates whether the request was processed successfully.
- **data** (object) - A map structure containing the product records.
#### Response Example
{
"success": true,
"data": {
"123": {
"code": "product1",
"startDate": "2016-12-20T17:30Z"
}
}
}
```
--------------------------------
### Checkout Data Layer
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058859/Improved%2BGoogle%2BAnalytics%2BData%2Blayer%2Bfor%2Bcalculated%2Bseason%2Bticket%2Bsales
Example of the ee-checkout event including the new date field for dated products.
```javascript
event:"ee-checkout" ecommerce:Object checkout:Object user:Object contactNumber:"3010" actionField:Object products:Array[3] 0:Object name:"Museum Ticket" date:"15/04/2021 - 15:30" //date time of timeslot, performance, match category:"Adult" price:"14.00" quantity:2 id:"101049282449-101049310928-306159078-101049317318" brand:"Visit pass" variant:"SALE"
```
--------------------------------
### GET /organizer/report/devices
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/379060259/Reporting%2Bendpoint%2B-%2BDevices%2Binformation
Retrieves a list of device information for spectators, supporting pagination and time-based filtering.
```APIDOC
## GET /organizer/report/devices
### Description
Retrieves device data for spectators. This report is available for organizers using Spectator V4 and supports near real-time reporting.
### Method
GET
### Endpoint
/organizer/report/devices
### Parameters
#### Query Parameters
- **mobileAppId** (string) - Required - The applicable application identifier.
- **limit** (integer) - Required - Maximum number of results to extract (max 10,000).
- **paginationKey** (string) - Optional - Key to retrieve the next page of results.
- **lastUpdatedSince** (string) - Optional - Filter data updated since the given timestamp.
- **lastUpdatedBefore** (string) - Optional - Filter data updated before the given timestamp.
### Response
#### Success Response (200)
- **pagination** (object) - Pagination metadata.
- **pageSize** (integer) - Total number of spectators on this page.
- **nextPageKey** (string) - Key for the next page of results.
- **result** (array) - List of devices.
- **spectatorId** (string) - Spectator ID.
- **spectatorEmail** (string) - Spectator Email.
- **deviceID** (string) - Device ID.
- **deviceName** (string) - Device Name.
- **os** (string) - Device Platform.
- **osVersion** (string) - Device version.
- **appVersion** (string) - Device's app version.
- **mobileAppId** (string) - Application ID.
- **deviceStatus** (string) - Device Status (ACTIVE, INACTIVE).
- **lastActive** (string) - Date of device's last active.
```
--------------------------------
### Performance detail JSON response
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43060302
Example of the JSON structure returned when accessing performance details.
```json
{"serverDuration": 13, "requestCorrelationId": "6f4cef78ac894ee2be1db074ed493bc5"}
```
--------------------------------
### GET /organizer/report/devices
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/379060259
Retrieves a paginated list of device information for spectators, filtered by application ID and optional timestamps.
```APIDOC
## GET /organizer/report/devices
### Description
Retrieves device data for spectators. This report is available to organizers using Spectator V4 and supports large-scale data extraction.
### Method
GET
### Endpoint
/organizer/report/devices
### Parameters
#### Query Parameters
- **mobileAppId** (string) - Required - The applicable application identifier.
- **limit** (integer) - Required - Maximum number of results to extract (max 10,000).
- **paginationKey** (string) - Optional - Key to retrieve the next page of results.
- **lastUpdatedSince** (string) - Optional - Filter data updated since the given timestamp.
- **lastUpdatedBefore** (string) - Optional - Filter data updated before the given timestamp.
### Response
#### Success Response (200)
- **pagination** (object) - Contains pagination metadata.
- **pageSize** (integer) - Total number of spectators on this page.
- **nextPageKey** (string) - Key for the next page of results.
- **result** (array) - List of devices.
- **spectatorId** (string) - Spectator ID.
- **spectatorEmail** (string) - Spectator Email.
- **deviceID** (string) - Device ID.
- **deviceName** (string) - Device Name.
- **os** (string) - Device Platform.
- **osVersion** (string) - Device version.
- **appVersion** (string) - Device’s app version.
- **mobileAppId** (string) - Application ID.
- **deviceStatus** (string) - Device Status (ACTIVE, INACTIVE).
- **lastActive** (string) - Date of device’s last active.
```
--------------------------------
### Inserting basic and criteria merge tags
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43071141/Contact%2Bcriteria%2Band%2Bindicators%2Bas%2BSAM%2Bdynamic%2Bfields
Examples of standard field tags and specific contact criteria tags for use in text.
```text
$!campaignData.contact.firstName
```
```text
$!campaignData.contact.contactCriteriaMap.get('MEMBER').get(0)
```
--------------------------------
### STX.Widgets.start(options)
Source: https://go.confluence.secutix.com/wiki/spaces/DOCEN/pages/41617208
Initializes a group of widgets with shared global configuration. Multiple calls can be made to group widgets with different global settings.
```APIDOC
## STX.Widgets.start(options)
### Description
Initializes and renders a group of widgets on the page. Widgets within the same call share global configuration parameters.
### Parameters
- **hostname** (string) - Required - The hostname defined in the point of sales.
- **apiKey** (string) - Required - The API key for authentication.
- **language** (string) - Required - The language code for the widgets (e.g., 'fr', 'en').
- **widgets** (array) - Required - A list of widget objects to initialize.
### Widget Object Properties
- **widget** (string) - Required - The type of widget (e.g., 'Product', 'Catalog').
- **root** (string) - Required - The CSS selector ID of the HTML element where the widget will be rendered.
- **productId** (string) - Optional - The ID of the product (required for 'Product' widget).
- **occurrenceId** (string) - Optional - The ID of the performance, match, or slot (required for 'Product' widget).
- **showActions** (boolean) - Optional - Whether to show action buttons.
- **aspectRatio** (string) - Optional - The display aspect ratio for images (e.g., 'VERTICAL').
- **showDescription** (boolean) - Optional - Whether to show the product description.
- **showImage** (boolean) - Optional - Whether to show the product image.
### Example
```
--------------------------------
### Instantiate multiple widget groups
Source: https://go.confluence.secutix.com/wiki/spaces/DOCEN/pages/41617208
Demonstrates initializing multiple widget groups with distinct global configurations by calling STX.Widgets.start for each set.
```javascript
```
--------------------------------
### STX.widgets.Product.render
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058872/Build%2Byour%2Bown%2Bproduct%2Bcatalogue%2Bpage%2Bwith%2Bour%2Bflexible%2Band%2Bresponsive%2BProduct%2BWidget
Initializes and renders the product widget on the target website using the provided configuration and product properties.
```APIDOC
## STX.widgets.Product.render
### Description
Initializes the SecuTix Product Widget within a specified DOM element. It requires an API key and hostname for authentication and configuration, followed by specific product display properties.
### Parameters
- **apiKey** (string) - Required - The secret token from the Point of Sale configuration.
- **hostname** (string) - Required - The hostname of the online sales platform.
- **productId** (string) - Required - The ID of the product to display.
- **occurrenceId** (string) - Optional - The ID of the performance or timeslot.
- **aspectRatio** (string) - Optional - Image aspect ratio (VERTICAL, HORIZONTAL, WIDE, SQUARE, LANDSCAPE).
- **showActions** (boolean) - Optional - Whether to display action buttons (Buy, Reserve, Option).
- **showText** (boolean) - Optional - Whether to display product text.
- **showImage** (boolean) - Optional - Whether to display the product image.
- **locale** (string) - Optional - Language code for the widget.
- **root** (string) - Required - The CSS selector for the container element.
### Example
```javascript
STX.config({apiKey:"your-api-key", hostname:"your-hostname"});
STX.widgets.Product.render({
props: {
productId:'123',
occurrenceId: '456',
aspectRatio:'VERTICAL',
showActions: false,
showText: true,
showImage: true
},
locale:"en",
root:"#stx-product"
});
```
```
--------------------------------
### Get Current Widget
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/48725141/Getting%2BStarted%2B-%2BiOS
Retrieves the current UIViewController displayed by the SDK.
```swift
public final func getCurrentPage() -> UIViewController
```
--------------------------------
### GET /organizer/report/spectators
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/378208332/Reporting%2Bendpoint%2B-%2BSpectator%2BDetails
Retrieves a paginated list of spectator details for organizers.
```APIDOC
## GET /organizer/report/spectators
### Description
Exports spectator data for analytics, compliance, and operational needs. This endpoint is available to organizers using Spectator V4.
### Method
GET
### Endpoint
/organizer/report/spectators
### Parameters
#### Query Parameters
- **mobileAppId** (string) - Required - The applicable application identifier.
- **limit** (integer) - Required - Maximum number of results to extract (max 10,000).
- **paginationKey** (string) - Optional - Key to retrieve the next page of results.
- **lastUpdatedSince** (string) - Optional - Filter data updated since the given timestamp.
- **lastUpdatedBefore** (string) - Optional - Filter data updated before the given timestamp.
### Response
#### Success Response (200)
- **pagination** (object) - Pagination metadata
- **pageSize** (integer) - Total number of spectators on this page
- **nextPageKey** (string) - Key for the next page
- **result** (array) - List of spectators
- **spectatorId** (string) - Spectator ID
- **firstName** (string) - First Name
- **lastName** (string) - Last Name
- **email** (string) - Email
- **communicationLanguage** (string) - Communication Language
- **locked** (boolean) - Spectator is locked or not
- **status** (string) - Spectator status (ACTIVE, INACTIVE, LOCKED, etc.)
- **acquiredBy** (string) - Origin of creation (INJECTION, TRANSFER, REGISTRATION)
- **referredBy** (string) - User who referred the app to the spectator
- **ssoClaim** (JSONB) - SSO claims
- **createdAt** (string) - Date of account creation
- **updatedAt** (string) - Date of last update
```
--------------------------------
### POST /api/Products/ProductList/
Source: https://go.confluence.secutix.com/wiki/spaces/DOCEN/pages/41626766
Retrieves a list of products available on the Fortress server.
```APIDOC
## POST /api/Products/ProductList/
### Description
Return a list of products available on the fortress server.
### Method
POST
### Endpoint
http://{endpoint}/api/Products/ProductList/
```
--------------------------------
### initialize(config:delegate:)
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/48725141/Getting%2BStarted%2B-%2BiOS
Initializes the TIXNGO SDK with the provided configuration and delegate to listen for callbacks.
```APIDOC
## initialize(config:delegate:)
### Description
This method is called once to set up the default configuration and listen for callbacks from the TIXNGO SDK.
### Signature
`public final func initialize(config: TixngoConfiguration?, delegate: TixngoSDKDelegate?)`
```
--------------------------------
### Get Current Language
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/48725141/Getting%2BStarted%2B-%2BiOS
Returns the language code currently in use by the SDK.
```swift
public final func getCurrentLanguage(_ completion: @escaping ((_ lang: String) -> Void))
```
--------------------------------
### Include the Secutix widget library
Source: https://go.confluence.secutix.com/wiki/spaces/DOCDE/pages/44139294/2.8.1.%2B-%2BEinf%2Bhrung
Add this script tag to the website to load the STX global object and the widget loading system.
```html
```
--------------------------------
### Cancel Subscription Data Layer
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058859/Improved%2BGoogle%2BAnalytics%2BData%2Blayer%2Bfor%2Bcalculated%2Bseason%2Bticket%2Bsales
Example of the ee-cancelSubscription event triggered when a subscription is cancelled.
```javascript
event:"ee-cancelSubscription" ecommerce:Object currencyCode:"EUR" cancel:Object user:Object contactNumber:"3010" products:Array[1] 0:Object id:"466508722" name:"Open Season Ticket" brand:"Season tickets" quantity:2 variant:"SALE" performance:Array[3] 0:Object id:"466498532" name:"Swan Lake" date:"15/04/2021 - 15:30" category:"Cat 1 / Subscriber - Adult" price:"14.00" quantity:1 brand:"Event" variant:"SALE" 1:Object [...]
```
--------------------------------
### Integrate the Product Widget
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058872/Build%2Byour%2Bown%2Bproduct%2Bcatalogue%2Bpage%2Bwith%2Bour%2Bflexible%2Band%2Bresponsive%2BProduct%2BWidget
This snippet includes the required HTML container and the JavaScript initialization code to render the product widget.
```html
```
--------------------------------
### Push Contact Information
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058567
Example of pushing logged-in user contact information to the DataLayer.
```APIDOC
## Push Contact Information
### Description
Push contact's information (contact Number, hash Email) for all online journeys.
### Request Example
```
--------------------------------
### GET /organizer/report/events/{eventId}/tickets
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/269320309/Reporting%2Bendpoint%2B-%2BFull%2Btickets%2Blist
Fetches detailed ticket information for a specific event.
```APIDOC
## GET /organizer/report/events/{eventId}/tickets
### Description
Returns all ticket details for a single specific event.
### Method
GET
### Endpoint
/organizer/report/events/{eventId}/tickets
### Parameters
#### Path Parameters
- **eventId** (string) - Required - The unique identifier of the event.
```
--------------------------------
### POST /api/Products/ServiceList/
Source: https://go.confluence.secutix.com/wiki/spaces/DOCEN/pages/41626766
Retrieves a list of services available on the Fortress server.
```APIDOC
## POST /api/Products/ServiceList/
### Description
Return a list of Services available on the fortress server.
### Method
POST
### Endpoint
http://{endpoint}/api/Products/ServiceList/
```
--------------------------------
### GET /organizer/report/monthly-tickets-injection
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/269221988/Reporting%2Bendpoint%2B-%2BTickets%2Binjection%2Bmonthly%2Breport
Retrieves a monthly report of tickets injected into TIXNGO for a specified period.
```APIDOC
## GET /organizer/report/monthly-tickets-injection
### Description
Retrieves a detailed report of tickets injected into TIXNGO for a specific month, used for invoice validation.
### Method
GET
### Endpoint
/organizer/report/monthly-tickets-injection
### Parameters
#### Query Parameters
- **period** (string) - Required - The month desired, e.g., 2025-05
- **limit** (integer) - Required - Maximum number of results to extract
- **offset** (integer) - Required - Skip the first N results (pagination)
### Response
#### Success Response (200)
- **total** (integer) - Total number of events
- **grandTotal** (integer) - Total number of tickets injected in period time
- **events** (array) - List of events
- **eventId** (string) - Organizer event ID
- **eventName** (string) - Event name
- **startTime** (string) - Event start time
- **injected** (integer) - Number of tickets injected for the event in the period
```
--------------------------------
### Format event_time_schedule metadata
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/253952021/Event%2Bsemantics
Example of the stringified JSON array format used for the event_time_schedule metadata.
```json
"[{\"time\": \"16:00\", \"label\": \"event_gate_opening\"}, {\"time\": \"20:00\", \"label\": \"event_start_time\"}, {\"time\": \"23:00\", \"label\": \"event_gate_closing\"}]"
```
--------------------------------
### Initialize TIXNGO SDK
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/48725141/Getting%2BStarted%2B-%2BiOS
Call this method once to set up the default configuration and register the SDK delegate.
```swift
public final func initialize(config: TixngoConfiguration?,
delegate: TixngoSDKDelegate?)
```
--------------------------------
### Validate Subscription Data Layer
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058859/Improved%2BGoogle%2BAnalytics%2BData%2Blayer%2Bfor%2Bcalculated%2Bseason%2Bticket%2Bsales
Example of the ee-validateSubscription event triggered upon subscription confirmation.
```javascript
event:"ee-validateSubscription" ecommerce:Object currencyCode:"EUR" validate:Object user:Object contactNumber:"3010" products:Array[1] 0:Object id:"466508722" name:"Open Season Ticket" brand:"Season tickets" quantity:2 variant:"SALE" performance:Array[3] 0:Object id:"466498532" name:"Swan Lake" date:"15/04/2021 - 15:30" category:"Cat 1 / Subscriber - Adult" price:"14.00" quantity:1 brand:"Event" variant:"SALE" 1:Object id:"466498533" name:"La Travia" date:"16/04/2021 - 15:30" category:"Cat 1 / Subscriber - Adult" price:"14.00" quantity:1 brand:"Event" variant:"SALE" 2:Object id:"466498535" name:"Romeo&Juliet" date:"17/04/2021 - 15:30" category:"Cat 1 / Subscriber - Adult" price:"14.00" quantity:1 brand:"Event" variant:"SALE"
```
--------------------------------
### Include the widget library
Source: https://go.confluence.secutix.com/wiki/spaces/DOCEN/pages/41617208
Load the STX widget library by adding the script tag to your page. Replace the placeholder URL with your customer-specific address.
```html
```
--------------------------------
### Add Subscription Data Layer
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058859/Improved%2BGoogle%2BAnalytics%2BData%2Blayer%2Bfor%2Bcalculated%2Bseason%2Bticket%2Bsales
Example of the ee-addSubscription event triggered when purchasing a season ticket.
```javascript
event:"ee-addSubscription" ecommerce:Object add:Object user:Object contactNumber:"3010" products:Array[1] 0:Object id:"466508722" name:"Open Season Ticket" brand:"Season tickets" quantity:2 variant:"SALE"
```
--------------------------------
### Example of a transmitted table format
Source: https://go.confluence.secutix.com/wiki/spaces/DOCEN/pages/41616614/How%2Bto%2Buse%2Bthe%2Btemplate%2Beditor%2Bcreate%2Ba%2Btemplate
Format used when transmitting table data for contact criteria.
```text
Contact_hostCriterion;array_code=[PerPref=‘Hypologica13';Hall=‘Halle14‘;Stand=‘A52’]
```
--------------------------------
### AuthManager.initialize
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/239961112/Getting%2BStarted%2B-%2BAndroid
Initializes the authentication manager with OIDC configuration settings.
```APIDOC
## AuthManager.initialize
### Description
Configures the OIDC authentication settings required for the SDK to interact with the identity provider.
### Parameters
- **applicationContext** (Context) - The Android application context.
- **config** (OIDCConfig) - Configuration object containing:
- **authEndpoint** (String): Authorization endpoint URL.
- **tokenEndpoint** (String): Token endpoint URL.
- **clientID** (String): Client ID provided by TIXNGO.
- **redirectUri** (String): Redirect URI (e.g., "tixngo://auth").
- **grantType** (String): OAuth2 grant type.
- **clientSecret** (String): Client secret.
- **scope** (String): Scopes list.
```
--------------------------------
### Begin Checkout Data Layer Event
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058717/Google%2BAnalytics%2B4%2Be-commerce%2Bdata%2Blayer%2Bfull%2Bdocumentation
Push this event to the data layer when a user initiates the checkout process.
```json
{ "event": "begin_checkout", "ecommerce": { "step": 0, //check out step, (0: Begin, 1: Delivery, 2: Summary) "id":15284, // File ID "option":"begin_checkout" "items": [{ //List of productFieldObjects inside the order. "item_name": "Triblend Android T-Shirt", //Product Name (mandatory). "item_id": 12345, //Product Id (mandatory). "date":"13-01-2023 - 05:00" "price": "15.25", //Unit Price (mandatory) (same as the basic e-commerce tag).
```
--------------------------------
### Get Authentication Status
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/48725141/Getting%2BStarted%2B-%2BiOS
Retrieves the current authentication status; the SDK will request a JWT token from the app.
```swift
public final func getAuthStatus(_ completion: @escaping ((_ isAuthenticated: Bool) -> Void))
```
--------------------------------
### Initialize TIXNGO SDK
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/239961112/Getting%2BStarted%2B-%2BAndroid
Call this function in MainActivity or MainFragment to initialize the SDK with the required configuration.
```kotlin
TixngoManager.instance.initialize( context = this, appIconId = R.mipmap.ic_launcher, config = TixngoConfiguration( isEnableScreenshotSSK = true, isEnableDebug = true, defaultEnv = TixngoEnv.PREPROD, isEnableWallet = false, supportLanguages = arrayOf( TixngoLanguage.EN, TixngoLanguage.EN_US, TixngoLanguage.FR, TixngoLanguage.FR_CA, TixngoLanguage.ES_ES, TixngoLanguage.ES_MX, TixngoLanguage.PT_PT, ), defaultLanguage = TixngoLanguage.EN, themeMode = SDKThemeMode.System, theme = ThemeConstants.LightTheme1, darkTheme = ThemeConstants.DarkTheme1, appIds = CustomAppId( valId = "mobile_app_key_val_environment", preProdId = "mobile_app_key_preProd_environment", prodId = "mobile_app_key_prod_environment" ), config = TixngoSDKConfig( isHaveMenu = false, isHaveSignOut = false, ), customDomain = TixngoCustomDomain( valDomain = "api_domain_val_environment", preProdDomain = "api_domain_preProd_environment", prodDomain = "api_domain_prod_environment", ), tokenType = SDKTokenType.IdToken, ), delegate = this )
```
--------------------------------
### Ticket Seating Information
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/49217623/CSV%2BInjection
Example of defining spectator seating information using key-value pairs in ticket details.
```json
[{"key": "Gate", "value": "A"},{"key": "Row", "value": "54"}, {"key": "Seat", "value": "A5"}]
```
--------------------------------
### Push Order Summary Step Data to DataLayer
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43059027/Google%2BAnalytics%2Bimproved%2Bdata%2Blayer%2Bfor%2Bproducts%2Band%2Bcheckout
Use this snippet when a user confirms payment details and proceeds to the final order summary.
```javascript
```
--------------------------------
### Define Contact Criterion Array
Source: https://go.confluence.secutix.com/wiki/display/RN/Ticket%2BTemplate%2BDesigner%2B-%2BUseful%2BTips
Example format for defining multiple contact criteria with specific text values.
```text
Contact_criterion;array_code=[PerPref=‘Hypologica13';Hall=‘Halle14‘;Stand=‘A52’]
```
--------------------------------
### Configure Otipass interface parameters
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43059126/How%2Bto%2Bset%2Bup%2BOtipass%2Bcard%2Bsupport
JSON structure for defining Otipass project settings and sector mappings. Ensure all comments are removed before use and validate the syntax.
```json
{ "OtipassProjectId":"toulouse", //The project id of Otipass. It is generally the last part of the url that they provide. "NumType":"serial", //define this value if the pass codes start with letters "sectorInfos":{ "DDMM_AUG":{ //This is the sector code as defined in TNAC configuration. "OtipassServiceId":"pcumid031fs00061", //Provided by Otipass "OtipassPSpaceId":"PROVIDER#PCUMID031FS00061", //Provided by Otipass "seasonCode":"DDMM23", //Those are the season and product codes on which the sales will be processed. "productCode":"PASSTOU" }, "DDMM_MSR":{ "OtipassServiceId":"PCUMID031FS00071", "OtipassPSpaceId":"PROVIDER#PCUMID031FS00071", "seasonCode":"DDMM23", "productCode":"PASSTOU" }, "DMM_DUP":{ "OtipassServiceId":"PCUMID031FS0006E", "OtipassPSpaceId":"PROVIDER#PCUMID031FS0006E", "seasonCode":"DDMM23", "productCode":"PASSTOU" } } }
```
--------------------------------
### GET /organizer/report/events/tickets
Source: https://go.confluence.secutix.com/wiki/x/dYANE
Fetches detailed ticket information including owner data, seating, and metadata for multiple events.
```APIDOC
## GET /organizer/report/events/tickets
### Description
Returns full ticket details for events within a date range. Use incremental loading with lastUpdated parameters for large datasets.
### Method
GET
### Endpoint
/organizer/report/events/tickets
### Parameters
#### Query Parameters
- **mobileAppId** (string) - Required - Application identifier.
- **excludeDeleted** (boolean) - Optional - Exclude deleted tickets (default: false).
- **limit** (integer) - Required - Max results (max 50,000).
- **lastUpdatedSince** (timestamp) - Optional - Filter by update time.
- **lastUpdatedBefore** (timestamp) - Optional - Filter by update time.
- **eventStartSince** (timestamp) - Required - Start of event date range.
- **eventStartBefore** (timestamp) - Required - End of event date range.
- **paginationKey** (string) - Optional - Key for pagination.
```
--------------------------------
### Get SDK Screen
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/48725141/Getting%2BStarted%2B-%2BiOS
Retrieves a specific SDK screen, allowing for presentation as a full screen or embedded view.
```swift
public final func getSDKScreen(type: SDKWidget, presentType: SDKPresentType = .present, completionHandler: SDKViewControllerHandler?)
```
--------------------------------
### Configure Maven Repository for Gradle 7.0+
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/239961112/Getting%2BStarted%2B-%2BAndroid
Use dependencyResolutionManagement in settings.gradle for projects using Gradle 7.0 or later.
```gradle
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } String storageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com" repositories { maven { url = "https://d1s53pweuo5d17.cloudfront.net/sdk/android/[Version]" credentials { username = "XXXXXXXXXXXXXXXXXXX" // please contact SecuTix team for this password = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" // please contact SecuTix team for this } } maven { url "$storageUrl/download.flutter.io" } } }
```
--------------------------------
### changeEnv(env:_:)
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/48725141/Getting%2BStarted%2B-%2BiOS
Changes the environment for the SDK.
```APIDOC
## changeEnv(env:_:)
### Description
This method is called when the Fan App wants to change the environment in the SDK.
### Signature
`public final func changeEnv(env: TixngoEnv, _ completionHandler: SDKCompletionHandler? = nil)`
```
--------------------------------
### Order summary step DataLayer event
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058717
Pushed when a user inputs a voucher and selects a payment method before confirming payment.
```json
{
"event": "add_payment_info",
"ecommerce":{
"step": 2, //check out step, (0: Begin, 1: Delivery, 2: Summary)
"option":"order-confirmation" //order confirmation page - where the step 2 is pushed (additional information)
"option": "VISA", //selected payment method name
"id":1000463, //File ID
"shipmentID": "1111111", // shipment ID, get from Delivery step
"shipmentMode": "E-ticket", // shipment mode name
"shipping": 8, //shipment fee
"paymentFee": 4, //payment overhead fee
"revenue": 35, //total amount to pay
"coupon": "PROMO" //promotional code or voucher code
"items": [{
// List of productFieldObjects inside the order.
"item_name": "Triblend Android T-Shirt", // Product Name (mandatory).
"item_id":12345, // Product Id (mandatory).
"date":"13-01-2023 - 05:00"
"price": "15.25", // Unit Price (mandatory) (same as the basic e-commerce tag).
"item_brand": "Visit Pass / Exhibition", // Product Family Type / Topic of the product (if set)
"item_category":"Cat A", // Seat category
"item_category2":"Full price", // tarrif type
"item_variant": "SALE",
"quantity": 1, // same as the basic e-commerce tag
"coupon": "PartnerCUBE" // advantage name / advantage id
"type": "Sport", // Product Type
}]
}
}
```
--------------------------------
### GET /organizer/report/events/statistics
Source: https://go.confluence.secutix.com/wiki/spaces/TIXNGO/pages/269221978/Reporting%2Bendpoint%2B-%2BEvent%2Bstatistics
Retrieves ticket statistics for one or more events based on provided event IDs or a time range.
```APIDOC
## GET /organizer/report/events/statistics
### Description
Fetches statistical data for tickets associated with specific events. Users can filter by event IDs or by a start/end time range.
### Method
GET
### Endpoint
/organizer/report/events/statistics
### Parameters
#### Query Parameters
- **eventIds** (string) - Optional - Specify from 1 to 8 events. Provide multiple times for multiple values (e.g., eventIds=A&eventIds=B).
- **eventStartSince** (string) - Optional - List tickets of events starting from this timestamp (UTC).
- **eventStartBefore** (string) - Optional - List tickets of events starting up to this timestamp (UTC).
- **dateTime** (string) - Required - Precise point in time to extract the value (timestamp format, e.g., 2025-05-21T06:00:00.000Z). Use 'UTC NOW' for latest data.
### Response
#### Success Response (200)
- **eventId** (string) - Event Id
- **totalTickets** (integer) - Total number of tickets in the events (including deleted)
- **validTickets** (integer) - Total number of non-deleted tickets
- **deletedTickets** (integer) - Total number of deleted tickets
- **downloadedTickets** (integer) - Total number of downloaded tickets
- **pendingTransferTickets** (integer) - Total number of tickets pending transfer
- **notDownloadedTickets** (integer) - Total number of tickets not currently downloaded
- **neverDownloadedTickets** (integer) - Total number of tickets never downloaded
- **controlledTickets** (integer) - Total number of controlled tickets (excluding deleted)
- **activatedTickets** (integer) - Total number of activated tickets (excluding deleted)
- **offlineActivatedTickets** (integer) - Total number of offline activated tickets (excluding deleted)
- **manualActivatedTickets** (integer) - Total number of manually activated tickets (excluding deleted)
- **notActivatedTickets** (integer) - Total number of unactivated tickets (excluding deleted)
- **transferredOnce** (integer) - Total number of tickets with exactly one successful transfer
- **transferredTwice** (integer) - Total number of tickets with exactly two successful transfers
- **transferred3Times** (integer) - Total number of tickets with exactly three successful transfers
- **transferred4PlusTimes** (integer) - Total number of tickets with four or more successful transfers
- **totalTransferOperations** (integer) - Total number of accepted ticket transfer operations
- **neverTransferred** (integer) - Total number of tickets never transferred
- **updatedAt** (string) - Last updated timestamp
```
--------------------------------
### POST /api/Products/PriceBandList/
Source: https://go.confluence.secutix.com/wiki/spaces/DOCEN/pages/41626766
Retrieves a list of all available price band codes from the Fortress database.
```APIDOC
## POST /api/Products/PriceBandList/
### Description
Get a list of all available price bands code on the Fortress Database.
### Method
POST
### Endpoint
http://{endpoint}/api/Products/PriceBandList/
```
--------------------------------
### Promotion Click Data Layer
Source: https://go.confluence.secutix.com/wiki/spaces/RN/pages/43058717/Google%2BAnalytics%2B4%2Be-commerce%2Bdata%2Blayer%2Bfull%2Bdocumentation
Push this object when a user clicks on a promotion.
```json
{
"event":"select_promotion",
"ecommerce":{
"items":[{
"item_id":"Promo ID", // Advantage ID
"item_name":"Promo name", // Advantage name
"creative":"Creative name", // Advantage description
"index":Position // Position of a product in a given Section (landing page) or Product type (Landing page list view or Normal view)
"item_variant":"SALE" // Product is to be SOLD or RESERVED
}]
}
}
```