Kodeeksempler skademelding

Generer klientkode med OpenAPI generator

Vi anbefaler å bruke en OpenAPI kodegenerator for å generere klientkode. Da kommer du rakst opp å kjøre og koden er basert på våres OpenAPI API kontrakt slik at du får forholder deg til riktige typer.

I dette eksemplet bruker vi en typescript generator

Bruk din favoritt pakkehåndterer for å installere pakken. Vi bruker PNPM.

pnpm install @hey-api/openapi-ts 

Deretter er det bare å kjøre generatoren. Endre konfigurasjon til å passe med dine preferanser. Vi bruker axios som HTTP klient, derfor må vi installere hey-api modulen for denne:

 pnpm install @hey-api/client-axios

Kjør generator

npx @hey-api/openapi-ts -i https://yrkesskade-ekstern-gateway.nav.no/skademelding/api/v3/api-docs -o ./client/src/api/skademelding --client @hey-api/client-axios```

Hvis genereringen var vellykket, skal du nå ha klientkoden du behøver for å kommunisere med våres Skademelding API

Mer dokumentasjon av generator:

Konfigurere generert klient

Anbefaler å sjekke ut dokumentajsonen til generator og valgt HTTP klient.

BaseUrl er spesifisert i kontrakten som som koden genereres fra så denne trenger ikke settes manuelt. Hvis dere også vil ta i bruk testmiljøet, så må dere endre denne til å peke mot testmiljøet (dev). Oversikt over URL til de ulike miljøene finner du på forsiden


import { client as skademeldingKlient } from './api/skademelding/client.gen';

skademeldingKlient.setConfig({
baseURL:  "https://yrkesskade-ekstern-gateway.nav.no",
/*
// auth: Maksinporten token eller funksjon som returnerer maskinportentoken

    // Eventult brukt
    headers: {
        Authorization: 'Bearer <MAKSINPORTEN_TOKEN>',
        'x-nav-ys-kilde': '<IDENTIFIKATOR_FOR_DIN_LOESNING>'
    },

     */

})

Post skademelding


await postSkademelding({
    body: {
        rolletype: "arbeidstaker",
        "innmelder": {
            "innmelderrolle": "virksomhetsrepresentant",
            "norskIdentitetsnummer": "12345678910",
            "paaVegneAv": "123456789"
        },
        "skadelidt": {
            "norskIdentitetsnummer": "12345678910"
        },
        "skade": {
            "alvorlighetsgrad": "GYLDIG_ALVORLIGHETSGRAD_FRA_KODEVERK",
            "skadedeDeler": [
                { 
                    "skadeart": "GYLDIG_SKADEART_FRA_KODEVERK",
                    "kroppsdel": "GYLDIG_KROPPSDEL_FRA_KODEVERK"
                }
            ]
        },
        "hendelsesfakta": {
            "tid": {
                "tidstype": "ukjent"
            },
            "naarSkjeddeUlykken": "iAvtaltArbeidstid",
            "paavirkningsform": [
            "kjemikalierEllerLoesemidler",
            "stress"
            ],
            "aarsakUlykke": [
            "stukketEllerKuttet",
            "skremtAvDyr"
            ],
            "utfyllendeBeskrivelse": "string"
        },
    }
})