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.
|
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:
|
status | Optioneel | boolean | De status van het abonnement. Standaard worden abonnementen aangemaakt met status 0 (uitgeschakeld). Toegestane statussen zijn:
|
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:
|
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 |
