Custom Fields | Core concepts | API v2.0 | Toornament Developer (2023)

Definition

Tournament custom fields are special fields configured in a tournament that allow to provide additional data in the participants of a tournament. These custom fields are set up per tournament and can therefore vary from one tournament to another.

Schema

Each custom field has the following properties:

  • machine_name

    string

    A name used to identify a custom field for computing purposes

  • label

    string

    A name used in forms to display a custom field

  • target_type

    string

    The entity concerned by the custom field

    Possible values: player, team, team_player

  • type

    string

    A data type used for both input and computing (see Custom Field Types)

  • default_value

    mixed

    A default value (can be array, scalar or null)

  • required

    boolean

    Whether the custom field is required

  • public

    boolean

    Whether the value of the custom field is public.

  • position

    boolean

    An ordering position used in forms

Types

Each custom field has a type that describes the kind of data, form and validation. Here is the exhaustive list of available custom fields, grouped by category:

Personal

  • Address
  • Birth date
  • Country
  • Full name

Social

  • Facebook id
  • Instagram id
  • Snapchat id
  • Twitch id
  • Twitter id
  • Vimeo id
  • Youtube id
  • Discord id

Games

  • Battle.net BattleTag™
  • Blood Bowl 2 id
  • Epic Games ID
  • HS item pick
  • Maniaplanet id
  • Origin ID
  • PSN Online ID
  • Riot Player ID
  • Smite Player ID
  • Steam ID
  • LOL summoner id
  • Trackmania id
  • Uplay ID
  • Wargaming.net ID
  • Xbox gamertag

Misc

  • Checkbox
  • Custom
  • Opt-in
  • Website

Address

The address field represents a complete address composed of street, postal code, city and country. It is always private and can not be configured as a public field. It is also unique and can not be configured twice on an entity. If the custom field is required, all four fields are required.

Type: address

JSON Schema

{ "type": "object", "properties": { "address": { "type": "string", "minLength": 1, "maxLength": 255 }, "postal_code": { "type": "string", "minLength": 1, "maxLength": 100 }, "city": { "type": "string", "minLength": 1, "maxLength": 100 }, "country": { "type": "string", "minLength": 1, "maxLength": 100 } }, "required": [ "address", "postal_code", "city", "country" ]}

Example

{ "address": "2, rue Paul Vaillant Couturier", "postal_code": "92300", "city": "Levallois-Perret", "country": "fr"}

Birth date

The birth date field represents a single date (without time and timezone) using the ISO 8601 format. It is unique and can not be configured twice on an entity.

Type: birth_date

JSON Schema

{ "type": "string", "pattern": "^([0-9]{4})-([0-9]{2})-([0-9]{2})$"}

Example

"1998-06-09"

Country

The country field represents a country using the ISO 3166-1 alpha-2 format.

Type: country

JSON Schema

{ "type": "string"}

Example

"us"

Full name

The full name field is composed of a first name and a last name. It is unique and can not be configured twice on an entity. If the custom field is required, both values are required.

Type: full_name

JSON Schema

{ "type": "object", "properties": { "first_name": { "type": "string", "minLength": 1, "maxLength": 40 }, "last_name": { "type": "string", "minLength": 1, "maxLength": 40 } }, "required": [ "first_name", "last_name" ]}

Example

{ "first_name": "Jon", "last_name": "Snow"}

Facebook id

The facebook id field represents the id of a facebook account. It is unique and can not be configured twice on an entity.

Type: facebook

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Instagram id

The instagram id field represents the id of an instagram account. It is unique and can not be configured twice on an entity.

Type: instagram

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Snapchat id

The snapchat id field represents the id of a snapchat account. It is unique and can not be configured twice on an entity.

Type: snapchat

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Twitch id

The twitch id field represents the id of a twitch account. It is unique and can not be configured twice on an entity.

Type: twitch

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Twitter id

The twitter id field represents the id of a Twitter account. It is unique and can not be configured twice on an entity.

Type: twitter

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Vimeo id

The vimeo id field represents the id of a vimeo account. It is unique and can not be configured twice on an entity.

Type: vimeo

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Youtube id

The youtube id field represents the id of a youtube account. It is unique and can not be configured twice on an entity.

Type: youtube

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Discord id

The discord id field represents the discord username. It is unique and can not be configured twice on an entity.

Type: discord_id

JSON Schema

{ "type": "string", "pattern": "^.{2,32}#[0-9]{4}$"}

Battle.net BattleTag

This custom field represents the player's BattleTag on the Battle.net platform. It is unique and can not be configured twice on an entity. It is only available on disciplines associated with Battle.net.

Type: battle_net_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Blood Bowl 2 id

This custom field represents the player's Blood Bowl 2 id. It is unique and can not be configured twice on an entity. It is only available on Blood Bowl 2.

Type: blood_bowl2_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Epic Games ID

The Epic Games ID represents the player's id on the Epic Games platform. It is unique and cannot be configured twice on an entity. It is only available on disciplines associated with the Epic Games platform.

Type: epic_player_id

JSON Schema

{ "type": "string", "minLength": 3, "maxLength": 255}

HS item pick

This custom field is reserved for the HS Pick & Ban feature. It represents the user choice of items as configured by the feature. It is only available on Hearthstone and Krosmaga.

Type: hs_pick_choice

JSON Schema

{ "type": "array", "items": { "type": "string", "enum": [ "item1", "item2", "item3..." ] }}

Example

[ "hunter", "mage", "paladin"]

Maniaplanet id

The maniaplanet id represents the player's id on Maniaplanet. It is unique and can not be configured twice on an entity. It is only available on disciplines associated with Maniaplanet.

Type: maniaplanet_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Origin ID

The Origin ID represents the player's id on the Origin platform. It is unique and can not be configured twice on an entity. It is only available on disciplines associated with the Origin platform.

Type: origin_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

PSN Online ID

The PSN Online ID represents the player's id when playing online on the Playstation network (PSN). It is unique and can not be configured twice on an entity. It is only available on disciplines associated with PSN.

Type: psn_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Riot Player id

The LOL Riot id represents the player's id in Riot's games. It is unique and can not be configured twice on an entity.

Type: riot_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Smite Player ID

The Smite Player ID represents the player's id in Smite. It is unique and can not be configured twice on an entity. It is only available on Smite.

Type: smite_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Steam ID

The Steam ID represents the player's id on the Steam platform. It is unique and can not be configured twice on an entity. It is only available on disciplines associated with the Steam platform.

Type: steam_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

LOL summoner id

The LOL summoner id represents the player's id in League of Legends. It is unique and can not be configured twice on an entity. It is only available on League of Legends.

Type: summoner_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Trackmania id

The trackmania id represents the player's id on Trackmania. It is unique and can not be configured twice on an entity. It is only available on disciplines associated with Trackmania.

Type: trackmania_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Uplay ID

The Uplay ID represents the player's id on the Uplay platform. It is unique and can not be configured twice on an entity. It is only available on disciplines associated with the Uplay platform.

Type: uplay_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Wargaming.net ID

This custom field represents the player's id on wargaming.net. It is unique and can not be configured twice on an entity. It is only available on disciplines associated with the wargaming.net platform.

Type: wargaming_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Xbox gamertag

This custom field represents the gamertag on Xbox Live. It is unique and can not be configured twice on an entity. It is only available on disciplines associated with the Xbox Live platform.

Type: xbox_live_player_id

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Checkbox

This custom field represents a boolean value that can be enabled/disabled through a checkbox.

Type: checkbox

JSON Schema

{ "type": "boolean"}

Custom

This field represents a custom text value. This allows the organizer to ask more specific questions that can not be transformed into processable data.

Type: text

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}

Opt-in

This custom field represents a boolean value that can be enabled/disabled through an opt-in shown at the end of a form. Its purpose is to accept/refuse certain conditions related to the registration. For other purposes, the checkbox type field is preferred.

Type: optin

JSON Schema

{ "type": "boolean"}

Website

This custom field represents the URL of a website. It is unique and can not be configured twice on an entity.

Type: website

JSON Schema

{ "type": "string", "minLength": 1, "maxLength": 255}
Top Articles
Latest Posts
Article information

Author: Zonia Mosciski DO

Last Updated: 26/02/2023

Views: 6000

Rating: 4 / 5 (71 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Zonia Mosciski DO

Birthday: 1996-05-16

Address: Suite 228 919 Deana Ford, Lake Meridithberg, NE 60017-4257

Phone: +2613987384138

Job: Chief Retail Officer

Hobby: Tai chi, Dowsing, Poi, Letterboxing, Watching movies, Video gaming, Singing

Introduction: My name is Zonia Mosciski DO, I am a enchanting, joyous, lovely, successful, hilarious, tender, outstanding person who loves writing and wants to share my knowledge and understanding with you.