The Channels API in AnswerPal lets you manage communication streams—such as email, chat, phone, and WhatsApp—used to connect with your customers. Use this API to list, create, update, or delete channels, as well as manage folders and UI translations for each channel. This documentation covers the endpoints, data structures, and practical examples for seamless channel integration.
Channels represent the different ways your organization communicates with end users. Each channel has a type (Email, Chat, Phone, WhatsApp), configuration details, and can be managed via the API. You can also organize email channels into folders and provide localized UI and message translations per channel.
[
{
"channelID": 1,
"customerID": 42,
"channelType": "Email",
"name": "Support Inbox",
"connectionDetails": "...",
"isActive": true
}
]
GET /api/Channels/{id} Returns the details for a specific channel.
{
"channelType": "Email",
"name": "New Support Inbox",
"connectionDetails": "...",
"isActive": true
}
PUT /api/Channels/{id} Updates an existing channel.
DELETE /api/Channels/{id} Deletes a channel.
POST /api/Channels/import-emails Imports emails for all channels of the authenticated customer.
POST /api/Channels/{channelId}/import-emails Imports emails for a specific channel.
Folders are used to organize emails within a channel. You can list, create, update, or delete folders for a given channel.
Each channel can have UI and message translations for different languages.
Example Translation Fields:
Below are the data models returned by the Channels API and related endpoints. Each property is explained in detail.
Channel Object
Property | Type | Description |
---|---|---|
channelID | int | Unique identifier for the channel |
customerID | int | Identifier for the customer/organization that owns the channel |
channelType | string | Type of channel. Allowed values: ‘Email’, ‘Chat’, ‘Phone’, ‘WhatsApp’ |
name | string | Name or label for the channel |
connectionDetails | string | Connection/configuration details (e.g., email server, API keys, phone system info) |
isActive | bool | Whether the channel is active (true) or inactive (false) |
emailAddress | string | (Email only) The email address associated with the channel |
hostnames | string | (Chat only) Comma-separated list of allowed hostnames/domains for this chat channel |
phoneNumber | string | (Phone only) The phone number associated with the channel, in international format (+…) |
token | string | Unique token for API access/authentication (read-only) |
isDefaultTranslationChannel | bool | (Chat only) If true, this channel is used as the default for translations |
overrideGraphTenantID | string | (Email only, optional) Override for Microsoft Graph Tenant ID |
overrideGraphClientID | string | (Email only, optional) Override for Microsoft Graph Client ID |
overrideGraphClientSecret | string | (Email only, optional) Override for Microsoft Graph Client Secret |
overrideGraphAuthorityURL | string | (Email only, optional) Override for Microsoft Graph Authority URL |
overrideGraphScope | string | (Email only, optional) Override for Microsoft Graph Scope |
Notes:
Property | Type | Description |
---|---|---|
folderID | int | Unique identifier for the folder |
channelID | int | The channel to which this folder belongs |
customerID | int | The customer/organization that owns this folder |
name | string | Name of the folder (e.g., ‘Inbox’, ‘Support’, etc.) |
parentFolderID | int | (Optional) If this is a subfolder, the ID of the parent folder |
type | string | Folder type, e.g., ‘Inbox’, ‘Sent’, ‘Custom’ |
Property | Type | Description |
---|---|---|
channelTranslationID | int | Unique identifier for this translation record |
channelID | int | The channel this translation is associated with |
lang | string | Language code (e.g., ‘en’, ‘fr’, ‘de’) |
chatTitle | string | Title for the chat window |
defaultGreeting | string | Default greeting message |
sendButtonText | string | Label for the send button |
escalatePrompt | string | Message shown when escalation to a human is needed |
yesText | string | Label for ‘Yes’ buttons or prompts |
noText | string | Label for ‘No’ buttons or prompts |
availabilityCheck | string | Message shown while checking for available agents |
validEmail | string | Prompt for entering a valid email address |
youText | string | Label for the user (e.g., ‘You’) |
submitButtonText | string | Label for the submit button |
succesfulSubmission | string | Message shown after a successful submission |
agentJoin | string | Message shown when an agent joins the chat |
Email, Chat, Phone, and WhatsApp.
Yes, each channel is associated with a specific customer and validated by access token and hostname.
Use the Channel Translations endpoints to manage per-language UI and message strings.
AnswerPal: AI-powered customer service solutions to elevate your support and communication effortlessly.
For all support, sales, and partnership inquiries, email us at info@answerpal.eu