mirlo

Tickets

Crear, listar y gestionar tickets de soporte

Endpoints

MetodoRutaDescripcion
GET/crm/organizations/{organization_id}/ticketsListar tickets con filtros
POST/crm/organizations/{organization_id}/ticketsCrear un ticket
GET/crm/organizations/{organization_id}/tickets/:idObtener ticket por ID
GET/crm/organizations/{organization_id}/tickets/by-ref/:referenceBuscar por referencia (ej: SOT-1042)
PATCH/crm/organizations/{organization_id}/tickets/:idActualizar un ticket
PATCH/crm/organizations/{organization_id}/tickets/:id/assignAsignar a miembro o equipo
PATCH/crm/organizations/{organization_id}/tickets/:id/stateCambiar estado

Crear ticket

POST /crm/organizations/{organization_id}/tickets

Body

CampoTipoRequeridoDescripcion
titlestringSiTitulo del ticket
sourcestringSiOrigen: manual, api, automation, form, channel
prioritystringNourgent, high, normal (default), low
body_htmlstringNoDescripcion en HTML
requester_idstringNoUUID del contacto solicitante
assignee_member_idstringNoUUID del miembro asignado
account_idstringNoUUID de la cuenta vinculada
project_idstringNoUUID del proyecto
ticket_type_idstringNoUUID del tipo de solicitud
channelstringNowhatsapp, voice, email, sms, webchat, messenger
conversation_idsstring[]NoIDs de conversaciones a vincular

Ejemplo

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"
  }'

Respuesta

{
  "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"
}

Listar tickets

GET /crm/organizations/{organization_id}/tickets

Query Parameters

ParametroTipoDescripcion
statestringnew, waiting_on_agent, waiting_on_customer, on_hold, closed
prioritystringurgent, high, normal, low
assignee_member_idstringUUID del miembro asignado
unassignedbooleantrue para tickets sin asignar
requester_idstringUUID del contacto solicitante
account_idstringUUID de la cuenta
project_idstringUUID del proyecto
searchstringBusqueda por titulo o referencia
created_afterstringFecha ISO (YYYY-MM-DD)
created_beforestringFecha ISO (YYYY-MM-DD)
timezonestringEj: America/Mexico_City
limitnumberMaximo de resultados (default: 100)
offsetnumberOffset para paginacion

Ejemplo

curl "https://api.mirlo.com/v1/crm/organizations/{organization_id}/tickets?state=new&priority=high&limit=20" \
  -H "X-API-Key: <YOUR_API_KEY>"

Cambiar estado

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" }'

Estados validos

EstadoDescripcion
newNuevo, sin atender
waiting_on_agentEsperando respuesta del agente
waiting_on_customerEsperando respuesta del cliente
on_holdEn espera (pausado)
closedCerrado / resuelto

Asignar ticket

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"
  }'

Buscar por referencia

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>"

En esta pagina