API Documentation

Webhooks

3min

Quantfolio's webhook functionality is designed to keep external systems updated by notifying them of various events that occur within the DeepAlpha Advisory Platform. We support a range of event types, such as advice creation, advice completion, and investor updates, among others. When one of these events occurs, a webhook is triggered, and a corresponding HTTP request is sent to the specified target URL.

The webhook events provide a way to track and respond to various actions within the system, such as the creation or deletion of advice sessions and investors. By handling these events in real-time, you can build custom integrations, notifications, or other automated workflows based on the events occurring within the system.

The webhook functionality supports the following event types related to advice and investor actions. These events are triggered when specific actions occur within the system and are sent to the registered webhook URL:

  1. qap.investor.advice.created: Triggered when a new advice session is created.
  2. qap.investor.advice.soft_deleted: Triggered when an advice session is soft-deleted.
  3. qap.investor.advice.deleted: Triggered when an advice session is permanently deleted.
  4. qap.investor.advice.completed: Triggered when an advice session is completed.
  5. qap.investor.advice.report.created: Triggered when an advice report is generated.
  6. qap.investor.created: Triggered when a new investor is created.
  7. qap.investor.updated: Triggered when an investor's information is updated.
  8. qap.investor.soft_deleted: Triggered when an investor is soft-deleted.
  9. qap.investor.deleted: Triggered when an investor is permanently deleted.

Each event contains the following properties:

  • Event ID: Unique ID for this specific event. If an event triggers multiple webhooks, this will be equal across webhooks.
  • Event Type: The type of the event (e.g., "qap.investor.advice.created").
  • Event Object ID: The unique identifier of the affected object (e.g., Advice Session ID or Investor ID).
  • Event Object Owner ID: The unique identifier of the owner of the affected object (e.g., Advice Investor ID or Owning Advisor ID).
  • Event Owner ID: The unique identifier of the event’s owner. This could be an Advisor ID or a Client ID.
  • Event Time: The timestamp of the event in UTC (e.g., "2023-03-15T12:46Z").
  • Event Data: A JSON object containing additional information about the event (e.g., {} or {"investor_type":"person","investor_name":"John Doe"}.

To ensure seamless integration with external systems, we provide a flexible configuration setup that allows you to define various aspects of the webhook request, such as HTTP method, static authentication, custom headers, and an optional signing key for added security.

The resulting webhook request is tailored to your preferences:

  • For a POST request, the event data is sent in the request body with a "Content-Type" header set to "application/json".
  • For a GET request, the event data is sent as query parameters, excluding the event data object.

The webhook payload includes essential information such as the event type, object IDs, owner IDs, and event time. If a signing key is provided, the "X-Quantfolio-Signature-256" header is added to ensure the authenticity and integrity of the webhook payload.

By leveraging Quantfolio's webhook functionality, businesses can stay informed about important events on the platform and react accordingly in real-time, improving efficiency and enhancing the overall experience for both advisors and investors.