Skip to content

Webhooks

Webhook configuration and event notifications.

Altegio sends HTTP POST notifications to your configured URLs when events occur in subscribed locations. Each notification contains a JSON payload with the event envelope (company_id, resource, resource_id, status) and resource-specific data (an empty array for schedule changes).

Delivery details:

  • Method: POST
  • Content-Type: application/json
  • Queue delay: 5 seconds after the event
  • Each attempt has a 10-second total timeout and a 5-second connection timeout
  • Requests carry the shared configured Authorization: Bearer token, not a secret unique to your webhook URL
  • Requests carry an X-Hook-Id header: a UUID that identifies the event notification and stays the same across its retries
  • Your endpoint must respond with a 2xx status code

Configuration: Use the Webhook Settings endpoint to subscribe to specific resource types.

Retry behavior:

  • Delivery is at-least-once: deduplicate notifications by X-Hook-Id
  • Failures before the request reaches your endpoint (connection refused, DNS or TLS failure, connection timeout), HTTP 429, and HTTP 5xx are retried up to twice: 5 seconds and then 30 seconds after the previous attempt
  • A retry carries the current state of the resource, so its data can differ from the first attempt
  • A timeout after the request was sent and other HTTP 4xx responses are not retried
  • Notifications for different events are not guaranteed to arrive in order
  • The final result is recorded internally; there is no partner-facing delivery log, test-send, or replay endpoint

Location events: Location settings changes use resource: company in the payload; existing salon events remain accepted by the delivery system. The canonical /locations API URL alias does not rename webhook payload resources.

Get event notification settings

Request

Read location-wide webhook settings. Requires webhook settings read access. url_settings contains the actual flags for each destination; the legacy top-level flags reflect only the first URL. This public API reports configuration, not delivery history.

Security
BearerPartnerUser
Path
location_idnumberrequired

location ID

Headers
Acceptstringrequired

e.g. application/vnd.api.v2+json

Example:application/vnd.api.v2+json
Content-Typestringrequired

application/json

Authorizationstringrequired

Bearer partner_token, User user_token

curl -i -X GET \
  'https://developer.alteg.io/_mock/en/developers/openapi/hooks_settings/{location_id}' \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_HERE>' \
  -H 'Content-Type: string'

Responses

OK

Bodyapplication/json
successboolean

Execution success status (true)

Example:true
dataobject

Object with data

Example:
{ "company_id": 123456, "urls": [ "https://dev.tools.test.com/test/Hooks" ], "url_settings": [ { … } ], "active": 0, "salon": 1, "service_category": 0, "service": 1, "good": 1, "master": 1, "client": 1, "record": 1, "schedule": 1, "loyalty_card": 0, "goods_operations_sale": 1, "goods_operations_receipt": 1, "goods_operations_consumable": 1, "goods_operations_stolen": 1, "goods_operations_move": 1, "finances_operation": 1, "self_sending": 0 }
metaArray of objects

Metadata (empty array)

Example:
[]
Response
{ "success": true, "data": { "company_id": 123456, "urls": [ … ], "url_settings": [ … ], "active": 0, "salon": 1, "service_category": 0, "service": 1, "good": 1, "master": 1, "client": 1, "record": 1, "schedule": 1, "loyalty_card": 0, "goods_operations_sale": 1, "goods_operations_receipt": 1, "goods_operations_consumable": 1, "goods_operations_stolen": 1, "goods_operations_move": 1, "finances_operation": 1, "self_sending": 0 }, "meta": [] }