Webhooks
Send a test event
Send a webhook.test event, signed as a real one is, to the key's webhook address, and see what your server answered.
/public/v1/webhooks/testSends one webhook.test event to the address set on the calling key, signed with the key's secret exactly as a real event is, and tells you how it went. Use it to check the address, the certificate and your signature check before an order or a reservation depends on them. The key needs either the Can send orders or the Can take reservations permission.
The call waits for your server's answer, up to 10 seconds. Nothing about any order or reservation changes, and a test event is not retried. The answer is 200 whether or not your server accepted the event: delivered says which.
The event's body, its headers and how to check the signature are in Webhooks.
Parameters
Accept-LanguagestringHeaderThe language of userMessage in an error: tr (the default), en, de, fr, it, es, ar or ru. The first language in the header decides, without its region (en-US reads as en) and without weighing q values; a language Cibusy does not offer is answered in Turkish. It does not choose the language of a menu: that is lang on the menu call.
Responses
The test event was sent. Look at delivered: it is false when your server answered with anything but a 2xx status or could not be reached, and error says why.
The X-Api-Key header is missing (PUBLIC_API_KEY_MISSING), or the key is invalid or has been revoked (PUBLIC_API_KEY_INVALID).
PUBLIC_API_SCOPE_MISSING: the key was made with neither the "Can send orders" nor the "Can take reservations" permission.
PUBLIC_API_WEBHOOK_NOT_CONFIGURED: no webhook address is set on this key. Add one on the panel's API keys page.
The key's budget of about 30 orders, reservations and tests a minute is spent; wait Retry-After seconds.
Retry-AfterSeconds to wait. The next one-minute window opens within it.
The data of a successful answer
What came of the test event POST /webhooks/test sent.
deliveredbooleanWhether your endpoint accepted the event: it answered with a 2xx status within the time allowed. When it is false, statusCode or error says why.
statusCodeintegernullableThe HTTP status your endpoint answered with. null when it did not answer at all: it was unreachable or too slow.
errorstringnullableWhy the delivery failed, in a short sentence for a developer. null when it was delivered. It never carries the signing secret, the signature or the address's query string.
durationMsintegerHow long the attempt took, in milliseconds.