module ESignLive::API::Calls

Constants

PACKAGE_DEFAULTS

Public Instance Methods

authentication_token(package_id:) click to toggle source
# File lib/esignlive/api/calls.rb, line 20
def authentication_token(package_id:)
  ::HTTParty.post(
    "#{url}/authenticationTokens",
    body: { packageId: package_id }.to_json,
    headers: headers
  ).parsed_response
end
create_package(opts: {}) click to toggle source
# File lib/esignlive/api/calls.rb, line 108
def create_package(opts: {})
  body = package_hash(opts)
  if opts[:sender].is_a? Hash
    sender_hash = {
      sender: {
        lastName: sender_opts[:last_name],
        firstName: sender_opts[:first_name],
        email: sender_opts[:email]
      }
    }
    body.merge!(sender_hash)
  end
  ::HTTParty.post(
    "#{url}/packages",
    body: body.to_json,
    headers: headers
  ).parsed_response
end
create_package_from_template(template_id:, opts: {}) click to toggle source
# File lib/esignlive/api/calls.rb, line 127
def create_package_from_template(template_id:, opts: {})
  ::HTTParty.post(
    "#{url}/packages/#{template_id}/clone",
    headers: headers,
    body: package_hash(opts).to_json
  ).parsed_response
end
get_document(package_id:, document_id:, pdf: false) click to toggle source
# File lib/esignlive/api/calls.rb, line 68
def get_document(package_id:, document_id:, pdf: false)
  endpoint = "#{url}/packages/#{package_id}/documents/#{document_id}"
  pdf ? url = "#{endpoint}/pdf" : url = endpoint
  ::HTTParty.get(
    url,
    headers: headers
  ).parsed_response
end
get_package(package_id:) click to toggle source
# File lib/esignlive/api/calls.rb, line 54
def get_package(package_id:)
  ::HTTParty.get(
    "#{url}/packages/#{package_id}",
    headers: headers
  ).parsed_response
end
get_packages() click to toggle source
# File lib/esignlive/api/calls.rb, line 47
def get_packages
  ::HTTParty.get(
    "#{url}/packages",
    headers: headers
  ).parsed_response
end
get_role(package_id:, role_id:) click to toggle source
# File lib/esignlive/api/calls.rb, line 84
def get_role(package_id:, role_id:)
  ::HTTParty.get(
    "#{url}/packages/#{package_id}/roles/#{role_id}",
    headers: headers
  ).parsed_response
end
get_roles(package_id:) click to toggle source
# File lib/esignlive/api/calls.rb, line 77
def get_roles(package_id:)
  ::HTTParty.get(
    "#{url}/packages/#{package_id}/roles",
    headers: headers
  ).parsed_response["results"]
end
get_signing_status(package_id:) click to toggle source
# File lib/esignlive/api/calls.rb, line 61
def get_signing_status(package_id:)
  ::HTTParty.get(
    "#{url}/packages/#{package_id}/signingStatus",
    headers: headers
  ).parsed_response
end
remove_document_from_package(document_id:, package_id:) click to toggle source
# File lib/esignlive/api/calls.rb, line 144
def remove_document_from_package(document_id:, package_id:)
  ::HTTParty.delete(
    "#{url}/packages/#{package_id}/documents/#{document_id}",
    headers: headers
  ).parsed_response
end
send_package(package_id:) click to toggle source
# File lib/esignlive/api/calls.rb, line 135
def send_package(package_id:)
  response = ::HTTParty.post(
    "#{url}/packages/#{package_id}",
    body: { status: "SENT" }.to_json,
    headers: headers
  )
  { code: response["code"], message: response["message"] }
end
sender_authentication_token(package_id:) click to toggle source
# File lib/esignlive/api/calls.rb, line 28
def sender_authentication_token(package_id:)
  ::HTTParty.post(
    "#{url}/senderAuthenticationTokens",
    body: { packageId: package_id }.to_json,
    headers: headers
  ).parsed_response
end
signer_authentication_token(signer_id:, package_id:) click to toggle source
# File lib/esignlive/api/calls.rb, line 36
def signer_authentication_token(signer_id:, package_id:)
  ::HTTParty.post(
    "#{url}/signerAuthenticationTokens",
    body: {
      signerId: signer_id,
      packageId: package_id
    }.to_json,
    headers: headers
  ).parsed_response
end
signing_url(package_id:, role_id:) click to toggle source
# File lib/esignlive/api/calls.rb, line 151
def signing_url(package_id:, role_id:)
  ::HTTParty.get(
    "#{url}/packages/#{package_id}/roles/#{role_id}/signingUrl",
    headers: headers
  ).parsed_response["url"]
end
update_role_signer(package_id:, role_id:, email:, first_name:, last_name:) click to toggle source
# File lib/esignlive/api/calls.rb, line 91
def update_role_signer(package_id:, role_id:, email:, first_name:, last_name:)
  body = {
    signers: [
      {
        email: email,
        firstName: first_name,
        lastName: last_name
      }
    ]
  }
  ::HTTParty.put(
   "#{url}/packages/#{package_id}/roles/#{role_id}",
    body: body.to_json,
    headers: headers
  ).parsed_response
end

Private Instance Methods

package_hash(opts) click to toggle source
# File lib/esignlive/api/calls.rb, line 160
def package_hash(opts)
  {
    type: "PACKAGE",
    name:         opts[:name]          || PACKAGE_DEFAULTS[:name],
    language:     opts[:language]      || PACKAGE_DEFAULTS[:language],
    emailMessage: opts[:email_message] || PACKAGE_DEFAULTS[:email_message],
    description:  opts[:description]   || PACKAGE_DEFAULTS[:description],
    autocomplete: opts[:autocomplete]  || PACKAGE_DEFAULTS[:autocomplete],
    settings:     opts[:settings]      || PACKAGE_DEFAULTS[:settings],
    visibility:   opts[:visibility]    || PACKAGE_DEFAULTS[:visibility]
  }
end