- 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