Crear ticket
Los desarrolladores pueden crear tickets a través de la API. Una vez creado el ticket, se devuelve el ID del ticket.
Método de solicitud
POST
URL de la solicitud
https://livedesk-api.engagelab.com/api/v2/accounts/tickets
Autenticación
Se puede consultar la descripción de la autenticación en Visión general de la API para más información.
Solicitud
Ejemplo de solicitud
curl -X POST 'https://livedesk-api.engagelab.com/api/v2/accounts/tickets' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic base64(api_key:api_secret)' \
-d '{
"title": "Printer paper jam, unable to print",
"description": "Customer reported A4 paper jammed at the output tray, needs urgent handling.",
"attachments": [
{
"file_url": "https://example.com/files/error.jpg"
}
],
"requester": {
"euid": "contact_12345",
"channel_contacts": {
"channel_id": "inbox_100",
"contact_id": "-1001234567890",
"sub_contact_id": "23232323",
"followers": [
{
"id": "7562646527",
"name": "Zhang San"
}
]
}
},
"submitter": {
"id": "u_12345"
},
"assignment_team": "IT Support",
"priority": "high",
"ticket_type": "incident",
"custom_fields": {
"device_sn": "PRN-2024-001",
"location": "Beijing HQ - 3rd Floor Print Room"
}
}'
curl -X POST 'https://livedesk-api.engagelab.com/api/v2/accounts/tickets' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic base64(api_key:api_secret)' \
-d '{
"title": "Printer paper jam, unable to print",
"description": "Customer reported A4 paper jammed at the output tray, needs urgent handling.",
"attachments": [
{
"file_url": "https://example.com/files/error.jpg"
}
],
"requester": {
"euid": "contact_12345",
"channel_contacts": {
"channel_id": "inbox_100",
"contact_id": "-1001234567890",
"sub_contact_id": "23232323",
"followers": [
{
"id": "7562646527",
"name": "Zhang San"
}
]
}
},
"submitter": {
"id": "u_12345"
},
"assignment_team": "IT Support",
"priority": "high",
"ticket_type": "incident",
"custom_fields": {
"device_sn": "PRN-2024-001",
"location": "Beijing HQ - 3rd Floor Print Room"
}
}'
Este bloque de código se muestra en una ventana flotante
Encabezados de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
| Authorization | string | Se utiliza Authorization: Basic base64(API Key:API Secret) para la autenticación. Se puede acceder a la página de claves de API (API Key) para obtener la API Key y el secreto de la API (API Secret), y se unen mediante dos puntos antes de codificarlas en Base64. |
| Content-Type | application/json | Tipo de dato; el valor es application/json. |
Parámetros del cuerpo
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| title | string | Sí | Título del ticket. |
| description | string | No | Descripción del contenido del ticket; admite formato Markdown (md). |
| attachments | array | No | Array de archivos adjuntos; deben cargarse previamente mediante /upload. |
| attachments[].file_url | string | Sí | URL del archivo. |
| requester | object | Sí | Información del solicitante. |
| requester.euid | string | No | ID único del contacto (euid). |
| requester.channel_contacts | object | No | Asignación del contacto al canal (debe existir al menos uno con euid). |
| requester.channel_contacts.channel_id | string | Sí | ID del canal. |
| requester.channel_contacts.contact_id | string | Sí | ID de contacto del canal (p. ej., chat_id de TG). |
| requester.channel_contacts.sub_contact_id | string | No | ID de subcontacto del canal (p. ej., topic_id de TG / thread_id de Email). |
| requester.channel_contacts.followers | array | No | Información de ID de seguidor (para envío de notificaciones dentro del canal), incluidos los campos id y name: id, ID del seguidor; name, nombre del seguidor. |
| submitter | object | No | ID del remitente (ID de cuenta de miembro interno), incluido el campo id (id: ID del remitente). |
| assignment_team | string | No | Nombre del equipo asignado (debe existir previamente). |
| priority | string | No | Prioridad: high/medium/low; el valor por defecto es medium si no se proporciona. |
| ticket_type | string | No | Tipo de ticket: problem/incident/question/task/None; el valor por defecto es None si no se proporciona. |
| custom_fields | object | No | Campos personalizados (información de origen, etc.), en formato clave-valor. |
Ejemplo de respuesta
Respuesta correcta
{
"code": 0,
"message": "Success",
"data": {
"ticket_id": "tk_20251104_789abc",
"message": "Ticket created successfully"
}
}
{
"code": 0,
"message": "Success",
"data": {
"ticket_id": "tk_20251104_789abc",
"message": "Ticket created successfully"
}
}
Este bloque de código se muestra en una ventana flotante
Parámetros de la respuesta
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| ticket_id | string | No | ID del ticket. |
| message | string | No | Contenido del mensaje devuelto. Por ejemplo: «Ticket created successfully». |

