Saltar al contenido principal

Tickets de soporte

Listar tickets

GET /api/v1/crm/tickets

Parámetros:

NombreTipoDescripción
cursorstringCursor de paginación
limitintItems por página (default 25, máx 100)
filter[status]stringopen, in_progress, waiting_customer, waiting_internal, resolved, closed
filter[priority]stringlow, medium, high, urgent
filter[assigned_to]stringUUID del agente asignado
filter[source]stringmanual, email, whatsapp, web_form, api
filter[contact_id]stringUUID del contacto
searchstringBúsqueda por asunto o número
sortstring-created_at, priority, resolution_due_at

Respuesta 200:

{
"data": [
{
"id": "uuid",
"number": "TK-2026-0042",
"subject": "Producto dañado en envío",
"description": "El producto llegó con un daño en la caja...",
"status": "in_progress",
"priority": "high",
"source": "whatsapp",
"contact_id": "uuid",
"account_id": "uuid",
"assigned_to": "uuid",
"deal_id": null,
"order_id": "uuid",
"sla_policy_id": "uuid",
"response_due_at": "2026-04-10T14:00:00Z",
"resolution_due_at": "2026-04-11T12:00:00Z",
"first_response_at": "2026-04-10T13:30:00Z",
"resolved_at": null,
"closed_at": null,
"tags": ["envío", "daño"],
"metadata": {},
"created_by": "uuid",
"created_at": "2026-04-10T12:00:00Z",
"updated_at": "2026-04-10T13:30:00Z"
}
],
"meta": { "pagination": { "cursor": "eyJ...", "has_next": true, "limit": 25 } }
}

Crear ticket

POST /api/v1/crm/tickets

{
"subject": "Producto dañado en envío",
"description": "El producto llegó con un daño en la caja...",
"priority": "high",
"source": "api",
"contact_id": "uuid",
"order_id": "uuid",
"tags": ["envío"]
}

Respuesta 201: objeto Ticket completo.


Obtener ticket

GET /api/v1/crm/tickets/:id


Actualizar ticket

PATCH /api/v1/crm/tickets/:id

Mismos campos que crear. Omite los campos que no quieras cambiar.


Asignar ticket

POST /api/v1/crm/tickets/:id/assign

{ "assigned_to": "uuid" }

Resolver ticket

POST /api/v1/crm/tickets/:id/resolve


Cerrar ticket

POST /api/v1/crm/tickets/:id/close


Reabrir ticket

POST /api/v1/crm/tickets/:id/reopen


Escalar ticket

POST /api/v1/crm/tickets/:id/escalate


Comentarios del ticket

Listar comentarios

GET /api/v1/crm/tickets/:id/comments

Agregar comentario

POST /api/v1/crm/tickets/:id/comments

{
"body": "Le enviamos uno hoy mismo, con tracking #ABC123",
"is_internal": false
}