Passa al contenuto principale

API Endpoints

Documentazione completa degli endpoint REST disponibili per Askme Desk.

Base URL

https://desk.askme.it/Askme/rest

Autenticazione

Tutti gli endpoint richiedono un token Bearer OAuth 2.0.

Authorization: Bearer {access_token}
Content-Type: application/json

Richieste (I Livello)

Creare Richiesta

POST /richieste/creazione-richiesta

Crea una nuova richiesta di I livello nel sistema.

Body (CreazioneRichiestaBean)

CampoTipoObbligatorioDescrizione
idUtenteLongSiID dell'utente
idRichiestalongSiID della richiesta
idServizioLongSiID del servizio
idAssetRootLongNoID dell'asset padre
idAssetFiglioLongNoID dell'asset figlio
idTipoRichiestaLongSiID del tipo richiesta
idUrgenzaLongNoID dell'urgenza
idItemLongNoID dell'item (CI) associato
oggettostringSiOggetto della richiesta
descrizionestringNoDescrizione dettagliata
notestringNoNote aggiuntive
codiceCanalestringNoCodice del canale di apertura (es. WEB, TEL, MAIL)
dataSegnalazionestringNoData di segnalazione (formato ISO 8601)
dataScadenzastringNoData di scadenza manuale
idUploadstringNoID dell'upload per allegati (ottenuto da /upload/upload-id)
nomeAllegatiarrayNoLista nomi file allegati
idProblemiAssarrayNoLista ID problemi da associare
listaSezioniRichiestaarrayNoSezioni con attributi aggiuntivi
Terna di classificazione

La combinazione Servizio + Asset + Tipo Richiesta forma la "terna", che determina SLA, workflow e notifiche. Puoi usare i codici al posto degli ID: codServizio, codAssetRoot, codAssetFiglio, codTipoRichiesta, codUrgenza.

Esempio di Richiesta

curl -X POST "https://desk.askme.it/Askme/rest/richieste/creazione-richiesta" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"idServizio": 1,
"idAssetRoot": 10,
"idTipoRichiesta": 5,
"idUrgenza": 2,
"oggetto": "Problema di login",
"descrizione": "Non riesco ad accedere al portale aziendale",
"codiceCanale": "WEB"
}'

Risposta (200 OK) — InfoCreazioneRichiesta

{
"idRichiesta": 12345,
"idTicket": null,
"protocolloTicket": null,
"esitoInvioMail": true
}
CampoTipoDescrizione
idRichiestaLongID della richiesta creata
idTicketLongID del ticket generato automaticamente (se configurato)
protocolloTicketstringProtocollo del ticket generato
esitoInvioMailbooleanEsito dell'invio delle notifiche email

Creare Richiesta (Contact Center)

POST /richieste/creazione-richiesta-ct

Crea una richiesta per conto di un altro utente (uso tipico: operatore di Contact Center).

Accetta gli stessi campi di CreazioneRichiestaBean con in piu:

CampoTipoDescrizione
idUtenteRichiedenteintegerID dell'utente per cui si crea la richiesta
idPrioritaintegerID della priorita
presaInCaricoAutomaticabooleanSe true, la richiesta viene automaticamente presa in carico

Elenco Richieste

GET /paginated

Restituisce la lista delle richieste. I criteri di ricerca vengono passati nel body.

Body (RicercaRichiestaDto) — Parametri principali

CampoTipoDescrizione
idRichiestastringFiltro per ID richiesta
statostringStato della richiesta
statoRichiestastringStato specifico (aperta, chiusa, ecc.)
oggettostringRicerca nell'oggetto
descrizionestringRicerca nella descrizione
listaIdServizioarrayFiltro per ID servizi
listaIdAssetarrayFiltro per ID asset
listaIdTipoRichiestaarrayFiltro per ID tipi richiesta
listaIdUrgenzaarrayFiltro per ID urgenze
listaIdPrioritaarrayFiltro per ID priorita
listaStatoAvanzarrayFiltro per stati avanzamento
dataRichiestaDa / dataRichiestaAstringRange data richiesta
dataChiusuraDa / dataChiusuraAstringRange data chiusura
idUtenteAssegnatariointegerFiltro per assegnatario
ordinastringCampo di ordinamento
versostringDirezione ordinamento (ASC / DESC)
maxResultsintegerNumero massimo di risultati

Risposta (200 OK) — DatatableOutput

{
"data": [
{
"idRichiesta": 12345,
"oggetto": "Problema di login",
"statoAvanz": "A",
"statoRichiesta": "Aperta",
"dataRichiesta": "2025-01-15T10:30:00",
"servizio": { "id": 1, "codice": "SRV_IT", "nome": "Servizio IT" },
"urgenza": { "id": 2, "codice": "HIGH", "nome": "Alta" },
"utenteAssegnatario": {
"idUtente": 100,
"nome": "Giuseppe",
"cognome": "Verdi",
"matricola": "M001"
}
}
],
"recordsTotal": 150,
"recordsFiltered": 42,
"message": ""
}

Liste Richieste Specializzate

Sono disponibili endpoint specifici per diversi punti di vista:

EndpointMetodoDescrizione
/richieste/lista-richieste-fornitoreGETRichieste visibili al fornitore
/richieste/lista-richieste-fornitore-paginatedGETVersione paginata
/richieste/lista-richieste-clienteGETRichieste visibili al cliente
/richieste/lista-richieste-cliente-paginatedGETVersione paginata
/richieste/lista-richieste-assegnateGETRichieste assegnate all'utente
/richieste/lista-richieste-assegnate-paginatedGETVersione paginata
/richieste/ricerca-richiesta-restGETRicerca avanzata
Esportazione CSV

Le liste fornitore e ricerca supportano l'esportazione CSV tramite gli endpoint:

  • GET /richieste/lista-richieste-fornitore.csv
  • GET /richieste/ricerca-richiesta.csv

Dettaglio Richiesta

GET /richieste/{idRichiesta}

Parametri

NomeInTipoObbligatorioDescrizione
idRichiestapathintegerSiID della richiesta
viewAsCustomerquerybooleanNoVisualizzazione lato cliente
stripRichTextquerybooleanNoRimuovi formattazione rich text

Risposta (200 OK) — DettaglioRichiestaBean

{
"idRichiesta": 12345,
"oggetto": "Problema di login",
"descrizione": "Non riesco ad accedere al portale aziendale",
"note": "Tentati reset password senza successo",
"statoAvanz": "P",
"statoRichiesta": "In lavorazione",
"statoAssegnazione": "Assegnata",
"servizio": { "id": 1, "codice": "SRV_IT", "nome": "Servizio IT" },
"assetPadre": { "id": 10, "codice": "HW", "nome": "Hardware" },
"tipoRichiesta": { "id": 5, "codice": "INC", "nome": "Incident" },
"urgenza": { "id": 2, "codice": "HIGH", "nome": "Alta" },
"priorita": { "id": 3, "codice": "P2", "nome": "Priorita 2" },
"aziendaCliente": { "id": 1, "nome": "Acme S.p.A." },
"dataRichiesta": "2025-01-15T10:30:00",
"dataSegnalazione": "2025-01-15T09:00:00",
"dataPcarico": "2025-01-15T10:45:00",
"dataScadenza": "2025-01-16T10:30:00",
"utenteCre": { "idUtente": 50, "nome": "Mario", "cognome": "Rossi", "matricola": "M050" },
"utenteAssegnatario": { "idUtente": 100, "nome": "Giuseppe", "cognome": "Verdi" },
"utentePCarico": { "idUtente": 100, "nome": "Giuseppe", "cognome": "Verdi" },
"nrTicket": 2,
"nrTicketA": 1,
"minLavorazione": 45,
"allegati": [],
"sezioni": [],
"ticket": [],
"sospensioni": [],
"assegnazioni": []
}

Perfezionamento Richiesta

POST /richieste/perfezionamento-richiesta

Perfeziona una richiesta esistente (modifica terna, priorita, attributi).

Body (PerfezionamentoRichiestaBean)

CampoTipoDescrizione
idRichiestaintegerID della richiesta
idServiziointegerNuovo servizio
idAssetRootintegerNuovo asset padre
idAssetFigliointegerNuovo asset figlio
idTipoRichiestaintegerNuovo tipo richiesta
idPrioritaintegerNuova priorita
idRichiedenteintegerNuovo richiedente
cambiaTernabooleanSe true, permette il cambio terna
notePerfezionamentostringNote di perfezionamento

GET /richieste/perfezionamento-richiesta/{idRichiesta}

Recupera le informazioni necessarie per il perfezionamento.


Modifica Richiesta

POST /richieste/modifica

Body (ModificaRichiestaBean)

CampoTipoDescrizione
idRichiestaintegerID della richiesta
oggettostringNuovo oggetto
descrizionestringNuova descrizione
notestringNuove note
nomeAllegatiarrayNuovi allegati
idUploadstringID upload allegati

Risposta (200 OK)

{
"idRichiesta": 12345,
"esitoModifica": true,
"esitoInvioMail": true
}

Assegnazione Richiesta

POST /richieste/assegnazione-richiesta

Assegna una richiesta a un operatore.

Body (AssegnazioneRichiestaBean)

CampoTipoObbligatorioDescrizione
idRichiestaintegerSiID della richiesta
idUtenteAssegnatoreintegerSiID dell'operatore che assegna
idUtenteAssegnatariointegerSiID dell'operatore assegnatario
durataAssintegerNoDurata prevista dell'assegnazione (minuti)
noteAssstringNoNote sull'assegnazione
dataScadenzaAssDatestringNoData di scadenza dell'assegnazione

Risposta (200 OK)

{
"idRichiesta": 12345,
"esitoAssegnazione": true,
"esitoInvioMail": true,
"conflittoAssegnazione": false,
"idAssegnazione": 678
}

POST /richieste/auto-assegnazione

Auto-assegna la richiesta all'utente corrente.

POST /richieste/elimina-assegnazione

Rimuove l'assegnazione corrente dalla richiesta.

POST /richieste/assegnazione-massiva

Assegna piu richieste contemporaneamente a un operatore.


Presa in Carico

POST /richieste/presa-in-carico

Prende in carico una richiesta, avviando formalmente la lavorazione e il conteggio SLA.

Body (PresaInCaricoRichiestaBean)

CampoTipoObbligatorioDescrizione
idRichiestaintegerSiID della richiesta
idUtenteintegerSiID dell'operatore
notestringNoNote di presa in carico
idImpattointegerNoID dell'impatto
idUploadstringNoID upload allegati
nomeAllegatiarrayNoNomi file allegati
idProblemiAssarrayNoProblemi da associare

Risposta (200 OK)

{
"idRichiesta": 12345,
"esitoPresaInCarico": true,
"erroreInvioMail": false
}

POST /richieste/presa-in-carico-massiva

Presa in carico massiva di piu richieste.


Sospensione Richiesta

POST /richieste/sospensione

Sospende una richiesta (es. in attesa di informazioni dal richiedente).

Body (SospensioneRichiestaBean)

CampoTipoDescrizione
idRichiestaintegerID della richiesta
idUtenteintegerID dell'operatore
notestringMotivo della sospensione
idTicketSospintegerID del ticket sospeso (se presente)
flagAttesaChiusurabooleanSe true, la richiesta e in attesa chiusura ticket

GET /richieste/sospensione/{idRichiesta}

Recupera le informazioni necessarie per la sospensione.


Chiusura Richiesta

POST /richieste/chiusura

Chiude una richiesta.

Body (ChiusuraRichiestaBean)

CampoTipoObbligatorioDescrizione
idRichiestaintegerSiID della richiesta
idUtenteintegerSiID dell'operatore
notestringNoNote di chiusura
nomeAllegatiarrayNoAllegati di chiusura
idUploadstringNoID upload allegati
listaSezioniRichiestaarrayNoAttributi aggiuntivi

Risposta (200 OK)

{
"idRichiesta": 12345,
"esitoChiusuraRichiesta": true,
"esitoInvioMail": true
}

GET /richieste/check-chiusura/{idRichiesta}

Verifica se la chiusura della richiesta e possibile (es. tutti i ticket sono chiusi).

POST /richieste/chiusura-massiva

Chiusura massiva di piu richieste.


Riattivazione e Riapertura

POST /richieste/riattivazione

Riattiva una richiesta precedentemente sospesa.

POST /richieste/riapertura-richiesta/{idRichiestaOriginale}

Riapre una richiesta chiusa, creando una nuova richiesta collegata.

POST /richieste/riapertura-richiesta-note/{idRichiestaOriginale}

Riapre una richiesta chiusa includendo le note.


Commenti Richiesta

GET /richieste/commenti/{idRichiesta}

Recupera i commenti associati a una richiesta.

POST /richieste/{idRichiesta}/commento-fornitore

Inserisce un commento fornitore.

Body (CommentoRichiestaBean)

CampoTipoDescrizione
notestringTesto del commento
sollecitobooleanSe true, il commento e un sollecito
nomeAllegatiarrayAllegati al commento
idUploadstringID upload allegati
noteInternestringNote interne (non visibili al cliente)

POST /richieste/{idRichiesta}/commento-cliente

Inserisce un commento dal lato cliente.

POST /richieste/{idRichiesta}/commento-ct

Inserisce un commento come Contact Center.

POST /richieste/{idRichiesta}/inserisci-nota-interna

Inserisce una nota interna (visibile solo agli operatori).


Operazioni Ausiliarie Richieste

EndpointMetodoDescrizione
/richieste/attributi-aggiuntiviGETAttributi aggiuntivi per la terna selezionata
/richieste/info-ternaGETInformazioni sulla terna (SLA, workflow, notifiche)
/richieste/operatoriGETLista operatori disponibili per la richiesta
/richieste/scadenza-prioritaGETCalcolo scadenza in base alla priorita
/richieste/criteri-invio-notificheGETCriteri configurati per l'invio notifiche
/richieste/cancellaPOSTCancella una richiesta
/richieste/cancellazione-massivaPOSTCancellazione massiva
/richieste/valutazione-richiestaPOSTInserisce una valutazione sulla richiesta
/richieste/{idRichiesta}/valutazione-permessiGETVerifica i permessi dell'utente sulla richiesta

Ticket (II Livello)

Creare Ticket

POST /ticket/creazione-ticket

Crea un ticket di II livello, associandolo a una richiesta di I livello.

Body (CreazioneTicketBean)

CampoTipoObbligatorioDescrizione
idRichiestaintegerSiID della richiesta di I livello
idServiziointegerNoID del servizio (se diverso dalla richiesta)
idAssetRootintegerNoID dell'asset padre
idAssetintegerNoID dell'asset figlio
idTipoRichiestaintegerNoID del tipo richiesta
idTernaintegerNoID della terna
idPrioritaintegerNoID della priorita
oggettostringSiOggetto del ticket
descrizionestringNoDescrizione dettagliata
noteCreazionestringNoNote di creazione
idAzioneintegerNoID dell'azione iniziale del workflow
durataintegerNoDurata prevista (minuti)
idUploadstringNoID upload allegati
nomeAllegatiarrayNoNomi file allegati
listaSezioniTicketarrayNoSezioni con attributi aggiuntivi
cambiaTernabooleanNoSe true, permette terna diversa dalla richiesta

Esempio di Richiesta

curl -X POST "https://desk.askme.it/Askme/rest/ticket/creazione-ticket" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"idRichiesta": 12345,
"idServizio": 1,
"idTipoRichiesta": 5,
"idPriorita": 3,
"oggetto": "Problema di login - Analisi II livello",
"descrizione": "Approfondimento tecnico sul problema di autenticazione",
"noteCreazione": "Escalation da I livello"
}'

Risposta (200 OK) — InfoGeneraTicketBean

{
"ticket": {
"idTicket": 789,
"protocollo": "TCK-2025-00789",
"oggetto": "Problema di login - Analisi II livello",
"servizio": { "id": 1, "nome": "Servizio IT" },
"priorita": { "id": 3, "nome": "Priorita 2" },
"statoTicket": "A"
},
"richiestaOrig": {
"idRichiesta": 12345,
"oggetto": "Problema di login"
},
"erroreInvioMail": false
}

Elenco Ticket

GET /ticket/

Restituisce la lista dei ticket. I criteri di ricerca vengono passati nel body.

Body (RicercaTicketDto) — Parametri principali

CampoTipoDescrizione
idRichiestastringFiltro per ID richiesta associata
protocollostringRicerca per protocollo ticket
oggettostringRicerca nell'oggetto
descrizionestringRicerca nella descrizione
statoTicketstringStato del ticket
listaIdServizioarrayFiltro per servizi
listaIdAssetarrayFiltro per asset
listaIdTipoRichiestaarrayFiltro per tipi richiesta
listaIdPrioritaarrayFiltro per priorita
listaIdNodoAttualearrayFiltro per nodo workflow attuale
listaIdStatoAvanzamentoarrayFiltro per stati avanzamento
dataInserimentoDa / dataInserimentoAstringRange data inserimento
dataChiusuraDa / dataChiusuraAstringRange data chiusura
dataScadenzaDa / dataScadenzaAstringRange data scadenza
ordinastringCampo di ordinamento
versostringDirezione (ASC / DESC)
maxResultsintegerNumero massimo di risultati

Risposta (200 OK)

{
"data": [
{
"idTicket": 789,
"protocollo": "TCK-2025-00789",
"oggetto": "Problema di login - Analisi II livello",
"statoTicket": "A",
"servizio": { "id": 1, "nome": "Servizio IT" },
"priorita": { "id": 3, "nome": "Priorita 2" },
"statoAvanzamento": { "id": 2, "nome": "In Lavorazione" },
"tsIns": "2025-01-15T11:00:00"
}
],
"recordsTotal": 80,
"recordsFiltered": 15,
"message": ""
}

Liste Ticket Specializzate

EndpointMetodoDescrizione
/ticket/paginatedGETLista paginata di tutti i ticket
/ticket/lista-ticket-assegnatiGETTicket assegnati all'utente
/ticket/lista-ticket-assegnati-paginatedGETVersione paginata
/ticket/lista-avanzamento-ticketGETLista ticket in avanzamento
/ticket/lista-avanzamento-ticket-paginatedGETVersione paginata
/ticket/lista-assegnazioni-ticketGETStorico assegnazioni
/ticket/lista-assegnazioni-ticket-paginatedGETVersione paginata
/ticket/ricerca-ticket.csvGETEsportazione CSV

Dettaglio Ticket

GET /ticket/{idTicket}

Parametri

NomeInTipoObbligatorioDescrizione
idTicketpathintegerSiID del ticket
visibilityquerystringNoTipo di visibilita

Risposta (200 OK) — DettaglioTicketBean

{
"ticket": {
"idTicket": 789,
"protocollo": "TCK-2025-00789",
"oggetto": "Problema di login - Analisi II livello",
"statoTicket": "A",
"servizio": { "id": 1, "nome": "Servizio IT" },
"priorita": { "id": 3, "nome": "Priorita 2" },
"statoAvanzamento": { "id": 2, "nome": "In Lavorazione" },
"minLavorazione": 120
},
"utenteRichiedente": { "idUtente": 50, "nome": "Mario", "cognome": "Rossi" },
"utenteInserimento": { "idUtente": 100, "nome": "Giuseppe", "cognome": "Verdi" },
"nodoAttuale": { "id": 5, "nome": "Analisi Tecnica" },
"dataInserimento": "2025-01-15T11:00:00",
"dataScadenza": "2025-01-17T11:00:00",
"descrizione": "Approfondimento tecnico sul problema di autenticazione",
"noteCreazione": "Escalation da I livello",
"richiesta": {
"idRichiesta": 12345,
"oggetto": "Problema di login"
},
"listaStep": [],
"ultimoStep": { ... },
"allegatiTicket": [],
"allegatiRichiesta": [],
"listaAssegnazioni": []
}

Modifica Ticket

POST /ticket/modifica-ticket

Body (ModificaTicketBean)

CampoTipoDescrizione
idTicketintegerID del ticket
oggettostringNuovo oggetto
descrizionestringNuova descrizione
notestringNuove note
dataScadenzastringNuova data scadenza
listaSezioniTicketarrayAttributi aggiuntivi
nomeAllegatiarrayNuovi allegati
idUploadstringID upload
allegatiDaEliminarearrayAllegati da rimuovere

Assegnazione Ticket

POST /ticket/assegnazione-ticket

Body (AssegnazioneTicketBean)

CampoTipoObbligatorioDescrizione
idTicketintegerSiID del ticket
idUtenteAssegnatoreintegerSiID di chi assegna
idUtenteAssegnatariointegerSiID dell'assegnatario
durataAssintegerNoDurata prevista (minuti)
noteAssstringNoNote assegnazione
dataScadenzaAssDatestringNoScadenza assegnazione

Risposta (200 OK)

{
"idTicket": 789,
"protocollo": "TCK-2025-00789",
"esitoAssegnazione": true,
"esitoInvioMail": true,
"conflittoAssegnazione": false
}

POST /ticket/auto-assegnazione

Auto-assegna il ticket all'utente corrente.

POST /ticket/elimina-assegnazione

Rimuove l'assegnazione corrente.


Avanzamento Ticket (Workflow)

POST /ticket/avanzamento-ticket

Avanza il ticket allo step successivo del workflow configurato.

Body (AvanzamentoTicketBean)

CampoTipoObbligatorioDescrizione
idTicketintegerSiID del ticket
idAzioneintegerSiID dell'azione da eseguire
notestringNoNote dell'avanzamento
durataintegerNoDurata lavorazione (minuti)
flagVisStepUtentebooleanNoVisibilita step per l'utente
flagVisStepOpePrimobooleanNoVisibilita step per operatore I livello
flagChiusuraRicbooleanNoChiudi anche la richiesta di I livello
flagSospensioneRicbooleanNoSospendi la richiesta di I livello
flagRiattivazioneRicbooleanNoRiattiva la richiesta di I livello
flagAttesaChiusurabooleanNoImposta attesa chiusura
nomeAllegatiarrayNoAllegati
idUploadstringNoID upload
listaSezioniTicketarrayNoAttributi aggiuntivi

Risposta (200 OK)

{
"idTicket": 789,
"idStep": 15,
"idRichiestaChiusa": null,
"erroreInvioMail": false,
"idRichiestaOrig": 12345
}

Endpoint di supporto al workflow:

EndpointMetodoDescrizione
/ticket/azioniGETAzioni effettuabili per lo step corrente
/ticket/info-step-successivoGETInformazioni sullo step successivo
/ticket/{idTicket}/info-pre-avanzamentoGETDati necessari prima dell'avanzamento
/ticket/lista-step-ticketGETLista di tutti gli step del ticket

Note Interne Ticket

POST /ticket/{idTicket}/inserisci-nota-interna-primo-livello

Inserisce una nota interna visibile solo al I livello.

POST /ticket/{idTicket}/inserisci-nota-interna-secondo-livello

Inserisce una nota interna visibile al II livello.

Body (CommentoTicketBean)

CampoTipoDescrizione
notestringTesto della nota
sollecitobooleanSe true, e un sollecito
nomeAllegatiarrayAllegati
idUploadstringID upload

Operazioni Ausiliarie Ticket

EndpointMetodoDescrizione
/ticket/attributi-aggiuntiviGETAttributi aggiuntivi per la terna
/ticket/operatoriGETOperatori disponibili
/ticket/scadenza-prioritaGETCalcolo scadenza
/ticket/calcola-data-scadenzaGETCalcolo data scadenza ticket
/ticket/valutazione-ticketPOSTValutazione del ticket
/ticket/{idTicket}/valutazione-permessiGETVerifica permessi utente
/ticket/{idTicket}/invio-sollecitoPOSTInvio sollecito sul ticket
/ticket/recupera-sezioni-attributiGETSezioni e attributi configurati

Work Order

Creare Work Order

POST /workorder/creazione-workorder

Crea un ordine di lavoro associato a un ticket.

Body (CreazioneWorkOrderBean)

CampoTipoObbligatorioDescrizione
idTicketintegerSiID del ticket
idAziendaintegerNoID dell'azienda destinataria
idSedeintegerNoID della sede
oggettostringSiOggetto del work order
descrizionestringNoDescrizione
notestringNoNote
dataDastringNoData inizio prevista
dataAstringNoData fine prevista
idDestinatariointegerNoID del destinatario
tipoDeststringNoTipo destinatario
vincolantebooleanNoSe true, il WO e vincolante per l'avanzamento del ticket
sendMailbooleanNoInvia notifica email
idStatoWfintegerNoStato iniziale

Avanzamento Work Order

POST /workorder/avanzamento-workorder

Avanza lo stato di un work order.

Lista e Dettaglio Work Order

EndpointMetodoDescrizione
/workorder/lista-workorderGETLista work order
/workorder/lista-storico-workorderGETStorico work order
/workorder/{idWorkOrder}GETDettaglio work order
/workorder/lista-stati-workorderGETStati disponibili

Allegati

Upload Allegato

POST /upload/

Carica un allegato. Prima di caricare, ottenere un uploadId.

GET /upload/upload-id

Genera un nuovo ID per il caricamento di allegati.

Flusso di upload:

  1. Chiamare GET /upload/upload-id per ottenere un uploadId
  2. Chiamare POST /upload/ con il file e l'uploadId
  3. Utilizzare l'uploadId nelle operazioni di creazione/modifica (campo idUpload)

Download Allegato

GET /upload/{uploadId}/{filename}

Scarica un allegato tramite uploadId e nome file.

Allegati Ticket

POST /upload/upload-allegato-ticket

Upload di un allegato direttamente associato a un ticket.

Download tramite Hash

EndpointMetodoDescrizione
/download/link/{hashId}GETOttieni link diretto per il download
/download/redirect/{hashId}GETRedirect al download
/download/info/{hashId}GETInformazioni sull'allegato

Knowledge Base

Lista Knowledge Base

GET /knowledge/lista-knowledge-base

Recupera la lista degli articoli della Knowledge Base.

Body (ListaKnownErrorDto)

CampoTipoDescrizione
filtroStrstringRicerca full-text
statoKestringStato dell'articolo
listaIdServizioarrayFiltro per servizi
listaIdAssetarrayFiltro per asset
listaIdTipoRichiestaarrayFiltro per tipi richiesta

Dettaglio Knowledge Base

GET /knowledge/dettaglio-knowledge-base

Parametri

NomeInTipoObbligatorio
idKnowErrorqueryintegerSi

Risposta (200 OK) — KnowledgeBean

{
"idKnowError": 42,
"oggetto": "Problema accesso VPN",
"descrizione": "L'utente non riesce a connettersi alla VPN aziendale",
"soluzione": "Verificare che il client VPN sia aggiornato...",
"soluzioneOttimale": "Aggiornare il client VPN alla versione 5.x",
"stato": "A",
"allegati": [],
"countUtil": 15
}

Gestione Knowledge Base

EndpointMetodoDescrizione
/knowledge/aggiungi-knowledge-basePOSTCrea un nuovo articolo KB
/knowledge/modifica-knowledge-basePOSTModifica un articolo esistente
/knowledge/cancellaPOSTElimina un articolo
/knowledge/utilizzo-knowledge-basePOSTRegistra un utilizzo (incrementa contatore)
/knowledge/controllo-knowledge-baseGETVerifica esistenza articoli per la terna

Reportistica

Richieste

EndpointMetodoDescrizione
/statistics/richiesteFornitoreGETStatistiche richieste fornitore
/statistics/richiesteClienteGETStatistiche richieste cliente
/statistics/richiesteAssegnateGETStatistiche richieste assegnate
/statistics/richiesteAssegnateOperatoreGETStatistiche per operatore
/statistics/riepilogoRichiesteFornitoreGETRiepilogo complessivo
/statistics/monitor-andamentale-richiesteGETReport andamentale

Ticket

EndpointMetodoDescrizione
/statistics/ticketGETStatistiche ticket
/statistics/ticketAssegnatiGETTicket assegnati
/statistics/ticketAssegnatiOperatoreGETPer operatore
/statistics/monitor-andamentale-ticketGETReport andamentale

SLA

EndpointMetodoDescrizione
/statistics/slaRichiestePcGETSLA presa in carico richieste
/statistics/slaRichiesteChGETSLA chiusura richieste
/statistics/slaTicketGETSLA ticket
/statistics/slaStepTicketGETSLA per step ticket
/statistics/slaTempoResiduoRichiestePcGETTempo residuo SLA presa in carico
/statistics/slaTempoResiduoRichiesteChGETTempo residuo SLA chiusura
/statistics/slaTempoResiduoTicketGETTempo residuo SLA ticket
/statistics/slaTempoResiduoStepTicketGETTempo residuo SLA per step

Autenticazione e Utente

Informazioni Utente

GET /authentication/userinfo

Restituisce le informazioni dell'utente autenticato.

GET /authentication/user-full-info

Restituisce le informazioni complete dell'utente con autorizzazioni.

GET /authentication/user-authorities

Restituisce i ruoli e le autorizzazioni dell'utente.


Agenda

EndpointMetodoDescrizione
/agenda/eventiGETRecupera gli eventi calendario
/agenda/evento/{eventId}GETDettaglio evento
/agenda/aggiungi-evento-personalePOSTCrea evento personale
/agenda/aggiungi-evento-gruppoPOSTCrea evento di gruppo
/agenda/modifica-evento/{eventId}POSTModifica evento
/agenda/elimina-evento/{eventId}POSTElimina evento
/agenda/lista-tipi-eventiGETTipi di eventi disponibili
/agenda/lista-esiti-eventiGETEsiti possibili degli eventi

Gestione Errori

Tutte le API restituiscono errori con codici HTTP standard:

CodiceDescrizione
200Successo
400Richiesta non valida — parametri mancanti o errati
401Non autorizzato — token mancante o scaduto
403Accesso negato — permessi insufficienti
404Risorsa non trovata
500Errore interno del server

Le risposte di errore contengono un campo message con la descrizione dell'errore:

{
"message": "Richiesta non trovata",
"data": null
}
Operazioni con esito

Le operazioni di scrittura (creazione, modifica, assegnazione, ecc.) restituiscono sempre HTTP 200 con un oggetto Info che contiene l'esito effettivo dell'operazione. Verifica sempre i campi esito* nella risposta.