Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
12366c7f40 | ||
|
|
31d381dd82 | ||
|
|
1b5f91c46d | ||
|
|
d697c7db99 | ||
|
|
2b8ef7ce49 | ||
|
|
4449da1a1d | ||
|
|
c74bb805f9 | ||
|
|
5e1109b13e | ||
|
|
70a9895c51 |
@@ -5,6 +5,25 @@ summary: Add a New Agent
|
||||
description: Add a new Agent to Account
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Add a new agent"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
agent = client.agents.add(
|
||||
account_id=1,
|
||||
name="John Doe",
|
||||
email="john@example.com",
|
||||
role="agent"
|
||||
)
|
||||
|
||||
print(agent.id, agent.name)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -5,6 +5,18 @@ summary: Remove an Agent from Account
|
||||
description: Remove an Agent from Account
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Remove an agent"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
client.agents.remove(account_id=1, agent_id=10)
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
|
||||
@@ -5,6 +5,21 @@ summary: List Agents in Account
|
||||
description: Get Details of Agents in an Account
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "List all agents"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
agents = client.agents.list(account_id=1)
|
||||
|
||||
for agent in agents:
|
||||
print(agent.name, agent.role)
|
||||
responses:
|
||||
200:
|
||||
description: Success
|
||||
|
||||
@@ -5,6 +5,25 @@ summary: Update Agent in Account
|
||||
description: Update an Agent in Account
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Update an agent"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
agent = client.agents.update(
|
||||
account_id=1,
|
||||
agent_id=10,
|
||||
name="Jane Doe",
|
||||
role="administrator"
|
||||
)
|
||||
|
||||
print(agent.id, agent.role)
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
|
||||
@@ -14,6 +14,24 @@ get:
|
||||
type: number
|
||||
description: ID of the contact
|
||||
required: true
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Get contactable inboxes"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
inboxes = client.contacts.contactable_inboxes(
|
||||
account_id=1,
|
||||
contact_id=100
|
||||
)
|
||||
|
||||
for item in inboxes:
|
||||
print(item["source_id"], item["inbox"]["name"])
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -22,6 +22,24 @@ get:
|
||||
description: ID of the contact
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Get contact conversations"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
conversations = client.contacts.conversations(
|
||||
account_id=1,
|
||||
contact_id=100
|
||||
)
|
||||
|
||||
for conversation in conversations:
|
||||
print(conversation.id, conversation.status)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -15,6 +15,20 @@ get:
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: Get a contact belonging to the account using ID
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Get contact details"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
contact = client.contacts.get(account_id=1, contact_id=100)
|
||||
|
||||
print(contact.name, contact.email, contact.phone_number)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
@@ -43,6 +57,26 @@ put:
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: Update a contact belonging to the account using ID
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Update a contact"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
contact = client.contacts.update(
|
||||
account_id=1,
|
||||
contact_id=100,
|
||||
name="Jane Doe",
|
||||
email="jane@example.com",
|
||||
custom_attributes={"plan": "premium"}
|
||||
)
|
||||
|
||||
print(contact.id, contact.name)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
@@ -77,6 +111,18 @@ delete:
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: Delete a contact belonging to the account using ID
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Delete a contact"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
client.contacts.delete(account_id=1, contact_id=100)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -6,6 +6,22 @@ post:
|
||||
summary: Contact Filter
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Filter contacts"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
# Use search to find contacts by name, email, or phone
|
||||
contacts = client.contacts.search(
|
||||
account_id=1,
|
||||
query="example.com"
|
||||
)
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/account_id'
|
||||
- name: page
|
||||
|
||||
@@ -15,6 +15,24 @@ get:
|
||||
description: Lists all the labels of a contact
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "List contact labels"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
labels = client.contacts.labels.list(
|
||||
account_id=1,
|
||||
contact_id=100
|
||||
)
|
||||
|
||||
print(labels)
|
||||
# ['vip', 'enterprise']
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
@@ -43,6 +61,26 @@ post:
|
||||
description: Add labels to a contact. Note that this API would overwrite the existing list of labels associated to the conversation.
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Add labels to contact"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
# Note: this overwrites existing labels
|
||||
labels = client.contacts.labels.add(
|
||||
account_id=1,
|
||||
contact_id=100,
|
||||
labels=["vip", "enterprise"]
|
||||
)
|
||||
|
||||
print(labels)
|
||||
# ['vip', 'enterprise']
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -10,6 +10,21 @@ get:
|
||||
- $ref: '#/components/parameters/account_id'
|
||||
- $ref: '#/components/parameters/contact_sort_param'
|
||||
- $ref: '#/components/parameters/page'
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "List all contacts"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
contacts = client.contacts.list(account_id=1, page=1)
|
||||
|
||||
for contact in contacts:
|
||||
print(contact.name, contact.email)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
@@ -34,6 +49,26 @@ post:
|
||||
- userApiKey: []
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/account_id'
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Create a contact"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
result = client.contacts.create(
|
||||
account_id=1,
|
||||
inbox_id=5,
|
||||
name="John Doe",
|
||||
email="john@example.com",
|
||||
phone_number="+1234567890"
|
||||
)
|
||||
|
||||
print(result.contact.id, result.contact_inbox.source_id)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -10,6 +10,25 @@ description: |
|
||||
|
||||
This action is irreversible. All conversations, labels, and custom attributes from the
|
||||
mergee contact will be moved to the base contact.
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Merge two contacts"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
# base_contact_id is kept; mergee_contact_id is deleted
|
||||
contact = client.contacts.merge(
|
||||
account_id=1,
|
||||
base_contact_id=100,
|
||||
mergee_contact_id=200
|
||||
)
|
||||
|
||||
print(contact.id, contact.name)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -15,6 +15,35 @@ get:
|
||||
description: Search using contact `name`, `identifier`, `email` or `phone number`
|
||||
- $ref: '#/components/parameters/contact_sort_param'
|
||||
- $ref: '#/components/parameters/page'
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Search by email"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
contacts = client.contacts.search(
|
||||
account_id=1,
|
||||
query="john@example.com"
|
||||
)
|
||||
|
||||
for contact in contacts:
|
||||
print(contact.name, contact.email)
|
||||
- lang: python
|
||||
label: "Search by name"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
contacts = client.contacts.search(account_id=1, query="John Doe")
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -21,6 +21,37 @@ requestBody:
|
||||
type: number
|
||||
description: Id of the team. If the assignee_id is present, this param would be ignored
|
||||
example: 1
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Assign to an agent"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
conversation = client.conversations.assign(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
assignee_id=10
|
||||
)
|
||||
- lang: python
|
||||
label: "Assign to a team"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
conversation = client.conversations.update(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
team_id=5
|
||||
)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
@@ -40,3 +71,28 @@ responses:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/bad_request_error'
|
||||
x-codeSamples:
|
||||
- lang: Python
|
||||
label: Assign to an agent
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(url="https://app.chatwoot.com", api_key="your-api-key")
|
||||
|
||||
conversation = client.conversations.assign(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
assignee_id=10
|
||||
)
|
||||
- lang: Python
|
||||
label: Assign to a team
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(url="https://app.chatwoot.com", api_key="your-api-key")
|
||||
|
||||
conversation = client.conversations.assign(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
team_id=5
|
||||
)
|
||||
|
||||
@@ -5,6 +5,24 @@ description: Filter conversations with custom filter options and pagination
|
||||
summary: Conversations Filter
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Filter conversations"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
# Use the list method with built-in filters
|
||||
conversations = client.conversations.list(
|
||||
account_id=1,
|
||||
status="pending",
|
||||
assignee_type="unassigned",
|
||||
inbox_id=5
|
||||
)
|
||||
parameters:
|
||||
- name: page
|
||||
in: query
|
||||
|
||||
@@ -50,6 +50,43 @@ get:
|
||||
default: 1
|
||||
description: paginate through conversations
|
||||
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "List open conversations"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
conversations = client.conversations.list(
|
||||
account_id=1,
|
||||
status="open",
|
||||
assignee_type="me",
|
||||
page=1
|
||||
)
|
||||
|
||||
for conversation in conversations:
|
||||
print(conversation.id, conversation.status)
|
||||
- lang: python
|
||||
label: "Search conversations"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
conversations = client.conversations.list(
|
||||
account_id=1,
|
||||
q="billing issue",
|
||||
inbox_id=5,
|
||||
labels=["support"]
|
||||
)
|
||||
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
@@ -79,6 +116,25 @@ post:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/conversation_create_payload'
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Create a conversation"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
conversation = client.conversations.create(
|
||||
account_id=1,
|
||||
source_id="user-123",
|
||||
inbox_id=5,
|
||||
contact_id=100
|
||||
)
|
||||
|
||||
print(conversation.id, conversation.inbox_id)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -5,6 +5,26 @@ summary: Add Labels
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: Add labels to a conversation. Note that this API would overwrite the existing list of labels associated to the conversation.
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Add labels to conversation"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
# Note: this overwrites existing labels
|
||||
labels = client.conversations.labels.add(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
labels=["support", "billing"]
|
||||
)
|
||||
|
||||
print(labels)
|
||||
# ['support', 'billing']
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -5,6 +5,24 @@ summary: List Labels
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: Lists all the labels of a conversation
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "List conversation labels"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
labels = client.conversations.labels.list(
|
||||
account_id=1,
|
||||
conversation_id=42
|
||||
)
|
||||
|
||||
print(labels)
|
||||
# ['support', 'billing', 'urgent']
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -56,6 +56,40 @@ description: |
|
||||
security:
|
||||
- userApiKey: []
|
||||
- agentBotApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Send a message"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
message = client.messages.create(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
content="Hello, how can I help you today?"
|
||||
)
|
||||
|
||||
print(message.id, message.content)
|
||||
- lang: python
|
||||
label: "Send a private note"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
note = client.messages.create(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
content="Internal note: Customer needs follow-up",
|
||||
private=True
|
||||
)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -5,6 +5,22 @@ summary: Delete a message
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: Delete a message and it's attachments from the conversation.
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Delete a message"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
client.messages.delete(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
message_id=123
|
||||
)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -5,6 +5,24 @@ summary: Get messages
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: List all messages of a conversation
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "List messages"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
messages = client.messages.list(
|
||||
account_id=1,
|
||||
conversation_id=42
|
||||
)
|
||||
|
||||
for message in messages:
|
||||
print(message.content, message.message_type)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -37,6 +37,25 @@ get:
|
||||
items:
|
||||
type: string
|
||||
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Get conversation counts"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
counts = client.conversations.get_counts(
|
||||
account_id=1,
|
||||
status="open"
|
||||
)
|
||||
|
||||
print(counts)
|
||||
# {'mine_count': 5, 'unassigned_count': 12, 'assigned_count': 8, 'all_count': 25}
|
||||
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -5,6 +5,25 @@ summary: Conversation Details
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: Get all details regarding a conversation with all messages in the conversation
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Get conversation details"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
conversation = client.conversations.get(
|
||||
account_id=1,
|
||||
conversation_id=42
|
||||
)
|
||||
|
||||
print(conversation.id, conversation.status)
|
||||
print(conversation.meta)
|
||||
print(conversation.messages)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -20,6 +20,22 @@ requestBody:
|
||||
enum: ['urgent', 'high', 'medium', 'low', 'none']
|
||||
description: 'The priority of the conversation'
|
||||
example: 'high'
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Set conversation priority"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
conversation = client.conversations.update(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
priority="urgent"
|
||||
)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -33,6 +33,39 @@ requestBody:
|
||||
customer reply. The conversation always reopens when the
|
||||
customer replies.
|
||||
example: 1757506877
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Resolve a conversation"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
result = client.conversations.toggle_status(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
status="resolved"
|
||||
)
|
||||
|
||||
print(result.success, result.current_status)
|
||||
- lang: python
|
||||
label: "Reopen a conversation"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
result = client.conversations.toggle_status(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
status="open"
|
||||
)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -22,6 +22,22 @@ requestBody:
|
||||
type: number
|
||||
description: 'The ID of the SLA policy (Available only in Enterprise edition)'
|
||||
example: 1
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Update conversation priority"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
conversation = client.conversations.update(
|
||||
account_id=1,
|
||||
conversation_id=42,
|
||||
priority="high"
|
||||
)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -8,6 +8,24 @@ post:
|
||||
- userApiKey: []
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/account_id'
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Create an API inbox"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
inbox = client.inboxes.create(
|
||||
account_id=1,
|
||||
name="Support Inbox",
|
||||
channel_type="api"
|
||||
)
|
||||
|
||||
print(inbox.id, inbox.name)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -6,6 +6,21 @@ get:
|
||||
description: See if an agent bot is associated to the Inbox
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Get inbox agent bot"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
bot = client.inboxes.get_agent_bot(account_id=1, inbox_id=5)
|
||||
|
||||
if bot:
|
||||
print(bot["id"], bot["name"])
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/account_id'
|
||||
- name: id
|
||||
|
||||
@@ -5,6 +5,24 @@ summary: Add a New Agent
|
||||
description: Add a new Agent to Inbox
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Add agents to inbox"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
agents = client.inboxes.agents.add(
|
||||
account_id=1,
|
||||
inbox_id=5,
|
||||
agent_ids=[10, 11, 12]
|
||||
)
|
||||
|
||||
print(f"Inbox now has {len(agents)} agents")
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -5,6 +5,22 @@ summary: Remove an Agent from Inbox
|
||||
description: Remove an Agent from Inbox
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Remove agents from inbox"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
client.inboxes.agents.remove(
|
||||
account_id=1,
|
||||
inbox_id=5,
|
||||
agent_ids=[10]
|
||||
)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -5,6 +5,21 @@ summary: List Agents in Inbox
|
||||
description: Get Details of Agents in an Inbox
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "List agents in inbox"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
agents = client.inboxes.agents.list(account_id=1, inbox_id=5)
|
||||
|
||||
for agent in agents:
|
||||
print(agent.name, agent.email)
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/inbox_id'
|
||||
responses:
|
||||
|
||||
@@ -5,6 +5,25 @@ summary: Update Agents in Inbox
|
||||
description: All agents except the one passed in params will be removed
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Replace all agents in inbox"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
# Replaces ALL current agents — agents not in this list are removed
|
||||
agents = client.inboxes.agents.update(
|
||||
account_id=1,
|
||||
inbox_id=5,
|
||||
agent_ids=[10, 11]
|
||||
)
|
||||
|
||||
print(f"Inbox now has {len(agents)} agents")
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -8,6 +8,21 @@ get:
|
||||
- userApiKey: []
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/account_id'
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "List all inboxes"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
inboxes = client.inboxes.list(account_id=1)
|
||||
|
||||
for inbox in inboxes:
|
||||
print(inbox.id, inbox.name)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -6,6 +6,29 @@ post:
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: To add an agent bot pass agent_bot id, to remove agent bot from an inbox pass null
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Assign an agent bot"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
client.inboxes.set_agent_bot(account_id=1, inbox_id=5, agent_bot_id=2)
|
||||
- lang: python
|
||||
label: "Remove agent bot"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
client.inboxes.set_agent_bot(account_id=1, inbox_id=5, agent_bot_id=None)
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/account_id'
|
||||
- name: id
|
||||
|
||||
@@ -14,6 +14,20 @@ get:
|
||||
type: number
|
||||
description: ID of the inbox
|
||||
required: true
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Get an inbox"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
inbox = client.inboxes.get(account_id=1, inbox_id=5)
|
||||
|
||||
print(inbox.name, inbox.channel_type)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -14,6 +14,25 @@ patch:
|
||||
type: number
|
||||
description: ID of the inbox
|
||||
required: true
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Update an inbox"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
inbox = client.inboxes.update(
|
||||
account_id=1,
|
||||
inbox_id=5,
|
||||
name="Updated Inbox Name",
|
||||
enable_auto_assignment=True
|
||||
)
|
||||
|
||||
print(inbox.id, inbox.name)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -5,6 +5,22 @@ summary: Add a New Agent
|
||||
description: Add a new Agent to Team
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Add agents to team"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
client.teams.agents.add(
|
||||
account_id=1,
|
||||
team_id=5,
|
||||
agent_ids=[10, 11, 12]
|
||||
)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -5,6 +5,22 @@ summary: Remove an Agent from Team
|
||||
description: Remove an Agent from Team
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Remove agents from team"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
client.teams.agents.remove(
|
||||
account_id=1,
|
||||
team_id=5,
|
||||
agent_ids=[10]
|
||||
)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -5,6 +5,21 @@ summary: List Agents in Team
|
||||
description: Get Details of Agents in an Team
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "List agents in team"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
agents = client.teams.agents.list(account_id=1, team_id=5)
|
||||
|
||||
for agent in agents:
|
||||
print(agent.name, agent.email)
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/account_id'
|
||||
- $ref: '#/components/parameters/team_id'
|
||||
|
||||
@@ -5,6 +5,23 @@ summary: Update Agents in Team
|
||||
description: All agents except the one passed in params will be removed
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Replace team agents"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
# Replaces all current agents with the ones provided
|
||||
agents = client.teams.agents.update(
|
||||
account_id=1,
|
||||
team_id=5,
|
||||
agent_ids=[10, 11]
|
||||
)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -7,6 +7,25 @@ security:
|
||||
description: Create a team in the account
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/account_id'
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Create a team"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
team = client.teams.create(
|
||||
account_id=1,
|
||||
name="Support Team",
|
||||
description="Customer support team",
|
||||
allow_auto_assign=True
|
||||
)
|
||||
|
||||
print(team.id, team.name)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -5,6 +5,18 @@ summary: Delete a team
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: Delete a team from the account
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Delete a team"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
client.teams.delete(account_id=1, team_id=5)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -5,6 +5,21 @@ summary: List all teams
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: List all teams available in the current account
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "List all teams"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
teams = client.teams.list(account_id=1)
|
||||
|
||||
for team in teams:
|
||||
print(team.id, team.name)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -5,6 +5,20 @@ summary: Get a team details
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: Get the details of a team in the account
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Get a team"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
team = client.teams.get(account_id=1, team_id=5)
|
||||
|
||||
print(team.name, team.description)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -5,6 +5,24 @@ summary: Update a team
|
||||
security:
|
||||
- userApiKey: []
|
||||
description: Update a team's attributes
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Update a team"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
team = client.teams.update(
|
||||
account_id=1,
|
||||
team_id=5,
|
||||
name="New Team Name"
|
||||
)
|
||||
|
||||
print(team.id, team.name)
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
|
||||
@@ -6,6 +6,20 @@ get:
|
||||
description: Get the user profile details
|
||||
security:
|
||||
- userApiKey: []
|
||||
x-codeSamples:
|
||||
- lang: python
|
||||
label: "Fetch profile"
|
||||
source: |
|
||||
from chatwoot import ChatwootClient
|
||||
|
||||
client = ChatwootClient(
|
||||
base_url="https://app.chatwoot.com",
|
||||
api_token="your-api-token"
|
||||
)
|
||||
|
||||
profile = client.profile.get()
|
||||
|
||||
print(profile.name, profile.email)
|
||||
responses:
|
||||
'200':
|
||||
description: Success
|
||||
|
||||
@@ -1943,6 +1943,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List all agents",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagents = client.agents.list(account_id=1)\n\nfor agent in agents:\n print(agent.name, agent.role)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -1982,6 +1989,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Add a new agent",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagent = client.agents.add(\n account_id=1,\n name=\"John Doe\",\n email=\"john@example.com\",\n role=\"agent\"\n)\n\nprint(agent.id, agent.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -2034,6 +2048,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Update an agent",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagent = client.agents.update(\n account_id=1,\n agent_id=10,\n name=\"Jane Doe\",\n role=\"administrator\"\n)\n\nprint(agent.id, agent.role)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
@@ -2100,6 +2121,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Remove an agent",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.agents.remove(account_id=1, agent_id=10)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
@@ -2674,6 +2702,13 @@
|
||||
"$ref": "#/components/parameters/page"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List all contacts",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncontacts = client.contacts.list(account_id=1, page=1)\n\nfor contact in contacts:\n print(contact.name, contact.email)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -2714,6 +2749,13 @@
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Create a contact",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nresult = client.contacts.create(\n account_id=1,\n inbox_id=5,\n name=\"John Doe\",\n email=\"john@example.com\",\n phone_number=\"+1234567890\"\n)\n\nprint(result.contact.id, result.contact_inbox.source_id)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -2775,6 +2817,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Get a contact belonging to the account using ID",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get contact details",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncontact = client.contacts.get(account_id=1, contact_id=100)\n\nprint(contact.name, contact.email, contact.phone_number)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -2820,6 +2869,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Update a contact belonging to the account using ID",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Update a contact",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncontact = client.contacts.update(\n account_id=1,\n contact_id=100,\n name=\"Jane Doe\",\n email=\"jane@example.com\",\n custom_attributes={\"plan\": \"premium\"}\n)\n\nprint(contact.id, contact.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -2875,6 +2931,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Delete a contact belonging to the account using ID",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Delete a contact",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.contacts.delete(account_id=1, contact_id=100)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success"
|
||||
@@ -2940,6 +3003,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get contact conversations",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversations = client.contacts.conversations(\n account_id=1,\n contact_id=100\n)\n\nfor conversation in conversations:\n print(conversation.id, conversation.status)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3001,6 +3071,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List contact labels",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nlabels = client.contacts.labels.list(\n account_id=1,\n contact_id=100\n)\n\nprint(labels)\n# ['vip', 'enterprise']\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3046,6 +3123,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Add labels to contact",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Note: this overwrites existing labels\nlabels = client.contacts.labels.add(\n account_id=1,\n contact_id=100,\n labels=[\"vip\", \"enterprise\"]\n)\n\nprint(labels)\n# ['vip', 'enterprise']\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -3138,6 +3222,18 @@
|
||||
"$ref": "#/components/parameters/page"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Search by email",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncontacts = client.contacts.search(\n account_id=1,\n query=\"john@example.com\"\n)\n\nfor contact in contacts:\n print(contact.name, contact.email)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Search by name",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncontacts = client.contacts.search(account_id=1, query=\"John Doe\")\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3175,6 +3271,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Filter contacts",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Use search to find contacts by name, email, or phone\ncontacts = client.contacts.search(\n account_id=1,\n query=\"example.com\"\n)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
@@ -3390,6 +3493,13 @@
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get contactable inboxes",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ninboxes = client.contacts.contactable_inboxes(\n account_id=1,\n contact_id=100\n)\n\nfor item in inboxes:\n print(item[\"source_id\"], item[\"inbox\"][\"name\"])\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3442,6 +3552,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Merge two contacts into a single contact. The base contact remains and receives all\ndata from the mergee contact. After the merge, the mergee contact is permanently deleted.\n\nThis action is irreversible. All conversations, labels, and custom attributes from the\nmergee contact will be moved to the base contact.\n",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Merge two contacts",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# base_contact_id is kept; mergee_contact_id is deleted\ncontact = client.contacts.merge(\n account_id=1,\n base_contact_id=100,\n mergee_contact_id=200\n)\n\nprint(contact.id, contact.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -4282,6 +4399,13 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get conversation counts",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncounts = client.conversations.get_counts(\n account_id=1,\n status=\"open\"\n)\n\nprint(counts)\n# {'mine_count': 5, 'unassigned_count': 12, 'assigned_count': 8, 'all_count': 25}\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -4417,6 +4541,18 @@
|
||||
"description": "paginate through conversations"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List open conversations",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversations = client.conversations.list(\n account_id=1,\n status=\"open\",\n assignee_type=\"me\",\n page=1\n)\n\nfor conversation in conversations:\n print(conversation.id, conversation.status)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Search conversations",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversations = client.conversations.list(\n account_id=1,\n q=\"billing issue\",\n inbox_id=5,\n labels=[\"support\"]\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -4465,6 +4601,13 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Create a conversation",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.create(\n account_id=1,\n source_id=\"user-123\",\n inbox_id=5,\n contact_id=100\n)\n\nprint(conversation.id, conversation.inbox_id)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -4521,6 +4664,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Filter conversations",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Use the list method with built-in filters\nconversations = client.conversations.list(\n account_id=1,\n status=\"pending\",\n assignee_type=\"unassigned\",\n inbox_id=5\n)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "page",
|
||||
@@ -4642,6 +4792,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Get all details regarding a conversation with all messages in the conversation",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get conversation details",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.get(\n account_id=1,\n conversation_id=42\n)\n\nprint(conversation.id, conversation.status)\nprint(conversation.meta)\nprint(conversation.messages)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -4719,6 +4876,13 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Update conversation priority",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.update(\n account_id=1,\n conversation_id=42,\n priority=\"high\"\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success"
|
||||
@@ -4801,6 +4965,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Resolve a conversation",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nresult = client.conversations.toggle_status(\n account_id=1,\n conversation_id=42,\n status=\"resolved\"\n)\n\nprint(result.success, result.current_status)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Reopen a conversation",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nresult = client.conversations.toggle_status(\n account_id=1,\n conversation_id=42,\n status=\"open\"\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -4911,6 +5087,13 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Set conversation priority",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.update(\n account_id=1,\n conversation_id=42,\n priority=\"urgent\"\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success"
|
||||
@@ -5068,6 +5251,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Assign to an agent",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.assign(\n account_id=1,\n conversation_id=42,\n assignee_id=10\n)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Assign to a team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.update(\n account_id=1,\n conversation_id=42,\n team_id=5\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -5123,6 +5318,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Lists all the labels of a conversation",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List conversation labels",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nlabels = client.conversations.labels.list(\n account_id=1,\n conversation_id=42\n)\n\nprint(labels)\n# ['support', 'billing', 'urgent']\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -5168,6 +5370,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Add labels to a conversation. Note that this API would overwrite the existing list of labels associated to the conversation.",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Add labels to conversation",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Note: this overwrites existing labels\nlabels = client.conversations.labels.add(\n account_id=1,\n conversation_id=42,\n labels=[\"support\", \"billing\"]\n)\n\nprint(labels)\n# ['support', 'billing']\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -5305,6 +5514,13 @@
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List all inboxes",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ninboxes = client.inboxes.list(account_id=1)\n\nfor inbox in inboxes:\n print(inbox.id, inbox.name)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -5375,6 +5591,13 @@
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get an inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ninbox = client.inboxes.get(account_id=1, inbox_id=5)\n\nprint(inbox.name, inbox.channel_type)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -5427,6 +5650,13 @@
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Create an API inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ninbox = client.inboxes.create(\n account_id=1,\n name=\"Support Inbox\",\n channel_type=\"api\"\n)\n\nprint(inbox.id, inbox.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -5498,6 +5728,13 @@
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Update an inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ninbox = client.inboxes.update(\n account_id=1,\n inbox_id=5,\n name=\"Updated Inbox Name\",\n enable_auto_assignment=True\n)\n\nprint(inbox.id, inbox.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -5555,6 +5792,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get inbox agent bot",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nbot = client.inboxes.get_agent_bot(account_id=1, inbox_id=5)\n\nif bot:\n print(bot[\"id\"], bot[\"name\"])\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
@@ -5616,6 +5860,18 @@
|
||||
}
|
||||
],
|
||||
"description": "To add an agent bot pass agent_bot id, to remove agent bot from an inbox pass null",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Assign an agent bot",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.inboxes.set_agent_bot(account_id=1, inbox_id=5, agent_bot_id=2)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Remove agent bot",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.inboxes.set_agent_bot(account_id=1, inbox_id=5, agent_bot_id=None)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
@@ -5698,6 +5954,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List agents in inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagents = client.inboxes.agents.list(account_id=1, inbox_id=5)\n\nfor agent in agents:\n print(agent.name, agent.email)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"$ref": "#/components/parameters/inbox_id"
|
||||
@@ -5764,6 +6027,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Add agents to inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagents = client.inboxes.agents.add(\n account_id=1,\n inbox_id=5,\n agent_ids=[10, 11, 12]\n)\n\nprint(f\"Inbox now has {len(agents)} agents\")\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -5859,6 +6129,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Replace all agents in inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Replaces ALL current agents — agents not in this list are removed\nagents = client.inboxes.agents.update(\n account_id=1,\n inbox_id=5,\n agent_ids=[10, 11]\n)\n\nprint(f\"Inbox now has {len(agents)} agents\")\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -5954,6 +6231,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Remove agents from inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.inboxes.agents.remove(\n account_id=1,\n inbox_id=5,\n agent_ids=[10]\n)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -6039,6 +6323,13 @@
|
||||
}
|
||||
],
|
||||
"description": "List all messages of a conversation",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List messages",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nmessages = client.messages.list(\n account_id=1,\n conversation_id=42\n)\n\nfor message in messages:\n print(message.content, message.message_type)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -6124,6 +6415,18 @@
|
||||
"agentBotApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Send a message",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nmessage = client.messages.create(\n account_id=1,\n conversation_id=42,\n content=\"Hello, how can I help you today?\"\n)\n\nprint(message.id, message.content)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Send a private note",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nnote = client.messages.create(\n account_id=1,\n conversation_id=42,\n content=\"Internal note: Customer needs follow-up\",\n private=True\n)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -6199,6 +6502,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Delete a message and it's attachments from the conversation.",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Delete a message",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.messages.delete(\n account_id=1,\n message_id=123\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success"
|
||||
@@ -6453,6 +6763,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Fetch profile",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nprofile = client.profile.get()\n\nprint(profile.name, profile.email)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -6495,6 +6812,13 @@
|
||||
}
|
||||
],
|
||||
"description": "List all teams available in the current account",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List all teams",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nteams = client.teams.list(account_id=1)\n\nfor team in teams:\n print(team.id, team.name)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -6539,6 +6863,13 @@
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Create a team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nteam = client.teams.create(\n account_id=1,\n name=\"Support Team\",\n description=\"Customer support team\",\n allow_auto_assign=True\n)\n\nprint(team.id, team.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -6594,6 +6925,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Get the details of a team in the account",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get a team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nteam = client.teams.get(account_id=1, team_id=5)\n\nprint(team.name, team.description)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -6639,6 +6977,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Update a team's attributes",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Update a team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nteam = client.teams.update(\n account_id=1,\n team_id=5,\n name=\"New Team Name\"\n)\n\nprint(team.id, team.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -6684,6 +7029,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Delete a team from the account",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Delete a team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.teams.delete(account_id=1, team_id=5)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success"
|
||||
@@ -6732,6 +7084,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List agents in team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagents = client.teams.agents.list(account_id=1, team_id=5)\n\nfor agent in agents:\n print(agent.name, agent.email)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
@@ -6789,6 +7148,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Add agents to team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.teams.agents.add(\n account_id=1,\n team_id=5,\n agent_ids=[10, 11, 12]\n)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -6873,6 +7239,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Replace team agents",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Replaces all current agents with the ones provided\nclient.teams.agents.add(\n account_id=1,\n team_id=5,\n agent_ids=[10, 11]\n)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -6957,6 +7330,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Remove agents from team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.teams.agents.remove(\n account_id=1,\n team_id=5,\n agent_ids=[10]\n)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
|
||||
@@ -486,6 +486,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List all agents",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagents = client.agents.list(account_id=1)\n\nfor agent in agents:\n print(agent.name, agent.role)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -525,6 +532,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Add a new agent",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagent = client.agents.add(\n account_id=1,\n name=\"John Doe\",\n email=\"john@example.com\",\n role=\"agent\"\n)\n\nprint(agent.id, agent.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -577,6 +591,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Update an agent",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagent = client.agents.update(\n account_id=1,\n agent_id=10,\n name=\"Jane Doe\",\n role=\"administrator\"\n)\n\nprint(agent.id, agent.role)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
@@ -643,6 +664,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Remove an agent",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.agents.remove(account_id=1, agent_id=10)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"in": "path",
|
||||
@@ -1217,6 +1245,13 @@
|
||||
"$ref": "#/components/parameters/page"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List all contacts",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncontacts = client.contacts.list(account_id=1, page=1)\n\nfor contact in contacts:\n print(contact.name, contact.email)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -1257,6 +1292,13 @@
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Create a contact",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nresult = client.contacts.create(\n account_id=1,\n inbox_id=5,\n name=\"John Doe\",\n email=\"john@example.com\",\n phone_number=\"+1234567890\"\n)\n\nprint(result.contact.id, result.contact_inbox.source_id)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -1318,6 +1360,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Get a contact belonging to the account using ID",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get contact details",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncontact = client.contacts.get(account_id=1, contact_id=100)\n\nprint(contact.name, contact.email, contact.phone_number)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -1363,6 +1412,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Update a contact belonging to the account using ID",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Update a contact",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncontact = client.contacts.update(\n account_id=1,\n contact_id=100,\n name=\"Jane Doe\",\n email=\"jane@example.com\",\n custom_attributes={\"plan\": \"premium\"}\n)\n\nprint(contact.id, contact.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -1418,6 +1474,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Delete a contact belonging to the account using ID",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Delete a contact",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.contacts.delete(account_id=1, contact_id=100)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success"
|
||||
@@ -1483,6 +1546,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get contact conversations",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversations = client.contacts.conversations(\n account_id=1,\n contact_id=100\n)\n\nfor conversation in conversations:\n print(conversation.id, conversation.status)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -1544,6 +1614,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List contact labels",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nlabels = client.contacts.labels.list(\n account_id=1,\n contact_id=100\n)\n\nprint(labels)\n# ['vip', 'enterprise']\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -1589,6 +1666,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Add labels to contact",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Note: this overwrites existing labels\nlabels = client.contacts.labels.add(\n account_id=1,\n contact_id=100,\n labels=[\"vip\", \"enterprise\"]\n)\n\nprint(labels)\n# ['vip', 'enterprise']\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -1681,6 +1765,18 @@
|
||||
"$ref": "#/components/parameters/page"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Search by email",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncontacts = client.contacts.search(\n account_id=1,\n query=\"john@example.com\"\n)\n\nfor contact in contacts:\n print(contact.name, contact.email)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Search by name",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncontacts = client.contacts.search(account_id=1, query=\"John Doe\")\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -1718,6 +1814,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Filter contacts",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Use search to find contacts by name, email, or phone\ncontacts = client.contacts.search(\n account_id=1,\n query=\"example.com\"\n)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
@@ -1933,6 +2036,13 @@
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get contactable inboxes",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ninboxes = client.contacts.contactable_inboxes(\n account_id=1,\n contact_id=100\n)\n\nfor item in inboxes:\n print(item[\"source_id\"], item[\"inbox\"][\"name\"])\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -1985,6 +2095,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Merge two contacts into a single contact. The base contact remains and receives all\ndata from the mergee contact. After the merge, the mergee contact is permanently deleted.\n\nThis action is irreversible. All conversations, labels, and custom attributes from the\nmergee contact will be moved to the base contact.\n",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Merge two contacts",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# base_contact_id is kept; mergee_contact_id is deleted\ncontact = client.contacts.merge(\n account_id=1,\n base_contact_id=100,\n mergee_contact_id=200\n)\n\nprint(contact.id, contact.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -2825,6 +2942,13 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get conversation counts",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ncounts = client.conversations.get_counts(\n account_id=1,\n status=\"open\"\n)\n\nprint(counts)\n# {'mine_count': 5, 'unassigned_count': 12, 'assigned_count': 8, 'all_count': 25}\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -2960,6 +3084,18 @@
|
||||
"description": "paginate through conversations"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List open conversations",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversations = client.conversations.list(\n account_id=1,\n status=\"open\",\n assignee_type=\"me\",\n page=1\n)\n\nfor conversation in conversations:\n print(conversation.id, conversation.status)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Search conversations",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversations = client.conversations.list(\n account_id=1,\n q=\"billing issue\",\n inbox_id=5,\n labels=[\"support\"]\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3008,6 +3144,13 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Create a conversation",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.create(\n account_id=1,\n source_id=\"user-123\",\n inbox_id=5,\n contact_id=100\n)\n\nprint(conversation.id, conversation.inbox_id)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3064,6 +3207,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Filter conversations",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Use the list method with built-in filters\nconversations = client.conversations.list(\n account_id=1,\n status=\"pending\",\n assignee_type=\"unassigned\",\n inbox_id=5\n)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "page",
|
||||
@@ -3185,6 +3335,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Get all details regarding a conversation with all messages in the conversation",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get conversation details",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.get(\n account_id=1,\n conversation_id=42\n)\n\nprint(conversation.id, conversation.status)\nprint(conversation.meta)\nprint(conversation.messages)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3262,6 +3419,13 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Update conversation priority",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.update(\n account_id=1,\n conversation_id=42,\n priority=\"high\"\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success"
|
||||
@@ -3344,6 +3508,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Resolve a conversation",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nresult = client.conversations.toggle_status(\n account_id=1,\n conversation_id=42,\n status=\"resolved\"\n)\n\nprint(result.success, result.current_status)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Reopen a conversation",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nresult = client.conversations.toggle_status(\n account_id=1,\n conversation_id=42,\n status=\"open\"\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3454,6 +3630,13 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Set conversation priority",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.update(\n account_id=1,\n conversation_id=42,\n priority=\"urgent\"\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success"
|
||||
@@ -3611,6 +3794,18 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Assign to an agent",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.assign(\n account_id=1,\n conversation_id=42,\n assignee_id=10\n)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Assign to a team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nconversation = client.conversations.update(\n account_id=1,\n conversation_id=42,\n team_id=5\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3666,6 +3861,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Lists all the labels of a conversation",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List conversation labels",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nlabels = client.conversations.labels.list(\n account_id=1,\n conversation_id=42\n)\n\nprint(labels)\n# ['support', 'billing', 'urgent']\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3711,6 +3913,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Add labels to a conversation. Note that this API would overwrite the existing list of labels associated to the conversation.",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Add labels to conversation",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Note: this overwrites existing labels\nlabels = client.conversations.labels.add(\n account_id=1,\n conversation_id=42,\n labels=[\"support\", \"billing\"]\n)\n\nprint(labels)\n# ['support', 'billing']\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -3848,6 +4057,13 @@
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List all inboxes",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ninboxes = client.inboxes.list(account_id=1)\n\nfor inbox in inboxes:\n print(inbox.id, inbox.name)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3918,6 +4134,13 @@
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get an inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ninbox = client.inboxes.get(account_id=1, inbox_id=5)\n\nprint(inbox.name, inbox.channel_type)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -3970,6 +4193,13 @@
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Create an API inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ninbox = client.inboxes.create(\n account_id=1,\n name=\"Support Inbox\",\n channel_type=\"api\"\n)\n\nprint(inbox.id, inbox.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -4041,6 +4271,13 @@
|
||||
"required": true
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Update an inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\ninbox = client.inboxes.update(\n account_id=1,\n inbox_id=5,\n name=\"Updated Inbox Name\",\n enable_auto_assignment=True\n)\n\nprint(inbox.id, inbox.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -4098,6 +4335,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get inbox agent bot",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nbot = client.inboxes.get_agent_bot(account_id=1, inbox_id=5)\n\nif bot:\n print(bot[\"id\"], bot[\"name\"])\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
@@ -4159,6 +4403,18 @@
|
||||
}
|
||||
],
|
||||
"description": "To add an agent bot pass agent_bot id, to remove agent bot from an inbox pass null",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Assign an agent bot",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.inboxes.set_agent_bot(account_id=1, inbox_id=5, agent_bot_id=2)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Remove agent bot",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.inboxes.set_agent_bot(account_id=1, inbox_id=5, agent_bot_id=None)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
@@ -4241,6 +4497,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List agents in inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagents = client.inboxes.agents.list(account_id=1, inbox_id=5)\n\nfor agent in agents:\n print(agent.name, agent.email)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"$ref": "#/components/parameters/inbox_id"
|
||||
@@ -4307,6 +4570,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Add agents to inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagents = client.inboxes.agents.add(\n account_id=1,\n inbox_id=5,\n agent_ids=[10, 11, 12]\n)\n\nprint(f\"Inbox now has {len(agents)} agents\")\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -4402,6 +4672,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Replace all agents in inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Replaces ALL current agents — agents not in this list are removed\nagents = client.inboxes.agents.update(\n account_id=1,\n inbox_id=5,\n agent_ids=[10, 11]\n)\n\nprint(f\"Inbox now has {len(agents)} agents\")\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -4497,6 +4774,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Remove agents from inbox",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.inboxes.agents.remove(\n account_id=1,\n inbox_id=5,\n agent_ids=[10]\n)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -4582,6 +4866,13 @@
|
||||
}
|
||||
],
|
||||
"description": "List all messages of a conversation",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List messages",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nmessages = client.messages.list(\n account_id=1,\n conversation_id=42\n)\n\nfor message in messages:\n print(message.content, message.message_type)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -4667,6 +4958,18 @@
|
||||
"agentBotApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Send a message",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nmessage = client.messages.create(\n account_id=1,\n conversation_id=42,\n content=\"Hello, how can I help you today?\"\n)\n\nprint(message.id, message.content)\n"
|
||||
},
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Send a private note",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nnote = client.messages.create(\n account_id=1,\n conversation_id=42,\n content=\"Internal note: Customer needs follow-up\",\n private=True\n)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -4742,6 +5045,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Delete a message and it's attachments from the conversation.",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Delete a message",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.messages.delete(\n account_id=1,\n message_id=123\n)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success"
|
||||
@@ -4996,6 +5306,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Fetch profile",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nprofile = client.profile.get()\n\nprint(profile.name, profile.email)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -5038,6 +5355,13 @@
|
||||
}
|
||||
],
|
||||
"description": "List all teams available in the current account",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List all teams",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nteams = client.teams.list(account_id=1)\n\nfor team in teams:\n print(team.id, team.name)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -5082,6 +5406,13 @@
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Create a team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nteam = client.teams.create(\n account_id=1,\n name=\"Support Team\",\n description=\"Customer support team\",\n allow_auto_assign=True\n)\n\nprint(team.id, team.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -5137,6 +5468,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Get the details of a team in the account",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Get a team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nteam = client.teams.get(account_id=1, team_id=5)\n\nprint(team.name, team.description)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
@@ -5182,6 +5520,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Update a team's attributes",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Update a team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nteam = client.teams.update(\n account_id=1,\n team_id=5,\n name=\"New Team Name\"\n)\n\nprint(team.id, team.name)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -5227,6 +5572,13 @@
|
||||
}
|
||||
],
|
||||
"description": "Delete a team from the account",
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Delete a team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.teams.delete(account_id=1, team_id=5)\n"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success"
|
||||
@@ -5275,6 +5627,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "List agents in team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nagents = client.teams.agents.list(account_id=1, team_id=5)\n\nfor agent in agents:\n print(agent.name, agent.email)\n"
|
||||
}
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"$ref": "#/components/parameters/account_id"
|
||||
@@ -5332,6 +5691,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Add agents to team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.teams.agents.add(\n account_id=1,\n team_id=5,\n agent_ids=[10, 11, 12]\n)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -5416,6 +5782,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Replace team agents",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\n# Replaces all current agents with the ones provided\nclient.teams.agents.add(\n account_id=1,\n team_id=5,\n agent_ids=[10, 11]\n)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
@@ -5500,6 +5873,13 @@
|
||||
"userApiKey": []
|
||||
}
|
||||
],
|
||||
"x-codeSamples": [
|
||||
{
|
||||
"lang": "python",
|
||||
"label": "Remove agents from team",
|
||||
"source": "from chatwoot import ChatwootClient\n\nclient = ChatwootClient(\n base_url=\"https://app.chatwoot.com\",\n api_token=\"your-api-token\"\n)\n\nclient.teams.agents.remove(\n account_id=1,\n team_id=5,\n agent_ids=[10]\n)\n"
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
|
||||
Reference in New Issue
Block a user