Skip to main content

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 CampoLunghezza maxObbligatorio
ID_TransactionTesto
SI
Tratta-progettoTesto600SI
CNOTesto SI
LavorazioniTesto SI
Note LavorazioniTesto NO
Data GLDate SI
Stato CantiereTesto SI
Motivo (Stato Cantiere: Non Attivo)Testo NO
MeteoTesto SI
Presenza ArcheologoBool NO
Ore lavorate ArcheologoIntero SI se presenza archeologo 'SI'
Nome LavoratoreTesto100SI
Cognome LavoratoreTesto100SI
Codice fiscale LavoratoreTesto100SI
Impresa esecutrice LavoratoreTesto SI
Qualifica LavoratoreTesto SI
Tipologia LavoratoreTesto SI
Ore lavorate LavoratoreIntero 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 CampoLunghezza maxObbligatorioValori
id_transactionTesto50SI
resultBool2SI'ok/ko'
error_codeTesto 50SI
messageTesto100SI

Di seguito è riportato l’elenco dei controlli previsti per cui verrà restituito l'errore 'ERR_400_Bad Request':

 
  1. La tipologia di campo non è quella ammessa dalla tabella della caratteristiche json Riquest;
  2. La lunghezza del campo non è quella ammessa dalla tabella della caratteristiche json Riquest;
  3. Un campo obbligatorio non è stato popolato
  4.  Un campo non è conforme con le pick list condivise