BrandKwikID Documentation
Video Flow

Webhook Configuration

Configure webhooks for Video journey events and notifications


Overview

Webhooks allow you to receive real-time notifications when specific events occur in your Video journey. This feature enables seamless integration with your existing systems by sending HTTP POST requests to your specified endpoint.

Accessing Webhook Configuration

Navigate to the Subscription page and locate the Journey Configurator section. Click on the WEBHOOK button to access the webhook configuration:

WEBHOOK_BUTTON

Webhook Configuration Modal

The webhook configuration modal provides a comprehensive interface for setting up webhook notifications:

WEBHOOK_MODAL

Configuration Options

1. Filter by Events

Select which events should trigger webhook notifications:

  • Maker Approved: Triggered when a maker approves a journey
  • Maker Rejected: Triggered when a maker rejects a journey
  • Checker Approved: Triggered when a checker approves a journey
  • Checker Rejected: Triggered when a checker rejects a journey

You can select multiple events by clicking the dropdown and choosing the desired events. Selected events appear as blue pill-shaped tags that can be removed individually or cleared all at once.

2. Webhook URL

Enter the endpoint URL where webhook notifications will be sent. This field is required and must be a valid HTTP/HTTPS URL.

Example: https://your-domain.com/webhook-endpoint

3. Request Method

Currently, only POST method is supported for webhook requests. This field is automatically set and cannot be modified.

4. Headers

Add custom HTTP headers to be included with each webhook request:

  • Click the "+ Add Header" button to add a new header
  • Enter the header key and value
  • Use the red "X" button to remove unwanted headers

Common Headers:

  • Authorization: For authentication
  • Content-Type: Usually set to application/json
  • User-Agent: Custom user agent string

5. Sample Payload

The configuration shows a sample JSON payload that will be sent to your webhook endpoint:

{
  "event": "journey_approved",
  "data": {
    "ucon_id": "ucon_1234CC"
  }
}

Note: The actual payload may vary based on the specific event type and journey configuration.

Detailed Configuration View

For more advanced configuration options, you can access the detailed webhook setup:

WEBHOOK_DETAILED

Testing and Saving

Test Webhook

Before saving, you can test your webhook configuration:

  1. Click the "Test Webhook" button
  2. The system will send a test payload to your configured endpoint
  3. Verify that your endpoint receives the test notification

Save Configuration

Once you're satisfied with the configuration:

  1. Click the "✓ Save Webhook" button
  2. Your webhook will be activated and will start receiving notifications for the selected events

Event Types and Payloads

Journey Approved Event

{
  "event": "journey_approved",
  "data": {
    "user_id": "usr_123456",
    "session_id": "wew4w34i42r29839udffsfs9fg7454dj",
    "ucon_id": "ucon_1234CC"
  }
}

Journey Rejected Event

{
  "event": "journey_rejected",
  "data": {
    "user_id": "usr_123456",
    "session_id": "wew4w34i42r29839udffsfs9fg7454dj",
    "ucon_id": "ucon_1234CC",
    "reason": "Document verification failed"
  }
}

Best Practices

  1. Security: Always use HTTPS endpoints and implement proper authentication
  2. Idempotency: Design your webhook handler to handle duplicate events gracefully
  3. Timeout: Ensure your endpoint responds within 30 seconds
  4. Retry Logic: Implement retry mechanisms for failed webhook deliveries
  5. Logging: Maintain logs of all webhook events for debugging and auditing

Troubleshooting

Common Issues

  1. Webhook not receiving events: Check your endpoint URL and ensure it's publicly accessible
  2. Authentication failures: Verify your header configuration and authentication setup
  3. Timeout errors: Optimize your endpoint response time
  4. Payload parsing errors: Ensure your endpoint can handle JSON payloads

Support

For additional help or troubleshooting, contact our support team or refer to the API documentation.