6.1 WS1 per Invio dati Giornale Lavori
Per ogni transazione, si avrà una comunicazione sul WS 1 a seguito della richiesta dell'operatore, evento che definisce la data di inizio Transazione.
Il WS esposto sarà di tipo RESTful, metodo HTTP POST, raggiungibile tramite il seguente URL:
La struttura dell’oggetto json inserito nel body dell'invio del WS 1 dovrà essere analoga alla seguente:
{
"id_transaction":1234,
"tratta_g4w": [
{
"nome_tratta": "ABI2ARIELLI00000",
"giornate":[
{
"data_gl": "2023-02-06",
"stato_cantiere":"Attivo",
"motivo_stato_cantiere": null,
"meteo": "Sereno",
"presenza_archeologo": true,
"ore_lavorate_arch": 1.5,
"cno":[
{
"nome_cno": "CNO1",
"lavorazioni":[
{
"lavorazione": "Minitrincea",
"note_lavorazione": "Via Poggibonsi",
}
]
}
],
"lavoratori":[
{
"nome":"Federico",
"cognome":"Rossi",
"cod_fisc":"FRTRSS90M111L",
"impresa":"12339760964",
"dettagli_lavoratore":[
{
"qualifica_lavoratore": "Operaio Comune",
"tipologia_lavoratore": "Distacco",
"ore_lavorate": 8
}
]
}
]
}
]
}
]
}
| Tipologia Campo | Lunghezza max | Obbligatorio | |
| ID_Transaction | Testo | SI | |
| Tratta-progetto | Testo | 600 | SI |
| CNO | Testo | SI | |
| Lavorazioni | Testo | SI | |
| Note Lavorazioni | Testo | NO | |
| Data GL | Date | SI | |
| Stato Cantiere | Testo | SI | |
| Motivo (Stato Cantiere: Non Attivo) | Testo | NO | |
| Meteo | Testo | SI | |
| Presenza Archeologo | Bool | NO | |
| Ore lavorate Archeologo | Intero | SI se presenza archeologo 'SI' | |
| Nome Lavoratore | Testo | 100 | SI |
| Cognome Lavoratore | Testo | 100 | SI |
| Codice fiscale Lavoratore | Testo | 100 | SI |
| Impresa esecutrice Lavoratore | Testo | SI | |
| Qualifica Lavoratore | Testo | SI | |
| Tipologia Lavoratore | Testo | SI | |
| Ore lavorate Lavoratore | Intero | SI |
Per la parte riguardante la presenza archeologo, il controllo sarà tale che in caso il campo sia null GisFo compilerà il campo con NO.
Il WS esposto restituirà un HTTP CODE “200”. Dopo aver effettuato dei controlli sui dati ricevuti, GISFO ne dettaglierà l’esito all’interno del body JSON della risposta, che sarà strutturata come riportato di seguito.
{
“id_transaction”: “1234”,
“result”: “KO”,
“error_code”: “ERR_400_Bad Request”,
“message”: ” La richiesta non può essere soddisfatta a causa di errori di sintassi.”
}
| Tipologia Campo | Lunghezza max | Obbligatorio | Valori | |
| id_transaction | Testo | 50 | SI | |
| result | Bool | 2 | SI | 'ok/ko' |
| error_code | Testo | 50 | SI | |
| message | Testo | 100 | SI |
Di seguito è riportato l’elenco dei controlli previsti per cui verrà restituito l'errore 'ERR_400_Bad Request':
- La tipologia di campo non è quella ammessa dalla tabella della caratteristiche json Riquest;
- La lunghezza del campo non è quella ammessa dalla tabella della caratteristiche json Riquest;
- Un campo obbligatorio non è stato popolato
- Un campo non è conforme con le pick list condivise
No Comments