*API REST › Objetos › Operaciones*

# Ticket de reparación

> Ticket de reparación: qué se rompió y qué se presupuesta para repararlo.

Un ticket de reparación de mantenimiento: qué se averió y qué se presupuesta al cliente por arreglarlo. `unitPrice` es un precio de venta, no un coste, porque el coste de la reparación no se publica. Necesita el add-on `incidence`. Los tickets de reparación están acotados a la suscripción que posee la clave. La lectura de detalle, [`GET /api/v1/repair-tickets/{ticketId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/repair-tickets/get-a-repair-ticket), añade las líneas, el proyecto, las incidencias de origen y los campos personalizados.

Esquemas: `RepairTicketDto`, `RepairTicketDetailDto`

## Atributos

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `id` | string | Identificador único del ticket. |
| `number` | string | Número de ticket, por ejemplo "RT-2026-0001". |
| `date` | string<date-time> | Fecha de emisión en ISO 8601 UTC. |
| `status` | string | Estado del ticket en su ciclo de vida. `draft`, `sent`, `partially_converted`, `fully_invoiced`, `closed` |
| `orderId` | string | Identificador del pedido del que procede; null si se creó de forma independiente. |
| `orderNumber` | string | Número del pedido del que procede; null si se creó de forma independiente. |
| `contactId` | string | Identificador del cliente responsable; null si no se ha asignado ninguno. |
| `contactName` | string | Nombre del cliente responsable; null si no se ha resuelto. |
| `subTotal` | string | Suma de las líneas antes de impuestos, como cadena decimal "1234.50". |
| `taxTotal` | string | Total de impuestos, como cadena decimal "1234.50". |
| `total` | string | Total con impuestos, como cadena decimal "1234.50". |
| `totalLines` | integer | Número de líneas del ticket. |
| `notes` | string | Observaciones generales; null si no tiene. |
| `createdAt` | string<date-time> | Fecha de creación en ISO 8601 UTC. |
| `updatedAt` | string<date-time> | Fecha de la última modificación en ISO 8601 UTC. |
| `projectId` | string | Identificador del proyecto asociado; null si no tiene. |
| `lines` | object[] | Líneas del ticket. |
| `lines.id` | string | Identificador único de la línea. |
| `lines.entityType` | string | Tipo de elemento que se repara: item, serializedItem (una unidad concreta), space o kit; null para una línea libre (un servicio, un cargo). `item`, `serializedItem`, `space`, `kit` |
| `lines.entityId` | string | Identificador del elemento que se repara; null si es una línea libre. |
| `lines.entityName` | string | Nombre del elemento que se repara; null si no se ha resuelto. |
| `lines.description` | string | Qué hay que reparar. |
| `lines.diagnosis` | string | Diagnóstico técnico; null si no se ha registrado ninguno. |
| `lines.quantity` | number | Unidades afectadas; null si no aplica. |
| `lines.unitPrice` | string | Precio unitario NETO presupuestado al cliente, como cadena decimal "1234.50". No es el coste de reparación: ese no se publica. null si la línea no tiene precio. |
| `lines.incidentId` | string | Identificador de la incidencia que originó esta línea; null si no procede de ninguna. |
| `lines.notes` | string | Notas de la línea; null si no tiene. |
| `sourceIncidentIds` | string[] | Identificadores de las incidencias que originaron el ticket. |
| `customFields` | object<string, any> | Valores de los campos personalizados por identificador de campo personalizado; las definiciones están en `/api/v1/custom-fields`. |

## Valores

| Campo | Valores |
| --- | --- |
| `status` | `draft`, `sent`, `partially_converted`, `fully_invoiced`, `closed` |

## Ejemplo

*Repair ticket · Generado a partir del esquema*

```json
{
  "id": "id_8f2a1c",
  "number": "string",
  "date": "2026-09-01T08:00:00Z",
  "status": "draft",
  "orderId": "string",
  "orderNumber": "string",
  "contactId": "string",
  "contactName": "Example",
  "subTotal": "1234.50",
  "taxTotal": "1234.50",
  "total": "1234.50",
  "totalLines": 1,
  "notes": "string",
  "createdAt": "2026-09-01T08:00:00Z",
  "updatedAt": "2026-09-01T08:00:00Z",
  "projectId": "string",
  "lines": [
    {
      "id": "id_8f2a1c",
      "entityType": "item",
      "entityId": "string",
      "entityName": "Example",
      "description": "string",
      "diagnosis": "string",
      "quantity": 1,
      "unitPrice": "1234.50",
      "incidentId": "string",
      "notes": "string"
    }
  ],
  "sourceIncidentIds": [
    "string"
  ],
  "customFields": {
    "key": "string"
  }
}
```

## Lo devuelven

- [`GET /api/v1/repair-tickets`](https://docs.filmo.io/es/rest-api/endpoint-reference/repair-tickets/list-repair-tickets) — Listar tickets de reparación
- [`GET /api/v1/repair-tickets/{ticketId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/repair-tickets/get-a-repair-ticket) — Obtener un ticket de reparación

## Lo modifican

- [`POST /api/v1/repair-tickets`](https://docs.filmo.io/es/rest-api/endpoint-reference/repair-tickets/create-a-repair-ticket) — Crear un parte de reparación
- [`PATCH /api/v1/repair-tickets/{ticketId}`](https://docs.filmo.io/es/rest-api/endpoint-reference/repair-tickets/update-a-repair-ticket) — Actualizar un ticket de reparación

---

URL canónica: https://docs.filmo.io/es/rest-api/objects/repair-ticket  
Última actualización: 2026-10-25