This article introduces a REST API for ticket classification. The API analyzes incoming support requests and automatically classifies them by priority, category, tags, and other attributes. This allows for efficient and accurate handling of customer inquiries, improves response times, and increases customer satisfaction.
How the API Works
The developed REST API for ticket classification works by analyzing incoming support requests and classifying them based on various criteria. Here is a detailed description of how the API works:
Input
The API expects a JSON message as input, which can contain the following fields:
email_address
(optional): The sender's email address.subject
(optional): The email's subject.body
(optional): The text content of the email.timestamp
(optional): The time the email was sent.meta_headers
(optional): Additional meta headers of the email, e.g.,User-Agent
orContent-Type
.customer_data
(optional): Additional data about the customer, such as previous tickets and their history.
An example of an input could look like this:
{
"email_address": "tab@softoft.de",
"subject": "Problem with my order",
"body": "I have a problem with my last order. Please help me.",
"timestamp": "2023-06-05T12:00:00Z",
"meta_headers": {
"User-Agent": "Mozilla/5.0",
"Content-Type": "text/plain"
},
"customer_data": {
"customer_id": "1008",
"previous_tickets": [
{
"ticket_id": "001",
"subject": "Invoice not received",
"body": "I have not received my invoice. Can you resend it?",
"response": "Your invoice has been resent.",
"priority": "medium",
"queue": "Billing",
"timestamp": "2023-05-01T08:30:00Z"
},
{
"ticket_id": "002",
"subject": "Defective product",
"body": "The product I received is defective. What should I do?",
"response": "Please return the defective product to us, and we will replace it.",
"priority": "high",
"queue": "Technical",
"timestamp": "2023-05-15T09:15:00Z"
}
]
}
}
Processing
After receiving the request, the API analyzes and classifies the data. Various machine learning algorithms and heuristics are used to determine the following classification data:
- Priority: The urgency of the request (e.g., high, medium, low).
- Queue or Category: The appropriate queue or category in which the ticket should be placed (e.g., Technical, Billing, General).
- Tags: Additional tags for better categorization (e.g., "Complaint", "Payment").
- Estimated Processing Time: The estimated time required to process the ticket.
- Assignment to Staff/Agent: The specific staff member or agent to whom the ticket should be assigned, based on expertise and availability.
Output
The API returns a JSON message containing the classified data. An example output might look like this:
{
"priority": "high",
"queue": "Technical",
"tags": [
"Complaint",
"Order"
],
"estimated_time": "2 hours",
"assigned_agent": "markus.turan"
}
Through this structured and automated classification, companies can ensure that support requests are handled efficiently and accurately, leading to improved customer satisfaction and optimized workflows.
Setup and Data Requirements
For the API classifications to function correctly, the API first needs data on how the customer's specific ticket system is organized. This includes information about the available queues, priorities, and, if desired, additional tags. Furthermore, data on past tickets and their processing times are necessary to make accurate predictions and classifications.
Available Queues and Priorities
First, the available queues must be defined into which tickets can be sorted. A queue represents a category or department, such as Technical, Billing, or General. Equally important are the priorities that indicate the urgency of a ticket, such as high, medium, or low. This information must be provided to the API to enable accurate classification.
Tags and Historical Processing Times
To categorize tickets even more precisely, additional tags can be used. Tags are keywords that provide more information about the nature of the problem or the required action, such as "Complaint" or "Payment." Additionally, historical data on previous tickets and their processing times are necessary. This data helps the API accurately calculate the estimated processing time and other classifications based on past experiences.
Setup via the ATC API Online Portal or the API
The necessary data and configurations can be set up either through the ATC API Online Portal or directly via the API. The ATC API Online Portal offers a user-friendly interface for entering and managing the required information. Alternatively, this can also be done programmatically via the API, which is especially useful for developers and integrators who prefer automated setup.
Example of an API setup:
{
"queues": [
"Technical",
"Billing",
"General"
],
"priorities": [
"high",
"medium",
"low"
],
"tags": [
"Complaint",
"Payment",
"Order"
],
"historical_data": [
{
"ticket_id": "001",
"queue": "Billing",
"priority": "medium",
"tags": [
"Complaint"
],
"resolution_time": "3 hours"
},
{
"ticket_id": "002",
"queue": "Technical",
"priority": "high",
"tags": [
"Defect"
],
"resolution_time": "2 hours"
}
]
}
By providing this setup and data, it ensures that the API has the necessary information to accurately classify incoming tickets and make the support process more efficient.
If you are interested in the API or need more information, feel free to contact us at atc-api@softoft.de
Conclusion
The introduced REST API for ticket classification offers an efficient solution for the automated handling of support requests. By accurately analyzing and classifying tickets, companies can improve their response times and increase customer satisfaction. The flexible setup via the ATC API Online Portal or directly through the API allows for easy integration and customization to specific needs. Overall, this solution significantly contributes to the optimization of customer service.