The Webhooks allow you to subscribe to events occurring in a Delivery Solutions account with the installed integrations. Delivery Solutions can send a HTTP request to an endpoint that is configured rather than making an API call when an event happens in a connected account.
Delivery Solutions offers two types of webhooks. Order Webhooks & Communication Webhooks
Order Webhooks
- These are triggered for different statuses of Order Lifecycle.
- You can choose to listen to either all or a subset of these statuses via webhook.
- These webhooks are useful to keep upstream systems updated for different Order statuses like Order delivered etc.
- Webhooks get triggered on triggers such as Order Status, Provider, Record Type, etc
Communication Webhooks
- These webhooks are linked to Notification & Alerts modules.
- In case any upstream system wants to listen to Notifications & Alerts going out from the Delivery Solutions.
- This will allow you not to use SMS & Email Providers from Delivery Solutions and use your own.
A webhook URL can be configured under the Business > Webhooks section from the Delivery Solutions' Portal. Optionally, you can use the Notification object in the Create Order request to configure an additional webhook URL.
Webhooks should be authenticated for security reasons. Delivery Solutions supports multiple authentication types as explained in the section below.
Webhook Authentication
Authentication types can be configured under Business > Webhooks > Targets > Authentication.
Supported Authentication Types
Type | Description |
---|---|
None | No additional security headers are present |
Webhook Secret | A Webhook Secret key can be configured in our portal under the Business > Webhooks. The Webhook Secret key will be used to generate a hash for the webhook payload. The hash will be sent in the request header with the key X-DS-Signature. If no Webhook Secret is configured, the X-DS-Signature will be empty. |
OAuth 2.0 | If OAuth 2.0 is selected, DS sends Authorization header with Bearer token. The token url can be configured under Business > Webhooks > Targets > Authentication. Grant Type can be provided as a query parameter in the token URL. Delivery Solutions supports multiple providers for OAuth. Custom OAuth 2.0 providers which use Client Credentials grant type are also supported. The token URL API must include the grant type. The token URL should provide a JSON response containing access_token, refresh_token, and expires_in. |