CSV Injection

CSV Injection

If your organizer does not use S-360 to inject and manage all or part of an event tickets, TIXNGO supports injecting tickets by uploading a CSV file in Backoffice.

This feature is a bit different if you are still using TIXNGO v3 or already migrated to the newest TIXNGO v4. Please be sure to refer to the corresponding section below:

TIXNGO V4

Screenshot 2025-05-27 162746-20250527-142747.png
TIXNGO V4 new CSV injection screen

Steps by step

  1. Use the provided CSV template if need (click on the this CSV template link)

  2. Fill the CSV with your ticket data. Please be sure that your file comply with the following constraints:

    1. The CSV file must be encoded in UTF-8.

    2. All dates must follow the RFC3339 standard for date and time.

    3. No more than 100’000 tickets can be imported at once

    4. Event(s) referenced must already exists in TIXNGO (use manual creation screen if needed before uploading)

    5. Please refrain from including "injection" in the file name

  3. Upload CSV file

  4. Submit

  5. Check the result in the table. Possible status are:

    • In progress TIXNGO is currently processing the file you upload. Give it a bit of time and refresh the page later.

    • completed All tickets have been injected successfully. Good job! You can the download the output file for tracking purposes.

    • partial Some tickets have been injected successfully, but at least one failed. --> Please download the output and review the errors.

    • Failed Not a single tickets could be injected. Something most probably wrong with the format or data in your file. → Please download the output and review the errors. Make sure to use the provided template and check the Troubleshooting section below.

Past injections, including input and output files, are kept for a period of 30 days. So be sure to download the output file if you need longer traceability.

Troubleshooting & detailed information

Typical errors

In case of errors, please check out some points below:

  • The CSV file must be encoded in UTF-8 to make sure your data format is valid

  • Instead of leaving unused columns empty, please delete them from the file. These empty cells could cause errors of wrong formatting. 

  • When saving your CSV file using Excel, please be cautious of a common issue where quotation marks ("") may be doubled. This duplication can cause errors when uploading the file.

  • By ensuring that quotation marks are not doubled, you can prevent potential errors during the file upload process. To avoid this problem, follow these steps after saving the CSV file:

    1. Open the CSV file using a text editor or spreadsheet software.

    2. Search for any instances where quotation marks are doubled ("").

    3. Remove the duplicate quotation marks, leaving only single quotation marks (").

    4. Save the modified CSV file.

Fields detailed documentation

Variable Name

Mandatory

Variable Type

Value length

Variable usage/description

Examples

Variable Name

Mandatory

Variable Type

Value length

Variable usage/description

Examples

ticketId

Yes

string

 

Unique identifier of this ticket in the organizer's ticketing system (typically technical ID)

PLAY-12345678901234

eventId

Yes

string

 

Unique identifier of the event

PLAY-123456789012

ticketNumber

Yes

string

 

Business, human readable, unique identifier of the ticket

12345678901

ticketCode

Yes

string

 

Code for access control that will rendered as a QRcode

123456789012345678901234

activationRule

No

string

 

Name of the activation rule to use for this ticket. If not provided or not matching a rule associated with the event, will use the one named 'DEFAULT'.

DEFAULT

dataCollectionRule

No

string

 

Name of the data collection rule to use for this ticket. If not provided or not matching a rule associated with the event, will use the one named 'DEFAULT'.

DEFAULT

designRule

No

string

 

Name of the design rule to use for this ticket. If not provided or not matching a rule associated with the event, will use the one named 'DEFAULT'.

DEFAULT

emailRule

No

string

 

Name of the email rule to use for this ticket. If not provided or not matching a rule associated with the event, will use the one named 'DEFAULT'.

DEFAULT

usageRule

No

string

 

Name of the usage rule to use for this ticket. If not provided or not matching a rule associated with the event, will use the one named 'DEFAULT'.

DEFAULT

purchaseDetails.fileNumber

Yes

string

 

Purchase reference number in the ticketing system.

1122

purchaseDetails.purchaseDate

Yes

date time

Date follows RFC 3339 standard

Purchase date and time

2025-11-22T11:22:33.000Z

purchaseDetails.price

Yes

number

 

Price of the ticket

500

purchaseDetails.currency

Yes

string

 

Currency following the ISO 4217 format

CHF

purchaseDetails.seatCategoryId

No

string

 

Either:

  • Unique identifier of the seat category corresponding to this ticket. This identifier should have a matching translation in the event metadata in order to be displayed properly on the mobile

  • A custom value that will be displayed as is on the ticket.

1234567890

purchaseDetails.contingentId

No

string

 

Unique identifier of the contingent from which this ticket is coming. For reference and display in Backoffice only, this is not visible on the mobile ticket.

1234567890

purchaseDetails.tariffId

No

string

 

Either:

  • Unique identifier of the tariff applied to this purchase.

  • A custom value that will be displayed as is on the ticket.

ADULT, CHILD

ticketDetails.main

No

List

 

Used to display custom information on the top of the ticket (first section).

If it’s not empty, the key, and it’s value are required

This cannot be used anyseatingDetails.* should be used for that.

[{"key":"Custom","value":"Value", "lang":"en"}]

ticketDetails.extra

No

List

 

Used to display customer information in a “More information” section on the bottom of the ticket.

If it’s not empty, the key, and it’s value are required

[{"key":"re_entry","value":"Please be informed you cannot leave the stadium and then re-enter.", "lang":"en"}]

ticketDetails.hidden

No

List

 

If it’s not empty, the key, and it’s value are required

[{"key":"hosp_room","value":"VIP1", "lang":"en"}]

seatingDetails.seated

Yes

Boolean

 

Set to true if the seating details below are available and can be displayed to the spectator on the ticket.

Set to false for cases like parking tickets for instance.

true

seatingDetails.numbered

Yes

Boolean

 

True when the ticket gives access to a numbered seat.

true

seatingDetails.area

With condition

 

 

Area to which the ticket gives access.

Condition: This field is required if value of seatingDetails.seated is true

Area 1

seatingDetails.level

No

 

 

Level to which the ticket gives access.

1

seatingDetails.externalEntrance

No

 

 

Name of the external entrance the spectator should use to access the venue.

West

seatingDetails.gate

No

 

 

Name of the gate the spectator should use to access the venue.

A

seatingDetails.block

No

 

 

Block to which the ticket gives access.

AA

seatingDetails.row

No

 

 

When seated, row in which the seat is located.

2

seatingDetails.seat

With condition

 

 

Seat number

Condition: This field is required if value of seatingDetails.seated is true and seatingDetails.numbered is true

24Spectator's email

spectatorDetails.firstName

Yes

 

 

Spectator's first name

John

spectatorDetails.lastName

Yes

 

 

Spectator's last name

Doe

spectatorDetails.email

Yes

 

 

Spectator's email

jd@tixngo.io

spectatorDetails.appLanguage

Yes

 

 

Spectator's preferred language. In ISO 639-1 format.

en

ticketHolder

No

 

 

Ticket holder data, optionnally submitted. If present, must provide at least firstName and lastName. All other values are saved as is and NOT validated against data collection rules

{ "firstName": "John", "lastName": "Doe" }

TIXNGO V3 deprecated

Inject tickets by CSV file

  • Get an example template

Go to CSV Injection > Click CSV template at section 02

The minimal template contains all mandatory values that you need to inject tickets successfully to TIXNGO.

The full template contains all possible values that you can provide when injecting tickets to TIXNGO.

 

  • Upload CSV file

Go to CSV Injection > Choose file > Submit

What you should know:

General set-up:

  • CSV File Specifications:

    • Maximum tickets per CSV file: 20,000 tickets

    • The CSV file must be encoded in UTF-8.

    • All dates must follow the RFC3339 standard for date and time.


  • Template Options:

    • Minimal Required Fields Template (CSV Minimal Template): Contains the minimum required fields.

    • Complete Template (CSV Full Template): Includes all possible ticket fields to assist with CSV setup.

    • Multilingual Template (CSV Full Template for Multilingual): Supports injecting with multilingual option.

    • With these 3 templates, please exclude "injection" from the file name to avoid any error

    • When using the Multilingual option, please ensure that you save your CSV file with the suffix "-multilingual".

  • If you failed to inject your CSV file, check out some points below to figure out what's the rootcause:

    • The CSV file must be encoded in UTF-8 to make sure your data format is valid

    • Instead of leaving unused columns empty, please delete them from the file. These empty cells will cause the errors of wrong formatting. 

    • When saving your CSV file using Excel, please be cautious of a common issue where quotation marks ("") may be doubled. This duplication can cause errors when uploading the file.

    • By ensuring that quotation marks are not doubled, you can prevent potential errors during the file upload process. To avoid this problem, follow these steps after saving the CSV file:

      1. Open the CSV file using a text editor or spreadsheet software.

      2. Search for any instances where quotation marks are doubled ("").

      3. Remove the duplicate quotation marks, leaving only single quotation marks (").

      4. Save the modified CSV file.

Tracking status:

  • On this page, you will find a comprehensive list of all CSV injection jobs sent by the organizer, along with their respective statuses (COMPLETED/FAILED/IN PROGRESS).

  • It is essential for organizers to review the output file to verify the actual status of each injected ticket, whether it is ACCEPTED or REJECTED

  • Both the uploaded CSV file and the output file are available for download. The output file provides detailed information about the status of injected tickets, including any associated errors in case of failures.

  • For more details on each field of the file, please check here for better understanding.

More details

online activation method is only available if allow.activation-method.online = true, by default this setting key was set to false. TIXNGO mobile app supports offline activation perfectly, and we do not recommend using this activation method that requires our spectators must stay online during the gate opening.

Variable Name

Mandatory

Variable Type

Value length

Variable usage/description

Examples

Variable Name

Mandatory

Variable Type

Value length

Variable usage/description

Examples

activationParameters.groupId

No

string

50 char

The activation group to which the ticket belongs to. Tickets sharing the same activation id will have the same activation method & decryption code.

activation-id

activationParameters.method

Yes

string

"online"/"offline"/"beacon"

The method using to activate the ticket. online : when activationTime is reached (backend clock), the backend activates the tickets and sends push notifications to trigger a GET /spectator/tickets on the app. offline: the mobile application activates the tickets when time is reaches (mobile clock).
Online requires the user to be online, Offline does not.
More on Ticket activation: 8- Understanding TIXNGO Activation flow

offline

activationParameters.time

No

string

Date follows RFC 3339 standard

If online is chosen, define the time at which the tickets are activated (decrypted).

2020-10-05T11:19:24+01:00 

activationParameters.instanceId

© TIXNGO 2023 - Login