chore: Swagger documentation for contact labels APIs (#8279)

Co-authored-by: Sojan Jose <sojan@pepalo.com>
This commit is contained in:
Muhsin Keloth
2023-11-03 15:09:12 +05:30
committed by GitHub
parent 36b6c0cb9c
commit ebe9daea00
7 changed files with 145 additions and 1 deletions

View File

@@ -168,6 +168,8 @@ contact_conversations:
- $ref: '#/definitions/conversation'
- $ref: ./resource/extension/contact/conversation.yml
- $ref: ./resource/extension/conversation/with_display_id.yml
contact_labels:
$ref: ./resource/extension/contact/labels.yml
## conversation
conversation_list:

View File

@@ -0,0 +1,7 @@
type: object
properties:
payload:
type: array
description: Array of labels
items:
type: string

View File

@@ -56,6 +56,7 @@ x-tagGroups:
- Agents
- Canned Responses
- Contacts
- Contact Labels
- Conversation Assignment
- Conversation Labels
- Conversations
@@ -77,4 +78,4 @@ x-tagGroups:
- Messages API
- name: Others
tags:
- CSAT Survey Page
- CSAT Survey Page

View File

@@ -0,0 +1,26 @@
tags:
- Contact Labels
operationId: contact-add-labels
summary: Add Labels
description: Add labels to a contact. Note that this API would overwrite the existing list of labels associated to the conversation.
parameters:
- name: data
in: body
required: true
schema:
type: object
properties:
labels:
type: array
description: Array of labels (comma-separated strings)
items:
type: string
responses:
200:
description: Success
schema:
$ref: '#/definitions/contact_labels'
404:
description: Contact not found
401:
description: Unauthorized

View File

@@ -0,0 +1,14 @@
tags:
- Contact Labels
operationId: list-all-labels-of-a-contact
summary: List Labels
description: Lists all the labels of a contact
responses:
200:
description: Success
schema:
$ref: '#/definitions/contact_labels'
404:
description: Contact not found
401:
description: Unauthorized

View File

@@ -121,6 +121,14 @@
- $ref: '#/parameters/message_id'
patch:
$ref: ./public/inboxes/messages/update.yml
/api/v1/accounts/{account_id}/contacts/{contact_identifier}/labels:
parameters:
- $ref: '#/parameters/account_id'
- $ref: '#/parameters/public_contact_identifier'
get:
$ref: ./application/contacts/labels/index.yml
post:
$ref: ./application/contacts/labels/create.yml
# ---------------- end of public api routes-----------#

View File

@@ -1010,6 +1010,79 @@
}
}
},
"/api/v1/accounts/{account_id}/contacts/{contact_identifier}/labels": {
"parameters": [
{
"$ref": "#/parameters/account_id"
},
{
"$ref": "#/parameters/public_contact_identifier"
}
],
"get": {
"tags": [
"Contact Labels"
],
"operationId": "list-all-labels-of-a-contact",
"summary": "List Labels",
"description": "Lists all the labels of a contact",
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/contact_labels"
}
},
"404": {
"description": "Contact not found"
},
"401": {
"description": "Unauthorized"
}
}
},
"post": {
"tags": [
"Contact Labels"
],
"operationId": "contact-add-labels",
"summary": "Add Labels",
"description": "Add labels to a contact. Note that this API would overwrite the existing list of labels associated to the conversation.",
"parameters": [
{
"name": "data",
"in": "body",
"required": true,
"schema": {
"type": "object",
"properties": {
"labels": {
"type": "array",
"description": "Array of labels (comma-separated strings)",
"items": {
"type": "string"
}
}
}
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/contact_labels"
}
},
"404": {
"description": "Contact not found"
},
"401": {
"description": "Unauthorized"
}
}
}
},
"/survey/responses/{conversation_uuid}": {
"parameters": [
{
@@ -6810,6 +6883,18 @@
]
}
},
"contact_labels": {
"type": "object",
"properties": {
"payload": {
"type": "array",
"description": "Array of labels",
"items": {
"type": "string"
}
}
}
},
"conversation_list": {
"type": "object",
"properties": {
@@ -7214,6 +7299,7 @@
"Agents",
"Canned Responses",
"Contacts",
"Contact Labels",
"Conversation Assignment",
"Conversation Labels",
"Conversations",