• 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-resurssiGETPUTPOSTDELETEKUVAUS
Sales  x POST: uuden oston / myynnin lisääminen
Salesxx 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 nimiTyyppiKuvaus
idINTEGEROston / myynnin uniikki id-numero
subProjectId*STRINGOsaprojektin id
description*STRINGOston / myynnin nimike
purchasePrice (*ostolle)FLOATOstohinta
amount*FLOATMäärä
unitINTEGERYksikkö
purchaseDate (*ostolle) STRINGOstopäivä
sellingPrice (*myynnille) FLOATMyyntihinta
sellingPriceInvoicingCurrencyFLOATMyyntihinta laskutusvaluutassa
sellingPriceCorporationCurrencyFLOATMyyntihinta konsernivaluutassa
exchangeRateInvoicingHomeCurrencyFLOATKurssi laskutusvaluutta / kotivaluutta
invoicingType*INTEGER
 

Tyyppi:


  •  1 = myynti (voi olla myös osto)
  •  2 = osto

statusINTEGER

Status (jos tuodaan myynti):


  • 1 = laskutusvalmis
  • 3 = laskutettu

approvedDateSTRINGPäivämäärä, jolloin osto on hyväksytty
approvedByINTEGEROston hyväksyjän käyttäjäid
invoiceNumberSTRINGOstolaskun numero
invoiceIdINTEGER 
typeINTEGER

Kohdentuu:


  • 0 = työ
  • 1 = materiaali

code*STRINGOstolle / myynnille liitetyn tuotteen koodi
salesVat*FLOATAlv-prosentti
salesVatIdINTEGERAlv-prosentin id
invoicingDate (*myynnille) STRINGLaskutuspäivämäärä
productIdINTEGEROstolle / myynnille valitun tuotteen id
saleRowIdINTEGERMyyntirivin id
creationDateTimeSTRINGRivin lisäysajankohta
modifiedDateTimeSTRINGRivin muokkausajankohta
supplierSTRINGToimittaja
bankAccountSTRINGTilinumero
importedSaleINTEGERSisäänluettu kulu
commentSTRINGSelitys


* 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
Pahoittelut, että emme voineet auttaa. Anna palautetta, jotta voimme parantaa tätä artikkelia.