| Required role: | ApiUser |
| POST | /tickets | Crea un nuovo ticket di intervento | ## Specifiche del Servizio * **Validazione Ruoli:** Il richiedente deve avere un ruolo attivo (Proprietario, Referente, Manutentore o Supervisore) sull'impianto. * **Deduzione Impianto:** Se `ImpiantoId` è omesso, il sistema cerca impianti legati al richiedente. Se univoco, viene associato automaticamente. * **Ambiguità:** In caso di più impianti trovati, il ticket viene creato con ID segnaposto e la risposta include la lista `Impianti` per la scelta. * **Accesso:** La risposta include un `AccessToken` (Hashids) per la consultazione sicura senza esporre ID incrementali. |
|---|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Oggetto | body | string | Yes | Oggetto sintetico del ticket |
| Richiesta | body | string | Yes | Descrizione dettagliata della problematica o della richiesta |
| TipoTicketId | body | int | Yes | ID Tipologia: 1: Assistenza, 2: Sopralluogo, 3: Lavorazione, 4: Collaudo, 5: Controllo Allarmi, 6: Incident, 7: Evento |
| TipoGravitaId | body | int | Yes | ID Gravità (da 1: Grave a 5: Miglioramento) |
| TipoPrioritaId | body | int | Yes | ID Priorità (1: Alta, 2: Media, 3: Bassa) |
| SoggettoRichiedenteId | body | int | Yes | ID del Soggetto che apre la segnalazione |
| ImpiantoId | body | int? | No | ID specifico dell'impianto. Se omesso, il sistema tenterà la deduzione automatica dal Soggetto. |
| MaxImpiantiSuggeriti | body | int? | No | Limite massimo di impianti suggeriti restituiti in caso di ambiguità (Default: 100) |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | int? | No | **ID Ticket** Identificativo univoco del ticket creato (nullo in caso di fallimento) |
| ImpiantoId | form | int? | No | **ID Impianto Associato** L'ID collegato al ticket: restituisce il valore fornito, quello dedotto o -1 in caso di ambiguità |
| AccessToken | form | string | No | **Token di Accesso** Codice alfanumerico sicuro per consultare il ticket tramite API pubbliche |
| TotalImpiantiCount | form | int? | No | **Conteggio Totale** Numero complessivo di impianti associati al soggetto richiedente |
| Impianti | form | List<TicketImpiantoInfo> | No | **Impianti Suggeriti** Elenco degli impianti associabili (verificare i limiti di ricerca se la lista è vuota) |
| ResponseStatus | form | ResponseStatus | No | **Stato della richiesta** Dettagli diagnostici, errori di business o fallimenti di validazione |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | int | No | ID interno dell'impianto |
| Codice | form | string | No | Codice tecnico identificativo |
| Nome | form | string | No | Nome dell'impianto |
| Descrizione | form | string | No | Descrizione sintetica |
| Localita | form | string | No | Località o indirizzo estratto dall'ubicazione |
| IsAttivo | form | bool | No | Indica se l'impianto è operativo |
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /tickets HTTP/1.1
Host: gemma.api.kerberos.energy
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"oggetto":"String","richiesta":"String","tipoTicketId":0,"tipoGravitaId":0,"tipoPrioritaId":0,"soggettoRichiedenteId":0,"impiantoId":0,"maxImpiantiSuggeriti":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"id":0,"impiantoId":0,"accessToken":"String","totalImpiantiCount":0,"impianti":[{"id":0,"codice":"String","nome":"String","descrizione":"String","localita":"String","isAttivo":false}],"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}