View Source Yousign.SignatureRequestInput (yousign_ex v0.2.3)

Models a Yousign request signature input. See: https://developers.yousign.com/reference/post-signature_requests

Link to this section Summary

Link to this section Types

@type delivery_mode() :: :email | :none
@type field_input() ::
  %{
    type: :signature,
    document_id: String.t(),
    width: non_neg_integer() | nil,
    height: non_neg_integer() | nil,
    page: non_neg_integer(),
    x: non_neg_integer(),
    y: non_neg_integer()
  }
  | %{
      type: :mention,
      document_id: String.t(),
      width: non_neg_integer() | nil,
      page: non_neg_integer(),
      x: non_neg_integer(),
      y: non_neg_integer(),
      mention: String.t()
    }
  | %{
      type: :text,
      document_id: String.t(),
      width: non_neg_integer() | nil,
      height: non_neg_integer() | nil,
      page: non_neg_integer(),
      x: non_neg_integer(),
      y: non_neg_integer(),
      max_length: non_neg_integer(),
      instruction: String.t(),
      optional: boolean()
    }
  | %{
      type: :checkbox,
      document_id: String.t(),
      page: non_neg_integer(),
      x: non_neg_integer(),
      y: non_neg_integer(),
      optional: boolean(),
      name: String.t() | nil,
      checked: boolean()
    }
@type redirect_urls() :: %{success: String.t() | nil, error: String.t() | nil} | nil
@type reminder_settings() :: %{
  interval_in_days: non_neg_integer(),
  max_occurrences: non_neg_integer()
}
Link to this type

signature_authentication_mode()

View Source
@type signature_authentication_mode() :: :otp_sms | :otp_email | :no_otp | nil
@type signature_level() ::
  :electronic_signature
  | :advanced_electronic_signature
  | :electronic_signature_with_qualified_certificate
  | :qualified_electronic_signature_mode_1
@type signer_from_info() :: %{
  info: signer_info(),
  fields: [field_input()],
  signature_level: signature_level(),
  signature_authentication_mode: signature_authentication_mode(),
  redirect_urls: redirect_urls()
}
@type signer_info() :: %{
  first_name: String.t(),
  last_name: String.t(),
  email: String.t(),
  phone_number: String.t() | nil,
  locale: :en | :de | :fr | :it | :es | :pl | :nl
}
@type t() :: %Yousign.SignatureRequestInput{
  branding_id: String.t() | nil,
  delivery_mode: delivery_mode(),
  documents: [String.t()],
  email_custom_note: String.t() | nil,
  expiration_date: DateTime.t() | nil,
  external_id: String.t() | nil,
  name: String.t(),
  ordered_signers: boolean() | nil,
  reminder_settings: reminder_settings() | nil,
  signers: [signer_from_info()],
  template_id: String.t() | nil,
  timezone: String.t() | nil
}