Documentazione AR APIv2 1.0.8 Help

User Tickets

badge Status-ACTIVE

La chiamata di elenco Tickets per User permette, indicando i parametri dell’Utente, di:

  • Ricevere l’elenco di Tickets attivi e non, nel dettaglio, per l’Utenza indicata;

  • (Opzionale) Creare o aggiornare l’Utente indicato;

  • Allineare DB del socio, se viene indicato l’Identificativo esterno dell’utenza;

Richiede in ingresso:

  • Parametri dell’Utente;

  • Parametro per includere o meno Ticket chiusi (opzionale);

Restituisce:

  • L’elenco di Tickets;

  • Oppure, se non va a buon fine, la descrizione dell’errore riscontrato;

Utente esterno:

Nel caso in cui venga specificato un identificativo esterno Utente, per allineamento con base dati del socio, verrà gestita con la seguente logica la creazione/aggiornamento dell’Utente:

  • Corrispondenza Id trovata: aggiornamento eventuale dati (email, telefono, etc.);

  • Corrispondenza Id non trovata, corrispondenza mail trovata: viene associato l’identificativo esterno all’Utenza, per la mail indicata, e successivamente vengono aggiornati i dati Utente;

  • Nessuna corrispondenza trovata: viene creato un nuovo Utente con tutti i dati specificati;

  • Id esterno non specificato: nessun allineamento dati, ricerca utenza per email;

Chiave

Valore

Indirizzo Test

https://test-apiv2.smiletech.it/APIv2/Supports/UserTickets /{includeClosed}

Indirizzo Prod

https://apiv2.smiletech.it/APIv2/Supports/UserTickets /{includeClosed}

Metodo

PUT

Success Response

200 (Success)

Error Response

400 (Bad Request)
401 (Unauthorized)
500(Internal Server Error)

Di seguito la struttura dell’Header contenente:

Header

{ "authorization": "Bearer -indicare-qui-Token-fornito-" }

(Opzionale, boolean, default true) Il parametro di inclusione Ticket chiusi, includeClosed, va inserito come parametro nell’URL andando a sostituire {includeClosed} all’interno dell’indirizzo.

Di seguito la struttura del body contenente i valori da inserire all’interno della richiesta:

Request body

{ "name": "[string]{nome dell’Utente}", "surname": "[string]{cognome dell’Utente}", "email": "[string]{email univoca e identificativa dell’Utente}", "phoneNumber": "[string]{numero di telefono dell’Utente}", "externalId": "[string][opzionale]{identificativo esterno dell’Utente}" }

Di seguito la struttura della response contenente i valori di ritorno dal sistema:

Response body

{ "tickets": [ { "id": [long]{identificativo univoco del Ticket}, "cardCode": "[string]{codice univoco della CardReleased di appartenenza}", "dateOpened": "[DateTime]{data di apertura del Ticket}", "dateAppointment": "[DateTime]{data appuntamento risoluzione, concordato con il cliente}", "dateClosed": "[DateTime]{data di risoluzione del Ticket}", "dateReplied": "[DateTime]{data di risposta da parte dell’operatore, al Ticket}", "title": "[string]{titolo della problematica riscontrata}", "problemDescription": "[string]{descrizione accurata della problematica riscontrata}", "replySolution": "[string]{risposta di risoluzione dell’operatore}", "feedback": "[string]{resoconto dell’esperienza dell’utente}", "feedbackValue": [int][nullable]{valutazione (da 1 a 5) dell’esperienza dell’utente}, "isTaken": [bool]{indica se il Ticket è stato preso in carico dall’Operatore}, "hasAppointment": [bool]{indica se il Ticket ha un appuntamento di risoluzione fissato}, "isClosed": [bool]{indica se il Ticket è chiuso (true) o aperto (false)}, "isResolved": [bool]{indica se il Ticket è risolto (true) o meno (false)} } ] }

Un esempio di chiamata con dati verosimili:

https://test-apiv2.smiletech.it/APIv2/Supports/UserTickets

Header

{ "authorization": "Bearer NTNv7j0TuYARvmNMmWXo6fKvM4o6nv/aUi9ryX38ZH+L1bkrnD1ObOQ8Jdav" }

Request body

{ "name": "Marco", "surname": "Rossi", "email": "marco@mail.it", "phoneNumber": "333133313", "externalId": "110" }

In caso di Successo il sistema ritorna il seguente modello JSON:

Response body

{ "tickets": [ { "id": 46788, "cardCode": "218796CDD0DC47DB", "dateOpened": "2023-06-30T17:45:59.0300711", "dateAppointment": "2023-07-01T12:30:59.0300711", "dateClosed": "2023-07-01T16:36:59.0300711", "dateReplied": "2023-07-01T16:36:59.0300711", "title": "La TV funzionava ma ora è bloccata", "problemDescription": "Non riesco più ad utilizzare la TV, lo schermo è tutto blu.", "replySolution": "Abbiamo resettato e riconfigurato la TV. Funziona tutto correttamente.", "feedback": "Servizio ottimo.", "feedbackValue": 5, "isTaken": true, "hasAppointment": true, "isClosed": true, "isResolved": true, } ] }

In caso di Errore il sistema ritorna il seguente modello JSON:

Response

Status: 400 Bad Request

{ "error": "Utente non trovato per la mail indicata." }

Errori Riscontrabili

Di seguito la lista che indica gli errori che possono essere riscontrati:

Codice

Descrizione

400
(BadRequest)

I dati in ingresso non sono corretti o non sono correttamente formattati. Viene restituita la descrizione dell’errore nel dettaglio.

401
(Unauthorized)

Il codice Token fornito non è valido. L’autenticazione non è andata a buon fine.

500
(Internal Server Error)

Il server ha riscontrato un errore inaspettato, generalmente esula dal tipo di request e si verifica per problemi assoggettabili al sistema.

17 novembre 2025