Current section
Files
Jump to
Current section
Files
lib/hook_sniff_api/api/webhooks.ex
# NOTE: This file is auto generated by OpenAPI Generator 7.22.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule HookSniffAPI.Api.Webhooks do
@moduledoc """
API calls for all endpoints tagged `Webhooks`.
"""
alias HookSniffAPI.Connection
import HookSniffAPI.RequestBuilder
@doc """
Send multiple webhooks in batch
### Parameters
- `connection` (HookSniffAPI.Connection): Connection to server
- `batch_webhook_request` (BatchWebhookRequest):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, HookSniffAPI.Model.BatchResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec webhooks_batch_post(Tesla.Env.client, HookSniffAPI.Model.BatchWebhookRequest.t, keyword()) :: {:ok, HookSniffAPI.Model.BatchResponse.t} | {:error, Tesla.Env.t}
def webhooks_batch_post(connection, batch_webhook_request, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/webhooks/batch")
|> add_param(:body, :body, batch_webhook_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, HookSniffAPI.Model.BatchResponse}
])
end
@doc """
Replay multiple deliveries by ID
### Parameters
- `connection` (HookSniffAPI.Connection): Connection to server
- `batch_replay_request` (BatchReplayRequest):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec webhooks_batch_replay_post(Tesla.Env.client, HookSniffAPI.Model.BatchReplayRequest.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t}
def webhooks_batch_replay_post(connection, batch_replay_request, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/webhooks/batch/replay")
|> add_param(:body, :body, batch_replay_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, false}
])
end
@doc """
Export deliveries as CSV
### Parameters
- `connection` (HookSniffAPI.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:range` (String.t):
### Returns
- `{:ok, String.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec webhooks_export_get(Tesla.Env.client, keyword()) :: {:ok, String.t} | {:error, Tesla.Env.t}
def webhooks_export_get(connection, opts \\ []) do
optional_params = %{
:range => :query
}
request =
%{}
|> method(:get)
|> url("/webhooks/export")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, false}
])
end
@doc """
List webhook deliveries
### Parameters
- `connection` (HookSniffAPI.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:page` (integer()):
- `:per_page` (integer()):
- `:status` (String.t):
- `:endpoint_id` (String.t):
### Returns
- `{:ok, HookSniffAPI.Model.DeliveryListResponse.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec webhooks_get(Tesla.Env.client, keyword()) :: {:ok, HookSniffAPI.Model.DeliveryListResponse.t} | {:error, Tesla.Env.t}
def webhooks_get(connection, opts \\ []) do
optional_params = %{
:page => :query,
:per_page => :query,
:status => :query,
:endpoint_id => :query
}
request =
%{}
|> method(:get)
|> url("/webhooks")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, HookSniffAPI.Model.DeliveryListResponse}
])
end
@doc """
Get delivery attempts
### Parameters
- `connection` (HookSniffAPI.Connection): Connection to server
- `id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, [%DeliveryAttempt{}, ...]}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec webhooks_id_attempts_get(Tesla.Env.client, String.t, keyword()) :: {:ok, [HookSniffAPI.Model.DeliveryAttempt.t]} | {:error, Tesla.Env.t}
def webhooks_id_attempts_get(connection, id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/webhooks/#{id}/attempts")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, HookSniffAPI.Model.DeliveryAttempt}
])
end
@doc """
Get delivery by ID
### Parameters
- `connection` (HookSniffAPI.Connection): Connection to server
- `id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, HookSniffAPI.Model.Delivery.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec webhooks_id_get(Tesla.Env.client, String.t, keyword()) :: {:ok, HookSniffAPI.Model.Delivery.t} | {:error, Tesla.Env.t}
def webhooks_id_get(connection, id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/webhooks/#{id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, HookSniffAPI.Model.Delivery}
])
end
@doc """
Replay a single delivery
### Parameters
- `connection` (HookSniffAPI.Connection): Connection to server
- `id` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, HookSniffAPI.Model.Delivery.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec webhooks_id_replay_post(Tesla.Env.client, String.t, keyword()) :: {:ok, HookSniffAPI.Model.Delivery.t} | {:error, Tesla.Env.t}
def webhooks_id_replay_post(connection, id, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/webhooks/#{id}/replay")
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, HookSniffAPI.Model.Delivery}
])
end
@doc """
Send a webhook
### Parameters
- `connection` (HookSniffAPI.Connection): Connection to server
- `create_webhook_request` (CreateWebhookRequest):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, HookSniffAPI.Model.Delivery.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec webhooks_post(Tesla.Env.client, HookSniffAPI.Model.CreateWebhookRequest.t, keyword()) :: {:ok, HookSniffAPI.Model.Delivery.t} | {:error, Tesla.Env.t}
def webhooks_post(connection, create_webhook_request, _opts \\ []) do
request =
%{}
|> method(:post)
|> url("/webhooks")
|> add_param(:body, :body, create_webhook_request)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, HookSniffAPI.Model.Delivery}
])
end
end