1. Yleiskuvaus
updatepresalary on webservice-metodi, joka sallii presalary-taulun tietueiden hakemisen ja päivittämisen. Metodi tukee sekä HTTP GET -kutsua (query-parametrien kautta) että HTTP POST -kutsua (JSON-runkoa käyttämällä).
Kaikki kutsut edellyttävät HTTP Basic -autentikointia.
2. Autentikointi
Jokaisessa kutsussa on asetettava HTTP-otsikko:
Authorization: Basic base64(käyttäjätunnus:salasana)
Mikäli autentikointi epäonnistuu, palvelin palauttaa HTTP 401 Unauthorized -vastauksen.
3. Päätepisteet
Endpoint: /presalaryupdate
• Menetelmä: GET
• Kuvaus: Hae tai päivitä rivejä query-parametreillä
Endpoint: /presalaryupdate
• Menetelmä: POST
• Kuvaus: Päivitä rivejä JSON-pyynnöllä
Endpoint: /database/presalaryupdate/{id}
• Menetelmä: GET
• Kuvaus: Hae yksittäinen rivi REST-tyyliin (ID polussa)
4. Parametrit ja tietomalli
4.1. Presalary-tietueen kentät
presalary-tietue sisältää yli 100 kenttää, joista yleisimmät:
id String – Tietueen yksilöivä tunniste
companynumber Integer – Yrityksen numero
paymentid String – Maksutapahtuman tunniste
period Integer – Palkkakäsittelykausi
employeenumber Integer – Työntekijän numero
amount Integer – Määrä
price Integer – Hinta per yksikkö
total Integer – Kokonaisarvo
annotation String – Vapaan tekstin kenttä (esim. kommentti)
teksti String – Lisätekstikenttä
… … – …
Huom. Voit suodattaa tai päivittää mitä tahansa kenttää.
4.2. Toiminto-parametri
presalary_Action String (pakollinen) – Toiminto, jota halutaan tehdä (esim. “update”).
4.3. Sivutus-parametrit
maxrecords Integer (valinnainen) – Maksimirivimäärä vastauksessa
skiprecords Integer (valinnainen) – Kuinka monta riviä ohitetaan (offset)
5. GET-kutsu (query-parametrit)
Esimerkki kutsusta:
GET http://<palvelin>/presalaryupdate?presalary_Action=update&id=12345&amount=1000&annotation=Palkankorotus&maxrecords=50&skiprecords=0
Vastaus:
{
"presalaryupdate_response": {
"presalary": [
{
"id": "12345",
"companynumber": 10,
"amount": 1000,
"annotation": "Palkankorotus",
"teksti": ""
// muut kentät…
}
],
"skippedrecords": 0,
"resultcomplete": 1
}
}
6. POST-kutsu (JSON-runko)
Polku: /presalaryupdate
Sisältötyyppi: application/json
Pyynnön JSON-rakenne:
{
"presalary": [
{
"id": "12345",
"amount": 1200,
"annotation": "Korjattu määrä",
"teksti": "Lisäys: bonus"
// tarvittaessa muitakin kenttiä
},
{
"id": "67890",
"amount": 900,
"annotation": "Vähennetty ylitys",
"teksti": ""
}
],
"presalary_Action": "update",
"maxrecords": 100,
"skiprecords": 0
}
Esimerkkivastaus:
{
"presalaryupdate_response": {
"presalary": [
{
"id": "12345",
"amount": 1200,
"annotation": "Korjattu määrä"
},
{
"id": "67890",
"amount": 900,
"annotation": "Vähennetty ylitys"
}
],
"skippedrecords": 0,
"resultcomplete": 1
}
}
7. REST-GET yksittäiselle ID:lle
Esimerkiksi:
GET http://<palvelin>/database/presalaryupdate/12345
Palauttaa saman rakenteen kuin query-GET, mutta id annetaan polussa. Voit lisätä query-parametreja suodatukseen, esim. ?companynumber=10.
8. Virhekoodit ja käsittely
400 – Puuttuva tai virheellinen parametri. Tarkista pyyntö ja JSON-rakenne
401 – Autentikointi epäonnistui. Varmista oikeat Basic credentials
403 – Käyttöoikeus puuttuu. Tarkista käyttäjän roolit ja oikeudet
404 – Tietuetta ei löydy. Varmista, että id on oikea
500 – Palvelinvirhe. Tarkista palvelinlokit
9. Vinkkejä ja parhaita käytäntöjä
-
Batch-päivitykset: Käytä POST-kutsua, kun päivität useita rivejä kerralla.
-
Sivutus: Jos taulussa on paljon rivejä, hyödynnä maxrecords ja skiprecords.
-
Validointi: Tarkista ennen kutsua, että kenttien tyypit ovat oikein.
-
Lokitus: Kirjaa palvelinpuolella saapuvat pyynnöt ja vastaukset virhetilanteiden selvittämiseksi.
-
Virheenkäsittely: Käsittele sekä HTTP-virhekoodit että resultcomplete-arvo (1 = ok, 0 = osittain tai kokonaan epäonnistui).