fix: Add more examples to api endpoints

This commit is contained in:
Daniel Jimenez
2025-05-13 14:29:02 +12:00
parent 9eefec31b3
commit 62e9c613df
17 changed files with 392 additions and 145 deletions
+9
View File
@@ -76,6 +76,9 @@ account_create_update_payload:
account_user_create_update_payload:
$ref: ./request/account_user/create_update_payload.yml
platform_agent_bot_create_update_payload:
$ref: ./request/platform/agent_bot/create_update_payload.yml
agent_bot_create_update_payload:
$ref: ./request/agent_bot/create_update_payload.yml
@@ -88,6 +91,12 @@ canned_response_create_update_payload:
custom_attribute_create_update_payload:
$ref: ./request/custom_attribute/create_update_payload.yml
## Agent
agent_create_payload:
$ref: ./request/agent/create_payload.yml
agent_update_payload:
$ref: ./request/agent/update_payload.yml
## Contact
contact_create_payload:
$ref: ./request/contact/create_payload.yml
@@ -0,0 +1,28 @@
type: object
required:
- name
- email
- role
properties:
name:
type: string
description: Full Name of the agent
example: 'John Doe'
email:
type: string
description: Email of the Agent
example: 'john.doe@acme.inc'
role:
type: string
enum: ['agent', 'administrator']
description: Whether its administrator or agent
example: 'agent'
availability_status:
type: string
enum: ['available', 'busy', 'offline']
description: The availability setting of the agent.
example: 'available'
auto_offline:
type: boolean
description: Whether the availability status of agent is configured to go offline automatically when away.
example: true
@@ -0,0 +1,18 @@
type: object
required:
- role
properties:
role:
type: string
enum: ['agent', 'administrator']
description: Whether its administrator or agent
example: 'agent'
availability:
type: string
enum: ['available', 'busy', 'offline']
description: The availability setting of the agent.
example: 'available'
auto_offline:
type: boolean
description: Whether the availability status of agent is configured to go offline automatically when away.
example: true
@@ -12,7 +12,19 @@ properties:
type: string
description: The webhook URL for the bot
example: 'https://example.com/webhook'
account_id:
avatar:
type: string
format: binary
description: Send the form data with the avatar image binary or use the avatar_url
avatar_url:
type: string
description: The url to a jpeg, png file for the agent bot avatar
example: https://example.com/avatar.png
bot_type:
type: integer
description: The account ID to associate the agent bot with
example: 1
description: The type of the bot (0 for webhook)
example: 0
bot_config:
type: object
description: The configuration for the bot
example: {}
@@ -3,6 +3,8 @@ properties:
content:
type: string
description: Message content for canned response
example: 'Hello, {{contact.name}}! Welcome to our service.'
short_code:
type: string
description: Short Code for quick access of the canned response
example: 'welcome'
@@ -4,15 +4,24 @@ required:
properties:
inbox_id:
type: number
description: ID of the inbox to which the contact belongs
example: 1
name:
type: string
description: name of the contact
example: Alice
email:
type: string
description: email of the contact
example: alice@acme.inc
blocked:
type: boolean
description: whether the contact is blocked or not
example: false
phone_number:
type: string
description: phone number of the contact
example: +123456789
avatar:
type: string
format: binary
@@ -20,9 +29,16 @@ properties:
avatar_url:
type: string
description: The url to a jpeg, png file for the contact avatar
example: https://example.com/avatar.png
identifier:
type: string
description: A unique identifier for the contact in external system
example: '1234567890'
additional_attributes:
type: object
description: An object where you can store additional attributes for contact. example {"type":"customer", "age":30}
example: { 'type': 'customer', 'age': 30 }
custom_attributes:
type: object
description: An object where you can store custom attributes for contact. example {"type":"customer", "age":30}
description: An object where you can store custom attributes for contact. example {"type":"customer", "age":30}, this should have a valid custom attribute definition.
example: {}
@@ -3,12 +3,19 @@ properties:
name:
type: string
description: name of the contact
example: Alice
email:
type: string
description: email of the contact
example: alice@acme.inc
blocked:
type: boolean
description: whether the contact is blocked or not
example: false
phone_number:
type: string
description: phone number of the contact
example: +123456789
avatar:
type: string
format: binary
@@ -16,9 +23,16 @@ properties:
avatar_url:
type: string
description: The url to a jpeg, png file for the contact avatar
example: https://example.com/avatar.png
identifier:
type: string
description: A unique identifier for the contact in external system
example: '1234567890'
additional_attributes:
type: object
description: An object where you can store additional attributes for contact. example {"type":"customer", "age":30}
example: { 'type': 'customer', 'age': 30 }
custom_attributes:
type: object
description: An object where you can store custom attributes for contact. example {"type":"customer", "age":30}
description: An object where you can store custom attributes for contact. example {"type":"customer", "age":30}, this should have a valid custom attribute definition.
example: {}
@@ -3,20 +3,34 @@ properties:
attribute_display_name:
type: string
description: Attribute display name
example: 'Custom Attribute'
attribute_display_type:
type: integer
description: Attribute display type (text- 0, number- 1, currency- 2, percent- 3, link- 4, date- 5, list- 6, checkbox- 7)
example: 0
attribute_description:
type: string
description: Attribute description
example: 'This is a custom attribute'
attribute_key:
type: string
description: Attribute unique key value
example: 'custom_attribute'
attribute_values:
type: array
description: Attribute values
items:
type: string
example: ['value1', 'value2']
attribute_model:
type: integer
description: Attribute type(conversation_attribute- 0, contact_attribute- 1)
example: 0
regex_pattern:
type: string
description: Regex pattern (Only applicable for type- text). The regex pattern is used to validate the attribute value(s).
example: '^[a-zA-Z0-9]+$'
regex_cue:
type: string
description: Regex cue message (Only applicable for type- text). The cue message is shown when the regex pattern is not matched.
example: 'Please enter a valid value'
@@ -0,0 +1,26 @@
type: object
properties:
name:
type: string
description: The name of the agent bot
example: 'My Agent Bot'
description:
type: string
description: The description of the agent bot
example: 'This is a sample agent bot'
outgoing_url:
type: string
description: The webhook URL for the bot
example: 'https://example.com/webhook'
account_id:
type: integer
description: The account ID to associate the agent bot with
example: 1
avatar:
type: string
format: binary
description: Send the form data with the avatar image binary or use the avatar_url
avatar_url:
type: string
description: The url to a jpeg, png file for the agent bot avatar
example: https://example.com/avatar.png
@@ -3,21 +3,28 @@ properties:
identifier:
type: string
description: External identifier of the contact
example: '1234567890'
identifier_hash:
type: string
description: Identifier hash prepared for HMAC authentication
example: 'e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9'
email:
type: string
description: Email of the contact
example: alice@acme.inc
name:
type: string
description: Name of the contact
example: Alice
phone_number:
type: string
description: Phone number of the contact
avatar_url:
example: +123456789
avatar:
type: string
description: The url to a jpeg, png file for the user avatar
format: binary
description: Send the form data with the avatar image binary or use the avatar_url
custom_attributes:
type: object
description: Custom attributes of the customer
example: {}
+1 -23
View File
@@ -10,29 +10,7 @@ requestBody:
content:
application/json:
schema:
type: object
required:
- name
- email
- role
properties:
name:
type: string
description: Full Name of the agent
email:
type: string
description: Email of the Agent
role:
type: string
enum: ['agent', 'administrator']
description: Whether its administrator or agent
availability_status:
type: string
enum: ['available', 'busy', 'offline']
description: The availability setting of the agent.
auto_offline:
type: boolean
description: Whether the availability status of agent is configured to go offline automatically when away.
$ref: '#/components/schemas/agent_create_payload'
responses:
'200':
description: Success
+1 -15
View File
@@ -17,21 +17,7 @@ requestBody:
content:
application/json:
schema:
type: object
required:
- role
properties:
role:
type: string
enum: ['agent', 'administrator']
description: Whether its administrator or agent
availability:
type: string
enum: ['available', 'busy', 'offline']
description: The availability setting of the agent.
auto_offline:
type: boolean
description: Whether the availability status of agent is configured to go offline automatically when away.
$ref: '#/components/schemas/agent_update_payload'
responses:
200:
description: Success
@@ -1,5 +1,5 @@
tags:
- Canned Response
- Canned Responses
operationId: update-canned-response-in-account
summary: Update Canned Response in Account
description: Update a Canned Response in Account
@@ -26,6 +26,7 @@ post:
inbox_id:
type: number
description: The ID of the inbox
example: 1
source_id:
type: string
description: Contact Inbox Source Id
+1 -1
View File
@@ -10,7 +10,7 @@ requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/agent_bot_create_update_payload'
$ref: '#/components/schemas/platform_agent_bot_create_update_payload'
responses:
'200':
description: Success
+1 -1
View File
@@ -10,7 +10,7 @@ requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/agent_bot_create_update_payload'
$ref: '#/components/schemas/platform_agent_bot_create_update_payload'
responses:
'200':
description: Success
+233 -97
View File
@@ -415,7 +415,7 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/agent_bot_create_update_payload"
"$ref": "#/components/schemas/platform_agent_bot_create_update_payload"
}
}
}
@@ -516,7 +516,7 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/agent_bot_create_update_payload"
"$ref": "#/components/schemas/platform_agent_bot_create_update_payload"
}
}
}
@@ -1952,43 +1952,7 @@
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"email",
"role"
],
"properties": {
"name": {
"type": "string",
"description": "Full Name of the agent"
},
"email": {
"type": "string",
"description": "Email of the Agent"
},
"role": {
"type": "string",
"enum": [
"agent",
"administrator"
],
"description": "Whether its administrator or agent"
},
"availability_status": {
"type": "string",
"enum": [
"available",
"busy",
"offline"
],
"description": "The availability setting of the agent."
},
"auto_offline": {
"type": "boolean",
"description": "Whether the availability status of agent is configured to go offline automatically when away."
}
}
"$ref": "#/components/schemas/agent_create_payload"
}
}
}
@@ -2053,33 +2017,7 @@
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"enum": [
"agent",
"administrator"
],
"description": "Whether its administrator or agent"
},
"availability": {
"type": "string",
"enum": [
"available",
"busy",
"offline"
],
"description": "The availability setting of the agent."
},
"auto_offline": {
"type": "boolean",
"description": "Whether the availability status of agent is configured to go offline automatically when away."
}
}
"$ref": "#/components/schemas/agent_update_payload"
}
}
}
@@ -2272,7 +2210,7 @@
],
"patch": {
"tags": [
"Canned Response"
"Canned Responses"
],
"operationId": "update-canned-response-in-account",
"summary": "Update Canned Response in Account",
@@ -8742,7 +8680,7 @@
}
}
},
"agent_bot_create_update_payload": {
"platform_agent_bot_create_update_payload": {
"type": "object",
"properties": {
"name": {
@@ -8764,6 +8702,57 @@
"type": "integer",
"description": "The account ID to associate the agent bot with",
"example": 1
},
"avatar": {
"type": "string",
"format": "binary",
"description": "Send the form data with the avatar image binary or use the avatar_url"
},
"avatar_url": {
"type": "string",
"description": "The url to a jpeg, png file for the agent bot avatar",
"example": "https://example.com/avatar.png"
}
}
},
"agent_bot_create_update_payload": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the agent bot",
"example": "My Agent Bot"
},
"description": {
"type": "string",
"description": "The description of the agent bot",
"example": "This is a sample agent bot"
},
"outgoing_url": {
"type": "string",
"description": "The webhook URL for the bot",
"example": "https://example.com/webhook"
},
"avatar": {
"type": "string",
"format": "binary",
"description": "Send the form data with the avatar image binary or use the avatar_url"
},
"avatar_url": {
"type": "string",
"description": "The url to a jpeg, png file for the agent bot avatar",
"example": "https://example.com/avatar.png"
},
"bot_type": {
"type": "integer",
"description": "The type of the bot (0 for webhook)",
"example": 0
},
"bot_config": {
"type": "object",
"description": "The configuration for the bot",
"example": {
}
}
}
},
@@ -8803,11 +8792,13 @@
"properties": {
"content": {
"type": "string",
"description": "Message content for canned response"
"description": "Message content for canned response",
"example": "Hello, {{contact.name}}! Welcome to our service."
},
"short_code": {
"type": "string",
"description": "Short Code for quick access of the canned response"
"description": "Short Code for quick access of the canned response",
"example": "welcome"
}
}
},
@@ -8816,30 +8807,125 @@
"properties": {
"attribute_display_name": {
"type": "string",
"description": "Attribute display name"
"description": "Attribute display name",
"example": "Custom Attribute"
},
"attribute_display_type": {
"type": "integer",
"description": "Attribute display type (text- 0, number- 1, currency- 2, percent- 3, link- 4, date- 5, list- 6, checkbox- 7)"
"description": "Attribute display type (text- 0, number- 1, currency- 2, percent- 3, link- 4, date- 5, list- 6, checkbox- 7)",
"example": 0
},
"attribute_description": {
"type": "string",
"description": "Attribute description"
"description": "Attribute description",
"example": "This is a custom attribute"
},
"attribute_key": {
"type": "string",
"description": "Attribute unique key value"
"description": "Attribute unique key value",
"example": "custom_attribute"
},
"attribute_values": {
"type": "array",
"description": "Attribute values",
"items": {
"type": "string"
}
},
"example": [
"value1",
"value2"
]
},
"attribute_model": {
"type": "integer",
"description": "Attribute type(conversation_attribute- 0, contact_attribute- 1)"
"description": "Attribute type(conversation_attribute- 0, contact_attribute- 1)",
"example": 0
},
"regex_pattern": {
"type": "string",
"description": "Regex pattern (Only applicable for type- text). The regex pattern is used to validate the attribute value(s).",
"example": "^[a-zA-Z0-9]+$"
},
"regex_cue": {
"type": "string",
"description": "Regex cue message (Only applicable for type- text). The cue message is shown when the regex pattern is not matched.",
"example": "Please enter a valid value"
}
}
},
"agent_create_payload": {
"type": "object",
"required": [
"name",
"email",
"role"
],
"properties": {
"name": {
"type": "string",
"description": "Full Name of the agent",
"example": "John Doe"
},
"email": {
"type": "string",
"description": "Email of the Agent",
"example": "john.doe@acme.inc"
},
"role": {
"type": "string",
"enum": [
"agent",
"administrator"
],
"description": "Whether its administrator or agent",
"example": "agent"
},
"availability_status": {
"type": "string",
"enum": [
"available",
"busy",
"offline"
],
"description": "The availability setting of the agent.",
"example": "available"
},
"auto_offline": {
"type": "boolean",
"description": "Whether the availability status of agent is configured to go offline automatically when away.",
"example": true
}
}
},
"agent_update_payload": {
"type": "object",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"enum": [
"agent",
"administrator"
],
"description": "Whether its administrator or agent",
"example": "agent"
},
"availability": {
"type": "string",
"enum": [
"available",
"busy",
"offline"
],
"description": "The availability setting of the agent.",
"example": "available"
},
"auto_offline": {
"type": "boolean",
"description": "Whether the availability status of agent is configured to go offline automatically when away.",
"example": true
}
}
},
@@ -8850,19 +8936,29 @@
],
"properties": {
"inbox_id": {
"type": "number"
"type": "number",
"description": "ID of the inbox to which the contact belongs",
"example": 1
},
"name": {
"type": "string",
"description": "name of the contact"
"description": "name of the contact",
"example": "Alice"
},
"email": {
"type": "string",
"description": "email of the contact"
"description": "email of the contact",
"example": "alice@acme.inc"
},
"blocked": {
"type": "boolean",
"description": "whether the contact is blocked or not",
"example": false
},
"phone_number": {
"type": "string",
"description": "phone number of the contact"
"description": "phone number of the contact",
"example": 123456789
},
"avatar": {
"type": "string",
@@ -8871,15 +8967,27 @@
},
"avatar_url": {
"type": "string",
"description": "The url to a jpeg, png file for the contact avatar"
"description": "The url to a jpeg, png file for the contact avatar",
"example": "https://example.com/avatar.png"
},
"identifier": {
"type": "string",
"description": "A unique identifier for the contact in external system"
"description": "A unique identifier for the contact in external system",
"example": "1234567890"
},
"additional_attributes": {
"type": "object",
"description": "An object where you can store additional attributes for contact. example {\"type\":\"customer\", \"age\":30}",
"example": {
"type": "customer",
"age": 30
}
},
"custom_attributes": {
"type": "object",
"description": "An object where you can store custom attributes for contact. example {\"type\":\"customer\", \"age\":30}"
"description": "An object where you can store custom attributes for contact. example {\"type\":\"customer\", \"age\":30}, this should have a valid custom attribute definition.",
"example": {
}
}
}
},
@@ -8888,15 +8996,23 @@
"properties": {
"name": {
"type": "string",
"description": "name of the contact"
"description": "name of the contact",
"example": "Alice"
},
"email": {
"type": "string",
"description": "email of the contact"
"description": "email of the contact",
"example": "alice@acme.inc"
},
"blocked": {
"type": "boolean",
"description": "whether the contact is blocked or not",
"example": false
},
"phone_number": {
"type": "string",
"description": "phone number of the contact"
"description": "phone number of the contact",
"example": 123456789
},
"avatar": {
"type": "string",
@@ -8905,15 +9021,27 @@
},
"avatar_url": {
"type": "string",
"description": "The url to a jpeg, png file for the contact avatar"
"description": "The url to a jpeg, png file for the contact avatar",
"example": "https://example.com/avatar.png"
},
"identifier": {
"type": "string",
"description": "A unique identifier for the contact in external system"
"description": "A unique identifier for the contact in external system",
"example": "1234567890"
},
"additional_attributes": {
"type": "object",
"description": "An object where you can store additional attributes for contact. example {\"type\":\"customer\", \"age\":30}",
"example": {
"type": "customer",
"age": 30
}
},
"custom_attributes": {
"type": "object",
"description": "An object where you can store custom attributes for contact. example {\"type\":\"customer\", \"age\":30}"
"description": "An object where you can store custom attributes for contact. example {\"type\":\"customer\", \"age\":30}, this should have a valid custom attribute definition.",
"example": {
}
}
}
},
@@ -9291,31 +9419,39 @@
"properties": {
"identifier": {
"type": "string",
"description": "External identifier of the contact"
"description": "External identifier of the contact",
"example": "1234567890"
},
"identifier_hash": {
"type": "string",
"description": "Identifier hash prepared for HMAC authentication"
"description": "Identifier hash prepared for HMAC authentication",
"example": "e93275d4eba0e5679ad55f5360af00444e2a888df9b0afa3e8b691c3173725f9"
},
"email": {
"type": "string",
"description": "Email of the contact"
"description": "Email of the contact",
"example": "alice@acme.inc"
},
"name": {
"type": "string",
"description": "Name of the contact"
"description": "Name of the contact",
"example": "Alice"
},
"phone_number": {
"type": "string",
"description": "Phone number of the contact"
"description": "Phone number of the contact",
"example": 123456789
},
"avatar_url": {
"avatar": {
"type": "string",
"description": "The url to a jpeg, png file for the user avatar"
"format": "binary",
"description": "Send the form data with the avatar image binary or use the avatar_url"
},
"custom_attributes": {
"type": "object",
"description": "Custom attributes of the customer"
"description": "Custom attributes of the customer",
"example": {
}
}
}
},