Wat
Notificaties zijn berichten bedoeld ter ondersteuning van de business processen binnen het GIPOD-systeem. De bestemmeling van een notificatie is steeds een organisatie gekend binnen het GIPOD-systeem. Op basis van een notificatie wordt een organisatie verwittigd van een bepaalde gebeurtenis binnen het GIPOD-systeem zodat deze kan nagaan of er al dan niet een actie moet worden ondernomen.
Notificatie flow
GIPOD voorziet in een systeem van passieve notificaties. Dit is een pull systeem waarbij een organisatie relevante notificaties komt ophalen in het GIPOD-systeem.
Notificatie bericht
Een notificatie bevat volgende informatie:
Id: unieke identificator van de notificatie (Guid)
Category: Categorie van de notificatie. Mogelijke waarden: Informatie, Waarschuwing, Taak
NotificatieType: Type van de notificatie.
OrganisationId: De organisatie waarvoor de notificatie bestemd is.
Metadata: Sleutelwaarden met extra informatie voor deze notificatie. De mogelijke sleutelwaarden kunnen verschillen afhankelijk van de notificatie.
CreatedOn: Tijdstip waarop de notificatie werd aangemaakt.
ExpiresOn: tijdstip waarop de notificatie zal verwijderd worden uit het GIPOD-systeem.
Api
Volgende functionaliteiten worden voorzien:
Opvragen van de beschikbare notificatie types
Zoeken notificaties
Opvragen detail van een notificatie
Opvragen notificatie types
Opvragen van de beschikbare notificatie types.
GET api\v1\taxonomies\notificationtypes
GET api\v1\taxonomies\notificationtypes\{notificationtypeid}
Opvragen notificatie categorieën
Volgende categorieën worden voorzien
Information
Warning
Task
Endpoints:
GET api\v1\taxonomies\notification-categories
GET api\v1\taxonomies\notification-categories\{notificationcategoryid}
Opvragen notificatie statussen
Volgende statussen worden voorzien:
Afgehandeld
Gelezen
… (statussen te valideren nog verder te definiëren)
Endpoints:
De notificatie statussen worden toegevoegd in de statussen taxonomies API.
GET api\v1\taxonomies\statuses
GET api\v1\taxonomies\statuses\{notificationcategoryid}
Zoeken notificaties
Opvragen van een lijst van notificaties obv volgende criteria:
organisatie
type notificatie
category
creatie tijdstip
Endpoint:
GET api\v1\notifications?
Query string parameters:
organisationId
notificationTypeId
categoryId
createdOn
status
Example:
GET api\v1\notifications?notificationTypeId=eafe63a5-cbea-4a24-b16b-9932b9a2f324
{ "@context": "http://www.w3.org/ns/hydra/context.jsonld", "@id": "\api\v1\notifications", "@type": "Collection", "totalItems": "23", "member": [ { "@id": "api\v1\notifications\a26e477c-f10b-4d7f-bba9-60228e092b75", notificationType": { "id":"api\v1\taxonomies\notificationtypes\eafe63a5-cbea-4a24-b16b-9932b9a2f324", "prefLabel":"TrenchSynergyRequestReceived", } }, { "@id": "\api\v1\notifications\d454970a-35d5-41c9-a832-dc940c061e17", notificationType": { "id":"api\v1\taxonomies\notificationtypes\eafe63a5-cbea-4a24-b16b-9932b9a2f324", "prefLabel":"TrenchSynergyRequestReceived", } }, ... ] }
Opvragen detail van een notificatie
Endpoint:
GET api\v1\notifications\{notificationid}
Example:
GET api\v1\notifications\8bc826d8-645b-4926-b4dd-1cfbeea6d289
{ "@id":"api\v1\notifications\8bc826d8-645b-4926-b4dd-1cfbeea6d289", "value":"8bc826d8-645b-4926-b4dd-1cfbeea6d289", "notificationCategory": { "@id": "api\v1\taxonomies\notification-categories\e20f39f9-a2d8-4161-8a4a-fe1d3b9b17af", "prefLabel":"Information" }, "notificationType": { "id":"api\v1\taxonomies\notificationtypes\eafe63a5-cbea-4a24-b16b-9932b9a2f324", "prefLabel":"TrenchSynergyRequestReceived" }, "organisation": { "@id":"api\v1\organisations\17596932-6e85-4103-b037-824bbfcd74d0", "preferredName":"Agentschap Informatie Vlaanderen" }, "metadata": [{ "key":"TrenchSynergyRequest", "value":"api\v1\groundworks\2345\trench-synergy-requests\1" }], "createdOn":"2020-04-07T06:57:39Z", "expiresOn":"2020-05-07T06:57:39Z" }
GIPOD-systeem
Het GIPOD-systeem maakt notificaties aan en zal deze automatisch verwijderen na het verval tijdstip.
0 Comments