Packages

mailslurp

11.8.13
15.17.22 15.17.21 15.17.17 15.17.16 15.17.15 15.17.14 15.17.13 15.17.12 15.17.11 15.17.10 15.17.9 15.17.8 15.17.7 15.17.6 15.17.5 15.17.4 15.17.3 15.17.2 15.17.1 15.17.0 15.16.22 15.16.21 15.16.20 15.16.19 15.16.18 15.16.17 15.16.16 15.16.15 15.16.14 15.16.13 15.16.12 15.16.11 15.16.10 15.16.9 15.16.8 15.16.7 15.16.6 15.16.5 15.16.4 15.16.3 15.16.2 15.16.1 15.16.0 15.15.5 15.15.4 15.15.2 15.15.1 15.14.0 15.13.32 15.13.31 15.13.30 15.13.29 15.13.28 15.13.27 15.13.26 15.13.25 15.13.24 15.13.23 15.13.22 15.13.21 15.13.20 15.13.19 15.13.18 15.13.17 15.13.16 15.13.15 15.13.14 15.13.13 15.13.11 15.13.10 15.13.9 15.13.8 15.13.7 15.13.6 15.13.5 15.13.4 15.13.3 15.13.2 15.13.1 15.13.0 15.12.17 15.12.16 15.12.15 15.12.14 15.12.13 15.12.12 15.12.11 15.12.3 15.12.2 15.12.1 15.12.0 15.11.1 15.11.0 15.9.0 15.8.1 15.8.0 15.7.17 15.7.16 15.7.15 15.7.14 15.7.13 15.7.12 15.7.10 15.7.8 15.7.7 15.7.5 15.7.4 15.7.1 15.7.0 15.6.0 15.5.6 15.5.5 15.5.4 15.5.3 15.5.2 15.5.1 15.5.0 15.4.2 15.4.1 15.4.0 15.3.1 15.3.0 15.2.8 15.2.7 15.2.6 15.2.5 15.2.4 15.2.2 15.2.1 15.2.0 15.1.4 15.1.3 15.1.2 15.1.1 15.1.0 15.0.3 15.0.2 15.0.1 15.0.0 14.0.6 14.0.5 14.0.3 14.0.2 14.0.1 14.0.0 13.1.0 13.0.1 13.0.0 12.8.4 12.8.3 12.8.2 12.8.1 12.8.0 12.7.1 12.7.0 12.6.4 12.6.3 12.6.1 12.6.0 12.5.0 12.4.8 12.4.7 12.4.6 12.4.5 12.4.4 12.4.2 12.4.1 12.4.0 12.3.333 12.3.2 12.3.1 12.3.0 12.2.2 12.2.1 12.2.0 12.1.3333 12.1.32 12.1.31 12.1.30 12.1.29 12.1.28 12.1.27 12.1.26 12.1.25 12.1.24 12.1.23 12.1.22 12.1.1 12.1.0 12.0.0 11.16666.0 11.15.0 11.14.0 11.13.0 11.12.0 11.11.1 11.11.0 11.10.3 11.10.2 11.10.1 11.10.0 11.9.7 11.9.6 11.9.4 11.9.3 11.9.2 11.9.1 11.9.0 11.8.13 11.8.12 11.8.11 11.8.10 11.8.9 11.8.8 11.8.6 11.8.5 11.8.4 11.8.3 11.8.2 11.8.1 11.8.0 11.7.509 11.7.508 11.7.506 11.7.505 11.7.502 11.7.501 11.7.500 11.7.400 11.7.314 11.7.313 11.7.312 11.7.311 11.7.310 11.7.309 11.7.308 11.7.307 11.7.306 11.7.304 11.7.302 11.7.301 11.7.300 11.7.215 11.7.214 11.7.213 11.7.212 11.7.211 11.7.210 11.7.203 11.7.202 11.7.201 11.7.200 11.7.122 11.7.11 11.7.10 11.7.9 11.7.8 11.7.7 11.7.6 11.7.5 11.7.4 11.7.2 11.7.1 11.7.0 11.6.24 11.6.23 11.6.22 11.6.21 11.6.20 11.6.19 11.6.18 11.6.16 11.6.15 11.6.14 11.6.13 11.6.12 11.6.11 11.6.10 11.6.9 11.6.8 11.6.7 11.6.6 11.6.5 11.6.4 11.6.3 11.6.2 11.6.1 11.5.2333

Elixir Email API for MailSlurp

Current section

Files

Jump to
mailslurp lib mail_slurp_api api webhook_controller.ex
Raw

lib/mail_slurp_api/api/webhook_controller.ex

# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# https://openapi-generator.tech
# Do not edit the class manually.
defmodule MailSlurpAPI.Api.WebhookController do
@moduledoc """
API calls for all endpoints tagged `WebhookController`.
"""
alias MailSlurpAPI.Connection
import MailSlurpAPI.RequestBuilder
@doc """
Attach a WebHook URL to an inbox
Get notified whenever an inbox receives an email via a WebHook URL. An emailID will be posted to this URL every time an email is received for this inbox. The URL must be publicly reachable by the MailSlurp server. You can provide basicAuth values if you wish to secure this endpoint.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- inbox_id (String.t): inboxId
- webhook_options (CreateWebhookOptions): webhookOptions
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.WebhookDto{}} on success
{:error, info} on failure
"""
@spec create_webhook(Tesla.Env.client, String.t, MailSlurpAPI.Model.CreateWebhookOptions.t, keyword()) :: {:ok, MailSlurpAPI.Model.WebhookDto.t} | {:error, Tesla.Env.t}
def create_webhook(connection, inbox_id, webhook_options, _opts \\ []) do
%{}
|> method(:post)
|> url("/inboxes/#{inbox_id}/webhooks")
|> add_param(:body, :body, webhook_options)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 201, %MailSlurpAPI.Model.WebhookDto{}},
{ 401, false},
{ 403, false},
{ 404, false}
])
end
@doc """
Delete and disable a Webhook for an Inbox
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- inbox_id (String.t): inboxId
- webhook_id (String.t): webhookId
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %{}} on success
{:error, info} on failure
"""
@spec delete_webhook(Tesla.Env.client, String.t, String.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t}
def delete_webhook(connection, inbox_id, webhook_id, _opts \\ []) do
%{}
|> method(:delete)
|> url("/inboxes/#{inbox_id}/webhooks/#{webhook_id}")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 204, false},
{ 401, false},
{ 403, false}
])
end
@doc """
List Webhooks Paginated
List webhooks in paginated form. Allows for page index, page size, and sort direction.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
- :page (integer()): Optional page index in list pagination
- :size (integer()): Optional page size in list pagination
- :sort (String.t): Optional createdAt sort direction ASC or DESC
## Returns
{:ok, %MailSlurpAPI.Model.PageWebhookProjection{}} on success
{:error, info} on failure
"""
@spec get_all_webhooks(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageWebhookProjection.t} | {:error, Tesla.Env.t}
def get_all_webhooks(connection, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query
}
%{}
|> method(:get)
|> url("/webhooks/paginated")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageWebhookProjection{}},
{ 401, false},
{ 403, false},
{ 404, false}
])
end
@doc """
Get test webhook payload example
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.WebhookPayload{}} on success
{:error, info} on failure
"""
@spec get_test_webhook_payload(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.WebhookPayload.t} | {:error, Tesla.Env.t}
def get_test_webhook_payload(connection, _opts \\ []) do
%{}
|> method(:get)
|> url("/webhooks/test")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.WebhookPayload{}},
{ 401, false},
{ 403, false},
{ 404, false}
])
end
@doc """
Get a webhook for an Inbox
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- webhook_id (String.t): webhookId
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.WebhookDto{}} on success
{:error, info} on failure
"""
@spec get_webhook(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.WebhookDto.t} | {:error, Tesla.Env.t}
def get_webhook(connection, webhook_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/webhooks/#{webhook_id}")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.WebhookDto{}},
{ 401, false},
{ 403, false},
{ 404, false}
])
end
@doc """
Get all webhooks for an Inbox
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- inbox_id (String.t): inboxId
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, [%WebhookDto{}, ...]} on success
{:error, info} on failure
"""
@spec get_webhooks(Tesla.Env.client, String.t, keyword()) :: {:ok, list(MailSlurpAPI.Model.WebhookDto.t)} | {:error, Tesla.Env.t}
def get_webhooks(connection, inbox_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/inboxes/#{inbox_id}/webhooks")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, [%MailSlurpAPI.Model.WebhookDto{}]},
{ 401, false},
{ 403, false},
{ 404, false}
])
end
@doc """
Send webhook test data
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- webhook_id (String.t): webhookId
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.WebhookTestResult{}} on success
{:error, info} on failure
"""
@spec send_test_data(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.WebhookTestResult.t} | {:error, Tesla.Env.t}
def send_test_data(connection, webhook_id, _opts \\ []) do
%{}
|> method(:post)
|> url("/webhooks/#{webhook_id}/test")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 201, %MailSlurpAPI.Model.WebhookTestResult{}},
{ 401, false},
{ 403, false},
{ 404, false}
])
end
end