The Moxie webhook platform allows you to associate endpoints with various events that occur within your workspace. Events can be generated when objects are created, modified, deleted, or in scenarios where interaction might be required.
Webhook data is sent over HTTPS using standard JSON format.
All web hooks are sent using the HTTP POST verb
There are two custom HTTP headers added to to enrich the POST data
X-Event-Origin - currently set as withmoxie.com, but future values may be utilized to integrate with custom domain functionality
X-Event-Type - specifies the type of event which has triggered the webhook. See the webhook implementations for specifics on the values passed in this header.
Webhooks support 4 authentication modes to ensure that your endpoints can be appropriately secured.
None - no authentication will be passed in the HTTP headers. As tempting as it sounds, you probably shouldn't do this because nobody likes unsecured HTTP endpoints on the internet.
Basic - using a standard username and password
Bearer Token - using a standard Authorization header with a Bearer token provided
Custom - allows you to set a custom HTTP header name and value that will be passed along with the POST request
Once you have configured your endpoint security, you can begin adding event mappings. Event mappings allow you to choose an event type that occurs in your Moxie workspace and map it to the URL that the POST will be sent to.
In this scenario, every time a new Client is created in Moxie, a POST event will be sent to the endpoint specified with the pre-configured authentication scheme and custom HTTP headers.
If there are unrecoverable errors errors returned from your server (invalid authentication, unauthorized, path not found/404, etc), Moxie will automatically disable your endpoint and send a push notification advising that your endpoint requires attention. Once the issue is resolved on your server or in the Moxie configuration, you can re-enable the endpoint with the toggle.
Continued Reading: Event type and JSON Payload Definitions