### 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 }] } } ```