Event Ticket Token

If you are delivering event tickets to participants, e.g., if you are a ticket shop send ticket emails to your clients, who have purchased a ticket, you can include a link that allows purchasers to directly access the talque online event.

Such access links are based on signed event invitation tokens that include the purchaser and event information. You need to sign the link with a shared secret provided by us.

The event invitation token includes information about the ticket purchaser, the ticket and the talque event, very similar so the ticket data that a ticket shop can transfer to talque via the invite webhook API.

The format of the generated links is:

https://www.talque.com/go/ticket/<token>

Where the <token> is a JSON Web Token generated by you, the client, and signed with a client-specific secret key provided by talque.

Token Issuer Registration

Please contact support@talque.com to register for a client ID and secret. You will be provided with:

  • A talque client ID to be used in the "kid" claim in the JWT header.

  • A talque secret key for signing the JWT.

  • Your issuer ID (this is typically your organization's website URL).

Technical details of the JWT header and payload fields are provided below.

Currently this involves a secret key generated by talque that is shared with the client, but if you would like to share a public key with us instead that should be possible. Let's discuss!

Token Details

The JWT header must contain at a minimum the following fields:

  • "typ": "JWT"

  • "alg": Must be "HS256"

  • "kid": This is the same as your talque client ID

Example header

{
    "typ": "JWT",
    "alg": "HS256",
    "kid": "rSvlCoWgNhYX4ljjTeaj"
}

Payload

The payload must include the following standard claims:

  • "aud": Must be "https://www.talque.com"

  • "iss": Must be your organization URL such as "https://example.com"

Additional claims are optional. For example, you may include an "exp" claim to specify an expiration time for the token, which will be honored. After the expiration time the token will no longer be considered valid. Likewise an "nbf" claim may disable validity of the token until a certain date.

The payload must also contain the following properties:

  • "orgId": The talque-specific event identifier provided to you or your client by talque.

  • "extTicketId": For ticketing providers, this is your internal identifier for the ticket purchased by the event attendee

  • "extPurchaseId": For ticketing providers, your internal identifier for the purchase order that included this ticket. This is necessary for tracking ticket ownership / provenance. Purchase details can be uploaded via the ticket webhook integration, to which this interface is a complement: Tickets

Optional properties include:

  • "email": The e-mail address of the ticket holder, and intended recipient of the link. If omitted the ticket will be considered "unpersonalized" and be claimed by anyone with the ticket ID. Additional attendee details such as firstName andlastName are ignored without a valid email.

  • "firstName": The first name of the ticket holder

  • "lastName": The last name of the ticket holder

  • "companyName": The ticket holder's company name, if any

  • "jobTitle": The ticket holder's job title, if any

  • "phoneNumber": Ticket holder phone number in international E. 164 format (+<country code><phone number>)

  • "phoneNumberType": Either "MOBILE" or "FIXED", if known

  • "extUserId": External ticketing provider's user ID for the ticket holder, if any

  • "tickets": An array of identifiers of the type of ticket (e.g. "day pass", "full event", etc.); this is an event-specific identifier that must be coordinated with talque

  • "category": Event-specific participant category label (e.g. "attendee", "exhibitor")

  • "is_vip": Boolean whether or not the ticket holder has a VIP status at the event; defaults to false

  • "eventIds": Array of talque event IDs for sessions/workshops/etc. to which the ticket grants its holder access.

  • "extEventIds": Like eventIds but using the event/ticketing provider's internal identifiers for these items in case the talque IDs are not known by the system.

  • "vendorIds": If the ticket holder is a representative of a company or exhibitor, this is an array of talque IDs of those companies.

  • "extVendorIds": Like vendorIds but using the event/ticketing provider's internal identifiers for those companies in case the talque IDs are not known by the system.

Example payload

The following example contains all mandatory and optional properties:

{
    "aud": "https://www.talque.com",
    "iss": "https://example.com",
    "nbf": 1634545778,
    "exp": 1666081778,
    "iat": 1634545778,
    "orgId": "Zvvlo7ytKDUeXPRTXgxG",
    "extTicketId": "12345678",
    "extPurchaseId": "PO12345",
    "email": "attendee@example.com",
    "firstName": "Jane",
    "lastName": "Doe",
    "companyName": "Real Life Interaction, GmbH",
    "jobTitle": "Operations Manager",
    "tickets": ["gold"],
    "category": "exhibitor",
    "is_vip": false,
    "extVendorIds": ["123456", "78901"]
}

Last updated