Skip to content

Tâches d'agence — CRUD

Gestion des tâches d'agence (agencyTasks). Concerne les tâches hors-projet (pilotage commercial, admin, maintenance). Les tâches de projet (projectTasks) ne sont pas exposées.

Source : server/publicApi/routes/planning.ts:51-176. Schéma : insertAgencyTaskSchema dans shared/schema.ts.

Vue d'ensemble

MéthodePathScope
GET/taskstasks:read
GET/tasks/:idtasks:read
POST/taskstasks:write
PATCH/tasks/:idtasks:write
DELETE/tasks/:idtasks:delete

Webhooks émis : task.created, task.updated, task.deleted, task.completed (status change → done ou completed).

Champs notables

ChampDescription
titleTitre de la tâche (requis)
descriptionDescription longue
statustodo, in_progress, done, completed
prioritylow, normal, high, urgent
startDate, dueDate, completedAtDates ISO 8601 (string) — converties serveur
assigneeIdUUID utilisateur (doit être membre de l'agence)

agencyId et createdBy sont résolus serveur (omits du schéma Zod).


GET /tasks

Liste paginée triée par createdAt DESC.

Query params

ParamTypeDescription
limitintDéfaut 50, max 100
offsetintOffset
statusstringFiltre exact sur statut

Réponse 200

json
{
  "data": [
    {
      "id": 1,
      "agencyId": 7,
      "title": "Relance facture F-2026-0042",
      "status": "todo",
      "priority": "high",
      "dueDate": "2026-05-01T00:00:00.000Z",
      "createdAt": "2026-04-27T10:00:00.000Z"
    }
  ],
  "total": 17,
  "limit": 50,
  "offset": 0
}

POST /tasks

Body

json
{
  "title": "Relance facture F-2026-0042",
  "description": "Email + appel si pas de retour à J+3",
  "status": "todo",
  "priority": "high",
  "dueDate": "2026-05-01"
}

Webhook émis

task.created.


PATCH /tasks/:id

Mise à jour partielle.

Webhooks émis

  • task.updated (toujours)
  • task.completed (si nouveau status = done ou completed, case-insensitive)

Exemple — marquer une tâche comme terminée

bash
curl -X PATCH \
  -H "x-api-key: spk_..." \
  -H "Content-Type: application/json" \
  -d '{"status":"done","completedAt":"2026-04-27T16:30:00.000Z"}' \
  https://beta.stormeo.io/api/public/v1/tasks/42

DELETE /tasks/:id

Suppression définitive.

Webhook émis

task.deleted avec { "id": 42 }.

StormeoOS API