Naar de hoofdinhoud

Maak een abonnement

Geschreven door Jetmir Abdija
Deze week bijgewerkt

Dit artikel is vertaald met behulp van AI en kan kleine onnauwkeurigheden bevatten. Raadpleeg de Engelse versie voor volledige nauwkeurigheid.

Abonnementen maken webhook-functionaliteit mogelijk die externe diensten via HTTP-verzoeken op de hoogte stelt van specifieke gebeurtenissen in BlueDolphin. Je kunt een abonnement instellen met een URL-eindpunt, de BlueDolphin-gebeurtenissen selecteren waarop je wilt luisteren, headers instellen voor authenticatie en het HTTP-werkwoord kiezen.

Wil je de BlueDolphin Public API verkennen en ermee werken? Bekijk dan de interactieve API-documentatie op: /swagger/index.html.

Dit artikel beschrijft hoe je een nieuwe webhook-abonnement aanmaakt in je repository.

HTTP response status code

Interpretatie

201 Created

Abonnement succesvol aangemaakt

400 Bad Request

Abonnement kon niet worden aangemaakt vanwege een bestaand abonnement, een bestaande of ongeldige tenant, of foutieve event data

401 Unauthorized

Abonnement kon niet worden opgehaald omdat de gebruiker niet geautoriseerd is met de juiste API-sleutel

409 Conflict

Abonnement kon niet worden aangemaakt omdat er al een bestaand abonnement is dat overeenkomt met de body

500 Internal Server Error

Het abonnement kon niet worden aangemaakt door een serverfout

Vereisten:

Doe een POST-verzoek naar /subscriptions.

Request

LET OP: Je moet een admin gebruikerssleutel gebruiken om een webhook in te stellen.

  • De header voor je API-verzoek

  • De {tenant} moet vervangen worden door de naam van de tenant

  • De request body, die het volgende bevat:

Parameter

Vereist

Type

Beschrijving

url

string

De externe url waarnaar berichten worden gestuurd voor het bluedolphin_event.

bluedolphin_event

string

Het event-onderwerp waarvoor een listener wordt aangemaakt met het abonnement.

  • ObjectCreated

  • ObjectArchived

  • ObjectUpdated

object_definition_id

string

Unieke identificatie van een objectdefinitie. Bijvoorbeeld, 000000000000000000000002

Een lege waarde is toegestaan. Dit geeft alle objectdefinities terug, bijvoorbeeld "" = alle objectdefinities

workspace_id

string

Workspace waar het event plaatsvindt. Bijvoorbeeld, 000000000000000000000001.

Lege waarde is toegestaan, dit geeft alle workspaces terug, bijvoorbeeld "" = alle workspaces

lifecycle_state

Optioneel

Enum

De Lifecycle waar dit abonnement op moet filteren.

Toegestane waarden zijn:

  • All

  • Huidig

  • Toekomstig

status

Optioneel

boolean

De status van het abonnement. Standaard worden abonnementen aangemaakt met status 0 (uitgeschakeld). Toegestane statussen zijn:

  • Uitgeschakeld = 0

  • Ingeschakeld = 1

headers

Optioneel

Dataverzameling<string, string>

Eventuele headers die nodig zijn voor autorisatie bij de opgegeven externe URL

http_verb

Optioneel

string

Het type verzoek dat moet worden gedaan naar de opgegeven externe URL.

Toegestane waarden zijn GET, POST en PATCH

Standaard wordt een POST-verzoek gedaan

url

string

De externe url waarnaar berichten worden gestuurd voor het bluedolphin_event.

Trigger Event

Hier zie je een voorbeeld van hoe de trigger eruitziet,

Event type: ObjectCreated

{
"url": "https://webhook.site/b2e2a01e-4cd1-4e27-8674-a46b9c1c6fee",
"bluedolphin_event": "ObjectCreated",
"object_definition_id":"532fff94b41281c17ce263b6",
"workspace_id":"6867ac199159e1f95fd8f99e",
"status": 1,
"lifecycle_state": "All"
}

Event type: ObjectUpdated

Het wijzigen van relaties (ook via relatie-type vraag) van een object activeert dit type events niet.

{
"last_updated_by": "648ffe46c72cc56913c1885a",
"bluedolphin_event": "ObjectCreated",
"url": "https://prod-196.westeurope.logic.azure.com:443/workflows/a6d2beadfbef4a3982478e5022c21334/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=0Jg9bIxBLbEhDrn8I-YWLcQMp9XzhXoPix5ze-eWhj4",
"object_definition_id": "ID",
"workspace_id": "ID",
"status": 0,
"lifecycle_state": "All"
}

Event type: ObjectArchived

{
"tenant": "gmichels",
"objectId": "682462a0fa37bcc1240052ae",
"object_definition_id":"532fff94b41281c17ce263b6",
"workspace_id":"6867ac199159e1f95fd8f99e",
"title": "Test",
"eventType": "ObjectArchived",
"lifecycle_state": "All"
}

Hier is een voorbeeld van een API-verzoek waarmee je een nieuwe webhook aanmaakt met de Event naam:

curl --location --globoff 'https://public-api.eu.bluedolphin.app/v1/subscriptions' \

--header 'x-api-key: YOURAPIKEYSECRET'

--header 'tenant: tenantName’ \

--header 'Content-Type: application/json' \

--data '{
"url": "een externe url",
"bluedolphin_event": "Event Name"
"HEADERS": {
"custom_header": "custom_value"
},
"status": 1,
"http_verb": "POST",
"lifecycle_state": "All"
}


Response

Een geslaagde call geeft een response terug met een 200 OK HTTP status code en de volgende body:

{
"id": "Unieke identificatie",
"last_updated_by": "Unieke identificatie",
"url": "Unieke opgegeven URL",
"bluedolphin_event": "Event Name",
"headers": {},
"status": 1,
"http_verb": "POST",
"lifecycle_state": "All"
}

Response eigenschappen

Eigenschap

Type

Beschrijving

id

string

Unieke identificatie voor het abonnement

last_updated_by

string

Unieke identificatie van de persoon die het abonnement als laatste heeft bijgewerkt/aangemaakt

url

string

De externe URL waarnaar berichten worden gestuurd

bluedolphin_event

string

De eventnaam waarvoor het abonnement is aangemaakt

lifecycle_state

Enum

De Lifecycle waar het abonnement op moet filteren. Waarden zijn:

  • All

  • Huidig

  • Toekomstig

headers

object

De headers die eventueel nodig zijn om een verzoek te doen naar een externe URL met autorisatietokens

http_verb

string

Het type verzoek dat moet worden gedaan naar de opgegeven URL

Was dit een antwoord op uw vraag?