Webhooky umožňují automatické zasílání notifikací při událostech v Reservanto (například vytvoření nebo zrušení rezervace, registrace zákazníka). Notifikace jsou zasílány jako HTTP POST požadavky na předem definovanou URL adresu.
Registrace webhooků probíhá prostřednictvím API. V sekcích objektů, které webhooky podporují, je možné vždy nalézt sadu Akcí, kterými se webhooky obsluhují.
Například pro objekt zákazníka se jedná o tyto akce:
Webhook se pokusí doručit data až 5× v následujících intervalech:
Za úspěšnou odpověď se považuje HTTP status 200, 201, 202, 204, 205.
Webhook posílá data ve formátu application/json.
| Typ události | Typ objektu | Popis |
|---|---|---|
| Event_Create | Event | Vytvoření rezervace |
| Event_Cancel | Event | Zrušení rezervace |
| Event_Edit_Time | Event | Změna času rezervace |
| Customer_Create | Customer | Vytvoření zákazníka |
| Customer_Edit | Customer | Změna údajů u zákazníka |
| Customer_Delete | Customer | Smazání zákazníka |
| FreeTime_Create | FreeTime | Vytvoření volna |
| FreeTime_Delete | FreeTime | Smazání volna |
| FreeTime_Edit_Time | FreeTime | Změna času volna |
Webhook payload obsahuje následující základní vlastnosti:
| Název | Popis |
|---|---|
| ObjectId | Identifikátor objektu, může být jednoduchý (např. číselný) nebo složený.Vždy se nachází ve stejné úrovní jako zbytek políček. |
| Details | Volitelný objekt s detailními informacemi – přítomen jen u některých typů událostí |
| EventType | Typ události dle výčtu (Event_Create, Customer_Edit, ...) |
| ObjectType | Typ objektu, kterého se událost týká (Event, Customer, ...) |
| Tag | Pomocné označení notifikace |
Event_Create
{
"Tag": "Reservanto",
"ObjectType": "Event",
"EventType": "Event_Create",
"Details": null,
"AppointmentId": 489473,
"CustomerId": 56228
}
Event_Cancel
{
"Tag": "Reservanto",
"ObjectType": "Event",
"EventType": "Event_Cancel",
"Details": {
"IsCancellationLate": false,
"PaidReturnType": "CreditAll"
},
"AppointmentId": 489473,
"CustomerId": 56228
}
Event_Edit_Time
{
"Tag": "Reservanto",
"ObjectType": "Event",
"EventType": "Event_Edit_Time",
"Details": {
"PaddingTimeEnd": 1771225200,
"StartsAt": 1771221600,
"EndsAt": 1771225200
},
"AppointmentId": 489473,
"CustomerId": 56228
}
Customer_Create
{
"Tag": "Reservanto",
"ObjectType": "Customer",
"EventType": "Customer_Create",
"Details": null,
"Id": 56228
}
Customer_Edit
{
"Tag": "Reservanto",
"ObjectType": "Customer",
"EventType": "Customer_Edit",
"Details": null,
"Id": 56228
}
Customer_Delete
{
"Tag": "Reservanto",
"ObjectType": "Customer",
"EventType": "Customer_Delete",
"Details": null,
"Id": 56228
}
FreeTime_Create
{
"Tag": "Reservanto",
"ObjectType": "FreeTime",
"EventType": "FreeTime_Create",
"Details": null,
"Id": 6185
}
FreeTime_Delete
{
"Tag": "Reservanto",
"ObjectType": "FreeTime",
"EventType": "FreeTime_Delete",
"Details": null,
"Id": 6185
}
FreeTime_Edit_Time
{
"Tag": "Reservanto",
"ObjectType": "FreeTime",
"EventType": "FreeTime_Edit_Time",
"Details": {
"StartsAt": 1771221600,
"EndsAt": 1771225200
},
"Id": 6185
}