Current section

Files

Jump to
docusign lib docusign api contacts.ex
Raw

lib/docusign/api/contacts.ex

# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.
defmodule DocuSign.Api.Contacts do
@moduledoc """
API calls for all endpoints tagged `Contacts`.
"""
import DocuSign.RequestBuilder
alias DocuSign.Connection
alias DocuSign.Model.ContactGetResponse
alias DocuSign.Model.ContactUpdateResponse
alias DocuSign.Model.ErrorDetails
@doc """
Deletes a contact.
This method deletes a contact associated with an account.
### Parameters
- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `contact_id` (String.t): The ID of a contact person in the account's address book.
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, DocuSign.Model.ContactUpdateResponse.t}` on success
- `{:error, Req.Response.t}` on failure
"""
@spec contacts_delete_contact_with_id(DocuSign.Connection.t(), String.t(), String.t(), keyword()) ::
{:ok, ContactUpdateResponse.t()}
| {:error, Req.Response.t()}
def contacts_delete_contact_with_id(connection, account_id, contact_id, _opts \\ []) do
request =
%{}
|> method(:delete)
|> url("/v2.1/accounts/#{account_id}/contacts/#{contact_id}")
|> Enum.to_list()
connection
|> Connection.request(request)
|> evaluate_response([
{200, ContactUpdateResponse},
{400, ErrorDetails}
])
end
@doc """
Deletes multiple contacts from an account.
This method deletes multiple contacts associated with an 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
- `:body` (ContactModRequest):
### Returns
- `{:ok, DocuSign.Model.ContactUpdateResponse.t}` on success
- `{:error, Req.Response.t}` on failure
"""
@spec contacts_delete_contacts(DocuSign.Connection.t(), String.t(), keyword()) ::
{:ok, ContactUpdateResponse.t()}
| {:error, Req.Response.t()}
def contacts_delete_contacts(connection, account_id, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:delete)
|> url("/v2.1/accounts/#{account_id}/contacts")
|> add_optional_params(optional_params, opts)
|> Enum.to_list()
connection
|> Connection.request(request)
|> evaluate_response([
{200, ContactUpdateResponse},
{400, ErrorDetails}
])
end
@doc """
Gets one or more contacts.
This method returns one or more contacts associated with a Docusign account. You can also retrieve contacts from connected [cloud storage][CloudStorage] providers by using the `cloud_provider` query parameter. By default, contacts are retrieved from the Docusign account's default address book. To return a specific contact, use the `contactId` query parameter. To return all contacts associated with an account, omit this parameter. [CloudStorage]: /docs/esign-rest-api/reference/cloudstorage/
### Parameters
- `connection` (DocuSign.Connection): Connection to server
- `account_id` (String.t): The external account number (int) or account ID GUID.
- `contact_id` (String.t): The ID of a contact person in the account's address book. **Note:** To return all contacts, omit this parameter. It is not required.
- `opts` (keyword): Optional parameters
- `:cloud_provider` (String.t): (Optional) The cloud provider from which to retrieve the contacts. Valid values are: - `rooms` - `docusignCore` (default)
### Returns
- `{:ok, DocuSign.Model.ContactGetResponse.t}` on success
- `{:error, Req.Response.t}` on failure
"""
@spec contacts_get_contact_by_id(DocuSign.Connection.t(), String.t(), String.t(), keyword()) ::
{:ok, ContactGetResponse.t()}
| {:error, Req.Response.t()}
def contacts_get_contact_by_id(connection, account_id, contact_id, opts \\ []) do
optional_params = %{
:cloud_provider => :query
}
request =
%{}
|> method(:get)
|> url("/v2.1/accounts/#{account_id}/contacts/#{contact_id}")
|> add_optional_params(optional_params, opts)
|> Enum.to_list()
connection
|> Connection.request(request)
|> evaluate_response([
{200, ContactGetResponse},
{400, ErrorDetails}
])
end
@doc """
Add contacts to a contacts list.
This method adds multiple contacts into a contacts list.
### 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` (ContactModRequest):
### Returns
- `{:ok, DocuSign.Model.ContactUpdateResponse.t}` on success
- `{:error, Req.Response.t}` on failure
"""
@spec contacts_post_contacts(DocuSign.Connection.t(), String.t(), keyword()) ::
{:ok, ContactUpdateResponse.t()}
| {:error, Req.Response.t()}
def contacts_post_contacts(connection, account_id, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:post)
|> url("/v2.1/accounts/#{account_id}/contacts")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.to_list()
connection
|> Connection.request(request)
|> evaluate_response([
{201, ContactUpdateResponse},
{400, ErrorDetails}
])
end
@doc """
Updates one or more contacts.
This method updates one or more contacts associated with an 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
- `:body` (ContactModRequest):
### Returns
- `{:ok, DocuSign.Model.ContactUpdateResponse.t}` on success
- `{:error, Req.Response.t}` on failure
"""
@spec contacts_put_contacts(DocuSign.Connection.t(), String.t(), keyword()) ::
{:ok, ContactUpdateResponse.t()}
| {:error, Req.Response.t()}
def contacts_put_contacts(connection, account_id, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:put)
|> url("/v2.1/accounts/#{account_id}/contacts")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.to_list()
connection
|> Connection.request(request)
|> evaluate_response([
{200, ContactUpdateResponse},
{400, ErrorDetails}
])
end
end