Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Nedenstående beskriver et oplæg

Beskrivelse

Der etableres en ny webservicemetode på AbonnementService (EksternKommunikation.AbonnementService (Version 1, 2023-4) ) ved navn

Metoden formål er at kalderen skal eje kendskabet til hvilke abonnementer et givent system skal have. Dermed har STAR ikke ansvar for oprettelsen og nedlæggelsen af abonnementer. STARs serviceaftagere varetager selv hvilken abonnementer og timing for hvornår disse skal træde i kraft.

Regler

Alt eller intet

  • Ovenstående eksempel viser at de abonnementer som requestet indeholde bliver resultatet efter metodern har returneret. Overflødige abonnementer slettes. Nye abonnementer oprettes.

  • Denne operation kan kaldes flere gange med samme resultat (Idempotent)

  • For alle nedenstående regler gælder at hele kaldet udføres som en transaktion. Dvs. at enten bliver alle abonnementer opsat - eller ingen. Dermed kan kalderen ikke stå i en situation hvor kaldet delvist er succesfuldt.

Datavalidering

  • Der kan kun oprettes abonnementer som er gyldige i forhold til de af STAR kontrollerede regler (såsom tilladte abonnementer)

Sikkerhed

  • Der kan kun oprettes abonnementer til de systemer som det kaldende systemcertifikat har adgang til

Fejlhåndtering

  • Ved fejl på kalderens side returneres en fejlstruktur som beskrevet herunder i “output”. Fejlstrukturen returnerer en komplet liste over de fundne fejl.

Auditlog

  • Alle kald og de efterfølgende abonnementrettelser bliver logget af hensyn til revision.

LSS

  • STAR udvikler ikke LSS/selvbetjenings UI til dene funktionalitet.

Håndtering af ikke-modtagede beskeder (50x eller 40x)

  • Hvis kalderen ønsker at slette et abonnement hvorpå der identificeres ikke-modtagerede beskeder på køen, vil disse beskeder blive slettet uden yderligere forsøg på gensendelse.

Input (request)

Nedenstående JSON viser et eksempel på struktur. Mindre ændringer (såsom navngivning) kan forekomme.

JSON payload eksempel

{
  "systemIdentifier": "550e8400-e29b-41d4-a716-446655440000",
  "abonnementer": [
    {
      "orgType": 1,
      "orgCode": 101,
      "entityType": 202,
      "webhookUrl": "/webhook",
      "startDato": "2023-01-01T00:00:00",
      "slutDato": "2023-12-31T23:59:59"
    },
    {
      "orgType": 2,
      "orgCode": 102,
      "entityType": 203,
      "webhookUrl": "/webhook",
      "startDato": "2023-01-01T00:00:00",
      "slutDato": "2023-12-31T23:59:59"
    }
  ]
}

Output (Response)

Nedenstående JSON viser et eksempel på struktur. Mindre ændringer (såsom navngivning) kan forekomme.

  • 200: Hvis alle abonnementer er oprettet korrekt returneres OK.

  • 500: Hvis der sker en intern fejl på STARs side returneres HTTP STATUS CODE 500 med den sædvanlige fejlstruktur. Der bliver ikke foretaget nogen ændringer i abonnement opsætningen.

  • 400: Hvis der sker fejl som skyldes et problem i requestet returneres følgende struktur. Der bliver ikke foretaget nogen ændringer i abonnement opsætningen. Alle værdier er i eksemplet tilfældige.

{
  "errors": [
    {
      "orgtype": 123,
      "orgcode": 456,
      "entitytype": 789,
      "errorCode": 1001,
      "message": "Slutdato er før startdato"
    },
    {
      "orgtype": 321,
      "orgcode": 654,
      "entitytype": 987,
      "errorCode": 1002,
      "message": "Denne orgtype har ikke adgang til at abonnere på entity type 987. Tjek webservice metoder xyz for at se hvilke entiteter du må abonnere på"
    }
  ]
}
  • No labels