Inizia in 5 minuti
- Crea una chiave. Un amministratore apre Unitly → Impostazioni → API e webhook → Nuova chiave, sceglie le aree (per esempio “Task: lettura e scrittura”, “CRM: lettura”) e copia la chiave: viene mostrata una volta sola.
- Prova la chiave. Ogni richiesta porta l’intestazione
Authorization: Bearercon la chiave. - Usa l’ID dell’organizzazione (lo restituisce
/api/v1/key) negli indirizzi:/api/v1/orgs/{orgId}/….
curl https://unitly.it/api/v1/key \
-H "Authorization: Bearer $UNITLY_API_KEY"
# Gli spazi, poi un task in uno spazio
curl https://unitly.it/api/v1/orgs/$ORG_ID/workspaces -H "Authorization: Bearer $UNITLY_API_KEY"
curl -X POST https://unitly.it/api/v1/orgs/$ORG_ID/tasks \
-H "Authorization: Bearer $UNITLY_API_KEY" -H "Content-Type: application/json" \
-d '{"workspaceId": "…", "title": "Preparare il preventivo", "dueDate": "2026-11-20"}'
Chiavi e permessi
- Solo gli amministratori creano chiavi. Una chiave agisce con i permessi di chi l’ha creata, limitati alle aree scelte;
scritturainclude la lettura. - Una chiave non può gestire chiavi o webhook, collegare account (Google, social) né toccare l’account personale (password, sessioni, profilo).
- Smette di funzionare se viene revocata, se scade o se chi l’ha creata non è più amministratore.
- Conservala come una password: solo sul server, mai in un’app o in una pagina web.
| Area | Permessi |
|---|---|
| Spazi, membri e inviti | lettura / scrittura |
| Task | lettura / scrittura |
| Calendario editoriale | lettura / scrittura |
| Calendario ed eventi | lettura / scrittura |
| CRM | lettura / scrittura |
| Contabilità | lettura / scrittura |
| Persone (ferie e permessi) | lettura / scrittura |
| Ticket | lettura / scrittura |
| Chat (solo canali degli spazi) | lettura / scrittura |
| Documenti | lettura / scrittura |
| Social: account, statistiche, campagne | lettura / scrittura |
| Home, notifiche e ricerca | lettura / scrittura |
Formato, errori e limiti
- JSON in entrata e in uscita; ID in formato UUID; date e orari in ISO 8601.
- Gli errori seguono lo standard RFC 9457 (
application/problem+json):titleè un messaggio leggibile in italiano,codeè stabile e va usato nel codice (invalid_api_key,insufficient_scope,not_found,validation_errorcon il dettaglio per campo inerrors,rate_limited). - Limite: 600 richieste al minuto per chiave; oltre si riceve
429. - Gli elenchi restituiscono tutti gli elementi visibili (filtrabili con i parametri indicati nel riferimento).
{
"type": "about:blank",
"title": "La chiave API non ha accesso a quest’area (o in scrittura).",
"status": 403,
"code": "insufficient_scope",
"requestId": "req-1a"
}
Webhook
Un webhook avvisa il tuo servizio quando in Unitly qualcosa cambia: Unitly invia una richiesta POST in JSON all’indirizzo scelto, entro pochi secondi. Si crea da Impostazioni → API e webhook, scegliendo gli eventi (o tutti).
POST https://tuo-servizio.example/unitly
Content-Type: application/json
Unitly-Event: task.created
Unitly-Event-Id: 2f1c…
Unitly-Signature: t=1793740000,v1=5d2a…
{
"id": "2f1c…",
"type": "task.created",
"createdAt": "2026-11-03T09:30:00.000Z",
"organizationId": "…",
"workspaceId": "…",
"actor": { "type": "user", "id": "…" },
"data": { "id": "…", "title": "Preparare il preventivo", "…": "…" }
}
dataè l’oggetto come lo restituisce l’API per quell’azione; per le eliminazioni contiene solo l’id.- Conferma rispondendo con un codice 2xx entro 10 secondi. Altrimenti Unitly riprova dopo 1, 5, 30 minuti, 2, 6, 12 e 24 ore (8 tentativi). Dopo 5 eventi non consegnati di fila il webhook si disattiva e lo vedi nelle impostazioni.
- Lo stesso evento può arrivare più di una volta e non sempre in ordine: usa
idper ignorare i doppioni ecreatedAtper l’ordine. - I messaggi diretti e i canali privati della chat non escono mai da Unitly: solo i canali pubblici degli spazi.
- Gli indirizzi devono essere pubblici e in
https.
Verificare la firma
Ogni webhook ha un segreto (whsec_…), mostrato alla creazione. La firma è l’HMAC-SHA256 di <t>.<corpo>: calcolala sul corpo così come arriva, prima di leggerlo come JSON, e rifiuta richieste con t più vecchio di 5 minuti.
// Node.js
import { createHmac, timingSafeEqual } from 'node:crypto';
export function verifyUnitly(rawBody, header, secret) {
const { t, v1 } = Object.fromEntries(header.split(',').map((p) => p.split('=')));
if (Math.abs(Date.now() / 1000 - Number(t)) > 300) return false;
const expected = createHmac('sha256', secret).update(`${t}.${rawBody}`).digest('hex');
return timingSafeEqual(Buffer.from(expected), Buffer.from(v1));
}
// PHP
function verifyUnitly(string $rawBody, string $header, string $secret): bool {
parse_str(str_replace(',', '&', $header), $p);
if (abs(time() - (int) $p['t']) > 300) return false;
return hash_equals(hash_hmac('sha256', $p['t'] . '.' . $rawBody, $secret), $p['v1']);
}
# Python
import hmac, hashlib, time
def verify_unitly(raw_body: bytes, header: str, secret: str) -> bool:
p = dict(x.split("=", 1) for x in header.split(","))
if abs(time.time() - int(p["t"])) > 300:
return False
expected = hmac.new(secret.encode(), f"{p['t']}.".encode() + raw_body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, p["v1"])
Eventi disponibili
| Evento | Quando |
|---|---|
workspace.created | Spazio creato |
workspace.updated | Spazio modificato |
workspace.deleted | Spazio eliminato |
workspace.member_added | Persona aggiunta a uno spazio |
workspace.member_updated | Ruolo nello spazio modificato |
workspace.member_removed | Persona tolta da uno spazio |
member.invited | Persona invitata nell’azienda |
member.updated | Ruolo nell’azienda modificato |
member.removed | Persona rimossa dall’azienda |
task.created | Task creato |
task.updated | Task modificato |
task.completed | Task completato |
task.reopened | Task riaperto |
task.deleted | Task eliminato |
task.comment_created | Commento a un task |
content.created | Contenuto editoriale creato |
content.updated | Contenuto editoriale modificato |
content.submitted | Contenuto inviato in revisione |
content.approved | Contenuto approvato |
content.changes_requested | Modifiche richieste su un contenuto |
content.deleted | Contenuto editoriale eliminato |
content.comment_created | Commento a un contenuto |
event.created | Evento creato |
event.updated | Evento modificato |
event.deleted | Evento eliminato |
deal.created | Trattativa creata |
deal.updated | Trattativa modificata |
deal.moved | Trattativa spostata di fase |
deal.deleted | Trattativa eliminata |
company.created | Azienda CRM creata |
company.updated | Azienda CRM modificata |
company.deleted | Azienda CRM eliminata |
contact.created | Contatto creato |
contact.updated | Contatto modificato |
contact.deleted | Contatto eliminato |
activity.created | Attività CRM registrata |
email.sent | Email inviata dal CRM |
transaction.created | Movimento contabile creato |
transaction.updated | Movimento contabile modificato |
transaction.deleted | Movimento contabile eliminato |
leave_request.created | Richiesta di ferie o permesso |
leave_request.reviewed | Richiesta di ferie approvata o rifiutata |
leave_request.deleted | Richiesta di ferie annullata |
ticket.created | Ticket aperto |
ticket.updated | Ticket modificato |
ticket.deleted | Ticket eliminato |
ticket.comment_created | Commento a un ticket |
channel.created | Canale chat creato |
message.created | Messaggio in un canale |
message.updated | Messaggio modificato |
page.created | Documento creato |
page.updated | Documento modificato |
page.deleted | Documento eliminato |
Più l’evento ping, inviato con il pulsante “Invia una prova”. Le modifiche fatte dai sincronismi automatici (Google Calendar, social) non generano eventi.
Riferimento
Tutte le operazioni disponibili con una chiave, per area. La specifica completa, con gli schemi, è in openapi.json (OpenAPI 3.1: si importa in Postman, Insomnia o in un generatore di client). Negli indirizzi, … sta per /api/v1/orgs/{orgId}.
Spazi, membri e inviti 36 operazioni
…Leggi l’organizzazione · permesso qualsiasi
…Modifica l’organizzazione · permesso workspaces:write
namestring
…/invitationsElenco inviti · permesso workspaces:read
…/invitationsCrea (inviti) · permesso workspaces:write · evento member.invited
emailemailrole"admin" | "manager" | "member" | "junior" | "guest"workspaceIdfacoltativo uuid
…/invitations/{id}Elimina (inviti) · permesso workspaces:write
…/membersElenco membri · permesso workspaces:read
…/members/{userId}Elimina (membri) · permesso workspaces:write · evento member.removed
…/members/{userId}Modifica (membri) · permesso workspaces:write · evento member.updated
role"admin" | "manager" | "member" | "junior" | "guest"
…/members/{userId}/workspacesElenco spazi · permesso workspaces:read
…/workspacesElenco spazi · permesso workspaces:read
…/workspacesCrea (spazi) · permesso workspaces:write · evento workspace.created
namestringkeystringtypefacoltativo "general" | "media" | "department" | "client"colorfacoltativo "indigo" | "blue" | "teal" | "green" | "lime" | "amber" | "orange" | "red" | "pink" | "purple"
…/workspaces/{id}Elimina (spazi) · permesso workspaces:write · evento workspace.deleted
…/workspaces/{id}Dettaglio (spazi) · permesso workspaces:read
…/workspaces/{id}Modifica (spazi) · permesso workspaces:write · evento workspace.updated
namefacoltativo stringtypefacoltativo "general" | "media" | "department" | "client"colorfacoltativo "indigo" | "blue" | "teal" | "green" | "lime" | "amber" | "orange" | "red" | "pink" | "purple"
…/workspaces/{id}/logoElimina logo · permesso workspaces:write
…/workspaces/{id}/logoLogo (spazi) · permesso workspaces:write
…/workspaces/{id}/membersCrea (membri) · permesso workspaces:write · evento workspace.member_added
userIduuid
…/workspaces/{id}/members/{userId}Elimina (membri) · permesso workspaces:write · evento workspace.member_removed
…/workspaces/{id}/members/{userId}Modifica (membri) · permesso workspaces:write · evento workspace.member_updated
positionstring | nullhiddenModules"ped" | "crm" | "finance" | "hr" | "tickets" | "documents" | "people" | "insights" | "content" | "marketing"[]
…/workspaces/{id}/module-visibilityAggiorna module-visibility · permesso workspaces:write
module"ped" | "crm" | "finance" | "hr" | "tickets" | "documents" | "people" | "insights" | "content" | "marketing"hiddenboolean
…/workspaces/{id}/transferTrasferisci (spazi) · permesso workspaces:write
userIduuid
…/workspaces/{wsId}/sectionsElenco sezioni · permesso workspaces:read
…/workspaces/{wsId}/sectionsCrea (sezioni) · permesso workspaces:write
namestringiconfacoltativo string
…/workspaces/{wsId}/sections/{id}Elimina (sezioni) · permesso workspaces:write
…/workspaces/{wsId}/sections/{id}Modifica (sezioni) · permesso workspaces:write
namefacoltativo stringiconfacoltativo string
…/workspaces/{wsId}/sections/{id}/blocksElenco blocchi · permesso workspaces:read
…/workspaces/{wsId}/sections/{id}/blocksCrea (blocchi) · permesso workspaces:write
type"text" | "table" | "video"titlefacoltativo string | nullcontentfacoltativo oggetto
…/workspaces/{wsId}/sections/{id}/blocks/{blockId}Elimina (blocchi) · permesso workspaces:write
…/workspaces/{wsId}/sections/{id}/blocks/{blockId}Modifica (blocchi) · permesso workspaces:write
titlefacoltativo string | nullcontentfacoltativo oggetto
…/workspaces/{wsId}/sections/{id}/blocks/reorderRiordina (blocchi) · permesso workspaces:write
…/workspaces/{wsId}/sections/reorderRiordina (sezioni) · permesso workspaces:write
…/workspaces/{wsId}/tasks/chartElenco grafico · permesso workspaces:read
…/workspaces/{wsId}/widgetsElenco widget · permesso workspaces:read
…/workspaces/{wsId}/widgetsCrea (widget) · permesso workspaces:write
namestringchartType"bar" | "line" | "donut"metricsstring[]groupBystringdateRangefacoltativo "last_3_months" | "last_6_months" | "last_12_months" | "this_year" | "all_time"
…/workspaces/{wsId}/widgets/{id}Elimina (widget) · permesso workspaces:write
…/workspaces/{wsId}/widgets/{id}Modifica (widget) · permesso workspaces:write
namefacoltativo stringchartTypefacoltativo "bar" | "line" | "donut"metricsfacoltativo string[]groupByfacoltativo stringdateRangefacoltativo "last_3_months" | "last_6_months" | "last_12_months" | "this_year" | "all_time"
Task 12 operazioni
…/statesElenco stati dei task · permesso tasks:read
…/tasksElenco task · permesso tasks:read
scopefacoltativo "mine" | "all"workspaceIdfacoltativo uuidstatusfacoltativo "open" | "done" | "all"duefacoltativo "any" | "today" | "overdue" | "upcoming" | "none"limitfacoltativo integer
…/tasksCrea (task) · permesso tasks:write · evento task.created
workspaceIduuidtitlestringdescriptionfacoltativo stringpriorityfacoltativo integerdueDatefacoltativo data AAAA-MM-GG | nulldueTimefacoltativo string | nullassigneeIdsfacoltativo uuid[]stateIdfacoltativo uuid
…/tasks/{id}Elimina (task) · permesso tasks:write · evento task.deleted
…/tasks/{id}Dettaglio (task) · permesso tasks:read
…/tasks/{id}Modifica (task) · permesso tasks:write · evento task.updated
titlefacoltativo stringdescriptionfacoltativo stringpriorityfacoltativo integerdueDatefacoltativo data AAAA-MM-GG | nulldueTimefacoltativo string | nullassigneeIdsfacoltativo uuid[]stateIdfacoltativo uuidworkspaceIdfacoltativo uuid
…/tasks/{id}/commentsElenco commenti · permesso tasks:read
…/tasks/{id}/commentsCrea (commenti) · permesso tasks:write · evento task.comment_created
bodystring
…/tasks/{id}/comments/{commentId}Elimina (commenti) · permesso tasks:write
…/tasks/{id}/comments/{commentId}Modifica (commenti) · permesso tasks:write
bodystring
…/tasks/{id}/completeCompleta (task) · permesso tasks:write · evento task.completed
…/tasks/{id}/reopenRiapri (task) · permesso tasks:write · evento task.reopened
Calendario editoriale 31 operazioni
…/editorial/itemsElenco elementi · permesso editorial:read
workspaceIdfacoltativo uuidfromdata AAAA-MM-GGtodata AAAA-MM-GGseriesIdfacoltativo uuidincludeUnscheduledfacoltativo "0" | "1"
…/editorial/itemsCrea (elementi) · permesso editorial:write · evento content.created
workspaceIduuidtitlestringplannedDatefacoltativo data AAAA-MM-GG | nullplannedTimefacoltativo string | nullseriesIdfacoltativo uuid | nullformatfacoltativo string | nullstateIdfacoltativo uuidcaptionfacoltativo stringbrieffacoltativo stringdesignUrlfacoltativo string | null | ""assetUrlfacoltativo string | null | ""channelIdsfacoltativo uuid[]membersfacoltativo object[]customFieldsfacoltativo object
…/editorial/items/{id}Elimina (elementi) · permesso editorial:write · evento content.deleted
…/editorial/items/{id}Dettaglio (elementi) · permesso editorial:read
…/editorial/items/{id}Modifica (elementi) · permesso editorial:write · evento content.updated
titlefacoltativo stringplannedDatefacoltativo data AAAA-MM-GG | nullplannedTimefacoltativo string | nullseriesIdfacoltativo uuid | nullformatfacoltativo string | nullstateIdfacoltativo uuidcaptionfacoltativo stringbrieffacoltativo stringdesignUrlfacoltativo string | null | ""assetUrlfacoltativo string | null | ""channelIdsfacoltativo uuid[]membersfacoltativo object[]customFieldsfacoltativo object
…/editorial/items/{id}/approveApprova (elementi) · permesso editorial:write · evento content.approved
…/editorial/items/{id}/channels/{channelId}Modifica (canali) · permesso editorial:write
publishedUrlstring | null | ""
…/editorial/items/{id}/channels/{channelId}/tiktokElenco tiktok · permesso editorial:read
…/editorial/items/{id}/channels/{channelId}/tiktokCrea (tiktok) · permesso editorial:write
privacystringallowCommentfacoltativo "0" | "1"allowDuetfacoltativo "0" | "1"allowStitchfacoltativo "0" | "1"brandOrganicfacoltativo "0" | "1"brandedContentfacoltativo "0" | "1"
…/editorial/items/{id}/channels/{channelId}/youtubeCrea (youtube) · permesso editorial:write
privacyfacoltativo "public" | "unlisted" | "private"
…/editorial/items/{id}/commentsElenco commenti · permesso editorial:read
…/editorial/items/{id}/commentsCrea (commenti) · permesso editorial:write · evento content.comment_created
bodystring
…/editorial/items/{id}/request-changesChiedi modifiche (elementi) · permesso editorial:write · evento content.changes_requested
commentstring
…/editorial/items/{id}/submitInvia in revisione (elementi) · permesso editorial:write · evento content.submitted
…/workspaces/{wsId}/editorialElenco calendario editoriale · permesso editorial:read
…/workspaces/{wsId}/editorialAggiorna calendario editoriale · permesso editorial:write
formatsfacoltativo string[]deadlineRulefacoltativo "monday_before_last_week" | "last_day_prev_month" | "none"cardFieldsfacoltativo "series" | "format" | "channels" | "owner" | "state"[]
…/workspaces/{wsId}/editorial/channelsCrea (canali) · permesso editorial:write
platform"instagram" | "tiktok" | "youtube" | "facebook" | "threads" | "linkedin" | "x" | "website" | "newsletter" | "podcast" | "other"handlestring
…/workspaces/{wsId}/editorial/channels/{id}Elimina (canali) · permesso editorial:write
…/workspaces/{wsId}/editorial/channels/{id}Modifica (canali) · permesso editorial:write
platformfacoltativo "instagram" | "tiktok" | "youtube" | "facebook" | "threads" | "linkedin" | "x" | "website" | "newsletter" | "podcast" | "other"handlefacoltativo string
…/workspaces/{wsId}/editorial/enableAttiva il modulo (calendario editoriale) · permesso editorial:write
…/workspaces/{wsId}/editorial/fieldsCrea (campi personalizzati) · permesso editorial:write
labelstringfieldType"text" | "number" | "date" | "select" | "multi_select" | "url" | "checkbox" | "user"optionsfacoltativo string[]
…/workspaces/{wsId}/editorial/fields/{id}Elimina (campi personalizzati) · permesso editorial:write
…/workspaces/{wsId}/editorial/fields/{id}Modifica (campi personalizzati) · permesso editorial:write
…/workspaces/{wsId}/editorial/generateGenera il mese (calendario editoriale) · permesso editorial:write
monthstring
…/workspaces/{wsId}/editorial/seriesCrea (rubriche) · permesso editorial:write
namestringdescriptionfacoltativo string | nullcolorfacoltativo "indigo" | "blue" | "teal" | "green" | "lime" | "amber" | "orange" | "red" | "pink" | "purple"weekdaysfacoltativo integer[]defaultTimefacoltativo string | nulldefaultFormatfacoltativo string | nulldefaultChannelIdsfacoltativo uuid[]ownerUserIdfacoltativo uuid | null
…/workspaces/{wsId}/editorial/series/{id}Elimina (rubriche) · permesso editorial:write
…/workspaces/{wsId}/editorial/series/{id}Modifica (rubriche) · permesso editorial:write
namefacoltativo stringdescriptionfacoltativo string | nullcolorfacoltativo "indigo" | "blue" | "teal" | "green" | "lime" | "amber" | "orange" | "red" | "pink" | "purple"weekdaysfacoltativo integer[]defaultTimefacoltativo string | nulldefaultFormatfacoltativo string | nulldefaultChannelIdsfacoltativo uuid[]ownerUserIdfacoltativo uuid | null
…/workspaces/{wsId}/editorial/statesCrea (stati dei task) · permesso editorial:write
namestringcategory"backlog" | "todo" | "in_progress" | "review" | "scheduled" | "done" | "canceled"requiresApprovalfacoltativo booleancolorfacoltativo "indigo" | "blue" | "teal" | "green" | "lime" | "amber" | "orange" | "red" | "pink" | "purple"
…/workspaces/{wsId}/editorial/states/{id}Elimina (stati dei task) · permesso editorial:write
…/workspaces/{wsId}/editorial/states/{id}Modifica (stati dei task) · permesso editorial:write
namefacoltativo stringcategoryfacoltativo "backlog" | "todo" | "in_progress" | "review" | "scheduled" | "done" | "canceled"requiresApprovalfacoltativo booleancolorfacoltativo "indigo" | "blue" | "teal" | "green" | "lime" | "amber" | "orange" | "red" | "pink" | "purple"
…/workspaces/{wsId}/editorial/states/reorderRiordina (stati dei task) · permesso editorial:write
idsuuid[]
Calendario ed eventi 9 operazioni
…/calendarElenco calendario · permesso calendar:read
fromdata AAAA-MM-GGtodata AAAA-MM-GG
…/calendar/eventsCrea (eventi) · permesso calendar:write · evento event.created
titlestringdatedata AAAA-MM-GGendDatefacoltativo data AAAA-MM-GG | nullstartTimefacoltativo string | nullendTimefacoltativo string | nulllocationfacoltativo string | nulldescriptionfacoltativo string | nullworkspaceIdfacoltativo uuid | null
…/calendar/events/{id}Elimina (eventi) · permesso calendar:write · evento event.deleted
…/calendar/events/{id}Modifica (eventi) · permesso calendar:write · evento event.updated
titlestringdatedata AAAA-MM-GGendDatefacoltativo data AAAA-MM-GG | nullstartTimefacoltativo string | nullendTimefacoltativo string | nulllocationfacoltativo string | nulldescriptionfacoltativo string | nullworkspaceIdfacoltativo uuid | null
…/connections/{id}Elimina (collegamenti) · permesso calendar:write
…/connections/{id}Modifica (collegamenti) · permesso calendar:write
selectedCalendarIdsstring[]
…/connections/{id}/syncSincronizza ora (collegamenti) · permesso calendar:write
…/connectorsElenco connettori · permesso calendar:read
…/connectors/socialElenco social · permesso calendar:read
CRM 29 operazioni
…/workspaces/{wsId}/crmElenco CRM · permesso crm:read
…/workspaces/{wsId}/crm/activitiesElenco attività · permesso crm:read
…/workspaces/{wsId}/crm/activitiesCrea (attività) · permesso crm:write · evento activity.created
kind"note" | "call" | "meeting" | "email"bodystringcompanyIdfacoltativo uuid | nullcontactIdfacoltativo uuid | nulldealIdfacoltativo uuid | null
…/workspaces/{wsId}/crm/chartElenco grafico · permesso crm:read
…/workspaces/{wsId}/crm/companiesElenco aziende · permesso crm:read
…/workspaces/{wsId}/crm/companiesCrea (aziende) · permesso crm:write · evento company.created
namestringdomainfacoltativo string | nullindustryfacoltativo string | nullnotesfacoltativo string | nulllinkedinUrlfacoltativo string | nullsectorfacoltativo "marketing" | "saas" | "ecommerce" | "other" | nullsheetDatafacoltativo object
…/workspaces/{wsId}/crm/companies/{id}Elimina (aziende) · permesso crm:write · evento company.deleted
…/workspaces/{wsId}/crm/companies/{id}Dettaglio (aziende) · permesso crm:read
…/workspaces/{wsId}/crm/companies/{id}Modifica (aziende) · permesso crm:write · evento company.updated
namefacoltativo stringdomainfacoltativo string | nullindustryfacoltativo string | nullnotesfacoltativo string | nulllinkedinUrlfacoltativo string | nullsectorfacoltativo "marketing" | "saas" | "ecommerce" | "other" | nullsheetDatafacoltativo object
…/workspaces/{wsId}/crm/contactsElenco contatti · permesso crm:read
…/workspaces/{wsId}/crm/contactsCrea (contatti) · permesso crm:write · evento contact.created
companyIdfacoltativo uuid | nullfirstNamestringlastNamefacoltativo stringemailfacoltativo string | null | ""phonefacoltativo string | nullroleTitlefacoltativo string | nullnotesfacoltativo string | nulllinkedinUrlfacoltativo string | null
…/workspaces/{wsId}/crm/contacts/{id}Elimina (contatti) · permesso crm:write · evento contact.deleted
…/workspaces/{wsId}/crm/contacts/{id}Dettaglio (contatti) · permesso crm:read
…/workspaces/{wsId}/crm/contacts/{id}Modifica (contatti) · permesso crm:write · evento contact.updated
companyIdfacoltativo uuid | nullfirstNamefacoltativo stringlastNamefacoltativo stringemailfacoltativo string | null | ""phonefacoltativo string | nullroleTitlefacoltativo string | nullnotesfacoltativo string | nulllinkedinUrlfacoltativo string | null
…/workspaces/{wsId}/crm/contacts/{id}/threadElenco conversazione · permesso crm:read
…/workspaces/{wsId}/crm/dealsElenco trattative · permesso crm:read
…/workspaces/{wsId}/crm/dealsCrea (trattative) · permesso crm:write · evento deal.created
titlestringcompanyIdfacoltativo uuid | nullcontactIdfacoltativo uuid | nullvalueCentsfacoltativo integerstateIdfacoltativo uuidprobabilityfacoltativo integerexpectedCloseDatefacoltativo data AAAA-MM-GG | nullownerUserIdfacoltativo uuid | nulllostReasonfacoltativo string | null
…/workspaces/{wsId}/crm/deals/{id}Elimina (trattative) · permesso crm:write · evento deal.deleted
…/workspaces/{wsId}/crm/deals/{id}Dettaglio (trattative) · permesso crm:read
…/workspaces/{wsId}/crm/deals/{id}Modifica (trattative) · permesso crm:write · evento deal.updated
titlefacoltativo stringcompanyIdfacoltativo uuid | nullcontactIdfacoltativo uuid | nullvalueCentsfacoltativo integerstateIdfacoltativo uuidprobabilityfacoltativo integerexpectedCloseDatefacoltativo data AAAA-MM-GG | nullownerUserIdfacoltativo uuid | nulllostReasonfacoltativo string | null
…/workspaces/{wsId}/crm/deals/{id}/moveSposta di fase (trattative) · permesso crm:write · evento deal.moved
stateIduuidbeforeIdfacoltativo uuid | nullafterIdfacoltativo uuid | null
…/workspaces/{wsId}/crm/emailsElenco email · permesso crm:read
…/workspaces/{wsId}/crm/emailsCrea (email) · permesso crm:write · evento email.sent
contactIduuiddealIdfacoltativo uuid | nullsubjectstringbodystringthreadIdfacoltativo string | nullinReplyTofacoltativo string | null
…/workspaces/{wsId}/crm/enableAttiva il modulo (CRM) · permesso crm:write
…/workspaces/{wsId}/crm/gmailElenco Gmail · permesso crm:read
…/workspaces/{wsId}/crm/stagesCrea (fasi) · permesso crm:write
namestringcategory"backlog" | "in_progress" | "done" | "canceled"
…/workspaces/{wsId}/crm/stages/{id}Elimina (fasi) · permesso crm:write
…/workspaces/{wsId}/crm/stages/{id}Modifica (fasi) · permesso crm:write
namefacoltativo stringcategoryfacoltativo "backlog" | "in_progress" | "done" | "canceled"
…/workspaces/{wsId}/crm/stages/reorderRiordina (fasi) · permesso crm:write
idsuuid[]
Contabilità 13 operazioni
…/workspaces/{wsId}/financeElenco contabilità · permesso finance:read
…/workspaces/{wsId}/finance/accountsCrea (conti) · permesso finance:write
namestringkindfacoltativo "cash" | "bank" | "card" | "other"openingBalanceCentsfacoltativo integer
…/workspaces/{wsId}/finance/accounts/{id}Elimina (conti) · permesso finance:write
…/workspaces/{wsId}/finance/accounts/{id}Modifica (conti) · permesso finance:write
namefacoltativo stringkindfacoltativo "cash" | "bank" | "card" | "other"openingBalanceCentsfacoltativo integer
…/workspaces/{wsId}/finance/categoriesCrea (categorie) · permesso finance:write
namestringkind"income" | "expense"colorfacoltativo string | null
…/workspaces/{wsId}/finance/categories/{id}Elimina (categorie) · permesso finance:write
…/workspaces/{wsId}/finance/categories/{id}Modifica (categorie) · permesso finance:write
namefacoltativo stringkindfacoltativo "income" | "expense"colorfacoltativo string | null
…/workspaces/{wsId}/finance/chartElenco grafico · permesso finance:read
…/workspaces/{wsId}/finance/enableAttiva il modulo (contabilità) · permesso finance:write
…/workspaces/{wsId}/finance/transactionsElenco movimenti · permesso finance:read
…/workspaces/{wsId}/finance/transactionsCrea (movimenti) · permesso finance:write · evento transaction.created
accountIduuidcategoryIdfacoltativo uuid | nullkind"income" | "expense"amountCentsintegeroccurredOnfacoltativo data AAAA-MM-GGdescriptionfacoltativo string
…/workspaces/{wsId}/finance/transactions/{id}Elimina (movimenti) · permesso finance:write · evento transaction.deleted
…/workspaces/{wsId}/finance/transactions/{id}Modifica (movimenti) · permesso finance:write · evento transaction.updated
accountIdfacoltativo uuidcategoryIdfacoltativo uuid | nullkindfacoltativo "income" | "expense"amountCentsfacoltativo integeroccurredOnfacoltativo data AAAA-MM-GGdescriptionfacoltativo string
Persone (ferie e permessi) 8 operazioni
…/workspaces/{wsId}/hrElenco persone · permesso hr:read
…/workspaces/{wsId}/hr/employeesElenco dipendenti · permesso hr:read
…/workspaces/{wsId}/hr/employees/{userId}Modifica (dipendenti) · permesso hr:write
jobTitlefacoltativo string | nullemploymentTypefacoltativo "full_time" | "part_time" | "contractor"startDatefacoltativo data AAAA-MM-GG | nullleaveBalanceDaysfacoltativo number
…/workspaces/{wsId}/hr/enableAttiva il modulo (persone) · permesso hr:write
…/workspaces/{wsId}/hr/leave-requestsElenco richieste di ferie · permesso hr:read
…/workspaces/{wsId}/hr/leave-requestsCrea (richieste di ferie) · permesso hr:write · evento leave_request.created
kind"vacation" | "sick" | "other"startDatedata AAAA-MM-GGendDatedata AAAA-MM-GGdaysnumbernotefacoltativo string | null
…/workspaces/{wsId}/hr/leave-requests/{id}Elimina (richieste di ferie) · permesso hr:write · evento leave_request.deleted
…/workspaces/{wsId}/hr/leave-requests/{id}/reviewApprova o rifiuta (richieste di ferie) · permesso hr:write · evento leave_request.reviewed
status"approved" | "rejected"
Ticket 9 operazioni
…/workspaces/{wsId}/ticketsElenco ticket · permesso tickets:read
…/workspaces/{wsId}/tickets/enableAttiva il modulo (ticket) · permesso tickets:write
…/workspaces/{wsId}/tickets/itemsElenco elementi · permesso tickets:read
…/workspaces/{wsId}/tickets/itemsCrea (elementi) · permesso tickets:write · evento ticket.created
subjectstringdescriptionfacoltativo stringpriorityfacoltativo 0 | 1 | 2 | 3assigneeIdfacoltativo uuid | null
…/workspaces/{wsId}/tickets/items/{id}Elimina (elementi) · permesso tickets:write · evento ticket.deleted
…/workspaces/{wsId}/tickets/items/{id}Dettaglio (elementi) · permesso tickets:read
…/workspaces/{wsId}/tickets/items/{id}Modifica (elementi) · permesso tickets:write · evento ticket.updated
subjectfacoltativo stringdescriptionfacoltativo stringpriorityfacoltativo 0 | 1 | 2 | 3assigneeIdfacoltativo uuid | nullstateIdfacoltativo uuid
…/workspaces/{wsId}/tickets/items/{id}/commentsElenco commenti · permesso tickets:read
…/workspaces/{wsId}/tickets/items/{id}/commentsCrea (commenti) · permesso tickets:write · evento ticket.comment_created
bodystring
Chat (solo canali degli spazi) 12 operazioni
…/chat/channelsCrea (canali) · permesso chat:write · evento channel.created
workspaceIduuidnamestringtopicfacoltativo string | nullisPrivatefacoltativo boolean
…/chat/channels/{id}Elimina (canali) · permesso chat:write
…/chat/channels/{id}Modifica (canali) · permesso chat:write
…/chat/channels/{id}/joinEntra nel canale (canali) · permesso chat:write
…/chat/channels/{id}/leaveEsci dal canale (canali) · permesso chat:write
…/chat/channels/{id}/membersCrea (membri) · permesso chat:write
…/chat/channels/{id}/messagesElenco messaggi · permesso chat:read
…/chat/channels/{id}/messagesCrea (messaggi) · permesso chat:write · evento message.created
bodystring
…/chat/channels/{id}/messages/{messageId}Modifica (messaggi) · permesso chat:write · evento message.updated
bodystring
…/chat/conversationsElenco conversazioni · permesso chat:read
…/chat/dmCrea (messaggi diretti) · permesso chat:write
userIduuid
…/chat/groupsCrea (gruppi) · permesso chat:write
namestringmemberIdsuuid[]
Documenti 8 operazioni
…/pagesElenco documenti · permesso pages:read
…/pagesCrea (documenti) · permesso pages:write · evento page.created
workspaceIduuidparentPageIdfacoltativo uuid | nulltitlefacoltativo stringiconfacoltativo string | nullfromTemplateIdfacoltativo uuid
…/pages/{id}Elimina (documenti) · permesso pages:write · evento page.deleted
…/pages/{id}Dettaglio (documenti) · permesso pages:read
…/pages/{id}Modifica (documenti) · permesso pages:write · evento page.updated
titlefacoltativo stringiconfacoltativo string | nullcontentfacoltativo objectisTemplatefacoltativo booleanvisibilityfacoltativo "workspace" | "private"parentPageIdfacoltativo uuid | null
…/pages/{id}/restoreRipristina versione (documenti) · permesso pages:write
versionIduuid
…/pages/{id}/versionsElenco versioni · permesso pages:read
…/pages/templatesElenco modelli · permesso pages:read
Social: account, statistiche, campagne 17 operazioni
…/content-labelsElenco etichette · permesso social:read
…/content-labelsCrea (etichette) · permesso social:write
namestringcolorstring
…/content-labels/{id}Elimina (etichette) · permesso social:write
…/content-labels/{id}Modifica (etichette) · permesso social:write
namestringcolorstring
…/social-accountsElenco account social · permesso social:read
…/social-accounts/assignmentAggiorna assignment · permesso social:write
connectionIduuidplatform"facebook" | "instagram" | "threads" | "youtube" | "tiktok"pageIdstring | nullworkspaceIduuid | null
…/social-connections/{id}Elimina (social-connections) · permesso social:write
…/social-connections/{id}Modifica (social-connections) · permesso social:write
selectedPageIdsstring[]
…/social-contentElenco contenuti social · permesso social:read
…/social-content/{connectionId}/{externalId}/labelsAggiorna labels · permesso social:write
workspaceIduuidlabelIdsuuid[]
…/social-insightsElenco statistiche social · permesso social:read
…/social-marketingElenco campagne · permesso social:read
…/social-marketing/campaignsElenco campagne · permesso social:read
…/social-marketing/campaigns/{campaignId}Modifica (campagne) · permesso social:write
workspaceIduuidadAccountIdstringstatus"ACTIVE" | "PAUSED"
…/workspace-channelsElenco canali social dello spazio · permesso social:read
…/workspace-channels/{platform}Elimina (canali social dello spazio) · permesso social:write
…/workspace-channels/{platform}Modifica (canali social dello spazio) · permesso social:write
connectionIduuidpageIdstring | null
Home, notifiche e ricerca 10 operazioni
/api/v1/keyInformazioni sulla chiave in uso · permesso qualsiasi
…/homeElenco home · permesso general:read
…/me/nicknameAggiorna soprannome · permesso general:write
nicknamestring | null
…/me/preferences/{key}Dettaglio (preferenze) · permesso general:read
…/me/preferences/{key}Modifica (preferenze) · permesso general:write
valuefacoltativo oggetto
…/me/profileElenco profilo · permesso general:read
…/notificationsElenco notifiche · permesso general:read
…/notifications/readSegna come lette (notifiche) · permesso general:write
idsfacoltativo uuid[]allfacoltativo boolean
…/people/searchElenco ricerca · permesso general:read
…/searchElenco ricerca · permesso general:read
qstring
Hai bisogno di aiuto o di un’operazione che manca? Scrivi a luca@globaly.it.