# NOTE: This file is auto generated by OpenAPI Generator 6.4.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule DocuSign.Api.AccountSignatures do
@moduledoc """
API calls for all endpoints tagged `AccountSignatures`.
"""
alias DocuSign.Connection
import DocuSign.RequestBuilder
@doc """
Deletes an account stamp.
Deletes a stamp specified by `signatureId`.
### Parameters
- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `signature_id` (String.t): The ID of the account stamp.
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec account_signatures_delete_account_signature(
Tesla.Env.client(),
String.t(),
String.t(),
keyword()
) :: {:ok, nil} | {:ok, DocuSign.Model.ErrorDetails.t()} | {:error, Tesla.Env.t()}
def account_signatures_delete_account_signature(
connection,
account_id,
signature_id,
_opts \\ []
) do
request =
%{}
|> method(:delete)
|> url("/v2.1/accounts/#{account_id}/signatures/#{signature_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, false},
{400, %DocuSign.Model.ErrorDetails{}}
])
end
@doc """
Deletes the image for a stamp.
Deletes the image for a stamp specified by `signatureId`.
### Parameters
- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `image_type` (String.t): Specificies the type of image. Valid values: - `stamp_image` - `signature_image` - `initials_image`
- `signature_id` (String.t): The ID of the account stamp.
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, DocuSign.Model.AccountSignature.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec account_signatures_delete_account_signature_image(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) ::
{:ok, DocuSign.Model.ErrorDetails.t()}
| {:ok, DocuSign.Model.AccountSignature.t()}
| {:error, Tesla.Env.t()}
def account_signatures_delete_account_signature_image(
connection,
account_id,
image_type,
signature_id,
_opts \\ []
) do
request =
%{}
|> method(:delete)
|> url("/v2.1/accounts/#{account_id}/signatures/#{signature_id}/#{image_type}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, %DocuSign.Model.AccountSignature{}},
{400, %DocuSign.Model.ErrorDetails{}}
])
end
@doc """
Returns information about the specified stamp.
Returns information about the specified stamp.
### Parameters
- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `signature_id` (String.t): The ID of the account stamp.
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, DocuSign.Model.AccountSignature.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec account_signatures_get_account_signature(
Tesla.Env.client(),
String.t(),
String.t(),
keyword()
) ::
{:ok, DocuSign.Model.ErrorDetails.t()}
| {:ok, DocuSign.Model.AccountSignature.t()}
| {:error, Tesla.Env.t()}
def account_signatures_get_account_signature(connection, account_id, signature_id, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/v2.1/accounts/#{account_id}/signatures/#{signature_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, %DocuSign.Model.AccountSignature{}},
{400, %DocuSign.Model.ErrorDetails{}}
])
end
@doc """
Returns the image for an account stamp.
Returns the image for an account stamp.
### Parameters
- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `image_type` (String.t): Specificies the type of image. Valid values: - `stamp_image` - `signature_image` - `initials_image`
- `signature_id` (String.t): The ID of the account stamp.
- `opts` (keyword): Optional parameters
- `:include_chrome` (String.t): When **true,** the chrome (or frame containing the added line and identifier) is included with the signature image.
### Returns
- `{:ok, String.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec account_signatures_get_account_signature_image(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) :: {:ok, DocuSign.Model.ErrorDetails.t()} | {:ok, String.t()} | {:error, Tesla.Env.t()}
def account_signatures_get_account_signature_image(
connection,
account_id,
image_type,
signature_id,
opts \\ []
) do
optional_params = %{
:include_chrome => :query
}
request =
%{}
|> method(:get)
|> url("/v2.1/accounts/#{account_id}/signatures/#{signature_id}/#{image_type}")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, false},
{400, %DocuSign.Model.ErrorDetails{}}
])
end
@doc """
Returns a list of stamps available in the account.
Returns a list of stamps available in the account.
### Parameters
- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `opts` (keyword): Optional parameters
- `:stamp_format` (String.t): The format of the stamp to return. Valid values: - `NameDateHanko` - `NameHanko` - `PlaceholderHanko`
- `:stamp_name` (String.t): The name associated with the stamps to return. This value can be a Japanese surname (up to 5 characters) or a purchase order ID.
- `:stamp_type` (String.t): The type of the stamps to return. Valid values: - `name_stamp` - `stamp` - `signature`
### Returns
- `{:ok, DocuSign.Model.AccountSignaturesInformation.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec account_signatures_get_account_signatures(Tesla.Env.client(), String.t(), keyword()) ::
{:ok, DocuSign.Model.ErrorDetails.t()}
| {:ok, DocuSign.Model.AccountSignaturesInformation.t()}
| {:error, Tesla.Env.t()}
def account_signatures_get_account_signatures(connection, account_id, opts \\ []) do
optional_params = %{
:stamp_format => :query,
:stamp_name => :query,
:stamp_type => :query
}
request =
%{}
|> method(:get)
|> url("/v2.1/accounts/#{account_id}/signatures")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, %DocuSign.Model.AccountSignaturesInformation{}},
{400, %DocuSign.Model.ErrorDetails{}}
])
end
@doc """
Adds or updates one or more account stamps.
Adds or updates one or more account stamps.
### Parameters
- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `opts` (keyword): Optional parameters
- `:decode_only` (String.t):
- `:body` (AccountSignaturesInformation):
### Returns
- `{:ok, DocuSign.Model.AccountSignaturesInformation.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec account_signatures_post_account_signatures(Tesla.Env.client(), String.t(), keyword()) ::
{:ok, DocuSign.Model.ErrorDetails.t()}
| {:ok, DocuSign.Model.AccountSignaturesInformation.t()}
| {:error, Tesla.Env.t()}
def account_signatures_post_account_signatures(connection, account_id, opts \\ []) do
optional_params = %{
:decode_only => :query,
:body => :body
}
request =
%{}
|> method(:post)
|> url("/v2.1/accounts/#{account_id}/signatures")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, %DocuSign.Model.AccountSignaturesInformation{}},
{400, %DocuSign.Model.ErrorDetails{}}
])
end
@doc """
Updates an account stamp.
Adds or updates one or more account stamps. This request may include images in multi-part format.
### Parameters
- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `opts` (keyword): Optional parameters
- `:body` (AccountSignaturesInformation):
### Returns
- `{:ok, DocuSign.Model.AccountSignaturesInformation.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec account_signatures_put_account_signature(Tesla.Env.client(), String.t(), keyword()) ::
{:ok, DocuSign.Model.ErrorDetails.t()}
| {:ok, DocuSign.Model.AccountSignaturesInformation.t()}
| {:error, Tesla.Env.t()}
def account_signatures_put_account_signature(connection, account_id, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:put)
|> url("/v2.1/accounts/#{account_id}/signatures")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, %DocuSign.Model.AccountSignaturesInformation{}},
{400, %DocuSign.Model.ErrorDetails{}}
])
end
@doc """
Updates an account stamp by ID.
Updates an account stamp specified by the `signatureId` query parameter.
### Parameters
- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `signature_id` (String.t): The ID of the account stamp.
- `opts` (keyword): Optional parameters
- `:close_existing_signature` (String.t): When **true,** closes the current signature.
- `:body` (AccountSignatureDefinition):
### Returns
- `{:ok, DocuSign.Model.AccountSignature.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec account_signatures_put_account_signature_by_id(
Tesla.Env.client(),
String.t(),
String.t(),
keyword()
) ::
{:ok, DocuSign.Model.ErrorDetails.t()}
| {:ok, DocuSign.Model.AccountSignature.t()}
| {:error, Tesla.Env.t()}
def account_signatures_put_account_signature_by_id(
connection,
account_id,
signature_id,
opts \\ []
) do
optional_params = %{
:close_existing_signature => :query,
:body => :body
}
request =
%{}
|> method(:put)
|> url("/v2.1/accounts/#{account_id}/signatures/#{signature_id}")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, %DocuSign.Model.AccountSignature{}},
{400, %DocuSign.Model.ErrorDetails{}}
])
end
@doc """
Sets a signature image, initials, or stamp.
Sets a signature image, initials, or stamp.
### Parameters
- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `image_type` (String.t): Specificies the type of image. Valid values: - `stamp_image` - `signature_image` - `initials_image`
- `signature_id` (String.t): The ID of the account stamp.
- `opts` (keyword): Optional parameters
- `:transparent_png` (String.t):
### Returns
- `{:ok, DocuSign.Model.AccountSignature.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec account_signatures_put_account_signature_image(
Tesla.Env.client(),
String.t(),
String.t(),
String.t(),
keyword()
) ::
{:ok, DocuSign.Model.ErrorDetails.t()}
| {:ok, DocuSign.Model.AccountSignature.t()}
| {:error, Tesla.Env.t()}
def account_signatures_put_account_signature_image(
connection,
account_id,
image_type,
signature_id,
opts \\ []
) do
optional_params = %{
:transparent_png => :query
}
request =
%{}
|> method(:put)
|> url("/v2.1/accounts/#{account_id}/signatures/#{signature_id}/#{image_type}")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, %DocuSign.Model.AccountSignature{}},
{400, %DocuSign.Model.ErrorDetails{}}
])
end
end