Webhooks¶
Huidige versie: 0.1
Globaal overzicht¶
Webhooks kunnen worden aangemaakt om realtime op de hoogte te worden gesteld van evenementen die binnen recras gebeuren. Webhooks zijn alleen via de rest api te beheren.
- De payloads hebben een standaard wrapper structuur, waarin “data” de daadwerkelijke payload bevat. “version” bevat de huidige versie nummer, deze veranderd wanneer er changes zijn in de implementatie.
{ "version": "0.1", "data": { }, "meta": { } }
- Beschikbare custom webhooks (Names):
BookingDefinitive
InvoiceDefinitive
- Beschikbare standaard webhooks hebben de format “ObjectName::EventName”. Voor de interne objectnamen, neem voor nu contact op met support. Standaard events voor objecten zijn:
postInsert
postUpdate, bevat naast data ook een modified array
postSave, bevat naast data ook een modified array als het een update is
postDelete
- Lijst van standaard webhooks:
APIKey::postSave
APIKey::postDeleteAPIKey::postUpdate
APIKey::postInsert
Activiteit::postSave
Activiteit::postDelete
Activiteit::postUpdate
Activiteit::postInsert
ActiviteitLocatie::postSave
ActiviteitLocatie::postDelete
ActiviteitLocatie::postUpdate
ActiviteitLocatie::postInsert
ActiviteitMateriaal::postSave
ActiviteitMateriaal::postDelete
ActiviteitMateriaal::postUpdate
ActiviteitMateriaal::postInsert
ActiviteitStandaardbijlage::postSave
ActiviteitStandaardbijlage::postDelete
ActiviteitStandaardbijlage::postUpdate
ActiviteitStandaardbijlage::postInsert
Arrangement::postSave
Arrangement::postDelete
Arrangement::postUpdate
Arrangement::postInsert
ArrangementActiviteit::postSave
ArrangementActiviteit::postDelete
ArrangementActiviteit::postUpdate
ArrangementActiviteit::postInsert
Attachment::postSave
Attachment::postDelete
Attachment::postUpdate
Attachment::postInsert
Bedrijf::postSave
Bedrijf::postDelete
Bedrijf::postUpdate
Bedrijf::postInsert
BedrijfBoekingsmail::postSave
BedrijfBoekingsmail::postDelete
BedrijfBoekingsmail::postUpdate
BedrijfBoekingsmail::postInsert
BedrijfBoekingsvoorsteltype::postSave
BedrijfBoekingsvoorsteltype::postDelete
BedrijfBoekingsvoorsteltype::postUpdate
BedrijfBoekingsvoorsteltype::postInsert
BedrijfStatusherinnering::postSave
BedrijfStatusherinnering::postDelete
BedrijfStatusherinnering::postUpdate
BedrijfStatusherinnering::postInsert
Betaalmethode::postSave
Betaalmethode::postDelete
Betaalmethode::postUpdate
Betaalmethode::postInsert
Boeking::postSave
Boeking::postDelete
Boeking::postUpdate
Boeking::postInsert
BoekingFacturerenVanaf::postSave
BoekingFacturerenVanaf::postDelete
BoekingFacturerenVanaf::postUpdate
BoekingFacturerenVanaf::postInsert
Boekingsmail::postSave
Boekingsmail::postDelete
Boekingsmail::postUpdate
Boekingsmail::postInsert
BoekingsmailZending::postSave
BoekingsmailZending::postDelete
BoekingsmailZending::postUpdate
BoekingsmailZending::postInsert
Boekingsregel::postSave
Boekingsregel::postDelete
Boekingsregel::postUpdate
Boekingsregel::postInsert
Boekingsvoorstel::postSave
Boekingsvoorstel::postDelete
Boekingsvoorstel::postUpdate
Boekingsvoorstel::postInsert
BoekingsvoorstelType::postSave
BoekingsvoorstelType::postDelete
BoekingsvoorstelType::postUpdate
BoekingsvoorstelType::postInsert
BookProcess::postSave
BookProcess::postDelete
BookProcess::postUpdate
BookProcess::postInsert
BookProcessWidget::postSave
BookProcessWidget::postDelete
BookProcessWidget::postUpdate
BookProcessWidget::postInsert
BookProcessWidgetPackageChoice::postSave
BookProcessWidgetPackageChoice::postDelete
BookProcessWidgetPackageChoice::postUpdate
BookProcessWidgetPackageChoice::postInsert
BookProcessWidgetProductChoice::postSave
BookProcessWidgetProductChoice::postDelete
BookProcessWidgetProductChoice::postUpdate
BookProcessWidgetProductChoice::postInsert
Contact::postSave
Contact::postDelete
Contact::postUpdate
Contact::postInsert
Contactformulier::postSave
Contactformulier::postDelete
Contactformulier::postUpdate
Contactformulier::postInsert
ContactformulierArrangement::postSave
ContactformulierArrangement::postDelete
ContactformulierArrangement::postUpdate
ContactformulierArrangement::postInsert
ContactformulierVeld::postSave
ContactformulierVeld::postDelete
ContactformulierVeld::postUpdate
ContactformulierVeld::postInsert
Contactmoment::postSave
Contactmoment::postDelete
Contactmoment::postUpdate
Contactmoment::postInsert
Contactmomentattachment::postSave
Contactmomentattachment::postDelete
Contactmomentattachment::postUpdate
Contactmomentattachment::postInsert
Contactpersoon::postSave
Contactpersoon::postDelete
Contactpersoon::postUpdate
Contactpersoon::postInsert
ContactpersoonNieuwsbrief::postSave
ContactpersoonNieuwsbrief::postDelete
ContactpersoonNieuwsbrief::postUpdate
ContactpersoonNieuwsbrief::postInsert
Dienst::postSave
Dienst::postDelete
Dienst::postUpdate
Dienst::postInsert
DienstPersoneelStatus::postSave
DienstPersoneelStatus::postDelete
DienstPersoneelStatus::postUpdate
DienstPersoneelStatus::postInsert
Factuur::postSave
Factuur::postDelete
Factuur::postUpdate
Factuur::postInsert
FactuurBetaling::postSave
FactuurBetaling::postDelete
FactuurBetaling::postUpdate
FactuurBetaling::postInsert
FactuurRegel::postSave
FactuurRegel::postDelete
FactuurRegel::postUpdate
FactuurRegel::postInsert
FactuurRegelGroep::postSave
FactuurRegelGroep::postDelete
FactuurRegelGroep::postUpdate
FactuurRegelGroep::postInsert
FactuurRegelItem::postSave
FactuurRegelItem::postDelete
FactuurRegelItem::postUpdate
FactuurRegelItem::postInsert
IncomingMail::postSave
IncomingMail::postDelete
IncomingMail::postUpdate
IncomingMail::postInsert
IncomingMailAddress::postSave
IncomingMailAddress::postDelete
IncomingMailAddress::postUpdate
IncomingMailAddress::postInsert
Integration::postSave
Integration::postDelete
Integration::postUpdate
Integration::postInsert
Kassa::postSave
Kassa::postDelete
Kassa::postUpdate
Kassa::postInsert
KassaLocatie::postSave
KassaLocatie::postDelete
KassaLocatie::postUpdate
KassaLocatie::postInsert
Kassaknop::postSave
Kassaknop::postDelete
Kassaknop::postUpdate
Kassaknop::postInsert
Kassalogboek::postSave
Kassalogboek::postDelete
Kassalogboek::postUpdate
Kassalogboek::postInsert
Kassapagina::postSave
Kassapagina::postDelete
Kassapagina::postUpdate
Kassapagina::postInsert
Klant::postSave
Klant::postDelete
Klant::postUpdate
Klant::postInsert
KlantContactpersoon::postSave
KlantContactpersoon::postDelete
KlantContactpersoon::postUpdate
KlantContactpersoon::postInsert
Kortingscode::postSave
Kortingscode::postDelete
Kortingscode::postUpdate
Kortingscode::postInsert
KortingscodeArrangement::postSave
KortingscodeArrangement::postDelete
KortingscodeArrangement::postUpdate
KortingscodeArrangement::postInsert
KortingscodeBookProcess::postSave
KortingscodeBookProcess::postDelete
KortingscodeBookProcess::postUpdate
KortingscodeBookProcess::postInsert
KortingscodeProduct::postSave
KortingscodeProduct::postDelete
KortingscodeProduct::postUpdate
KortingscodeProduct::postInsert
Kwalificatie::postSave
Kwalificatie::postDelete
Kwalificatie::postUpdate
Kwalificatie::postInsert
LeverancierContact::postSave
LeverancierContact::postDelete
LeverancierContact::postUpdate
LeverancierContact::postInsert
Locatie::postSave
Locatie::postDelete
Locatie::postUpdate
Locatie::postInsert
LocatieKwalificatie::postSave
LocatieKwalificatie::postDelete
LocatieKwalificatie::postUpdate
LocatieKwalificatie::postInsert
Materiaal::postSave
Materiaal::postDelete
Materiaal::postUpdate
Materiaal::postInsert
Nieuwsbrief::postSave
Nieuwsbrief::postDelete
Nieuwsbrief::postUpdate
Nieuwsbrief::postInsert
OverigContact::postSave
OverigContact::postDelete
OverigContact::postUpdate
OverigContact::postInsert
PdfBackground::postSave
PdfBackground::postDelete
PdfBackground::postUpdate
PdfBackground::postInsert
PdfTemplate::postSave
PdfTemplate::postDelete
PdfTemplate::postUpdate
PdfTemplate::postInsert
PersoneelBeschikbaarheid::postSave
PersoneelBeschikbaarheid::postDelete
PersoneelBeschikbaarheid::postUpdate
PersoneelBeschikbaarheid::postInsert
PersoneelContact::postSave
PersoneelContact::postDelete
PersoneelContact::postUpdate
PersoneelContact::postInsert
PersoneelKosten::postSave
PersoneelKosten::postDelete
PersoneelKosten::postUpdate
PersoneelKosten::postInsert
PersoneelKwalificatie::postSave
PersoneelKwalificatie::postDelete
PersoneelKwalificatie::postUpdate
PersoneelKwalificatie::postInsert
PersoneelKwalificatieAttachment::postSave
PersoneelKwalificatieAttachment::postDelete
PersoneelKwalificatieAttachment::postUpdate
PersoneelKwalificatieAttachment::postInsert
PersoneelProfile::postSave
PersoneelProfile::postDelete
PersoneelProfile::postUpdate
PersoneelProfile::postInsert
PersoneelProfileBedrijf::postSave
PersoneelProfileBedrijf::postDelete
PersoneelProfileBedrijf::postUpdate
PersoneelProfileBedrijf::postInsert
ProductGroep::postSave
ProductGroep::postDelete
ProductGroep::postUpdate
ProductGroep::postInsert
ProductKwalificatie::postSave
ProductKwalificatie::postDelete
ProductKwalificatie::postUpdate
ProductKwalificatie::postInsert
ProductLabelChoice::postSave
ProductLabelChoice::postDelete
ProductLabelChoice::postUpdate
ProductLabelChoice::postInsert
ProductLabels::postSave
ProductLabels::postDelete
ProductLabels::postUpdate
ProductLabels::postInsert
ProductPrice::postSave
ProductPrice::postDelete
ProductPrice::postUpdate
ProductPrice::postInsert
ProductVereist::postSave
ProductVereist::postDelete
ProductVereist::postUpdate
ProductVereist::postInsert
QueuedMail::postSave
QueuedMail::postDelete
QueuedMail::postUpdate
QueuedMail::postInsert
Session::postSave
Session::postDelete
Session::postUpdate
Session::postInsert
Standaardbijlage::postSave
Standaardbijlage::postDelete
Standaardbijlage::postUpdate
Standaardbijlage::postInsert
Startmoment::postSave
Startmoment::postDelete
Startmoment::postUpdate
Startmoment::postInsert
Startmomentgroep::postSave
Startmomentgroep::postDelete
Startmomentgroep::postUpdate
Startmomentgroep::postInsert
Statusherinnering::postSave
Statusherinnering::postDelete
Statusherinnering::postUpdate
Statusherinnering::postInsert
Taak::postSave
Taak::postDelete
Taak::postUpdate
Taak::postInsert
Urenregistratie::postSave
Urenregistratie::postDelete
Urenregistratie::postUpdate
Urenregistratie::postInsert
Voucher::postSave
Voucher::postDelete
Voucher::postUpdate
Voucher::postInsert
VoucherKostenRegel::postSave
VoucherKostenRegel::postDelete
VoucherKostenRegel::postUpdate
VoucherKostenRegel::postInsert
VoucherProduct::postSave
VoucherProduct::postDelete
VoucherProduct::postUpdate
VoucherProduct::postInsert
VoucherTemplate::postSave
VoucherTemplate::postDelete
VoucherTemplate::postUpdate
VoucherTemplate::postInsert
VoucherTemplateProduct::postSave
VoucherTemplateProduct::postDelete
VoucherTemplateProduct::postUpdate
VoucherTemplateProduct::postInsert
Webhook::postSave
Webhook::postDelete
Webhook::postUpdate
Webhook::postInsert
csSetting::postSave
csSetting::postDelete
csSetting::postUpdate
csSetting::postInsert
sfDoctrineRecord::postSave
sfDoctrineRecord::postDelete
sfDoctrineRecord::postUpdate
sfDoctrineRecord::postInsert
sfGuardForgotPassword::postSave
sfGuardForgotPassword::postDelete
sfGuardForgotPassword::postUpdate
sfGuardForgotPassword::postInsert
sfGuardGroup::postSave
sfGuardGroup::postDelete
sfGuardGroup::postUpdate
sfGuardGroup::postInsert
sfGuardGroupPermission::postSave
sfGuardGroupPermission::postDelete
sfGuardGroupPermission::postUpdate
sfGuardGroupPermission::postInsert
sfGuardPermission::postSave
sfGuardPermission::postDelete
sfGuardPermission::postUpdate
sfGuardPermission::postInsert
sfGuardRememberKey::postSave
sfGuardRememberKey::postDelete
sfGuardRememberKey::postUpdate
sfGuardRememberKey::postInsert
sfGuardUser::postSave
sfGuardUser::postDelete
sfGuardUser::postUpdate
sfGuardUser::postInsert
sfGuardUserGroup::postSave
sfGuardUserGroup::postDelete
sfGuardUserGroup::postUpdate
sfGuardUserGroup::postInsert
sfGuardUserPermission::postSave
sfGuardUserPermission::postDelete
sfGuardUserPermission::postUpdate
sfGuardUserPermission::postInsert
Webhooks¶
- GET /api2/webhooks¶
Via dit endpoint kunnen de geregistreerde “webhooks” opgevraagd worden.
Voorbeeld request:
GET /api2/webhooks HTTP/1.1 Host: demo.recras.nl Accept: application/json
Voorbeeld response:
HTTP/1.1 200 OK Content-Type: application/json [ { "id": 1, "created_by": null, "updated_by": null, "created_at": "-001-11-30T00:00:00+00:19", "updated_at": "-001-11-30T00:00:00+00:19", "name": "test", "url": "https://test.nl/webhook", "active": true } ]
- Status Codes:
200 OK – no error
Webhook Registreren¶
- POST /api2/webhooks¶
Met deze endpoint is het mogelijk een webhook aan te maken.
Voorbeeld request:
POST /api2/webhooks HTTP/1.1 Host: demo.recras.nl Content-Type: application/json { "url": "https://test.nl/webhook", "name": "", "active": true }
- JSON Parameters:
url (URL) – Verplicht URL van de webhook die wordt aangeroepen.
name (string) – Verplicht Naam van de webhook om in te hooken.
active (bool) – Of de webhook wel of niet actief is.
Voorbeeld response:
HTTP/1.1 201 OK Content-Type: application/json { "id": 1, "created_by": null, "updated_by": null, "created_at": "-001-11-30T00:00:00+00:19", "updated_at": "-001-11-30T00:00:00+00:19", "name": "test", "url": "https://test.nl/webhook", "active": true }
Webhook Deregistreren¶
- DELETE /api2/webhooks/<id>¶
Met deze endpoint is het mogelijk een webhook te verwijderen
Voorbeeld request:
DELETE /api2/webhooks HTTP/1.1 Host: demo.recras.nl
Voorbeeld response:
HTTP/1.1 200 OK
Webhook Update¶
- PUT /api2/webhooks/<id>¶
Met deze endpoint is het mogelijk een webhook aan te passen.
Voorbeeld request:
PUT /api2/webhooks/<id> HTTP/1.1 Host: demo.recras.nl Content-Type: application/json { "url": "https://test.nl/webhook", "name": "", "active": true }
- JSON Parameters:
url (URL) – URL van de webhook die wordt aangeroepen.
name (string) – Naam van de webhook om in te hooken.
active (bool) – Of de webhook wel of niet actief is.
Voorbeeld response:
HTTP/1.1 200 OK Content-Type: application/json { "id": 1, "created_by": null, "updated_by": null, "created_at": "-001-11-30T00:00:00+00:19", "updated_at": "-001-11-30T00:00:00+00:19", "name": "test", "url": "https://test.nl/webhook", "active": true }