View Source Eversign (eversign.com API for digitally signing PDF documents v0.1.0)

Documentation for Eversign API Module.

This API only contains everything required to generate Documents (for now). This module is specifically just the HTTP REST Layer. Specific functionality can be found in the individual documentation for each module.

https://eversign.com/api/documentation

Link to this section Summary

Functions

Gets the current configuration from Config prepared for query arguments.

Delete a Document which is still in draft or cancelled status.

Provides a Phoenix compatible script-tag embedding the eversign JavaScript API.

Link to this section Functions

Link to this function

cancel_document(client \\ client(), document_hash)

View Source
@spec cancel_document(Tesla.Client.t() | nil, String.t()) ::
  {:ok, map()} | {:error, Tesla.Client.t()}

Cancels a Document.

parameters

Parameters

  • client (Tesla.Client): [optional] Tesla Client for REST Connection
  • document_hash (String): Eversign Document Hash

returns

Returns

  • {:ok, %Eversign.ErrorResponse{success: true}} on success
  • {:error, %Eversign.ErrorResponse{success:false, error: %{}}} on failure

Gets the current configuration from Config prepared for query arguments.

returns

Returns

  • [access_key: "", business_id: 0, language: "en", sandbox: 1]

examples

Examples

iex> Eversign.config()
[
  access_key: "",
  business_id: 0,
  language: "en",
  sandbox: 1
]
Link to this function

create_document(client \\ client(), params)

View Source
@spec create_document(Tesla.Client.t() | nil, map()) ::
  {:error, Tesla.Client.t()} | {:ok, map()}

Create a Document.

parameters

Parameters

  • client (Tesla.Client): [optional] Tesla Client for REST Connection
  • params (Map): Eversign parameters required for document creation

returns

Returns

  • {:ok, %Eversign.Document{}}
  • {:error, %Eversign.ErrorResponse{success:false, error: %{}}} on failure

examples

Examples

iex> Eversign.create_document(%{
...>   use_hidden_tags: 1,
...>   files: [
...>     %{name: "xyz.pdf", file_base64: "base64"},
...>   ],
...>   meta: %{
...>     customer_id: 123,
...>     offer_id: 123,
...>   },
...>   signers: [
...>     %{id: 1, name: "Zack McCracken", email: "zack@example.int", order: 1},
...>     %{id: 2, name: "Fred McCracken", email: "fred@example.int", order: 2},
...>   ]
...> })
{:ok, %{}}
Link to this function

delete_document(client \\ client(), document_hash)

View Source
@spec delete_document(Tesla.Client.t() | nil, String.t()) ::
  {:ok, map()} | {:error, Tesla.Client.t()}

Delete a Document which is still in draft or cancelled status.

parameters

Parameters

  • client (Tesla.Client): [optional] Tesla Client for REST Connection
  • document_hash (String): Eversign Document Hash

returns

Returns

  • {:ok, %Eversign.ErrorResponse{success: true}} on success
  • {:error, %Eversign.ErrorResponse{success:false, error: %{}}} on failure
Link to this function

download_document(client \\ client(), document_hash, query \\ [])

View Source
@spec download_document(Tesla.Client.t() | nil, String.t(), keyword(String.t()) | nil) ::
  {:ok, binary()} | {:ok, map()} | {:error, Tesla.Client.t()}

Download a PDF of any document.

parameters

Parameters

  • client (Tesla.Client): [optional] Tesla Client for REST Connection
  • document_hash (String): Eversign Document Hash
  • query (Keywords): [optional] Query parameters

returns

Returns

  • {:ok, [] = pdf_bytes} on success
  • {:error, %Eversign.ErrorResponse{success:false, error: %{}}} on failure

examples

Examples

iex> Eversign.download_document("msFYActMfJHqNTKH8YSvF1", audit_trail: 1)
{:ok, []}
Link to this function

get_embedded_signing_url(client \\ client(), document_hash)

View Source
@spec get_embedded_signing_url(Tesla.Client.t() | nil, String.t()) ::
  {:error, Tesla.Client.t()} | {:ok, list()}

Get Embedded Signing URLs.

parameters

Parameters

  • client (Tesla.Client): [optional] Tesla Client for REST Connection
  • document_hash (String): Eversign Document Hash

returns

Returns

  • {:ok, %Eversign.SignerListResponse{}} on success
  • {:error, %Eversign.ErrorResponse{success:false, error: %{}}} on failure

examples

Examples

iex> Eversign.embedded_signing_url("ABCDEFGH1234")
{:ok, %{signers: []}}

Provides a Phoenix compatible script-tag embedding the eversign JavaScript API.

returns

Returns

  • ...

examples

Examples

iex> Eversign.javascript_tag
%Phoenix.HTML.Tag{..}
Link to this function

list_documents(client \\ client(), type \\ :all)

View Source
@spec list_documents(Tesla.Client.t() | nil, nil | atom()) ::
  {:error, Tesla.Client.t()} | {:ok, [map()]}

List all Documents.

parameters

Parameters

  • client (Tesla.Client): [optional] Tesla Client for REST Connection
  • type (String): Eversign document type/stage, defaults to :all

returns

Returns

  • {:ok, [%Eversign.Document{}]}
  • {:error, %Eversign.ErrorResponse{success:false, error: %{}}} on failure

examples

Examples

iex> Eversign.list_documents(:all)
{:ok, [%{}]}