Skip to content

Instantly share code, notes, and snippets.

@siwonred
Last active December 28, 2017 12:03
Show Gist options
  • Save siwonred/0d1392f4628ed58dc89cddf1078f89c6 to your computer and use it in GitHub Desktop.
Save siwonred/0d1392f4628ed58dc89cddf1078f89c6 to your computer and use it in GitHub Desktop.
swagger-partner.json
{
"swagger":"2.0",
"info":{
"description":"Channel Open API. You may need Access Key and Access Secret Credential for authentication.<a href=\"https://help.channel.io/hc/categories/115000834847\">See API Guides</a>",
"title":"Channel Open Api"
},
"basePath":"/",
"tags":[
{
"name":"Bots"
},
{
"name":"ChannelManager"
},
{
"name":"Channel"
},
{
"name":"Events"
},
{
"name":"Group"
},
{
"name":"Managers"
},
{
"name":"Messages"
},
{
"name":"Plugins"
},
{
"name":"User Chat"
},
{
"name":"Users"
},
{
"name":"Veils"
},
{
"name":"Webhooks"
}
],
"schemes":[
"http",
"https"
],
"paths":{
"/open/bots":{
"get":{
"tags":[
"Bots"
],
"summary":"Retrieve a list of bots.",
"description":"The number of bots retrieved in this endpoint is restricted by the `limit` query parameter, and is capped to values in the closed interval `[1, 100]`.\n\nPagination is supported through the `since` query parameter along with the `next` value contained in the root object of the JSON response. Successive queries to this endpoint using the previous `next` value as the `since` parameter will ultimately retrieve all bots.\n\nIf the `since` parameter is left empty, the list retrieved will start with the bot of highest ID.",
"operationId":"index",
"produces":[
"application/json"
],
"parameters":[
{
"name":"since",
"in":"query",
"description":"ID of the last bot to be retrieved",
"required":false,
"type":"string"
},
{
"name":"limit",
"in":"query",
"description":"Restrict the maximum number of bots to be retrieved",
"required":false,
"type":"integer",
"default":25,
"maximum":100,
"minimum":1,
"format":"int32"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/BotsView"
}
}
}
},
"post":{
"tags":[
"Bots"
],
"summary":"Create a new bot.",
"description":"",
"operationId":"create",
"produces":[
"application/json"
],
"parameters":[
{
"in":"body",
"name":"body",
"description":"JSON object defining the new bot",
"required":false,
"schema":{
"$ref":"#/definitions/Bot"
}
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/BotView"
}
}
}
}
},
"/open/bots/{botId}":{
"delete":{
"tags":[
"Bots"
],
"summary":"Delete a bot.",
"description":"",
"operationId":"delete",
"produces":[
"application/json"
],
"parameters":[
{
"name":"botId",
"in":"path",
"description":"ID of the bot to be deleted",
"required":true,
"type":"string",
"pattern":"\\d+"
}
],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/open/channel_managers/{channelManagerId}":{
"get":{
"tags":[
"ChannelManager"
],
"summary":"Retrieve a channel manager.",
"description":"",
"operationId":"show",
"produces":[
"application/json"
],
"parameters":[
{
"name":"channelManagerId",
"in":"path",
"description":"ID of the manager to be retrieved",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/ChannelManagerView"
}
}
}
},
"delete":{
"tags":[
"ChannelManager"
],
"summary":"Delete a channel manager.",
"description":"",
"operationId":"delete",
"produces":[
"application/json"
],
"parameters":[
{
"name":"channelManagerId",
"in":"path",
"description":"ID of the manager to be deleted",
"required":true,
"type":"string"
}
],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/open/channel/avatar":{
"get":{
"tags":[
"Channel"
],
"summary":"Retrieve a channel avatar image.",
"description":"",
"operationId":"showAvatar",
"produces":[
"application/json"
],
"parameters":[
],
"responses":{
"default":{
"description":"successful operation"
}
}
},
"post":{
"tags":[
"Channel"
],
"summary":"Upload a new channel avatar image.",
"description":"",
"operationId":"uploadAvatar",
"consumes":[
"multipart/form-data"
],
"produces":[
"application/json"
],
"parameters":[
{
"name":"file",
"in":"formData",
"description":"The file to be set as new channel avatar",
"required":false,
"type":"file"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/ChannelView"
}
}
}
}
},
"/open/channel":{
"get":{
"tags":[
"Channel"
],
"summary":"Retrieve a channel.",
"description":"",
"operationId":"showById",
"produces":[
"application/json"
],
"parameters":[
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/ChannelView"
}
}
}
}
},
"/open/events/{eventId}":{
"get":{
"tags":[
"Events"
],
"summary":"Get an event",
"description":"",
"operationId":"show",
"produces":[
"application/json"
],
"parameters":[
{
"name":"eventId",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/EventView"
}
}
}
}
},
"/open/groups":{
"get":{
"tags":[
"Group"
],
"summary":"List of groups",
"description":"",
"operationId":"index",
"produces":[
"application/json"
],
"parameters":[
{
"name":"since",
"in":"query",
"required":false,
"type":"string"
},
{
"name":"limit",
"in":"query",
"required":false,
"type":"integer",
"format":"int32"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/GroupsView"
}
}
}
}
},
"/open/groups/{groupId}":{
"get":{
"tags":[
"Group"
],
"summary":"Show a group by id",
"description":"",
"operationId":"showById",
"produces":[
"application/json"
],
"parameters":[
{
"name":"groupId",
"in":"path",
"required":true,
"type":"string",
"pattern":"\\d+"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/GroupView"
}
}
}
}
},
"/open/groups/@{groupName}":{
"get":{
"tags":[
"Group"
],
"summary":"Show a group by name",
"description":"",
"operationId":"showByName",
"produces":[
"application/json"
],
"parameters":[
{
"name":"groupName",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/GroupView"
}
}
}
}
},
"/open/groups/{groupId}/messages":{
"get":{
"tags":[
"Group"
],
"summary":"Retrieve a list of messages in a chat.",
"description":"The number of messages retrieved in this endpoint is restricted by the `limit` query parameter, and is capped to values in the closed interval `[1, 100]`.\n\nPagination is supported through the `since` query parameter along with the `next` value contained in the root object of the JSON response. Successive queries to this endpoint using the previous `next` value as the `since` parameter will ultimately retrieve all messages in the chat.\n\nIf the `since` parameter is left empty, the list retrieved will start with the first message (as specified by the `order` parameter).",
"operationId":"indexMessages",
"produces":[
"application/json"
],
"parameters":[
{
"name":"since",
"in":"query",
"description":"Epoch time in microseconds of the first message to be retrieved",
"required":false,
"type":"string"
},
{
"name":"limit",
"in":"query",
"description":"Restrict the maximum number of messages to be retrieved",
"required":false,
"type":"integer",
"default":25,
"maximum":100,
"minimum":1,
"format":"int32"
},
{
"name":"sortOrder",
"in":"query",
"description":"Order messages should be listed (descending order means latest message first)",
"required":true,
"type":"string",
"default":"DESC",
"enum":[
"ASC",
"DESC",
"BOTH"
]
},
{
"name":"groupId",
"in":"path",
"required":true,
"type":"string",
"pattern":"\\d+"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/MessagesView"
}
}
}
},
"post":{
"tags":[
"Group"
],
"summary":"Send a new message to a chat.",
"description":"Below example of body parameter\n\n\t{\n\t\t\"message\": \"Your message\",\n\t\t\"botOption\": {\n\t\t\t\"actAsManager\": false,\n\t\t\t\"silentToManager\": false,\n\t\t\t\"silentToGuest\": false\n\t\t}\n\t}\n\nDescribe parameters\n\nmessage: Your message.\n\nbotOption: If empty or null, actAsManager and silentToManager is false\n\nbotOption.actAsManager: If true, update UserChat from 'open' to 'following' state when a bot sends. Default is false.\n\nbotOption.silentToManager: If true, unread count in manager sessions won't be increased when a bot sends. Default is false.\n\nbotOption.silentToGuest: If true, unread count in guest sessions won't be increased when a bot sends. Default is false.\n\n",
"operationId":"create",
"produces":[
"application/json"
],
"parameters":[
{
"in":"body",
"name":"body",
"description":"JSON object defining the new message",
"required":false,
"schema":{
"$ref":"#/definitions/Message"
}
},
{
"name":"botName",
"in":"query",
"description":"Name of the bot sending the message",
"required":true,
"type":"string"
},
{
"name":"groupId",
"in":"path",
"required":true,
"type":"string",
"pattern":"\\d+"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/MessageView"
}
}
}
}
},
"/open/groups/{groupId}/messages/file":{
"post":{
"tags":[
"Group"
],
"summary":"Send a new file to a chat.",
"description":"",
"operationId":"uploadFile",
"consumes":[
"multipart/form-data"
],
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"in":"formData",
"required":false,
"type":"string"
},
{
"name":"file",
"in":"formData",
"required":false,
"type":"file"
},
{
"name":"requestId",
"in":"formData",
"required":false,
"type":"string"
},
{
"name":"scope",
"in":"formData",
"required":false,
"type":"string"
},
{
"name":"botName",
"in":"query",
"description":"Name of the bot sending the message",
"required":true,
"type":"string"
},
{
"name":"groupId",
"in":"path",
"required":true,
"type":"string",
"pattern":"\\d+"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/MessageView"
}
}
}
}
},
"/open/groups/@{groupName}/messages":{
"get":{
"tags":[
"Group"
],
"summary":"Retrieve a list of messages in a chat.",
"description":"The number of messages retrieved in this endpoint is restricted by the `limit` query parameter, and is capped to values in the closed interval `[1, 100]`.\n\nPagination is supported through the `since` query parameter along with the `next` value contained in the root object of the JSON response. Successive queries to this endpoint using the previous `next` value as the `since` parameter will ultimately retrieve all messages in the chat.\n\nIf the `since` parameter is left empty, the list retrieved will start with the first message (as specified by the `order` parameter).",
"operationId":"indexMessages",
"produces":[
"application/json"
],
"parameters":[
{
"name":"since",
"in":"query",
"description":"Epoch time in microseconds of the first message to be retrieved",
"required":false,
"type":"string"
},
{
"name":"limit",
"in":"query",
"description":"Restrict the maximum number of messages to be retrieved",
"required":false,
"type":"integer",
"default":25,
"maximum":100,
"minimum":1,
"format":"int32"
},
{
"name":"sortOrder",
"in":"query",
"description":"Order messages should be listed (descending order means latest message first)",
"required":true,
"type":"string",
"default":"DESC",
"enum":[
"ASC",
"DESC",
"BOTH"
]
},
{
"name":"groupName",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/MessagesView"
}
}
}
},
"post":{
"tags":[
"Group"
],
"summary":"Send a new message to a chat.",
"description":"Below example of body parameter\n\n\t{\n\t\t\"message\": \"Your message\",\n\t\t\"botOption\": {\n\t\t\t\"actAsManager\": false,\n\t\t\t\"silentToManager\": false,\n\t\t\t\"silentToGuest\": false\n\t\t}\n\t}\n\nDescribe parameters\n\nmessage: Your message.\n\nbotOption: If empty or null, actAsManager and silentToManager is false\n\nbotOption.actAsManager: If true, update UserChat from 'open' to 'following' state when a bot sends. Default is false.\n\nbotOption.silentToManager: If true, unread count in manager sessions won't be increased when a bot sends. Default is false.\n\nbotOption.silentToGuest: If true, unread count in guest sessions won't be increased when a bot sends. Default is false.\n\n",
"operationId":"create",
"produces":[
"application/json"
],
"parameters":[
{
"in":"body",
"name":"body",
"description":"JSON object defining the new message",
"required":false,
"schema":{
"$ref":"#/definitions/Message"
}
},
{
"name":"botName",
"in":"query",
"description":"Name of the bot sending the message",
"required":true,
"type":"string"
},
{
"name":"groupName",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/MessageView"
}
}
}
}
},
"/open/groups/@{groupName}/messages/file":{
"post":{
"tags":[
"Group"
],
"summary":"Send a new file to a chat.",
"description":"",
"operationId":"uploadFile",
"consumes":[
"multipart/form-data"
],
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"in":"formData",
"required":false,
"type":"string"
},
{
"name":"file",
"in":"formData",
"required":false,
"type":"file"
},
{
"name":"requestId",
"in":"formData",
"required":false,
"type":"string"
},
{
"name":"scope",
"in":"formData",
"required":false,
"type":"string"
},
{
"name":"botName",
"in":"query",
"description":"Name of the bot sending the message",
"required":true,
"type":"string"
},
{
"name":"groupName",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/MessageView"
}
}
}
}
},
"/open/groups/{groupId}/sessions":{
"get":{
"tags":[
"Group"
],
"summary":"List sessions.",
"description":"",
"operationId":"index",
"produces":[
"application/json"
],
"parameters":[
{
"name":"groupId",
"in":"path",
"required":true,
"type":"string",
"pattern":"\\d+"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/SessionsView"
}
}
}
}
},
"/open/groups/@{groupName}/sessions":{
"get":{
"tags":[
"Group"
],
"summary":"List sessions.",
"description":"",
"operationId":"index",
"produces":[
"application/json"
],
"parameters":[
{
"name":"groupName",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/SessionsView"
}
}
}
}
},
"/open/managers":{
"get":{
"tags":[
"Managers"
],
"summary":"Retrieve a list of managers.",
"description":"The number of managers retrieved in this endpoint is restricted by the `limit` query parameter, and is capped to values in the closed interval `[1, 100]`.\n\nPagination is supported through the `since` query parameter along with the `next` value contained in the root object of the JSON response. Successive queries to this endpoint using the previous `next` value as the `since` parameter will ultimately retrieve all managers.\n\nThe `since` parameter can be left empty to start the list.",
"operationId":"index",
"produces":[
"application/json"
],
"parameters":[
{
"name":"since",
"in":"query",
"description":"ID of the first manager to be retrieved",
"required":false,
"type":"string"
},
{
"name":"limit",
"in":"query",
"description":"Restrict the maximum number of direct chats to be retrieved",
"required":false,
"type":"integer",
"default":25,
"format":"int32"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/ChannelManagersView"
}
}
}
}
},
"/open/managers/{managerId}":{
"get":{
"tags":[
"Managers"
],
"summary":"Retrieve a manager.",
"description":"",
"operationId":"show",
"produces":[
"application/json"
],
"parameters":[
{
"name":"managerId",
"in":"path",
"description":"ID of the manager to be retrieved",
"required":true,
"type":"string",
"pattern":"\\d+"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/ChannelManagerView"
}
}
}
}
},
"/open/messages/{messageId}":{
"get":{
"tags":[
"Messages"
],
"summary":"Retrieve a message.",
"description":"",
"operationId":"show",
"produces":[
"application/json"
],
"parameters":[
{
"name":"messageId",
"in":"path",
"description":"ID of the message to be retrieved",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/MessageView"
}
}
}
}
},
"/open/plugins":{
"get":{
"tags":[
"Plugins"
],
"summary":"Retrieve a list of plugins.",
"description":"The number of plugins retrieved in this endpoint is restricted by the `limit` query parameter, and is capped to values in the closed interval `[1, 100]`.\n\nPagination is supported through the `since` query parameter along with the `next` value contained in the root object of the JSON response. Successive queries to this endpoint using the previous `next` value as the `since` parameter will ultimately retrieve all plugins.\n\nThe `since` parameter can be left empty to start the list.",
"operationId":"index",
"produces":[
"application/json"
],
"parameters":[
{
"name":"since",
"in":"query",
"required":false,
"type":"string",
"format":"date-time"
},
{
"name":"limit",
"in":"query",
"description":"Restrict the maximum number of plugins to be retrieved",
"required":false,
"type":"integer",
"default":25,
"maximum":100,
"minimum":1,
"format":"int32"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/PluginsView"
}
}
}
},
"post":{
"tags":[
"Plugins"
],
"summary":"Create a new plugin.",
"description":"",
"operationId":"create",
"produces":[
"application/json"
],
"parameters":[
{
"in":"body",
"name":"body",
"description":"JSON object defining the new plugin",
"required":false,
"schema":{
"$ref":"#/definitions/Plugin"
}
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/PluginView"
}
}
}
}
},
"/open/plugins/{pluginId}":{
"get":{
"tags":[
"Plugins"
],
"summary":"Retrieve a plugin.",
"description":"",
"operationId":"showById",
"produces":[
"application/json"
],
"parameters":[
{
"name":"pluginId",
"in":"path",
"description":"ID of the plugin to be retrieved",
"required":true,
"type":"string",
"pattern":"\\d+"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/PluginView"
}
}
}
},
"put":{
"tags":[
"Plugins"
],
"summary":"Update a plugin.",
"description":"",
"operationId":"update",
"produces":[
"application/json"
],
"parameters":[
{
"name":"pluginId",
"in":"path",
"description":"ID of the plugin to be updated",
"required":true,
"type":"string",
"pattern":"\\d+"
},
{
"in":"body",
"name":"body",
"description":"JSON object defining the plugin fields to be updated",
"required":false,
"schema":{
"$ref":"#/definitions/Plugin"
}
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/PluginView"
}
}
}
},
"delete":{
"tags":[
"Plugins"
],
"summary":"Delete a plugin.",
"description":"",
"operationId":"delete",
"produces":[
"application/json"
],
"parameters":[
{
"name":"pluginId",
"in":"path",
"description":"ID of the plugin to be deleted",
"required":true,
"type":"string",
"pattern":"\\d+"
}
],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/open/user_chats":{
"get":{
"tags":[
"User Chat"
],
"summary":"Retrieve a list of user chats.",
"description":"The number of user chats retrieved in this endpoint is restricted by the `limit` query parameter, and is capped to values in the closed interval `[1, 100]`.\n\nRetrieved user chats can be filtered by `ready`, `open`, `following`, `resolved`, `closed` and `removed`, through the `states` query parameter.\n\nPagination is supported through the `since` query parameter along with the `next` value contained in the root object of the JSON response. Successive queries to this endpoint using the previous `next` value as the `since` parameter will ultimately retrieve all user chats.\n\nThe `since` parameter can be left empty to start the list.",
"operationId":"index",
"produces":[
"application/json"
],
"parameters":[
{
"name":"states",
"in":"query",
"description":"User chat state filter",
"required":false,
"type":"array",
"items":{
"type":"string",
"enum":[
"open",
"following",
"resolved",
"closed",
"ready",
"removed"
]
},
"collectionFormat":"multi"
},
{
"name":"sortField",
"in":"query",
"description":"Sort criteria",
"required":true,
"type":"string",
"default":"updatedAt",
"enum":[
"createdAt",
"openedAt",
"updatedAt"
]
},
{
"name":"sortOrder",
"in":"query",
"required":true,
"type":"string",
"default":"DESC",
"enum":[
"ASC",
"DESC",
"DEFAULT"
]
},
{
"name":"since",
"in":"query",
"description":"Epoch time in microseconds of the first user chat to be retrieved",
"required":false,
"type":"string",
"format":"date-time"
},
{
"name":"limit",
"in":"query",
"description":"Restrict the maximum number of direct chats to be retrieved",
"required":false,
"type":"integer",
"default":25,
"maximum":100,
"minimum":1,
"format":"int32"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/UserChatsView"
}
}
}
}
},
"/open/user_chats/{userChatId}/sessions":{
"get":{
"tags":[
"User Chat"
],
"summary":"Retrieve the sessions of a user chat.",
"description":"",
"operationId":"index",
"produces":[
"application/json"
],
"parameters":[
{
"name":"userChatId",
"in":"path",
"description":"ID of the user chat to be accessed",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/SessionsView"
}
}
}
}
},
"/open/user_chats/{userChatId}/messages":{
"get":{
"tags":[
"User Chat"
],
"summary":"Retrieve a list of messages in a chat.",
"description":"The number of messages retrieved in this endpoint is restricted by the `limit` query parameter, and is capped to values in the closed interval `[1, 100]`.\n\nPagination is supported through the `since` query parameter along with the `next` value contained in the root object of the JSON response. Successive queries to this endpoint using the previous `next` value as the `since` parameter will ultimately retrieve all messages in the chat.\n\nIf the `since` parameter is left empty, the list retrieved will start with the first message (as specified by the `order` parameter).",
"operationId":"indexMessages",
"produces":[
"application/json"
],
"parameters":[
{
"name":"since",
"in":"query",
"description":"Epoch time in microseconds of the first message to be retrieved",
"required":false,
"type":"string"
},
{
"name":"limit",
"in":"query",
"description":"Restrict the maximum number of messages to be retrieved",
"required":false,
"type":"integer",
"default":25,
"maximum":100,
"minimum":1,
"format":"int32"
},
{
"name":"sortOrder",
"in":"query",
"description":"Order messages should be listed (descending order means latest message first)",
"required":true,
"type":"string",
"default":"DESC",
"enum":[
"ASC",
"DESC",
"BOTH"
]
},
{
"name":"userChatId",
"in":"path",
"description":"ID of the user chat to be accessed",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/MessagesView"
}
}
}
},
"post":{
"tags":[
"User Chat"
],
"summary":"Send a new message to a chat.",
"description":"Below example of body parameter\n\n\t{\n\t\t\"message\": \"Your message\",\n\t\t\"botOption\": {\n\t\t\t\"actAsManager\": false,\n\t\t\t\"silentToManager\": false,\n\t\t\t\"silentToGuest\": false\n\t\t}\n\t}\n\nDescribe parameters\n\nmessage: Your message.\n\nbotOption: If empty or null, actAsManager and silentToManager is false\n\nbotOption.actAsManager: If true, update UserChat from 'open' to 'following' state when a bot sends. Default is false.\n\nbotOption.silentToManager: If true, unread count in manager sessions won't be increased when a bot sends. Default is false.\n\nbotOption.silentToGuest: If true, unread count in guest sessions won't be increased when a bot sends. Default is false.\n\n",
"operationId":"create",
"produces":[
"application/json"
],
"parameters":[
{
"in":"body",
"name":"body",
"description":"JSON object defining the new message",
"required":false,
"schema":{
"$ref":"#/definitions/Message"
}
},
{
"name":"botName",
"in":"query",
"description":"Name of the bot sending the message",
"required":true,
"type":"string"
},
{
"name":"userChatId",
"in":"path",
"description":"ID of the user chat to be accessed",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/MessageView"
}
}
}
}
},
"/open/user_chats/{userChatId}/messages/file":{
"post":{
"tags":[
"User Chat"
],
"summary":"Send a new file to a chat.",
"description":"",
"operationId":"uploadFile",
"consumes":[
"multipart/form-data"
],
"produces":[
"application/json"
],
"parameters":[
{
"name":"name",
"in":"formData",
"required":false,
"type":"string"
},
{
"name":"file",
"in":"formData",
"required":false,
"type":"file"
},
{
"name":"requestId",
"in":"formData",
"required":false,
"type":"string"
},
{
"name":"scope",
"in":"formData",
"required":false,
"type":"string"
},
{
"name":"botName",
"in":"query",
"description":"Name of the bot sending the message",
"required":true,
"type":"string"
},
{
"name":"userChatId",
"in":"path",
"description":"ID of the user chat to be accessed",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/MessageView"
}
}
}
}
},
"/open/user_chats/{userChatId}":{
"get":{
"tags":[
"User Chat"
],
"summary":"Retrieve a user chat.",
"description":"",
"operationId":"show",
"produces":[
"application/json"
],
"parameters":[
{
"name":"userChatId",
"in":"path",
"description":"ID of the user chat to be retrieved",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/UserChatView"
}
}
}
}
},
"/open/user_chats/{userChatId}/invite":{
"put":{
"tags":[
"User Chat"
],
"summary":"Invite to user chat",
"description":"",
"operationId":"invite",
"produces":[
"application/json"
],
"parameters":[
{
"name":"userChatId",
"in":"path",
"description":"ID of the user chat to be accessed",
"required":true,
"type":"string"
},
{
"name":"botName",
"in":"query",
"description":"Name of the inviting bot",
"required":true,
"type":"string"
},
{
"name":"managerIds",
"in":"query",
"required":false,
"type":"array",
"items":{
"type":"string"
},
"collectionFormat":"multi"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/UserChatView"
}
}
}
}
},
"/open/users/{userId}":{
"get":{
"tags":[
"Users"
],
"summary":"Get a user",
"description":"",
"operationId":"show",
"produces":[
"application/json"
],
"parameters":[
{
"name":"userId",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/GuestView"
}
}
}
},
"delete":{
"tags":[
"Users"
],
"summary":"Delete a user",
"description":"",
"operationId":"delete",
"produces":[
"application/json"
],
"parameters":[
{
"name":"userId",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/open/users/{userId}/user_chats":{
"get":{
"tags":[
"Users"
],
"summary":"List userChats of a guest(user, veil)",
"description":"",
"operationId":"show",
"produces":[
"application/json"
],
"parameters":[
{
"name":"states",
"in":"query",
"description":"User chat state filter",
"required":false,
"type":"array",
"items":{
"type":"string",
"enum":[
"open",
"following",
"resolved",
"closed",
"ready",
"removed"
]
},
"collectionFormat":"multi"
},
{
"name":"sortField",
"in":"query",
"description":"Sort criteria",
"required":true,
"type":"string",
"default":"updatedAt",
"enum":[
"createdAt",
"openedAt",
"updatedAt"
]
},
{
"name":"sortOrder",
"in":"query",
"required":true,
"type":"string",
"default":"DESC",
"enum":[
"ASC",
"DESC",
"DEFAULT"
]
},
{
"name":"since",
"in":"query",
"required":false,
"type":"string",
"format":"date-time"
},
{
"name":"limit",
"in":"query",
"required":false,
"type":"integer",
"format":"int32"
},
{
"name":"userId",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/UserChatsView"
}
}
}
},
"post":{
"tags":[
"Users"
],
"summary":"Create userChat of a guest",
"description":"",
"operationId":"create",
"produces":[
"application/json"
],
"parameters":[
{
"name":"userId",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/UserChatView"
}
}
}
}
},
"/open/users":{
"post":{
"tags":[
"Users"
],
"summary":"Upsert users",
"description":"Fill the body with user profile information as json. \nSet key as userId and value as profile(name, mobileNumber, avatarUrl, meta). \nExample: \n ```javascript\n{\n \"userId1\": {\n \"name\": \"test\",\n \"mobileNumber\": \"+821000000000\",\n \"meta\": {\n \"testmeta\": \"meta\"\n }\n },\n \"userId2\": {\n \"name\": \"test2\"\n }\n}```",
"operationId":"upsert",
"consumes":[
"application/json"
],
"produces":[
"application/json"
],
"parameters":[
{
"in":"body",
"name":"body",
"required":false,
"schema":{
"type":"object",
"additionalProperties":{
"$ref":"#/definitions/Profile"
}
}
}
],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/open/veils/{veilId}":{
"get":{
"tags":[
"Veils"
],
"summary":"Get a veil",
"description":"",
"operationId":"show",
"produces":[
"application/json"
],
"parameters":[
{
"name":"veilId",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/GuestView"
}
}
}
},
"delete":{
"tags":[
"Veils"
],
"summary":"Delete a veil",
"description":"",
"operationId":"delete",
"produces":[
"application/json"
],
"parameters":[
{
"name":"veilId",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"default":{
"description":"successful operation"
}
}
}
},
"/open/veils/{veilId}/user_chats":{
"get":{
"tags":[
"Veils"
],
"summary":"List userChats of a guest(user, veil)",
"description":"",
"operationId":"show",
"produces":[
"application/json"
],
"parameters":[
{
"name":"states",
"in":"query",
"description":"User chat state filter",
"required":false,
"type":"array",
"items":{
"type":"string",
"enum":[
"open",
"following",
"resolved",
"closed",
"ready",
"removed"
]
},
"collectionFormat":"multi"
},
{
"name":"sortField",
"in":"query",
"description":"Sort criteria",
"required":true,
"type":"string",
"default":"updatedAt",
"enum":[
"createdAt",
"openedAt",
"updatedAt"
]
},
{
"name":"sortOrder",
"in":"query",
"required":true,
"type":"string",
"default":"DESC",
"enum":[
"ASC",
"DESC",
"DEFAULT"
]
},
{
"name":"since",
"in":"query",
"required":false,
"type":"string",
"format":"date-time"
},
{
"name":"limit",
"in":"query",
"required":false,
"type":"integer",
"format":"int32"
},
{
"name":"veilId",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/UserChatsView"
}
}
}
},
"post":{
"tags":[
"Veils"
],
"summary":"Create userChat of a guest",
"description":"",
"operationId":"create",
"produces":[
"application/json"
],
"parameters":[
{
"name":"veilId",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/UserChatView"
}
}
}
}
},
"/open/webhooks":{
"get":{
"tags":[
"Webhooks"
],
"summary":"List webhooks",
"description":"",
"operationId":"index",
"produces":[
"application/json"
],
"parameters":[
{
"name":"since",
"in":"query",
"required":false,
"type":"string",
"format":"date-time"
},
{
"name":"limit",
"in":"query",
"required":false,
"type":"integer",
"format":"int32"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/WebhooksView"
}
}
}
},
"post":{
"tags":[
"Webhooks"
],
"summary":"Create a webhook",
"description":"",
"operationId":"create",
"produces":[
"application/json"
],
"parameters":[
{
"in":"body",
"name":"body",
"required":false,
"schema":{
"$ref":"#/definitions/Webhook"
}
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/WebhookView"
}
}
}
}
},
"/open/webhooks/{id}":{
"get":{
"tags":[
"Webhooks"
],
"summary":"Show a webhook by id.",
"description":"",
"operationId":"get",
"produces":[
"application/json"
],
"parameters":[
{
"name":"id",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/WebhookView"
}
}
}
},
"put":{
"tags":[
"Webhooks"
],
"summary":"Update a webhook.",
"description":"",
"operationId":"update",
"produces":[
"application/json"
],
"parameters":[
{
"name":"id",
"in":"path",
"required":true,
"type":"string"
},
{
"in":"body",
"name":"body",
"required":false,
"schema":{
"$ref":"#/definitions/Webhook"
}
}
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"$ref":"#/definitions/WebhookView"
}
}
}
},
"delete":{
"tags":[
"Webhooks"
],
"summary":"Delete a webhook.",
"description":"",
"operationId":"delete",
"produces":[
"application/json"
],
"parameters":[
{
"name":"id",
"in":"path",
"required":true,
"type":"string"
}
],
"responses":{
"default":{
"description":"successful operation"
}
}
}
}
},
"definitions":{
"Bot":{
"type":"object",
"required":[
"name"
],
"properties":{
"id":{
"type":"string",
"readOnly":true
},
"channelId":{
"type":"string",
"readOnly":true
},
"name":{
"type":"string"
},
"createdAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"avatarUrl":{
"type":"string"
},
"initial":{
"type":"string",
"readOnly":true
},
"color":{
"readOnly":true,
"$ref":"#/definitions/Color"
}
}
},
"BotsView":{
"type":"object",
"properties":{
"next":{
"type":"string",
"readOnly":true
},
"bots":{
"type":"array",
"items":{
"$ref":"#/definitions/Bot"
}
}
}
},
"Color":{
"type":"object",
"properties":{
"red":{
"type":"integer",
"format":"int32"
},
"green":{
"type":"integer",
"format":"int32"
},
"blue":{
"type":"integer",
"format":"int32"
},
"alpha":{
"type":"integer",
"format":"int32"
},
"rgb":{
"type":"integer",
"format":"int32"
},
"colorSpace":{
"$ref":"#/definitions/ColorSpace"
},
"transparency":{
"type":"integer",
"format":"int32"
}
}
},
"ColorSpace":{
"type":"object",
"properties":{
"type":{
"type":"integer",
"format":"int32"
},
"numComponents":{
"type":"integer",
"format":"int32"
},
"cs_sRGB":{
"type":"boolean"
}
}
},
"BotView":{
"type":"object",
"properties":{
"bot":{
"$ref":"#/definitions/Bot"
}
}
},
"ChannelManager":{
"type":"object",
"required":[
"username"
],
"properties":{
"id":{
"type":"string",
"readOnly":true
},
"channelId":{
"type":"string",
"readOnly":true
},
"managerId":{
"type":"string",
"readOnly":true
},
"role":{
"type":"string",
"pattern":"admin|owner"
},
"createdAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"username":{
"type":"string",
"pattern":"[a-z0-9]+"
},
"teamChatsAlert":{
"type":"integer",
"format":"int32",
"readOnly":true
},
"teamChatsUnread":{
"type":"integer",
"format":"int32",
"readOnly":true
},
"userChatsAlert":{
"type":"integer",
"format":"int32",
"readOnly":true
},
"userChatsUnread":{
"type":"integer",
"format":"int32",
"readOnly":true
},
"defaultWatch":{
"type":"string",
"enum":[
"all",
"info",
"none"
]
},
"watchPublicUserChats":{
"type":"boolean"
},
"alert":{
"type":"integer",
"format":"int32"
},
"unread":{
"type":"integer",
"format":"int32"
}
}
},
"ChannelManagerView":{
"type":"object",
"properties":{
"channelManager":{
"readOnly":true,
"$ref":"#/definitions/ChannelManager"
},
"manager":{
"$ref":"#/definitions/Manager"
}
}
},
"Manager":{
"type":"object",
"required":[
"email",
"name"
],
"properties":{
"id":{
"type":"string",
"readOnly":true
},
"name":{
"type":"string"
},
"email":{
"type":"string"
},
"mobileNumber":{
"type":"string"
},
"authToken":{
"type":"string",
"readOnly":true
},
"admin":{
"type":"boolean",
"readOnly":true
},
"locale":{
"type":"string",
"pattern":"[a-z]{2}"
},
"country":{
"type":"string"
},
"address":{
"type":"string"
},
"latitude":{
"type":"number",
"format":"double"
},
"longitude":{
"type":"number",
"format":"double"
},
"createdAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"username":{
"type":"string",
"readOnly":true
},
"online":{
"type":"boolean",
"readOnly":true
},
"alert":{
"type":"integer",
"format":"int32",
"readOnly":true
},
"unread":{
"type":"integer",
"format":"int32",
"readOnly":true
},
"avatarUrl":{
"type":"string"
},
"initial":{
"type":"string",
"readOnly":true
},
"color":{
"readOnly":true,
"$ref":"#/definitions/Color"
}
}
},
"Channel":{
"type":"object",
"required":[
"domain",
"name"
],
"properties":{
"id":{
"type":"string",
"readOnly":true
},
"name":{
"type":"string",
"pattern":"[a-zA-Z0-9-_()\\s]+"
},
"description":{
"type":"string"
},
"country":{
"type":"string"
},
"createdAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"domain":{
"type":"string",
"pattern":"[0-9a-z-]+"
},
"color":{
"$ref":"#/definitions/Color"
},
"textColor":{
"type":"string",
"readOnly":true
},
"userInfoUrl":{
"type":"string"
},
"timeZone":{
"$ref":"#/definitions/ZoneId"
},
"workingTime":{
"$ref":"#/definitions/TimeRangeWeekly"
},
"lunchTime":{
"$ref":"#/definitions/TimeRange"
},
"outOfWorkPlugin":{
"type":"boolean"
},
"utmSource":{
"type":"string"
},
"homepageUrl":{
"type":"string"
},
"phoneNumber":{
"type":"string"
},
"servicePlan":{
"type":"string",
"readOnly":true,
"enum":[
"FREE",
"STARTUP",
"PRO"
]
},
"serviceBlocked":{
"type":"boolean",
"readOnly":true
},
"defaultPluginId":{
"type":"string"
},
"requestGuestInfo":{
"type":"boolean"
},
"deleted":{
"type":"boolean",
"readOnly":true
},
"servicePlanUpdatedAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"expectedResponseDelay":{
"type":"string",
"enum":[
"instant",
"normal",
"delayed"
]
},
"avatarUrl":{
"type":"string"
},
"initial":{
"type":"string",
"readOnly":true
},
"working":{
"type":"boolean"
}
}
},
"ChannelView":{
"type":"object",
"properties":{
"channel":{
"$ref":"#/definitions/Channel"
}
}
},
"Duration":{
"type":"object",
"properties":{
"seconds":{
"type":"integer",
"format":"int64"
},
"zero":{
"type":"boolean"
},
"negative":{
"type":"boolean"
},
"nano":{
"type":"integer",
"format":"int32"
},
"units":{
"type":"array",
"items":{
"$ref":"#/definitions/TemporalUnit"
}
}
}
},
"LocalTime":{
"type":"object",
"properties":{
"hour":{
"type":"integer",
"format":"int32"
},
"minute":{
"type":"integer",
"format":"int32"
},
"second":{
"type":"integer",
"format":"int32"
},
"nano":{
"type":"integer",
"format":"int32"
}
}
},
"TemporalUnit":{
"type":"object",
"properties":{
"timeBased":{
"type":"boolean"
},
"duration":{
"$ref":"#/definitions/Duration"
},
"dateBased":{
"type":"boolean"
},
"durationEstimated":{
"type":"boolean"
}
}
},
"TimeRange":{
"type":"object",
"properties":{
"from":{
"type":"integer",
"format":"int32"
},
"to":{
"type":"integer",
"format":"int32"
}
}
},
"TimeRangeWeekly":{
"type":"object",
"properties":{
"mon":{
"$ref":"#/definitions/TimeRange"
},
"tue":{
"$ref":"#/definitions/TimeRange"
},
"wed":{
"$ref":"#/definitions/TimeRange"
},
"thu":{
"$ref":"#/definitions/TimeRange"
},
"fri":{
"$ref":"#/definitions/TimeRange"
},
"sat":{
"$ref":"#/definitions/TimeRange"
},
"sun":{
"$ref":"#/definitions/TimeRange"
}
}
},
"ZoneId":{
"type":"object",
"properties":{
"id":{
"type":"string"
},
"rules":{
"$ref":"#/definitions/ZoneRules"
}
}
},
"ZoneOffset":{
"type":"object",
"properties":{
"totalSeconds":{
"type":"integer",
"format":"int32"
},
"id":{
"type":"string"
},
"rules":{
"$ref":"#/definitions/ZoneRules"
}
}
},
"ZoneOffsetTransition":{
"type":"object",
"properties":{
"offsetBefore":{
"$ref":"#/definitions/ZoneOffset"
},
"offsetAfter":{
"$ref":"#/definitions/ZoneOffset"
},
"instant":{
"type":"integer",
"format":"int64"
},
"gap":{
"type":"boolean"
},
"overlap":{
"type":"boolean"
},
"dateTimeAfter":{
"type":"string",
"format":"date-time"
},
"duration":{
"$ref":"#/definitions/Duration"
},
"dateTimeBefore":{
"type":"string",
"format":"date-time"
}
}
},
"ZoneOffsetTransitionRule":{
"type":"object",
"properties":{
"month":{
"type":"string",
"enum":[
"JANUARY",
"FEBRUARY",
"MARCH",
"APRIL",
"MAY",
"JUNE",
"JULY",
"AUGUST",
"SEPTEMBER",
"OCTOBER",
"NOVEMBER",
"DECEMBER"
]
},
"timeDefinition":{
"type":"string",
"enum":[
"UTC",
"WALL",
"STANDARD"
]
},
"standardOffset":{
"$ref":"#/definitions/ZoneOffset"
},
"offsetBefore":{
"$ref":"#/definitions/ZoneOffset"
},
"offsetAfter":{
"$ref":"#/definitions/ZoneOffset"
},
"dayOfWeek":{
"type":"string",
"enum":[
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY",
"SATURDAY",
"SUNDAY"
]
},
"localTime":{
"$ref":"#/definitions/LocalTime"
},
"dayOfMonthIndicator":{
"type":"integer",
"format":"int32"
},
"midnightEndOfDay":{
"type":"boolean"
}
}
},
"ZoneRules":{
"type":"object",
"properties":{
"fixedOffset":{
"type":"boolean"
},
"transitions":{
"type":"array",
"items":{
"$ref":"#/definitions/ZoneOffsetTransition"
}
},
"transitionRules":{
"type":"array",
"items":{
"$ref":"#/definitions/ZoneOffsetTransitionRule"
}
}
}
},
"Event":{
"type":"object",
"required":[
"name"
],
"properties":{
"id":{
"type":"string",
"readOnly":true
},
"channelId":{
"type":"string",
"readOnly":true
},
"personId":{
"type":"string",
"readOnly":true
},
"personType":{
"type":"string",
"readOnly":true
},
"name":{
"type":"string"
},
"properties":{
"type":"object",
"additionalProperties":{
"type":"object"
}
},
"sysProperties":{
"type":"object",
"additionalProperties":{
"type":"object"
}
},
"property":{
"type":"object",
"additionalProperties":{
"type":"object"
}
},
"sysProperty":{
"type":"object",
"additionalProperties":{
"type":"object"
}
},
"createdAt":{
"type":"string",
"format":"date-time"
},
"expireAt":{
"type":"string",
"format":"date-time",
"readOnly":true
}
}
},
"EventView":{
"type":"object",
"properties":{
"event":{
"$ref":"#/definitions/Event"
}
}
},
"Group":{
"type":"object",
"required":[
"name",
"scope"
],
"properties":{
"id":{
"type":"string",
"readOnly":true
},
"channelId":{
"type":"string",
"readOnly":true
},
"name":{
"type":"string",
"pattern":"[a-zA-Z0-9-_()]+"
},
"scope":{
"type":"string",
"pattern":"(all|public|private)"
},
"createdAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"updatedAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"lastMessageId":{
"type":"string",
"readOnly":true
},
"color":{
"readOnly":true,
"$ref":"#/definitions/Color"
}
}
},
"GroupsView":{
"type":"object",
"properties":{
"next":{
"type":"string",
"readOnly":true
},
"groups":{
"type":"array",
"items":{
"$ref":"#/definitions/Group"
}
},
"sessions":{
"type":"array",
"items":{
"$ref":"#/definitions/Session"
}
}
}
},
"Session":{
"type":"object",
"properties":{
"id":{
"type":"string",
"readOnly":true
},
"channelId":{
"type":"string",
"readOnly":true
},
"chatType":{
"type":"string",
"readOnly":true
},
"chatId":{
"type":"string",
"readOnly":true
},
"personType":{
"type":"string",
"readOnly":true
},
"personId":{
"type":"string",
"readOnly":true
},
"createdAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"alert":{
"type":"integer",
"format":"int32",
"readOnly":true
},
"unread":{
"type":"integer",
"format":"int32",
"readOnly":true
},
"watch":{
"type":"string",
"enum":[
"all",
"info",
"none"
]
},
"lastReadAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"updatedAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"visible":{
"type":"boolean",
"readOnly":true
},
"bookmark":{
"type":"boolean"
}
}
},
"GroupView":{
"type":"object",
"properties":{
"group":{
"readOnly":true,
"$ref":"#/definitions/Group"
},
"session":{
"$ref":"#/definitions/Session"
},
"sessions":{
"type":"array",
"items":{
"$ref":"#/definitions/Session"
}
}
}
},
"BotOption":{
"type":"object",
"properties":{
"actAsManager":{
"type":"boolean"
},
"silentToManager":{
"type":"boolean"
},
"silentToGuest":{
"type":"boolean"
},
"welcome":{
"type":"boolean"
}
}
},
"File":{
"type":"object",
"properties":{
"id":{
"type":"string"
},
"name":{
"type":"string"
},
"filename":{
"type":"string"
},
"size":{
"type":"integer",
"format":"int32"
},
"type":{
"type":"string"
},
"imageMeta":{
"$ref":"#/definitions/ImageMeta"
},
"extension":{
"type":"string",
"readOnly":true
},
"url":{
"type":"string",
"readOnly":true
},
"previewThumb":{
"readOnly":true,
"$ref":"#/definitions/ThumbInterface"
},
"image":{
"type":"boolean",
"readOnly":true
}
}
},
"ImageMeta":{
"type":"object",
"properties":{
"height":{
"type":"integer",
"format":"int32"
},
"width":{
"type":"integer",
"format":"int32"
},
"orientation":{
"type":"integer",
"format":"int32"
},
"animation":{
"type":"boolean"
}
}
},
"Log":{
"type":"object",
"properties":{
"action":{
"type":"string"
},
"object":{
"type":"string"
},
"objectId":{
"type":"string"
},
"objectType":{
"type":"string"
}
}
},
"Message":{
"type":"object",
"properties":{
"channelId":{
"type":"string",
"readOnly":true
},
"id":{
"type":"string",
"readOnly":true
},
"chatType":{
"type":"string",
"readOnly":true
},
"chatId":{
"type":"string",
"readOnly":true
},
"personType":{
"type":"string",
"readOnly":true
},
"personId":{
"type":"string",
"readOnly":true
},
"scope":{
"type":"string"
},
"message":{
"type":"string"
},
"requestId":{
"type":"string"
},
"file":{
"readOnly":true,
"$ref":"#/definitions/File"
},
"log":{
"readOnly":true,
"$ref":"#/definitions/Log"
},
"webPage":{
"readOnly":true,
"$ref":"#/definitions/WebPage"
},
"notifiedBy":{
"type":"string",
"readOnly":true
},
"language":{
"type":"string",
"readOnly":true
},
"botOption":{
"$ref":"#/definitions/BotOption"
},
"createdAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"chatKey":{
"type":"string"
}
}
},
"MessageView":{
"type":"object",
"properties":{
"message":{
"$ref":"#/definitions/Message"
}
}
},
"ThumbInterface":{
"type":"object",
"properties":{
"url":{
"type":"string"
},
"height":{
"type":"integer",
"format":"int32"
},
"width":{
"type":"integer",
"format":"int32"
}
}
},
"WebPage":{
"type":"object",
"required":[
"url"
],
"properties":{
"id":{
"type":"string",
"readOnly":true
},
"url":{
"type":"string"
},
"title":{
"type":"string"
},
"description":{
"type":"string"
},
"imageUrl":{
"type":"string"
},
"contentLength":{
"type":"integer",
"format":"int64"
},
"contentType":{
"type":"string"
},
"imageMeta":{
"$ref":"#/definitions/ImageMeta"
},
"previewThumb":{
"readOnly":true,
"$ref":"#/definitions/ThumbInterface"
}
}
},
"Locale":{
"type":"object",
"properties":{
"language":{
"type":"string"
},
"script":{
"type":"string"
},
"country":{
"type":"string"
},
"variant":{
"type":"string"
},
"extensionKeys":{
"type":"array",
"uniqueItems":true,
"items":{
"type":"string"
}
},
"unicodeLocaleAttributes":{
"type":"array",
"uniqueItems":true,
"items":{
"type":"string"
}
},
"unicodeLocaleKeys":{
"type":"array",
"uniqueItems":true,
"items":{
"type":"string"
}
},
"iso3Language":{
"type":"string"
},
"iso3Country":{
"type":"string"
},
"displayLanguage":{
"type":"string"
},
"displayScript":{
"type":"string"
},
"displayCountry":{
"type":"string"
},
"displayVariant":{
"type":"string"
},
"displayName":{
"type":"string"
}
}
},
"MessagesView":{
"type":"object",
"properties":{
"previous":{
"type":"string"
},
"next":{
"type":"string"
},
"messages":{
"type":"array",
"readOnly":true,
"items":{
"$ref":"#/definitions/Message"
}
},
"files":{
"type":"array",
"items":{
"$ref":"#/definitions/File"
}
},
"webPages":{
"type":"array",
"items":{
"$ref":"#/definitions/WebPage"
}
},
"bots":{
"type":"array",
"items":{
"$ref":"#/definitions/Bot"
}
},
"users":{
"type":"array",
"items":{
"$ref":"#/definitions/User"
}
},
"veils":{
"type":"array",
"items":{
"$ref":"#/definitions/Veil"
}
}
}
},
"MobileNumber":{
"type":"object",
"properties":{
"value":{
"type":"string"
},
"region":{
"type":"string"
},
"internationalNumber":{
"type":"string"
},
"korean":{
"type":"boolean"
},
"locale":{
"$ref":"#/definitions/Locale"
},
"valid":{
"type":"boolean"
},
"nationalNumber":{
"type":"string"
},
"nationalNumberDigits":{
"type":"string"
}
}
},
"User":{
"type":"object",
"properties":{
"channelId":{
"type":"string"
},
"id":{
"type":"string"
},
"name":{
"type":"string"
},
"mobileNumber":{
"$ref":"#/definitions/MobileNumber"
},
"avatarUrl":{
"type":"string"
},
"meta":{
"type":"object",
"additionalProperties":{
"type":"object"
}
},
"ghost":{
"type":"boolean"
},
"locale":{
"type":"string",
"pattern":"[a-z]{2}"
},
"country":{
"type":"string"
},
"city":{
"type":"string"
},
"latitude":{
"type":"number",
"format":"double"
},
"longitude":{
"type":"number",
"format":"double"
},
"alert":{
"type":"integer",
"format":"int32"
},
"unread":{
"type":"integer",
"format":"int32"
},
"bindFrom":{
"type":"string"
},
"createdAt":{
"type":"string",
"format":"date-time"
},
"updatedAt":{
"type":"string",
"format":"date-time"
},
"initial":{
"type":"string",
"readOnly":true
},
"color":{
"readOnly":true,
"$ref":"#/definitions/Color"
}
}
},
"Veil":{
"type":"object",
"properties":{
"channelId":{
"type":"string"
},
"id":{
"type":"string"
},
"name":{
"type":"string"
},
"mobileNumber":{
"$ref":"#/definitions/MobileNumber"
},
"avatarUrl":{
"type":"string"
},
"meta":{
"type":"object",
"additionalProperties":{
"type":"object"
}
},
"ghost":{
"type":"boolean"
},
"locale":{
"type":"string",
"pattern":"[a-z]{2}"
},
"country":{
"type":"string"
},
"city":{
"type":"string"
},
"latitude":{
"type":"number",
"format":"double"
},
"longitude":{
"type":"number",
"format":"double"
},
"alert":{
"type":"integer",
"format":"int32"
},
"unread":{
"type":"integer",
"format":"int32"
},
"createdAt":{
"type":"string",
"format":"date-time"
},
"updatedAt":{
"type":"string",
"format":"date-time"
},
"initial":{
"type":"string",
"readOnly":true
},
"color":{
"readOnly":true,
"$ref":"#/definitions/Color"
}
}
},
"SessionsView":{
"type":"object",
"properties":{
"sessions":{
"type":"array",
"items":{
"$ref":"#/definitions/Session"
}
}
}
},
"ChannelManagersView":{
"type":"object",
"properties":{
"next":{
"type":"string",
"readOnly":true
},
"channelManagers":{
"type":"array",
"items":{
"$ref":"#/definitions/ChannelManager"
}
},
"managers":{
"type":"array",
"items":{
"$ref":"#/definitions/Manager"
}
}
}
},
"I18nText":{
"type":"object",
"properties":{
"en":{
"type":"string"
},
"ja":{
"type":"string"
},
"ko":{
"type":"string"
}
}
},
"Plugin":{
"type":"object",
"properties":{
"id":{
"type":"string",
"readOnly":true
},
"key":{
"type":"string",
"format":"uuid",
"readOnly":true
},
"channelId":{
"type":"string",
"readOnly":true
},
"name":{
"type":"string"
},
"createdAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"color":{
"$ref":"#/definitions/Color"
},
"text":{
"type":"string"
},
"i18n":{
"$ref":"#/definitions/I18nText"
},
"botName":{
"type":"string"
},
"deskMarginX":{
"type":"integer",
"format":"int32"
},
"deskMarginY":{
"type":"integer",
"format":"int32"
},
"mobileMarginX":{
"type":"integer",
"format":"int32"
},
"mobileMarginY":{
"type":"integer",
"format":"int32"
},
"mobileHideButton":{
"type":"boolean"
},
"accessSecret":{
"type":"string",
"readOnly":true
},
"deskImage":{
"readOnly":true,
"$ref":"#/definitions/Thumb"
},
"mobileImage":{
"readOnly":true,
"$ref":"#/definitions/Thumb"
},
"borderColor":{
"type":"string"
},
"textColor":{
"type":"string"
}
}
},
"PluginsView":{
"type":"object",
"properties":{
"next":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"plugins":{
"type":"array",
"items":{
"$ref":"#/definitions/Plugin"
}
}
}
},
"Thumb":{
"type":"object",
"properties":{
"url":{
"type":"string",
"readOnly":true
},
"height":{
"type":"integer",
"format":"int32",
"readOnly":true
},
"width":{
"type":"integer",
"format":"int32",
"readOnly":true
}
}
},
"PluginView":{
"type":"object",
"properties":{
"plugin":{
"$ref":"#/definitions/Plugin"
}
}
},
"UserChat":{
"type":"object",
"properties":{
"id":{
"type":"string",
"readOnly":true
},
"channelId":{
"type":"string",
"readOnly":true
},
"personType":{
"type":"string",
"readOnly":true
},
"personId":{
"type":"string",
"readOnly":true
},
"bindFromId":{
"type":"string",
"readOnly":true
},
"state":{
"type":"string",
"readOnly":true,
"enum":[
"open",
"following",
"resolved",
"closed",
"ready",
"removed"
]
},
"lastMessageId":{
"type":"string",
"readOnly":true
},
"review":{
"type":"string",
"readOnly":true,
"pattern":"(like|dislike)"
},
"createdAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"updatedAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"openedAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"followedAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"resolvedAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"followerId":{
"type":"string",
"readOnly":true
},
"followerType":{
"type":"string",
"readOnly":true
},
"hostId":{
"type":"string",
"readOnly":true
},
"hostType":{
"type":"string",
"readOnly":true
},
"tags":{
"type":"array",
"uniqueItems":true,
"items":{
"type":"string"
}
},
"resolutionTime":{
"type":"integer",
"format":"int64",
"readOnly":true
},
"talkedManagerIds":{
"type":"array",
"readOnly":true,
"items":{
"type":"string"
}
}
}
},
"UserChatsView":{
"type":"object",
"properties":{
"next":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"userChats":{
"type":"array",
"items":{
"$ref":"#/definitions/UserChat"
}
},
"sessions":{
"type":"array",
"items":{
"$ref":"#/definitions/Session"
}
},
"messages":{
"type":"array",
"items":{
"$ref":"#/definitions/Message"
}
},
"users":{
"type":"array",
"items":{
"$ref":"#/definitions/User"
}
},
"veils":{
"type":"array",
"items":{
"$ref":"#/definitions/Veil"
}
}
}
},
"UserChatView":{
"type":"object",
"properties":{
"userChat":{
"readOnly":true,
"$ref":"#/definitions/UserChat"
},
"session":{
"$ref":"#/definitions/Session"
},
"sessions":{
"type":"array",
"items":{
"$ref":"#/definitions/Session"
}
},
"message":{
"$ref":"#/definitions/Message"
},
"user":{
"$ref":"#/definitions/User"
},
"veil":{
"$ref":"#/definitions/Veil"
}
}
},
"GuestView":{
"type":"object",
"properties":{
"user":{
"$ref":"#/definitions/User"
},
"veil":{
"$ref":"#/definitions/Veil"
}
}
},
"GuestUserChatsResource":{
"type":"object"
},
"Profile":{
"type":"object",
"properties":{
"name":{
"type":"string"
},
"mobileNumber":{
"type":"string"
},
"avatarUrl":{
"type":"string"
},
"meta":{
"type":"object",
"additionalProperties":{
"type":"object"
}
}
}
},
"Webhook":{
"type":"object",
"properties":{
"id":{
"type":"string",
"readOnly":true
},
"channelId":{
"type":"string",
"readOnly":true
},
"name":{
"type":"string"
},
"url":{
"type":"string"
},
"token":{
"type":"string",
"readOnly":true
},
"createdAt":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"watchUserChats":{
"type":"boolean"
},
"watchMessages":{
"type":"boolean"
}
}
},
"WebhooksView":{
"type":"object",
"properties":{
"next":{
"type":"string",
"format":"date-time",
"readOnly":true
},
"webhooks":{
"type":"array",
"items":{
"$ref":"#/definitions/Webhook"
}
}
}
},
"WebhookView":{
"type":"object",
"properties":{
"webhook":{
"$ref":"#/definitions/Webhook"
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment