Back to top

Management-API-Documentation

Changelog - v2.45

  • Add person convention groups to person list and single person

Changelog - v2.43

  • Add exhibitor categories

  • Change behavoir of create persons without password

General information

The Mobile Event app provides interfaces for external systems to import data into the app and update it if necessary. The interfaces are protected by a general access code, which differs from customer to customer.

The hostname serves as an example and must be replaced by the corresponding customer instance.

Authentication

The following header field is required to get access to the interface.

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

The interfaces support the following HTTP methods: GET, POST, DELETE

Request methods

Basically, a Create-Or-Update-Policy is implemented in the interface. This results in the following HTTP method assignments:

  • Create: POST

  • Edit: POST

  • Delete DELETE

  • (Retrieve: GET)

With an HTTP POST, the system always checks whether the entry already exists in the system (using the id). If it exists, the existing entry is edited.

HTML formatting

If fields support HTML formatting (explicitly specified), the following tags are allowed:

<a><p><em><strong><br><ul><li><ol><b><u><i>

Invalid tags are removed from the data field.

Conventions

Create Convention

Create a convention
POST/convention

This endpoint can be used to create a convention in the system of the mobile event app.

Required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

POST https://xyz-cms.plazz.net/conference/api/manage/convention
Request
HideShow

Request structure

  • name (required): The name of the convention that should be created in the mobile event app, maximum 255 characters

  • start_date (required): Start date of the convention in format YYYY-MM-DD

  • end_date (required): End date of the convention in format YYYY-MM-DD

  • account (optional): a object with additional account information

    • email: E mail address of the user that has to be created in the system of the mobile event app
    • name: The display name of the user

Additional information

The convention is created with german as language currently.

If a cms account with the e mail address can be found, this account is linked (if needed) to the desired convention, if the user role allows that connection. The role of a new created account is “convention manager”. If a new account is created in the system an e mail with credentials will be delivered to the provided e mail address, the mail is currently localized in german. The users that are created via this api did get the role of a convention manager, existing users must at leased be assigned to the role “convention manager”.

Headers
Content-Type: application/json
Body
{
  "name": "Christmas Party",
  "start_date": "2018-09-24",
  "end_date": "2018-09-20",
  "account": {
    "email": "john.doe@example.com",
    "name": "John Doe"
  }
}
Response  201
HideShow

Response for creating a convention.

  • id: the id of the new convention

  • access_key: the generated access key for further management api accesses

Headers
Content-Type: application/json
Body
{
  "status": "success",
  "id": "20",
  "access_key": "YXRIOSvKgARDmeJAazyE9Y3BiLhYGyd75lVUjq2o"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "no valid json data"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "not all mandatory fields provided"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Conflict",
  "message": "contingent reached"
}
Response  500
HideShow

The data could not be saved.

Headers
Content-Type: application/json
Body
{
  "error": "Internal Server Error",
  "message": "data could not be saved"
}

Exhibitors

List or create exhibitors

Fetch exhibitors as list
GET/{convention}/exhibitor

With this endpoint a list of exhibitors can be fetched

required header-parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

GET https://xyz-cms.plazz.net/conference/api/manage/convention/exhibitor
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

Response  200
HideShow

Eigenschaften

  • exhibitor_id: consecutive unique ID of the exhibitor in the Mobile-Event-App

  • exhibitor_latitude: Latitude of the exhibitor’s address or null

  • exhibitor_longitude: Longitude of the address of the exhibitor or null

  • exhibitor_deeplink: further in-app link of the exhibitor or null

  • convention_id: associated event ID, matches the request

  • exhibitor_pic: relative path to the CMS host, the image or null

  • exhibitor_good_groups: List of department IDs of the exhibitor or null

  • exhibitor_documents: List of document IDs of the exhibitor or null

  • exhibitor_events: List of event IDs of the exhibitor or null

  • exhibitor_categories: List of categories IDs of the exhibitor or null

  • external_id: ID from the external system, if available (the interface identifies data records via the data field), otherwise null

  • exhibitor_description: Description of the exhibitor as HTML, null or empty string.

  • exhibitor_link: Link to the website of the exhibitor

  • exhibitor_goods: Products of the exhibitor, plain text

  • exhibitor_deeplink_label: Stand designation

  • exhibitor_address: Address of the exhibitor as HTML, null or empty string.

Headers
Content-Type: application/json
Body
[
  {
    "exhibitor_id": "1",
    "exhibitor_latitude": "50.9755847",
    "exhibitor_longitude": "11.0178711",
    "exhibitor_deeplink": "net.plazz.mea.dev://1/points-of-interest/all",
    "convention_id": "1",
    "exhibitor_pic": "/uploads/exhibitors/demo-app-development.jpg",
    "exhibitor_good_groups": null,
    "exhibitor_documents": null,
    "exhibitor_events": null,
    "exhibitor_categories": null,
    "external_id": "AAA",
    "exhibitor_title": "plazz AG",
    "exhibitor_description": "<p>If the function is activated in the backend, exhibitors can be marked as favorites in the app.</p><p>Description is possible with links as well as pictures</p><p>Links can be embedded in pictures, k&ouml;nnen <a href=\"https://plazz.ag/\">as well as Text</a>.</p>",
    "exhibitor_link": "https://plazz.ag/",
    "exhibitor_goods": "iOS-App, Android-Apps, Web-Apps",
    "exhibitor_deeplink_label": "Sand XYZ",
    "exhibitor_address": "<p>Maximilian-Welsch-Stra&szlig;e 2b<br />99084 Erfurt</p>"
  }
]
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}

Create / update exhibitor
POST/{convention}/exhibitor

This endpoint can be used to create or update information on an individual exhibitor from the event.

Required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

POST https://xyz-cms.plazz.net/conference/api/manage/convention/exhibitor
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

Request
HideShow

Request structure

  • Mandatory fields:

    • id: exhibitor ID from external system: Regex: [A-Za-z0-9.-_]+ , max 255 characters
    • title: The name of the exhibitor: 255 characters maximum
  • optional fields:

    • description: The description of the exhibitor: may contain HTML tags, no character limit
    • website: The homepage of the exhibitor: a valid URL is required, maximum 255 characters.
    • picture: The exhibitor’s logo: base64 encoded raw image data
    • latitude: The exhibitor location latitude
    • longitude: The exhibitor location longitude
    • groups: List of groups for exhibitor. Missing groups will be created automatically. max. 255 characters per group name
Headers
Content-Type: application/json
Body
{
  "id": "AAA",
  "title": "plazz AG",
  "description": "<p>SOME HTML</p>",
  "website": "https://plazz.ag",
  "picture": "SOME BASE 64 ENCODED IMAGE",
  "latitude": "50.9755847",
  "longitude": "11.0178711",
  "categories": [
    "Category 1"
  ]
}
Response  200
HideShow

Response for updating exhibitors.

Headers
Content-Type: application/json
Body
{
  "status": "success"
}
Response  201
HideShow

Response for creating exhibitors.

Headers
Content-Type: application/json
Body
{
  "status": "success"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "no valid json data"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "not all mandatory fields provided"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}
Response  500
HideShow

The data could not be saved.

Headers
Content-Type: application/json
Body
{
  "error": "Internal Server Error",
  "message": "LIST OF ERRORS THAT OCCURED SEPARATED BY ;"
}

individual exhibitor

Fetch an exhibitor
GET/{convention}/exhibitor/{id}

This endpoint can be used to call up information on an individual exhibitor from the event.

Required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

GET https://xyz-cms.plazz.net/conference/api/manage/convention/exhibitor/id
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

id
string (required) 

exhibitor ID from external system (Regex: [A-Za-z0-9.-_]+)

Response  200
HideShow

Eigenschaften

  • exhibitor_id: consecutive unique ID of the exhibitor in the mobile event app

  • exhibitor_latitude: Latitude of the exhibitor’s address or null

  • exhibitor_longitude: Longitude of the issuer’s address or null

  • exhibitor_deeplink: further In-App-Link of the exhibitor or null

  • convention_id: corresponding event ID, matches the one of the request

  • exhibitor_pic: relative path to CMS host to image or null

  • exhibitor_good_groups: List of exhibitor’s product group IDs or null

  • exhibitor_documents: List of document IDs of the issuer or null

  • exhibitor_events: List of event IDs of the exhibitor or null

  • exhibitor_categories: List of event IDs of the exhibitor or null

  • external_id: ID from the external system, if available (the interface identifies data records via the data field), otherwise null

  • exhibitor_description: Description of the exhibitor as HTML, null or an empty string.

  • exhibitor_link: Link to exhibitor’s website

  • exhibitor_goods: Exhibitor’s products, plain text

  • exhibitor_deeplink_label: Stand designation

  • exhibitor_address: Exhibitor’s address as HTML, null or an empty string.

Headers
Content-Type: application/json
Body
{
  "exhibitor_id": "1",
  "exhibitor_latitude": "50.9755847",
  "exhibitor_longitude": "11.0178711",
  "exhibitor_deeplink": "net.plazz.mea.dev://1/points-of-interest/all",
  "convention_id": "1",
  "exhibitor_pic": "/uploads/exhibitors/demo-app-development.jpg",
  "exhibitor_good_groups": null,
  "exhibitor_documents": null,
  "exhibitor_events": null,
  "exhibitor_categories": null,
  "external_id": "AAA",
  "exhibitor_title": "plazz AG",
  "exhibitor_description": "<p>If the function is activated in the backend, exhibitors can be marked as favorites in the app.</p><p>Description with links and an image possible.</p><p>Links are behind the image, but can also <a href=\"https://plazz.ag/\">be included in the text </a>.</p>",
  "exhibitor_link": "https://plazz.ag/",
  "exhibitor_goods": "iOS-App, Android-Apps, Web-Apps",
  "exhibitor_deeplink_label": "Stand XYZ",
  "exhibitor_address": "<p>Maximilian-Welsch-Stra&szlig;e 2b<br />99084 Erfurt</p>"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Not Found",
  "message": "exhibitor not found"
}

Delete an exhibitor
DELETE/{convention}/exhibitor/{id}

This endpoint can be used to remove exhibitors from the event.

required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

DELETE https://xyz-cms.plazz.net/conference/api/manage/convention/exhibitor/id
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

id
string (required) 

The issuer ID from the external system (Regex: [A-Za-z0-9.-_]+)

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "status": "success"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "no identifier provided"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Not Found",
  "message": "exhibitor not found"
}

Search for exhibitors

Search for exhibitors
POST/{convention}/exhibitor/search

Exhibitors of the event can be searched via this endpoint.

required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

POST https://xyz-cms.plazz.net/conference/api/manage/convention/exhibitor/search
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

Request
HideShow

Structure of the request

  • title: The name of the exhibitor
Headers
Content-Type: application/json
Body
{
  "title": "plazz AG"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "title": "plazz AG",
    "external_id": "123455",
    "id": "7"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "no search criteria provided"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}

Persons

Retrieve configuration data

Retrieval of configuration data
GET/{convention}/person/configuration

This endpoint is used to retrieve the dynamic person fields of the event, as well as the global fields available in the system.

required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

GET https://xyz-cms.plazz.net/conference/api/manage/convention/person/configuration
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

Response  200
HideShow

Properties

  • fields: List of available data fields

    • field_id: Consecutive unique ID of the field in the mobile event app.
    • field_visibility: visibility setting of the field (cms|private|public)
    • field_type: Type of field
    • login: placeholder for login information
      • text: Single-line text element
      • textblock: multiline text element (HTML)
      • radio: Single selection --> under options are the corresponding option_ids
      • checkbox: Multiple selection --> under options are the corresponding option_ids
      • divider: Separating element
      • phone: Phone number, clickable
      • email: e-mail, clickable
      • link: Link, clickable
      • xing: Link, clickable
      • linkedin: Link, clickable
    • field_position: Position of the field within the app
    • readonly: Indicator whether the field is editable for users (yes|no)
    • required: Indicator whether the field must be filled (yes|no)
    • field_regex: Regular expression for checking values or zero
    • system_field: Indicator whether the field is a core field (yes|no)
    • person_key: Key of the person entity hidden behind the core field
    • convention_id: ID of the called event or null for the global fields
    • field_name: Display name of the field
    • visible: Indicator for field visibility (yes|no)
  • options: List of available selection options for single or multiple selection fields

    • option_id: Consecutive unique ID of the selection option in the Mobile Event app.
    • option_position: Position of the selection option within the app
    • field_id: Associated Field ID
    • convention_id: ID of the called event or null for the global selection options
    • field_name: Display name of the selection option
Headers
Content-Type: application/json
Body
{
  "fields": [
    {
      "field_id": "7",
      "field_visibility": "public",
      "field_type": "text",
      "field_position": "6",
      "readonly": "no",
      "required": "no",
      "field_regex": null,
      "system_field": "no",
      "person_key": null,
      "convention_id": null,
      "options": null,
      "field_name": "Company",
      "visible": "yes"
    },
    {
      "field_id": "8",
      "field_visibility": "public",
      "field_type": "text",
      "field_position": "7",
      "readonly": "no",
      "required": "no",
      "field_regex": null,
      "system_field": "no",
      "person_key": null,
      "convention_id": null,
      "options": null,
      "field_name": "Position",
      "visible": "yes"
    },
    {
      "field_id": "9",
      "field_visibility": "private",
      "field_type": "radio",
      "field_position": "1",
      "readonly": "no",
      "required": "no",
      "field_regex": null,
      "system_field": "no",
      "person_key": null,
      "convention_id": "1",
      "options": [
        "1",
        "2",
        "3"
      ],
      "field_name": "Ihr Hotel",
      "visible": "yes"
    }
  ],
  "options": [
    {
      "option_id": "1",
      "option_position": "1",
      "field_id": "9",
      "convention_id": "1",
      "option_name": "Hilton"
    },
    {
      "option_id": "2",
      "option_position": "2",
      "field_id": "9",
      "convention_id": "1",
      "option_name": "Dorint"
    },
    {
      "option_id": "3",
      "option_position": "3",
      "field_id": "9",
      "convention_id": "1",
      "option_name": "Paradise Beach"
    }
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}

List and create persons

Retrieve the persons as list
GET/{convention}/person

This endpoint returns a list of people.

required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

GET https://xyz-cms.plazz.net/conference/api/manage/convention/person
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

Response  200
HideShow

Properties

  • data: List of persons

    • person_id: Unique ID of the person in the mobile event app
    • username: username of the person or null
    • person_firstname: First name of the person
    • person_lastname: Last name of the person
    • person_email: E-mail address of the person or null
    • person_title: Title of the person
    • person_photo: Photo of the person or null
    • person_thumbnail: Thumbnail of the person’s photo or null
    • person_timestamp: Time of the last update of the person in UTC
    • setup_complete_timestamp: Time of completion of setup of person in UTC or null
    • mobile: Phone number of the person for 2-factor authentication or null
    • groups list of groups the person belongs to inside the convention
  • meta: List of corresponding meta data fields

    • data_id: Consecutive unique ID of the data record in the mobile event app.
    • field_id: Associated field ID of the data record
    • data_value: Value of the corresponding data field or null
    • person_id: associated person ID of the data record
    • convention_id: ID of the called event or null for the global fields
    • options: ID list of selected selection options for single or multiple selection fields
Headers
Content-Type: application/json
Body
{
  "data": [
    {
      "person_id": "56d590bce9849",
      "username": null,
      "person_lastname": "Benischke",
      "person_firstname": "Stefan",
      "person_email": null,
      "person_title": "Master of Science",
      "person_photo": "/uploads/persons/demo-sb.jpg",
      "person_thumbnail": "/uploads/persons/thumb_demo-sb.jpg",
      "person_timestamp": "2018-08-15 13:08:06",
      "setup_complete_timestamp": null,
      "mobile": null,
      "groups": []
    }
  ],
  "meta": [
    {
      "data_id": "3",
      "field_id": "7",
      "data_value": "plazz AG",
      "person_id": "56d590bce9849",
      "convention_id": null,
      "options": null
    },
    {
      "data_id": "4",
      "field_id": "8",
      "data_value": "Lead Software Engineer",
      "person_id": "56d590bce9849",
      "convention_id": null,
      "options": null
    }
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}

Creating / updating a person
POST/{convention}/person

This endpoint can be used to create or update information about a person.

required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

POST https://xyz-cms.plazz.net/conference/api/manage/convention/person
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

Request
HideShow

Structure of the request

  • mandatory fields:

    • id: The person ID from the external system: Regex: [A-Za-z0-9.-_]+ , maximum 190 characters --> is mapped to the PK in the Mobile Event App system
    • username: The username of the person: maximum 190 characters, Regex [A-Za-z0-9_.-@]+
  • Further data fields:

    • title: Title of the person
    • firstname: First name of person
    • lastname: Last name of person
    • email: E-mail address of the person or null
    • password: Password in plain text, if none is transmitted, an e-mail with the access data will not be sent when mail_on_create flag isn’t set
    • ticket: Ticket of the person for the check-in e.g.
    • groups: List of group names, if groups with the name do not exist in the database of the Mobile-Event app, they will be created.
    • delete_groups: List of group names, that should be removed from the person. If the group is not found, the entry is skipped. Only groups, belonging to the same conventions can be removed. System groups cannot be removed.
    • mail_on_create: true|false default false --> Indicator to send mails to users during the process.
    • meta: List of meta data
      • field_id: ID of the corresponding metadata field
      • field_value: Transfer the contents of the field to be saved to zero for single and multiple selection fields.
      • options: List of selected selection options for single and multiple selection fields, null for text fields
Headers
Content-Type: application/json
Body
{
  "id": "AAA",
  "username": "stefanb",
  "firstname": "Stefan",
  "lastname": "Benischke",
  "title": "Master of Science",
  "password": "SOME SECURE PASSWORD",
  "ticket": "SOME SECURE TICKET ID",
  "groups": [
    "Participant",
    "VIP"
  ],
  "delete_groups": [
    "Group Red"
  ],
  "mail_on_create": true,
  "meta": [
    {
      "field_id": "7",
      "field_value": "PLAZZ AG",
      "options": null
    },
    {
      "field_id": "8",
      "field_value": "Lead Software Engineer",
      "options": null
    }
  ]
}
Response  200
HideShow

Response for updating people.

Headers
Content-Type: application/json
Body
{
  "status": "success"
}
Response  201
HideShow

Response for creating people.

Headers
Content-Type: application/json
Body
{
  "status": "success"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "no valid json data"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "not all mandatory fields provided"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "invalid username format"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "e mail is required during import without passwords"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Conflict",
  "message": "duplicated ticket id"
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Conflict",
  "message": "duplicated username",
  "suggestion": "stefanb1"
}
Response  500
HideShow

Die Daten konnten nicht gespeichert werden.

Headers
Content-Type: application/json
Body
{
  "error": "Internal Server Error",
  "message": "data could not be saved"
}

single person

Retrieving a person
GET/{convention}/person/{id}

This endpoint can be used to retrieve information about an individual person.

required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

GET https://xyz-cms.plazz.net/conference/api/manage/convention/person/id
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

id
string (required) 

Die Personen-ID aus dem Fremdsystem / Mobile-Event-App (Regex: [A-Za-z0-9.-_]+)

Response  200
HideShow

Properties

  • person_id: Unique ID of the person in the mobile event app

  • username: username of the person or null

  • person_firstname: First name of the person

  • person_lastname: Last name of the person

  • person_email: E-mail address of the person or null

  • person_title: Title of the person

  • person_photo: Photo of the person or null

  • person_thumbnail: Thumbnail of the person’s photo or null

  • person_timestamp: Time of the last update of the person in UTC

  • setup_complete_timestamp: Time of completion of setup of person in UTC or null

  • mobile: Phone number of the person for 2-factor authentication or zero

  • groups list of groups a person belongs to inside the convention

  • meta: List of corresponding meta data fields

    • data_id: Consecutive unique ID of the data record in the mobile event app.
    • field_id: Associated field ID of the data record
    • data_value: Value of the corresponding data field or null
    • person_id: associated person ID of the data record
    • convention_id: ID of the called event or null for the global fields
    • options: ID list of selected selection options for single or multiple selection fields
Headers
Content-Type: application/json
Body
{
    "person_id": "56d590bce9849",
    "username": null,
    "person_lastname": "Benischke",
    "person_firstname": "Stefan",
    "person_email": null,
    "person_title": "Master of Science",
    "person_photo": "\/uploads\/persons\/demo-sb.jpg",
    "person_thumbnail": "\/uploads\/persons\/thumb_demo-sb.jpg",
    "person_timestamp": "2018-08-15 13:08:06",
    "setup_complete_timestamp": null,
    "mobile": null,
    "groups": []
    "meta": [
        {
            "data_id": "3",
            "field_id": "7",
            "data_value": "plazz AG",
            "person_id": "56d590bce9849",
            "convention_id": null,
            "options": null
        },
        {
            "data_id": "4",
            "field_id": "8",
            "data_value": "Lead Software Engineer",
            "person_id": "56d590bce9849",
            "convention_id": null,
            "options": null
        }
    ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Not Found",
  "message": "person not found"
}

Deleting a person from the system
DELETE/{convention}/person/{id}

This endpoint can be used to permanently remove people from the Mobile Event app.

required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

DELETE https://xyz-cms.plazz.net/conference/api/manage/convention/person/id
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

id
string (required) 

The person ID from the external system / mobile event app (Regex: [A-Za-z0-9.-_]+)

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "status": "success"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "no identifier provided"
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Not Found",
  "message": "person not found"
}

Deleting a person from an event
DELETE/{convention}/person/convention/{id}

This endpoint can be used to remove people from the event.

required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

DELETE https://xyz-cms.plazz.net/conference/api/manage/convention/person/convention/id
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

id
string (required) 

The person ID from the external system / mobile event app (Regex: [A-Za-z0-9.-_]+)

Response  200
HideShow

Properties

  • setup_complete: Timestamp of completion of user system setup

  • convention_profiles: Number of event profiles of the user

  • limited_convention_count: Number of protected events that are accessible to the user after removal (incl. hidden events)

  • free_convention_count: Number of freely accessible events for the user (incl. hidden events)

Headers
Content-Type: application/json
Body
{
  "status": "success",
  "setup_complete": null,
  "convention_profiles": 1,
  "limited_convention_count": 0,
  "free_convention_count": 1
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "no identifier provided"
}

Search for persons

Search for persons
POST/{convention}/person/search

Persons can be searched via this endpoint.

required header parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

POST https://xyz-cms.plazz.net/conference/api/manage/convention/person/search
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

Request
HideShow

All fields are optional, but at least one field must exist. Fields are AND linked.

Structure of the request

  • firstname: First name of person

  • lastname: Last name of person

  • email: Person’s e-mail address

  • username: username of the person

  • id: ID of the person

  • ticket: Ticket-ID of the person

Headers
Content-Type: application/json
Body
{
  "firstname": "Stefan",
  "lastname": "Benischke",
  "ticket": "12345"
}
Response  200
HideShow

Properties

  • persons: List of persons matching the search criteria

    • firstname: First name of person
    • lastname: Last name of person
    • email: Person’s e-mail address
    • username: username of the person
    • id: ID of the person
  • profiles: List of profile information matching the search criteria

    • ticket: Ticket-ID of the person,
    • person_id: ID of the person,
    • id: internal ID of the data record
Headers
Content-Type: application/json
Body
{
  "persons": [
    {
      "firstname": "Stefan",
      "lastname": "Benischke",
      "email": null,
      "username": null,
      "id": "56d590bce9849"
    }
  ],
  "profiles": [
    {
      "ticket": "12345",
      "person_id": "56d590bce9849",
      "id": "2"
    }
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "no search criteria provided"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}

Agenda

List and create agenda points

Fetch current agenda as a list
GET/{convention}/event

This endpoint is used to fetch presentations during the event

required Header-Parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

GET https://xyz-cms.plazz.net/conference/api/manage/convention/event
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

Response  200
HideShow

Attributes

  • event_id: successive Unique-ID for the agenda point inside the Mobile-Event-App

  • event_type: type of the agenda point (event|separator)

  • convention_id: related convention ID, matches request

  • event_persons: List of person IDs which are linked to the presentations as speakers

  • external_id: external system if existent (the interface identifies datasets from the array), else null

  • event_name: presentation name

  • event_desc: HTML-description of the presentation

Headers
Content-Type: application/json
Body
[
  {
    "event_id": "1",
    "event_type": "event",
    "convention_id": "1",
    "event_persons": [],
    "external_id": null,
    "event_name": "Coffee break",
    "event_desc": ""
  }
]

create / edit an agenda point
POST/{convention}/event

With this endpoint informations for a single agenda point can be created or edited

required header parametes

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

POST https://xyz-cms.plazz.net/conference/api/manage/convention/event
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

Request
HideShow

Request structure

  • Mandatory fields:

    • id: agenda point ID from external system: Regex: [A-Za-z0-9.-_]+ , max 255 characters
    • name: The Agenda points name
    • date: Date of the agenda point in YYYY-MM-DD format
    • starttime: Starting time of the agenda point in HH:mm:ss format
  • optional fields:

    • description: Description of the agenda point: can contain HMTML tags, no character limitation
    • type: Type of the agenda point (event|separator)
    • endtime: Ending time of the agenda point in HH:mm:ss format or null
    • room: Roomname of the agenda point
    • speakers: List of speaker-IDs (person-IDs)
    • categories: List of agenda point categories. Missing categories will be created automatically. Max 255 characters per category.
    • groups: List of groups for which agenda points will be visible. Missing groups will be created automatically. max. 255 characters per group name
Headers
Content-Type: application/json
Body
{
  "name": "Presentation about the plazz AG",
  "date": "2018-08-16",
  "starttime": "12:00:00",
  "endtime": "13:00:00",
  "id": "AAA",
  "speakers": [
    ""
  ],
  "categories": [
    "Category 1"
  ],
  "groups": [
    "Visibility groups"
  ]
}
Response  200
HideShow

Reply for the update of agenda points.

Headers
Content-Type: application/json
Body
{
  "status": "success"
}
Response  201
HideShow

Reply for the creation of agenda points.

Headers
Content-Type: application/json
Body
{
  "status": "success"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "no valid json data"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "not all mandatory fields provided"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "block end can not come sooner than block start"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}
Response  500
HideShow

Data could not be saved.

Headers
Content-Type: application/json
Body
{
  "error": "Internal Server Error",
  "message": "LIST OF ERRORS THAT OCCURED SEPARATED BY ;"
}

single agenda points

Fetching a single agenda point
GET/{convention}/event/{id}

With this endpoint informations about a single agenda point can be fetched

required header-parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

GET https://xyz-cms.plazz.net/conference/api/manage/convention/event/id
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

id
string (required) 

agenda point ID from external system (Regex: [A-Za-z0-9.-_]+)

Response  200
HideShow

properties

  • event_id: Unique-ID of the agenda point in the Mobile-Event-App

  • name: Presentation name

  • type: Presentation type

  • description: Description

  • blocks: List of presentation time slots, usually one entry

    • starttime: Starting time of the time slot
    • endtime: Ending time of the time slot or null
    • room: Time slot room
    • speakers: List of speaker-IDs (person-IDs)
    • categories: List of internal category-IDs linked to the time slot
    • groups: List of internal group-IDs linked to the time slot
    • date: Date of the presentation
  • external_id: Agenda point ID from external system

Headers
Content-Type: application/json
Body
{
  "event_id": "29",
  "name": "Presentation about the plazz AG",
  "type": "event",
  "description": "",
  "blocks": [
    {
      "starttime": "12:00:00",
      "endtime": "13:00:00",
      "room": "",
      "speakers": [
        "56d590bce9849"
      ],
      "categories": [
        "1"
      ],
      "groups": [
        "11"
      ],
      "date": "2018-08-16"
    }
  ],
  "external_id": "AAABA"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Not Found",
  "message": "event not found"
}

Deleting an agenda point
DELETE/{convention}/event/{id}

With this endpoint agenda points can be deleted from the event

required header-parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

DELETE https://xyz-cms.plazz.net/conference/api/manage/convention/event/id
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

id
string (required) 

agenda point ID from external system (Regex: [A-Za-z0-9.-_]+)

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "status": "success"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "no identifier provided"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Not Found",
  "message": "event not found"
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Internal Server Error",
  "message": "data could not be deleted"
}

Searching for agenda points

Searchign for agenda points
POST/{convention}/event/search

With this endpoint agenda points can be searched for.

required header-parameters

X-ACCESS-KEY: SOME-RANDOMIZED-SECURE-ACCESS-KEY-PROVIDED-BY-PLAZZ

Example URI

POST https://xyz-cms.plazz.net/conference/api/manage/convention/event/search
URI Parameters
HideShow
convention
int (required) 

Convention ID for which the access key has been provisioned

Request
HideShow

Aufbau des Request

  • name: the name of the lecture
Headers
Content-Type: application/json
Body
{
  "name": "Presentation about plazz AG"
}
Response  200
HideShow

Properties

  • id: Unique agenda-point-ID in the Mobile-Event-App

  • name: Presentation name

  • external_id: Agenda-point-ID from external system

Headers
Content-Type: application/json
Body
[
  {
    "name": "Presentation about plazz AG",
    "external_id": "AAA",
    "id": "27"
  }
]
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Bad Request",
  "message": "no search criteria provided"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unauthorized",
  "message": "no valid access key"
}

Generated by aglio on 23 May 2019