Data Fields

Data Fields are special extra fields that hold questions the customer can be asked on checkout. DataFields can be applied to tickettypes or globally to events.

The Data Field object

Required attributes

  • Name
    _id
    Type
    string
    Description

    The ID of the data field

  • Name
    sellerId
    Type
    string
    Description

    The ID of the seller of the data field

  • Name
    name
    Type
    string
    Description

    The name of the data field

  • Name
    type
    Type
    enum(text, number, select, checkbox, tel, country, email, date, documentUpload, signature, address)
    Description

    The type of data field

  • Name
    slug
    Type
    string
    Description

    The slug generated out of name

Optional attributes

  • Name
    title
    Type
    string
    Description

    The default title of the data field

  • Name
    isPersonalData
    Type
    boolean
    Description

    Whether the data field is personal data

  • Name
    description
    Type
    string
    Description

    The default description of the data field

  • Name
    options
    Type
    array<string>
    Description

    An array of options when type is select

  • Name
    minLength
    Type
    number
    Description

    Minimum length for a text input

  • Name
    maxLength
    Type
    number
    Description

    Maximum length for a text input

  • Name
    settings
    Type
    oneOf
    Description

Example

{
  "_id": "507f191e810c19729de860ea",
  "sellerId": "507f191e810c19729de860ea",
  "name": "Example Name",
  "type": "text",
  "slug": "string",
  "title": "string",
  "isPersonalData": true,
  "description": "string",
  "options": [
    "string"
  ],
  "minLength": 10.5,
  "maxLength": 10.5,
  "settings": {
    "allowedMimeTypes": [
      "application/pdf"
    ]
  }
}

POST/api/data-fields

Create a Data Field

Create a Data Field

Payload

Required attributes

  • Name
    type
    Type
    enum(text, number, select, checkbox, tel, country, email, date, documentUpload, signature, address)
    Description

    The type of data field

  • Name
    name
    Type
    string
    Description

Optional attributes

  • Name
    title
    Type
    string
    Description

    The default title of the data field

  • Name
    description
    Type
    string
    Description

    The default description of the data field

  • Name
    isPersonalData
    Type
    boolean
    Description

    Whether the data field is personal data

  • Name
    options
    Type
    array<string>
    Description

    An array of options when type is select

  • Name
    minLength
    Type
    number
    Description

    Minimum length for a text input

  • Name
    maxLength
    Type
    number
    Description

    Maximum length for a text input

  • Name
    settings
    Type
    oneOf
    Description

Request

POST
/api/data-fields
const response = await fetch('https://vivenu.com/api/data-fields', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer {token}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(  {
    "type": "text",
    "name": "Example Name",
    "title": "string",
    "description": "string",
    "isPersonalData": true,
    "options": [
      "string"
    ],
    "minLength": 10.5,
    "maxLength": 10.5,
    "settings": {
      "allowedMimeTypes": [
        "application/pdf"
      ]
    }
  }),
})

const data = await response.json()

Response (201)

{
  "_id": "507f191e810c19729de860ea",
  "sellerId": "507f191e810c19729de860ea",
  "name": "Example Name",
  "type": "text",
  "slug": "string",
  "title": "string",
  "isPersonalData": true,
  "description": "string",
  "options": [
    "string"
  ],
  "minLength": 10.5,
  "maxLength": 10.5,
  "settings": {
    "allowedMimeTypes": [
      "application/pdf"
    ]
  }
}

PUT/api/data-fields/:id

Update a Data Field

Update a Data Field

Payload

Optional attributes

  • Name
    title
    Type
    string
    Description

    The default title of the data field

  • Name
    description
    Type
    string
    Description

    The default description of the data field

  • Name
    isPersonalData
    Type
    boolean
    Description

    Whether the data field is personal data

  • Name
    options
    Type
    array<string>
    Description

    An array of options when type is select

  • Name
    minLength
    Type
    number
    Description

    Minimum length for a text input

  • Name
    maxLength
    Type
    number
    Description

    Maximum length for a text input

  • Name
    settings
    Type
    oneOf
    Description

Request

PUT
/api/data-fields/:id
const response = await fetch('https://vivenu.com/api/data-fields/507f191e810c19729de860ea', {
  method: 'PUT',
  headers: {
    Authorization: 'Bearer {token}',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(  {
    "title": "string",
    "description": "string",
    "isPersonalData": true,
    "options": [
      "string"
    ],
    "minLength": 10.5,
    "maxLength": 10.5,
    "settings": {
      "allowedMimeTypes": [
        "application/pdf"
      ]
    }
  }),
})

const data = await response.json()

Response (200)

{
  "_id": "507f191e810c19729de860ea",
  "sellerId": "507f191e810c19729de860ea",
  "name": "Example Name",
  "type": "text",
  "slug": "string",
  "title": "string",
  "isPersonalData": true,
  "description": "string",
  "options": [
    "string"
  ],
  "minLength": 10.5,
  "maxLength": 10.5,
  "settings": {
    "allowedMimeTypes": [
      "application/pdf"
    ]
  }
}

GET/api/data-fields/:id

Get a Data Field

Get a Data Field

Request

GET
/api/data-fields/:id
const response = await fetch('https://vivenu.com/api/data-fields/507f191e810c19729de860ea', {
  method: 'GET',
  headers: {
    Authorization: 'Bearer {token}',
  },
})

const data = await response.json()

Response (200)

{
  "_id": "507f191e810c19729de860ea",
  "sellerId": "507f191e810c19729de860ea",
  "name": "Example Name",
  "type": "text",
  "slug": "string",
  "title": "string",
  "isPersonalData": true,
  "description": "string",
  "options": [
    "string"
  ],
  "minLength": 10.5,
  "maxLength": 10.5,
  "settings": {
    "allowedMimeTypes": [
      "application/pdf"
    ]
  }
}

GET/api/data-fields

Get all Data Fields

Get all Data Fields

Request

GET
/api/data-fields
const response = await fetch('https://vivenu.com/api/data-fields', {
  method: 'GET',
  headers: {
    Authorization: 'Bearer {token}',
  },
})

const data = await response.json()

Response (200)

[]

GETPUBLIC/api/data-fields/resolve

Get all Data Fields by reference

Get all Data Fields by reference

Query parameters

Required query parameters

  • Name
    sellerId
    Type
    string
    Description
  • Name
    scope
    Type
    enum(CUSTOMER, TICKET, TRANSACTION, CHECKOUT)
    Description

Optional query parameters

  • Name
    eventId
    Type
    string
    Description
  • Name
    shopId
    Type
    string
    Description
  • Name
    ticketTypeId
    Type
    string
    Description
  • Name
    checkoutId
    Type
    string
    Description
  • Name
    locale
    Type
    string
    Description

Request

GET
/api/data-fields/resolve
const response = await fetch('https://vivenu.com/api/data-fields/resolve?sellerId=507f191e810c19729de860ea&scope=CUSTOMER&eventId=507f191e810c19729de860ea&shopId=507f191e810c19729de860ea&ticketTypeId=507f191e810c19729de860ea&checkoutId=507f191e810c19729de860ea&locale=value', {
  method: 'GET',
  headers: {
    Authorization: 'Bearer {token}',
  },
})

const data = await response.json()

Response (200)

[
  {
    "_id": "507f191e810c19729de860ea",
    "name": "Example Name",
    "type": "text",
    "slug": "string",
    "options": [
      "string"
    ],
    "description": "string"
  }
]

Was this page helpful?