QlikElixir.REST.Webhooks (qlik_elixir v0.3.5)

View Source

REST API client for Qlik Cloud Webhooks.

Provides functions to manage webhooks for event notifications.

Examples

# List all webhooks
{:ok, %{"data" => webhooks}} = Webhooks.list(config: config)

# Create a webhook
params = %{
  name: "Reload Notifications",
  url: "https://example.com/webhook",
  eventTypes: ["com.qlik.v1.reload.finished"]
}
{:ok, webhook} = Webhooks.create(params, config: config)

# List available event types
{:ok, %{"data" => types}} = Webhooks.list_event_types(config: config)

# List deliveries
{:ok, %{"data" => deliveries}} = Webhooks.list_deliveries("hook-123", config: config)

Summary

Functions

Creates a new webhook.

Deletes a webhook.

Gets a webhook by ID.

Gets details of a specific delivery.

Lists all webhooks.

Lists deliveries for a webhook.

Lists available webhook event types.

Functions

create(params, opts \\ [])

@spec create(
  map(),
  keyword()
) :: {:ok, map()} | {:error, QlikElixir.Error.t()}

Creates a new webhook.

Parameters

  • params - Map with webhook details:
    • :name - Required. Webhook name.
    • :url - Required. Target URL for webhook deliveries.
    • :eventTypes - Required. List of event type strings.
    • :enabled - Optional. Whether webhook is enabled (default: true).
    • :secret - Optional. Shared secret for signature verification.

delete(webhook_id, opts \\ [])

@spec delete(
  String.t(),
  keyword()
) :: :ok | {:error, QlikElixir.Error.t()}

Deletes a webhook.

get(webhook_id, opts \\ [])

@spec get(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, QlikElixir.Error.t()}

Gets a webhook by ID.

get_delivery(webhook_id, delivery_id, opts \\ [])

@spec get_delivery(String.t(), String.t(), keyword()) ::
  {:ok, map()} | {:error, QlikElixir.Error.t()}

Gets details of a specific delivery.

Parameters

  • webhook_id - The webhook ID.
  • delivery_id - The delivery ID.

list(opts \\ [])

@spec list(keyword()) :: {:ok, map()} | {:error, QlikElixir.Error.t()}

Lists all webhooks.

Options

  • :config - Required. The configuration struct.
  • :limit - Maximum number of results per page.
  • :next - Cursor for pagination.
  • :name - Filter by name (partial match).
  • :enabled - Filter by enabled status.

list_deliveries(webhook_id, opts \\ [])

@spec list_deliveries(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, QlikElixir.Error.t()}

Lists deliveries for a webhook.

Options

  • :limit - Maximum number of results per page.
  • :next - Cursor for pagination.
  • :status - Filter by delivery status ("success", "failed", "pending").

list_event_types(opts \\ [])

@spec list_event_types(keyword()) :: {:ok, map()} | {:error, QlikElixir.Error.t()}

Lists available webhook event types.

resend_delivery(webhook_id, delivery_id, opts \\ [])

@spec resend_delivery(String.t(), String.t(), keyword()) ::
  {:ok, map()} | {:error, QlikElixir.Error.t()}

Resends a failed delivery.

Parameters

  • webhook_id - The webhook ID.
  • delivery_id - The delivery ID to resend.

update(webhook_id, params, opts \\ [])

@spec update(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, QlikElixir.Error.t()}

Updates a webhook.

Parameters

  • webhook_id - The webhook ID.
  • params - Map with fields to update.