Tickets
Crear, listar y gestionar tickets de soporte
| Metodo | Ruta | Descripcion |
|---|
GET | /crm/organizations/{organization_id}/tickets | Listar tickets con filtros |
POST | /crm/organizations/{organization_id}/tickets | Crear un ticket |
GET | /crm/organizations/{organization_id}/tickets/:id | Obtener ticket por ID |
GET | /crm/organizations/{organization_id}/tickets/by-ref/:reference | Buscar por referencia (ej: SOT-1042) |
PATCH | /crm/organizations/{organization_id}/tickets/:id | Actualizar un ticket |
PATCH | /crm/organizations/{organization_id}/tickets/:id/assign | Asignar a miembro o equipo |
PATCH | /crm/organizations/{organization_id}/tickets/:id/state | Cambiar estado |
POST /crm/organizations/{organization_id}/tickets
| Campo | Tipo | Requerido | Descripcion |
|---|
title | string | Si | Titulo del ticket |
source | string | Si | Origen: manual, api, automation, form, channel |
priority | string | No | urgent, high, normal (default), low |
body_html | string | No | Descripcion en HTML |
requester_id | string | No | UUID del contacto solicitante |
assignee_member_id | string | No | UUID del miembro asignado |
account_id | string | No | UUID de la cuenta vinculada |
project_id | string | No | UUID del proyecto |
ticket_type_id | string | No | UUID del tipo de solicitud |
channel | string | No | whatsapp, voice, email, sms, webchat, messenger |
conversation_ids | string[] | No | IDs de conversaciones a vincular |
curl -X POST https://api.mirlo.com/v1/crm/organizations/{organization_id}/tickets \
-H "X-API-Key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"title": "Error en la facturacion",
"source": "api",
"priority": "high",
"requester_id": "550e8400-e29b-41d4-a716-446655440000"
}'
{
"id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"number": 1060,
"reference": "SOT-1060",
"title": "Error en la facturacion",
"state": "new",
"priority": "high",
"source": "api",
"created_at": "2026-07-06T00:00:00.000Z"
}
GET /crm/organizations/{organization_id}/tickets
| Parametro | Tipo | Descripcion |
|---|
state | string | new, waiting_on_agent, waiting_on_customer, on_hold, closed |
priority | string | urgent, high, normal, low |
assignee_member_id | string | UUID del miembro asignado |
unassigned | boolean | true para tickets sin asignar |
requester_id | string | UUID del contacto solicitante |
account_id | string | UUID de la cuenta |
project_id | string | UUID del proyecto |
search | string | Busqueda por titulo o referencia |
created_after | string | Fecha ISO (YYYY-MM-DD) |
created_before | string | Fecha ISO (YYYY-MM-DD) |
timezone | string | Ej: America/Mexico_City |
limit | number | Maximo de resultados (default: 100) |
offset | number | Offset para paginacion |
curl "https://api.mirlo.com/v1/crm/organizations/{organization_id}/tickets?state=new&priority=high&limit=20" \
-H "X-API-Key: <YOUR_API_KEY>"
PATCH /crm/organizations/{organization_id}/tickets/:id/state
curl -X PATCH https://api.mirlo.com/v1/crm/organizations/{organization_id}/tickets/{id}/state \
-H "X-API-Key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{ "state": "closed" }'
| Estado | Descripcion |
|---|
new | Nuevo, sin atender |
waiting_on_agent | Esperando respuesta del agente |
waiting_on_customer | Esperando respuesta del cliente |
on_hold | En espera (pausado) |
closed | Cerrado / resuelto |
PATCH /crm/organizations/{organization_id}/tickets/:id/assign
curl -X PATCH https://api.mirlo.com/v1/crm/organizations/{organization_id}/tickets/{id}/assign \
-H "X-API-Key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"assignee_member_id": "member-uuid",
"assigned_by": "admin-uuid"
}'
GET /crm/organizations/{organization_id}/tickets/by-ref/:reference
curl "https://api.mirlo.com/v1/crm/organizations/{organization_id}/tickets/by-ref/SOT-1042" \
-H "X-API-Key: <YOUR_API_KEY>"