Salta ai contenuti

API: Commenti

I commenti sono thread di discussione su un’attività. Ogni membro dello spazio di lavoro può leggerli e scriverli; le reazioni emoji sono per utente e per emoji.

GET /api/workspaces/{workspaceId}/tasks/{taskId}/comments

Restituisce i commenti dell’attività, dal più recente:

[
{
"id": "019f8a12-…",
"body": "Looks good — ship it.",
"author": {
"userId": "019f7488-…",
"firstName": "Ada",
"lastName": "Lovelace",
"avatarUrl": "/api/avatars/019f7488-…?v=…",
"inactive": false
},
"createdAt": "2026-07-22T09:50:16Z",
"reactions": [
{ "emoji": "👍", "count": 2, "mine": true }
]
}
]

reactions è aggregato per emoji; mine è true quando l’utente chiamante ha reagito con quell’emoji. author.inactive contrassegna i contenuti il cui autore ha eliminato il proprio account — i client mostrano un’etichetta localizzata «Utente inattivo».

POST /api/workspaces/{workspaceId}/tasks/{taskId}/comments
{ "body": "Looks good — ship it." }

Restituisce 201 con { "id": "…" }. Il corpo non può essere vuoto ed è limitato a 2000 caratteri (400 altrimenti).

DELETE /api/workspaces/{workspaceId}/tasks/{taskId}/comments/{commentId}

Restituisce 204. Solo l’autore del commento e il proprietario dello spazio di lavoro possono eliminarlo (403 altrimenti).

PUT /api/workspaces/{workspaceId}/tasks/{taskId}/comments/{commentId}/reactions/{emoji}
DELETE /api/workspaces/{workspaceId}/tasks/{taskId}/comments/{commentId}/reactions/{emoji}

PUT imposta la reazione dell’utente chiamante, DELETE la rimuove; entrambi sono idempotenti e restituiscono 204. Il segmento di percorso {emoji} è l’emoji stessa in codifica URL. Reazioni supportate: 👍 ❤️ 😄 🎉 👀 🚀 — qualsiasi altra risponde 400.