Hvordan sette opp et abonnement
Hvordan-guide for å sette opp et abonnement for hendelser fra en spesifikk ressurs
Endepunkt
POST /subscriptions
Autentisering
Dette API-et krever autentisering.
Når du abonnerer på generiske hendelser kreves Maskinporten-scope altinn:events.subscribe.
Hvis du abonnerer på hendelser som tjenesteeier kreves også Maskinporten-scope altinn:serviceowner.
Se Autentisering og autorisasjon for mer informasjon.
Forespørsel
Content-Type
application/json
Forespørselstekst
Påkrevde egenskaper for abonnementsforespørsel
endPoint
- webhook-URL for å motta HTTP POST-forespørsel fra Altinn Events
Endepunktet bør svare med 200 OK når en hendelse mottas. I tillegg bør det returnere 200 OK når det mottar vår tilpassede valideringshendelse:
{
"id": "694caa35-8b25-4cd7-b800-f6eeb93c56ed",
"source": "https://platform.altinn.no/events/api/v1/subscriptions/1234",
"type": "platform.events.validatesubscription",
"specversion": "1.0"
}
Eksempel på valideringshendelse
resourceFilter*
- filter for hendelsesressursen
Må være et eksakt treff med ressursen satt på de genererte hendelsene
sourceFilter**
- filter for cloud event-kilden
Når du abonnerer på en app-hendelse er formatet for kildefilter https://digdir.apps.altinn.no/digdir/demoapp
* påkrevd for abonnementer på generiske hendelser, valgfritt for app-hendelsesabonnementer ** kun påkrevd for app-abonnementer i tilfeller hvor intet ressursfilter er oppgitt
Valgfrie egenskaper for abonnementsforespørsel
subjectFilter
- filter for cloud event-subjektet
alternativeSubjectFilter
- filter for cloud event-alternativsubjektet
typeFilter
- filter for cloud event-typen
Utelat denne egenskapen hvis du vil abonnere på alle hendelsestyper for den gitte kilden og/eller ressursen
Respons
En vellykket abonnementsregistrering bør resultere i en 201 created-respons med abonnementet serialisert som en JSON-streng i responsteksten.
201-responskoden indikerer ikke om abonnementet har blitt validert eller ikke. Altinn vil kun begynne å pushe hendelser til et abonnementsendepunkt når abonnementsendepunktet har blitt validert. Du kan hente abonnementet ditt ved å bruke abonnements-ID-en for å sikre at abonnementet ditt har blitt validert ok.
Content-Type
- application/json
Responskoder
201 Created: Abonnementet har blitt registrert med suksess.
401 Unauthorized: Indikerer en manglende, ugyldig eller utløpt autorisasjonsheader eller at forbrukeren ikke har tillatelse til å abonnere på hendelser fra denne ressursen basert på filterparametere
403 Forbidden: Indikerer at nødvendig scope for å abonnere på hendelser mangler
Eksempler
Forespørsel
Merk at et Altinn Token bør inkluderes i autorisasjonsheaderen.
curl \
--location 'https://platform.altinn.no/events/api/v1/subscriptions' \
--header 'Accept: application/xml' \
--header 'Authorization: Bearer {insert Altinn token}' \
--header 'Content-Type: application/json' \
--data '{
"sourceFilter": "https://digdir.apps.altinn.no/digdir/demoapp",
"endpoint":"https://webhook.site/"
}'
Respons
201 Created
{
"id": 1619,
"endPoint": "https://webhook.site/43cec4b7-b20b-4cbd-9b47-592750bf06d1",
"sourceFilter": "https://digdir.apps.at22.altinn.cloud/digdir/demoapp",
"consumer": "/org/digdir",
"createdBy": "/org/digdir",
"created": "2023-04-05T13:57:11.234994Z",
"validated": false
}
400 Bad Request
{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "00-3755bd55cf6d4e1ebdf7ed49b6f3d3be-154ebd2ad01de860-00",
"errors": {
"$": [
"The JSON object contains a trailing comma at the end which is not supported in this mode. Change the reader options. Path: $ | LineNumber: 2 | BytePositionInLine: 2."
]
}
}
401 Unauthorized
"Not authorized to create a subscription with subject /organisation/989271156"