- Ostojen ja myyntien rajapinnan resurssit
- Rajapinnan resurssien osoitteet
Ostojen ja myyntien rajapinnan resurssit
Ostojen ja myyntien rajapinnan kautta voidaan lukea, lisätä ja päivittää osto- ja myyntitietoja ValueFrameen. Tietojen haussa käytetään limit-, offset- ja count-avainsanoja haun tulosjoukon rajaamiseksi.
Rajapinnan resurssien osoitteet
Osoite on muotoa:
https://rest.valueframe.com/rest/v2/{REST_resurssi}/
REST-resurssien osoitteet ovat seuraavat:
REST-resurssi | GET | PUT | POST | DELETE | KUVAUS |
Sales | x | POST: uuden oston / myynnin lisääminen | |||
Sales | x | x | x | GET: palauttaa oston / myynnin id=ID | |
PUT: oston / myynnin id=ID tietojen päivitys | |||||
DELETE: oston / myynnin id=ID poistaminen |
Rajapinnan resurssit kuvauksineen
Kentän nimi | Tyyppi | Kuvaus |
id | INTEGER | Oston / myynnin uniikki id-numero |
subProjectId* | STRING | Osaprojektin id |
description* | STRING | Oston / myynnin nimike |
purchasePrice (*ostolle) | FLOAT | Ostohinta |
amount* | FLOAT | Määrä |
unit | INTEGER | Yksikkö |
purchaseDate (*ostolle) | STRING | Ostopäivä |
sellingPrice (*myynnille) | FLOAT | Myyntihinta |
sellingPriceInvoicingCurrency | FLOAT | Myyntihinta laskutusvaluutassa |
sellingPriceCorporationCurrency | FLOAT | Myyntihinta konsernivaluutassa |
exchangeRateInvoicingHomeCurrency | FLOAT | Kurssi laskutusvaluutta / kotivaluutta |
invoicingType* | INTEGER | Tyyppi:
|
status | INTEGER | Status (jos tuodaan myynti):
|
approvedDate | STRING | Päivämäärä, jolloin osto on hyväksytty |
approvedBy | INTEGER | Oston hyväksyjän käyttäjäid |
invoiceNumber | STRING | Ostolaskun numero |
invoiceId | INTEGER | |
type | INTEGER | Kohdentuu:
|
code* | STRING | Ostolle / myynnille liitetyn tuotteen koodi |
salesVat* | FLOAT | Alv-prosentti |
salesVatId | INTEGER | Alv-prosentin id |
invoicingDate (*myynnille) | STRING | Laskutuspäivämäärä |
productId | INTEGER | Ostolle / myynnille valitun tuotteen id |
saleRowId | INTEGER | Myyntirivin id |
creationDateTime | STRING | Rivin lisäysajankohta |
modifiedDateTime | STRING | Rivin muokkausajankohta |
supplier | STRING | Toimittaja |
bankAccount | STRING | Tilinumero |
importedSale | INTEGER | Sisäänluettu kulu |
comment | STRING | Selitys |
* Pakollinen tieto
Käyttöesimerkit
GET
/Sales/
Tämä ei ole tuettuna, ts. rajapinnan kautta voi hakea myyntejä / ostoja vain id:n perusteella.
/Sales/[id]
Palauttaa parametrina annetun id:n mukaisen myynnin / oston jos löytyy.
{ "Sale": { "id": 2080, "subProjectId": 3, "description": "REST-testi", "purchasePrice": 25, "amount": 3, "unit": 1, "purchaseDate": "2017-08-18", "sellingPrice": 350.8, "sellingPriceInvoicingCurrency": 350.8, "sellingPriceCorporationCurrency": 350.8, "exchangeRateInvoicingHomeCurrency": 1, "invoicingType": 1, "status": 1, "approvedDate": null, "approvedBy": null, "invoiceNumber": null, "invoiceId": null, "type": 1, "code": "6", "salesVat": 24, "salesVatId": 9, "invoicingDate": "2017-09-01", "productId": 6, "saleRowId": 0, "creationDateTime": "2017-08-18T07:43:13+0300", "modifiedDateTime": "2017-08-18T07:43:13+0300", "supplier": "Alihankkija Oy", "bankAccount": "1234567890", "importedSale": 0, "comment": "Suunnittelua AT-Yhtiössä" } }
Muuten
{ "message": "Data not found.", "status": 404 }
Jos Development mode -bitti on päällä, palautetaan myös tarkemmat tiedot (uri, file, line ja info).
POST
/Sales/
Lisää järjestelmään uuden myynnin / oston. Tämä määritellään invoicingType-parametrilla, joka voi olla joko 1 = myynti tai 2 = osto.
{ "subProjectId": 3, "description": "REST-testi (POST)", "purchasePrice": 25, "amount": 3, "unit": 2, "purchaseDate": "2017-08-18", "sellingPrice": 350.80, "invoicingType": 1, "status": 1, "type": 1, "code": "6", "salesVat": 24, "invoicingDate": "2017-09-01", "bankAccount": "1234567890", "attachmentUrl": "https://www.example.com/attachment" }
Jos rivi saatiin luotua onnistuneesti, palautetaan luodun myynnin / oston data:
{ "Sale": { "id": 2080, "subProjectId": 3, "description": "REST-testi (POST)", "purchasePrice": 25, "amount": 3, "unit": 2, "purchaseDate": "2017-08-18", "sellingPrice": 350.8, "sellingPriceInvoicingCurrency": 350.8, "sellingPriceCorporationCurrency": 350.8, "exchangeRateInvoicingHomeCurrency": 1, "invoicingType": 1, "status": 1, "approvedDate": null, "approvedBy": null, "invoiceNumber": null, "invoiceId": null, "type": 1, "code": "6", "salesVat": 24, "salesVatId": 9, "invoicingDate": "2017-09-01", "productId": 6, "saleRowId": 0, "creationDateTime": "2017-08-18T07:43:13+0300", "modifiedDateTime": "2017-08-18T07:43:13+0300", "supplier": "", "bankAccount": "1234567890", "importedSale": 0 } }
Muuten annetaan virheilmoitus esimerkiksi puuttuvasta osaprojektista.
{ "message": "Subproject doesn't exists.", "status": 400 }
PUT
/Sales/[id]
Päivittää olemassa olevan oston / myynnin. Voidaan päivittää samat kentät kuin uuden lisäyksessä tai vain osa.
{ "description": "Päivitetty nimike", "purchasePrice": 30.50, "amount": 6 }
Jos rivin päivitys onnistui palautetaan päivitetyn oston / myynnin data.
DELETE
/Sales/[id]
Poistaa oston / myynnin. Huomaa, että rivi poistetaan tietokannasta kokonaan. Jos poistaminen suoritetaan onnnistuneesti, palautetaan status 200 ilman sisältöä. Muuten annetaan virheilmoitus puuttuvasta id:stä.
Statuskoodit
Statuskoodien lisäksi esimerkiksi uutta ostoa / myyntiä lisätessä syöttödata validoidaan ja mikäli data on virheellistä, järjestelmä palauttaa selväkielisen viestin. Ohessa esimerkkejä.
{"message":"Given request data doesn't contain element sellingPrice, which is necessary element for sale"} {"message":"Given request data doesn't contain element status, which is necessary element for sale"} {"message":"Given request data doesn't contain element invoicingDate, which is necessary element for sale"} {"message":"Given request data doesn't contain element purchasePrice, which is necessary element for purchase"} {"message":"Given request data doesn't contain element purchaseDate, which is necessary element for purchase"} {"message":"Subproject doesn't exists."} {"message":"Subproject is not active."} {"message":"Value of the element 'Status' must be either 0 (in progress) or 1 (ready for invoicing)."} {"message":"Invoicing type must be either 1 (sale) or 2 (purchase)."}
Oliko tästä vastauksesta apua? Kyllä Ei
Send feedback