===== Izvoz naročil (JSON, v1) ===== ==== Obvezni parametri za vsako zahtevo ==== * Client-Id: UUID stranke * Application-Id: UUID vaše aplikacije ==== getDocumentHeaders (GET) ==== Izvoz glav naročil. Brez dodatnih parametrov se izvozi zadnjih 10 novih naročil. === Parametri === * page: celo število večje od 0, privzeto: 1 * flags: ena ali več oznak naročil ločenih z vejico (privzeto: new): * read: naročilo je bilo prebrano z getDocument zahtevo * hidden: naročilo ste ročno označili kot skrito s setDocumentFlags * processed: naročilo ste ročno označili kot obdelano s setDocumentFlags * //new//: nova naročila (niso označena z nebeno od zgornjih oznak) (privzeto) * //any//: vsa naročila, ne glede na oznake === Primer === * URL/getDocumentHeaders?Client-Id=////&Application-Id=//// * URL/getDocumentHeaders?Client-Id=////&Application-Id=////&page=2 * URL/getDocumentHeaders?Client-Id=////&Application-Id=////&flags=read,new Odgovor: [ { "documentID": 10060, "documentName": "2016\/9", "documentDate": "2016-06-06 12:50:26", "deliveryNoteID": null, "supplierName": "DOBAVITELJ 1234", "supplierVATID": "SI12345678", "deliveryDate": "2016-06-07", "orderValue": "10.51840000", "orderItemCount": 1, "flags": [] }, ... ] === Polja === * documentID(int): ID naročila (uporabno npr. pri zahtevi getDocument) * documentName(string): Nabis naziv naročila * documentDate(datetime): datum in čas oddaje naročila (YYYY-MM-DD hh:mm:ss) * deliveryNoteID(string|null): Številka dobavnice (ali NULL v primeru da dobavitelj ni podal podatka) * supplierName(string): Naziv dobavitelja * supplierVATID(string): ID za DDV s predpono (SI, AT, ...) ali davčna številka * deliveryDate(date): datum dobave ki ga je izbrala stranka (YYYY-MM-DD) * orderValue(decimal): vrednost naročila, brez DDV * orderItemCount(int): število postavk na naročilu * flags(string[]): kombinacija sledečih oznak (lahko nobena): * read * hidden * processed ==== getDocument (GET) ==== Izvoz posameznega naročila. === Parametri === * documentID: ID naročila (obveznen parameter) === Primer === * URL/getDocument?Client-Id=////&Application-Id=////&documentID=10060 Odgovor: { "documentID": 10060, "documentName": "2016\/9", "documentDate": "2016-06-06 12:50:26", "deliveryNoteID": null, "supplierName": "Dobavitelj 1234", "supplierVATID": "SI12345678", "deliveryDate": "2016-06-07", "flags": [], "supplierAddress": "NAVADNA ULICA 15", "supplierZipCode": "1000", "supplierCity": "LJUBLJANA", "supplierOrderNotes": "", "items": [ { "eanCode": "1234567890123", "code": "1234", "productName": "BELA \u0160TRUCA 1,00 KG", "unit": "KOS", "amount": "5", "salesGrossPrice": "0.82366666", "discountPercentage": "10", "netPrice": "0.7413", "taxPercentage": "9.5", "salesTaxPercentage": null }, { "eanCode": null, "code": "5678", "productName": "POLBELA \u0160TRUCA 1,00 KG", "unit": "KOS", "amount": "5", "salesGrossPrice": "0.87844444", "discountPercentage": "10", "netPrice": "0.7906", "taxPercentage": "9.5", "salesTaxPercentage": null }, ... ] } === Polja === * Polja ki so identična s polji iz getDocumentHeaders imajo enako vsebino in tip * supplierAddress(string): naslov dobavitelja * supplierZipCode(string): poštna številka dobavitelja * supplierCity(string): kraj dobavitelja * supplierOrderNotes(string): opombe naročila ki jih je vpisal dobavitelj. Lahko več vrstic, ločilo: //\n// * items: seznam postavk naročila: * eanCode: EAN šifra ali NULL * code(string): dobaviteljeva šifra artikla * productName(string): naziv artikla * unit(string): enota mere * amount(decimal): naročena količina * salesGrossPrice(decimal|null): cena brez rabata in brez DDV ali NULL * discountPercentage(decimal|null): rabat % ali NULL * netPrice(decimal|null): neto cena ali NULL * taxPercentage(decimal|null): DDV % ali NULL ==== setDocumentFlags (POST) ==== Nastavi ali doda oznake naročil. === Parametri === * documentID: ID naročila (obveznen parameter) * flags: kombinacija sledečih oznak (lahko nobena) ločenih z vejico (obvezen parameter): * read * hidden * processed * mode: način spreminjanja (privzeto: add): * add: doda k že obstoječim oznakam * set: odstrani obstoječe oznake in nastavi na podane === Primer === * URL/setDocumentFlags?Client-Id=////&Application-Id=////&documentID=10060&flags=processed * Doda oznako "obdelano" * URL/setDocumentFlags?Client-Id=////&Application-Id=////&documentID=10060&mode=set&flags= * Odstrani vse obstoječe oznake * URL/setDocumentFlags?Client-Id=////&Application-Id=////&documentID=10060&mode=set&flags=read,hidden * Odstrani vse obstoječe oznake in nastavi oznaki "prebrano" in "skrito" Odgovor: { "documentID": 10060, "flags": ["read", "processed"] } === Polja === * documentID: ID naročila * flags: novo stanje po spremembi ==== Napake ==== * Vsaka pravilna zahteva ima HTTP status 200 * V primeru napačne metode (GET, POST) je status 405 * V primeru napak v parametrih je status 400, ter dodan HTTP header REST-Errors s kratkim opisom napake