Chore: APIs for agent bots (#676)

Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
This commit is contained in:
Sojan Jose
2020-04-07 10:41:18 +05:30
committed by GitHub
parent 4feca1d88d
commit 1cfa756d49
14 changed files with 277 additions and 3 deletions

View File

@@ -17,6 +17,8 @@ user:
$ref: ./resource/user.yml
inbox:
$ref: ./resource/inbox.yml
agent_bot:
$ref: ./resource/agent_bot.yml
# RESPONSE
## contact

View File

@@ -0,0 +1,14 @@
type: object
properties:
id:
type: number
description: ID of the agent bot
description:
type: string
description: The description about the agent bot
name:
type: string
description: The name of the agent bot
outgoing_url:
type: string
description: The webhook URL for the bot

View File

@@ -0,0 +1,17 @@
get:
tags:
- AgentBot
operationId: listAgentBots
summary: List all agentbots
description: List all available agentbots for the current installation
responses:
200:
description: Success
schema:
type: Array
description: 'List of agent bots'
$ref: '#/definitions/agent_bot'
404:
description: Inbox not found, Agent bot not found
403:
description: Access denied

View File

@@ -0,0 +1,29 @@
post:
tags:
- Inbox
operationId: updateAgentBot
summary: Add or remove agent bot
description: To add an agent bot pass agent_bot id, to remove agent bot from an inbox pass null
parameters:
- name: id
in: path
type: number
description: ID of the inbox
required: true
- name: data
in: body
required: true
schema:
type: object
properties:
agent_bot:
type: number
required: true
description: 'Agent bot ID'
responses:
204:
description: Success
404:
description: Inbox not found, Agent bot not found
403:
description: Access denied

View File

@@ -9,6 +9,12 @@
$ref: ./inboxes/index.yml
/accounts/{account_id}/inboxes/{id}:
$ref: ./inboxes/update.yml
/accounts/{account_id}/inboxes/{id}/set_agent_bot:
$ref: ./inboxes/update.yml
/agent_bots:
$ref: ./agent_bots/index.yml
# Conversations
/accounts/{account_id}/conversations:

View File

@@ -200,6 +200,83 @@
}
}
},
"/accounts/{account_id}/inboxes/{id}/set_agent_bot": {
"patch": {
"tags": [
"Inbox"
],
"operationId": "updateInbox",
"summary": "Update Inbox",
"description": "Add avatar and disable auto assignment for an inbox",
"parameters": [
{
"name": "id",
"in": "path",
"type": "number",
"description": "ID of the inbox",
"required": true
},
{
"name": "data",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"enable_auto_assignment": {
"type": "boolean",
"required": true,
"description": "Enable Auto Assignment"
},
"avatar": {
"type": "file",
"required": false,
"description": "Image file for avatar"
}
}
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/inbox"
}
},
"404": {
"description": "Inbox not found"
},
"403": {
"description": "Access denied"
}
}
}
},
"/agent_bots": {
"get": {
"tags": [
"AgentBot"
],
"operationId": "listAgentBots",
"summary": "List all agentbots",
"description": "List all available agentbots for the current installation",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/agent_bot"
}
},
"404": {
"description": "Inbox not found, Agent bot not found"
},
"403": {
"description": "Access denied"
}
}
}
},
"/accounts/{account_id}/conversations": {
"get": {
"tags": [
@@ -942,6 +1019,27 @@
}
}
},
"agent_bot": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID of the agent bot"
},
"description": {
"type": "string",
"description": "The description about the agent bot"
},
"name": {
"type": "string",
"description": "The name of the agent bot"
},
"outgoing_url": {
"type": "string",
"description": "The webhook URL for the bot"
}
}
},
"extended_contact": {
"allOf": [
{