Overview
Creating tickets
Tickets are created in your Silux Chat dashboard — by the bot during a conversation, or by your own systems throughPOST /api/chatbot-api/create-ticket. Creating a ticket never requires the customer to be verified.
Reading ticket status
With a helpdesk or CRM connector, a verified customer can ask “any update on my ticket?” and the bot reads the status of their own cases. Helpdesk connectors are read-only: they do not create or change tickets in your helpdesk.
Tickets the bot raises
The bot raises a ticket when it cannot resolve something itself, when the customer asks for a person, or when the conversation needs a follow-up from your team. The ticket carries the customer’s name and contact details, a subject, a description of the request and a link to the conversation, and appears in Dashboard → Tickets.
- 1The bot collects what your team will need: the customer’s name, a way to contact them and a clear description of the request.
- 2The ticket is created and the bot gives the customer the ticket reference it received — it never quotes a reference that was not actually created.
- 3If the same customer gets in touch again within three hours about an open request, the new contact is added to the existing ticket as a note rather than opening a duplicate.
- 4Your team picks the ticket up from the dashboard. Verified customers can later ask for the latest reply on their ticket, where your ticket system provides one.
Returns, cancellations and account changes
The bot cannot change orders, subscriptions or accounts. Requests such as a return, a cancellation or a change of address are turned into tickets with the relevant order or account details, so your team can act on them. See Orders, delivery tracking & returns.Create a ticket through the API
Your website forms, CRM automations or back-office tools can create tickets in the same queue the bot uses. Authenticate with your account’s API key, found in Dashboard → API Settings, sent in the X-API-Key header. See Authentication for key handling and rotation.
https://www.siluxchat.com/api/chatbot-api/create-ticketX-API-Key: your account API keyCreates a support ticket in your dashboard. The customer does not need to be verified. Send JSON withContent-Type: application/json.
curl -s -X POST "https://www.siluxchat.com/api/chatbot-api/create-ticket" \
-H "X-API-Key: YOUR_ACCOUNT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"customer_name":"Jane Smith","customer_email":"jane@example.com","customer_mobile":"07700900123","subject":"Return request for order ORD-50231","description":"Customer would like to return an unopened item from order ORD-50231 and asked for a returns label.","category":"customer_inquiry"}'{
"success": true,
"message": "Support ticket TKT7QK2M9XA has been created. Our team will get back to you shortly.",
"data": {
"ticket_number": "TKT7QK2M9XA",
"ticket_id": 1042,
"status": "open"
}
}This call creates a real ticket
There is no demo key for ticket creation: every successful call lands in the account whose key you used. Test against your sandbox account (its key beginssbx_) before pointing production systems at it.Fields, categories and priority
| Field | Type | Required | Notes |
|---|---|---|---|
| customer_name | string | Yes | The customer’s name. If sent as an empty string with a valid session_token, the verified name is used. |
| subject | string | Yes | 5–255 characters. |
| description | string | Yes | 10–5,000 characters. Include order numbers, dates and what the customer asked for. |
| customer_email | string | No | Where your team can reply. |
| customer_mobile | string | No | UK or international format. |
| category | string | No | One of the categories below; it sets the ticket priority (the category itself is not stored on the ticket). Anything else is treated as general. |
| session_token | string | No | A session token from the Silux Chat verification endpoints (/api/chatbot-api/verify-identity and verify-otp). When valid, the verified customer’s name is used if customer_name is empty. |
| conversation_id | integer | No | Links the ticket to one of your Silux Chat conversations. An ID that is not one of your conversations is ignored — the ticket is still created, unlinked. |
Categories and the priority they set
| category | Priority | Use for |
|---|---|---|
| contract_cancellation | High | Cancellation requests and notice |
| payment_issue | High | Failed payments, disputed charges, refunds |
| network_refresh | Medium | Service or connection refresh requests |
| sim_activation | Medium | SIM or service activation |
| general | Medium | Everything else (the default) |
| customer_inquiry | Low | Questions and information requests |
Responses and errors
| Status | Body | Meaning and fix |
|---|---|---|
| 200 | {"success": true, "data": {"ticket_number": "…"}} | Created. Show the ticket_number to the customer. |
| 401 | {"detail": "Invalid API key"} | The X-API-Key header is missing, mistyped or has been regenerated. Copy the current key from Dashboard → API Settings. |
| 422 | {"detail": [{"loc": ["body", "subject"], "msg": "…"}]} | A field failed validation — typically a subject under 5 characters or a description under 10. |
You can confirm the authentication error safely — this request is rejected before anything is created:
curl -s -w " %{http_code}\n" -X POST "https://www.siluxchat.com/api/chatbot-api/create-ticket" \
-H "X-API-Key: not-a-real-key" \
-H "Content-Type: application/json" \
-d '{"customer_name":"Jane Smith","subject":"Test subject","description":"Testing authentication only."}'{"detail":"Invalid API key"} 401Reading ticket status from your helpdesk
When a helpdesk or CRM connector that holds tickets is used to verify customers, the platform adds a My Support Ticketstool to your bot. After verification the bot calls it to read that customer’s own cases.
https://www.siluxchat.com/api/connect/{connection_id}/ticketsPer-connection key (platform-held)Request body: {"session_token": "…"}. Called by your bot after verification; you never call it yourself.
{
"success": true,
"tickets": [
{ "id": "35436", "subject": "Router not connecting", "status": "open", "updated": "2026-09-24" },
{ "id": "35102", "subject": "Change of billing address", "status": "solved", "updated": "2026-09-02" }
]
}| Field | Meaning |
|---|---|
| id | Ticket or case number in your helpdesk |
| subject | Ticket subject |
| status | Status as your helpdesk reports it: new, open, pending, solved, closed … |
| updated | Last updated date (YYYY-MM-DD) |
- Only the ticket number, subject, status and last-updated date are mapped, plus — for some systems — opened and closed dates or a pipeline stage. Message bodies, internal notes and agent comments are not read.
- Rows naming a different customer’s email address are dropped by a safety net, whatever the helpdesk search returned.
- If your helpdesk cannot be reached, the bot receives
{"success": false, "system_error": true}and tells the customer it cannot check right now — never that they have no tickets.
Helpdesk and CRM connectors with tickets
Helpdesk
Telecom & ISP
Field service
Productivity & no-code
Connected, but not answered by the bot
Asana, ClickUp, Trello hold cards or tasks but can’t prove who is asking — they have no customer search and their records don’t name the customer by email. They connect and are tested, but the bot does not read them for customers.Good practice
- Write subjects a person can triage at a glance: “Return request — ORD-50231”, not “Help”.
- Put identifiers (order numbers, invoice numbers, account numbers) in the description so your team does not have to ask again.
- Send
conversation_idwhen you have one, so the full chat transcript is one click away. - Never put passwords, full card numbers or security answers in a ticket. See Security & data protection.
- Treat the API key like a password: call the endpoint from your server, never from browser JavaScript.
- To be told the moment a ticket is raised or changes status — however it was raised — subscribe to the
ticket.createdandticket.updatedwebhooks; see Webhooks, Make, n8n, Zapier & REST.
Get help
Want tickets routed into your existing helpdesk, or help choosing categories for your team? Email support@siluxcall.co.uk and our integration team will help you set it up. Error details for every endpoint are in Troubleshooting.
Need help with your integration?
Our integration team can review your endpoints, help you choose the right connector and check a test run with you. Tell us which system you use and what you would like the bot to answer.