Exhibition module

Message flow

To get a short list of all exhibitors in a room, a client can push a message like this:

=> ["exhibition.list", 1234, {"room": "room_1"}]
<- ["success", 1234, {"exhibitors": []}]

The response will contain a shortened list with the fields

  • id: (string)

  • name: (string)

  • tagline: (string)

  • logo: (string, image url)

  • short_text: (string)

  • size: (string, “1x1”, “3x1” or “3x3)

  • sorting_priority: (integer)

To get comprehensive profile of an exhibitor, a client can push a message like this:

=> ["exhibition.get", 1234, {"exhibitor": "exhibitor_id"}]
<- ["success", 1234, {"exhibitor": {...}]

The response will contain the fields

  • name: (string)

  • tagline: (string)

  • logo: (string, image url)

  • banner_list: (string, image url)

  • banner_detail: (string, image url)

  • contact_enabled: (boolean)

  • text: (string, markdown)

  • size: (string, “1x1”, “3x1” or “3x3)

  • sorting_priority: (integer)

  • links: (list of objects {"url", "display_text"})

  • social_media_links: (list of objects {"url", "display_text"})

  • staff: (list of user objects)

Contact request

To request a private chat with one of the staff members of an exhibitor, a client can push a message like this:

=> ["exhibition.contact", 1234, {"exhibitor": id}]
<- ["success", 1234, {}]

A contact request (with state “open”) will be send to all clients associated as staff:

<- ["exhibition.contact_request", {id, exhibitor_id, user_id, state}]

A client can accept the contact request with a message like this:

=> ["exhibition.contact_accept", 1234, {"contact_request": id}]
<- ["success", 1234, {}]

The client which requested the contact will be send a message like:

<- ["exhibition.contact_accepted", {"contact_request": {id, exhibitor, user, state}, "channel": "…"}]

The state will become “answered” and messages send to all staff members:

<- ["exhibition.contact_request_close", {"contact_request": {id, exhibitor, user, state}}]

Cancel contact request

A client can cancel a contact request with a message like this:

=> ["exhibition.contact_cancel", 1234, {"contact_request": id}]
<- ["success", 1234, {}]

The state will be set to “missed” and messages send to all staff members:

<- ["exhibition.contact_request_close", {"contact_request": {id, exhibitor, user, state}}]