API/warehouse movements

From Smart Biogas Wiki
Jump to navigation Jump to search

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