*MCP › Referencia › Operaciones › Planificador*

# Asignar un recurso a un servicio

> Asigna a una persona o a un vehículo a un servicio.

El destino es EXACTAMENTE uno: el par `orderId` + `orderServiceId`, una tarea o un servicio interno. El recurso, también exactamente uno. `conflictCount` indica con cuántos compromisos del recurso se solapa esta asignación: la asignación se hace igualmente, y tú decides qué hacer con el número. Responde 400 `validation_error`, con `errors[].path` en el campo, cuando `staffId`, `vehicleId` o el destino (`orderServiceId`, `taskId`, `internalServiceId`) no existe o pertenece a otra cuenta, cuando el destino no acepta ese tipo de recurso (una tarea solo acepta personal; un servicio, los tipos de recurso que declaran sus requisitos) y cuando la tarea no bloquea la disponibilidad; 409 `conflict` cuando el recurso ya está asignado a ese destino o no está disponible en ese periodo. En ninguno de esos casos se escribe nada.

HERRAMIENTA `filmo_planner_assignment_create` · `planner:write` · 120/min

## Argumentos

| Nombre | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `orderId` | string | No | Pedido al que está asociado el servicio. |
| `orderServiceId` | string | No | Línea de servicio dentro de ese pedido. Va con `orderId`. |
| `taskId` | string | No | Tarea del planificador a la que asignar el recurso. |
| `internalServiceId` | string | No | Asignación interna que se va a cubrir. |
| `staffId` | string | No | Miembro del personal que se asigna. |
| `vehicleId` | string | No | Vehículo que se asigna. |
| `role` | string | No | Rol con el que se asigna. P. ej.: "Conductor". |
| `idempotencyKey` | string | No | Clave de idempotencia elegida por el cliente (se recomienda un UUID). Repetir la misma clave con los mismos argumentos en 24 h devuelve la respuesta almacenada sin volver a ejecutar; con argumentos distintos responde 422. Es la forma segura de reintentar tras un fallo de red. |

## Resultado

En un éxito el resultado lleva `structuredContent` con `data` y `meta`. Estos son los atributos de `data`.

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `status` | string | Resultado de la operación. |
| `conflictCount` | number | Compromisos del recurso que se solapan con esta asignación. |

*Llamada · filmo_planner_assignment_create*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_planner_assignment_create",
    "arguments": {}
  }
}
```

*Resultado (generado desde el esquema)*

```json
{
  "structuredContent": {
    "data": {
      "status": "<status>",
      "conflictCount": 1
    },
    "meta": {
      "idempotencyKey": "<the key you sent, or the one the server generated>",
      "rateLimit": {
        "limit": 120,
        "remaining": 119,
        "reset": 42
      }
    }
  }
}
```

## La misma operación por REST

Esta herramienta ejecuta [`POST /api/v1/planner/assignments`](https://docs.filmo.io/es/rest-api/endpoint-reference/planner/assign-a-resource-to-a-service).

---

URL canónica: https://docs.filmo.io/es/mcp/tools/planner/filmo-planner-assignment-create  
Última actualización: 2026-10-25