Fra FSWS-Hovedbok til FS GraphQL API
FSWS-Hovedbok er under utfasing, og funksjonaliteten er nå erstattet av FS GraphQL API.
REST-tjenesten hadde ett endepunkt (POST /okonomi/hovedbok) som håndterte to brukstilfeller basert på parameteren beregning:
- Ny beregning (
beregning=Ny) – kjører en ny hovedbokføring for en gitt dato - Hent eksisterende bunt (
beregning!=Ny) – henter en tidligere hovedbokføring basert på buntnummer
I FS GraphQL API er disse to brukstilfellene delt i en mutation og en query:
| FSWS-Hovedbok (REST) | FS GraphQL API |
|---|---|
POST /okonomi/hovedbok med beregning=Ny | Mutation overfoerTilHovedbok |
POST /okonomi/hovedbok med eksisterende bunt | Query tidligereHovedbokfoering |
Hent en tidligere hovedbokføring
I REST-APIet hentet du en eksisterende bunt ved å sende beregning satt til en annen verdi enn Ny, sammen med buntnr.
I GraphQL-APIet brukes queryen tidligereHovedbokfoering med input-objektet QueryTidligereHovedbokfoeringInput.
Parameteroversikt
| FSWS-Hovedbok (REST) | FS GraphQL API |
|---|---|
buntnr | input.buntnummer |
| (implisitt fra bruker) | input.eierOrganisasjonskode |
GraphQL-spørring
query HentTidligereHovedbokfoering {
tidligereHovedbokfoering(
input: {
eierOrganisasjonskode: "1234"
buntnummer: "42"
}
) {
buntnummer
antallrader
sumposbelop
sumnegbelop
bilagListe {
bilagsnummer
dato
tekst
belop
kdim0
kdim1
kdim5
}
}
}
Eksempel på svar:
{
"data": {
"tidligereHovedbokfoering": {
"buntnummer": "42",
"antallrader": 3,
"sumposbelop": 15000,
"sumnegbelop": 15000,
"bilagListe": [
{
"bilagsnummer": "1",
"dato": "2025-01-15",
"tekst": "Semesteravgift",
"belop": "5000",
"kdim0": "3400",
"kdim1": null,
"kdim5": "100"
},
{
"bilagsnummer": "2",
"dato": "2025-01-15",
"tekst": "Semesteravgift",
"belop": "10000",
"kdim0": "3400",
"kdim1": null,
"kdim5": "200"
},
{
"bilagsnummer": "3",
"dato": "2025-01-15",
"tekst": "Semesteravgift",
"belop": "-15000",
"kdim0": "1500",
"kdim1": null,
"kdim5": null
}
]
}
}
}
Kjør ny hovedbokføring
I REST-APIet kjørte du en ny hovedbokberegning ved å sende beregning=Ny, sammen med dato og eventuelt oppdaterFS.
I GraphQL-APIet brukes mutasjonen overfoerTilHovedbok med input-objektet NyHovedbokInput.
Parameteroversikt
| FSWS-Hovedbok (REST) | FS GraphQL API |
|---|---|
dato (format yyyyMMdd) | input.dato (ISO-format, f.eks. 2025-01-15) |
oppdaterFS (J/N) | input.oppdater (true/false) |
| (implisitt fra bruker) | input.eierOrganisasjonskode |
GraphQL-mutasjon
mutation KjoerNyHovedbokfoering {
overfoerTilHovedbok(
input: {
eierOrganisasjonskode: "1234"
dato: "2025-01-15"
oppdater: true
}
) {
buntnummer
antallrader
sumposbelop
sumnegbelop
bilagListe {
bilagsnummer
dato
tekst
belop
kdim0
kdim1
kdim5
}
}
}
Eksempel på svar:
{
"data": {
"overfoerTilHovedbok": {
"buntnummer": "43",
"antallrader": 2,
"sumposbelop": 8000,
"sumnegbelop": 8000,
"bilagListe": [
{
"bilagsnummer": "1",
"dato": "2025-01-15",
"tekst": "Semesteravgift",
"belop": "8000",
"kdim0": "3400",
"kdim1": null,
"kdim5": "100"
},
{
"bilagsnummer": "2",
"dato": "2025-01-15",
"tekst": "Semesteravgift",
"belop": "-8000",
"kdim0": "1500",
"kdim1": null,
"kdim5": null
}
]
}
}
}
Viktige forskjeller
| Egenskap | FSWS-Hovedbok (REST) | FS GraphQL API |
|---|---|---|
| Autentisering | Brukerbasert (SecurityContext) | OAuth2/OIDC med organisasjonskode |
| Datoformat | yyyyMMdd | ISO 8601 (yyyy-MM-dd) |
| Oppdater-parameter | Streng J/N | Boolean true/false |
| Respons | Flat JSON med bilagliste | GraphQL-respons med bilagListe (camelCase) |
| Beløp-typer | Streng | BigDecimal for sum, streng for bilag |