API/warehouse movements
Elenco dei movimenti di magazzino in utilizzo su SB
GET https://smartbiogas.it/api/v1/warehouse/{idWarehouse}/movements
Risultato: Json con un array di risultati
[
{
"movement_id": id del movimento,
"warehouse_id": id del magazzino,
"f_quantity": "quantità in tonnellate",
"f_movement_datetime": "date e ora in formato ISO",
"f_movement_type": Tipo di movimento
},
{
"movement_id": 448825,
"warehouse_id": 3857,
"f_quantity": "-9.000",
"f_movement_datetime": "2013-02-01 23:59:59",
"f_movement_type": 11
},
...
]
Dati del singolo movimento:
GET https://smartbiogas.it/api/v1/warehouse{idWarehouse}/movements/{idMovimento}
esempio https://smartbiogas.it/api/v1/warehouse/3857/movements/350000
Risultato: stesso Json di sopra ma con un solo record
Inserimento movimento di magazzino
POST https://smartbiogas.it/api/v1/warehouse{idWarehouse}/movements
Nel Post va mandato un JSON con questa struttura:
{
"f_quantity": INT quantità in tonnellate,
"f_movement_datetime": DATETIME "data ora in formato ISO",
"f_movement_type":INT Tipo di Movimento,
"soggetto_id": INT id di un record dei soggetto (vedi API soggetti),
"f_targa": TEXT "targa",
"f_trasportatore": TEXT "Identificativo del trasportatore, nome/cognome o CF",
"f_disinfezione": BIT 0-disinfezione mancante, 1-disinfezione effettuata,
"f_price" : DECIMAL eventuale prezzo a tonnellata,
"f_distance" : INT distanza del viaggio in km,
"f_provenienza" : TEXT "Descrizione o identificativo della provenienza",
"plant_suppliers_contracts_id" : INT eventuale ID di un contratto di fornitura (vedi contratti forniture) oppure -1 per nessun contratto,
"f_partita" : TEXT "codice della partita a cui è associato il viaggio, generalmente lasciare vuota perchè viene generato a posteri",
"f_ddt_number":"Numero del DDT",
"f_num_pesata": TEXT "numero o identificativo della pesata",
"f_tipo_documento": INT (tipo di movimento: -1 nessun documento, 1- DDT, 2-Fattura immediata, 3-Altro)
}
Risultato: JSON
{
"error_code": INT codice di errore (vedi enumerazione errori API) generalmente 0 se OK,
"movement_id": INT id del movimento creato,
"message": "Eventuale messaggio per capire l'errore"
}
I movimenti non possono essere duplicati, nel senso che per un determinato magazzino, nella stessa data/ora (al secondo) non può essere effettuato più di un movimenti dello stesso tipo.
se succede, l'errore_code sarà diverso da 0 e in movement_id ci sarà l'id del record del movimento esistente.
Aggiornamento dati di movimento di magazzino
PATCH https://smartbiogas.it/api/v1/warehouse{idWarehouse}/movements/{idMovimento}
Fornire lo stesso JSON dell'inserimento
Risultato lo stesso dell'inserimento