# NOTE: This file is auto generated by OpenAPI Generator 6.4.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule DocuSign.Model.SealSign do
@moduledoc """
Specifies one or more electronic seals to apply on documents. An electronic seal recipient is a legal entity rather than an actual person. Electronic Seals can be used by organizations and governments to show evidence of origin and integrity of documents. Even though electronic seals can be represented by a tab in a document, they do not require user interaction and apply automatically in the order specified by the sender. The sender is therefore the person authorizing usage of the electronic seal in the flow. Example: ```json \"recipients\": { \"seals\": [ { \"recipientId\": \"1\", \"routingOrder\" : 1, \"recipientSignatureProviders\": [ { \"sealName\": \"52e9d968-xxxx-xxxx-xxxx-4682bc45c106\" } ] } ] }, . . . ``` For more information about Electronic Seals, see [Apply Electronic Seals to Your Documents](https://support.docusign.com/en/guides/ndse-user-guide-apply-electronic-seals).
"""
@derive [Poison.Encoder]
defstruct [
:accessCode,
:accessCodeMetadata,
:addAccessCodeToEmail,
:allowSystemOverrideForLockedRecipient,
:autoRespondedReason,
:clientUserId,
:completedCount,
:customFields,
:declinedDateTime,
:declinedReason,
:deliveredDateTime,
:deliveryMethod,
:deliveryMethodMetadata,
:designatorId,
:designatorIdGuid,
:documentVisibility,
:emailNotification,
:embeddedRecipientStartURL,
:errorDetails,
:faxNumber,
:faxNumberMetadata,
:idCheckConfigurationName,
:idCheckConfigurationNameMetadata,
:idCheckInformationInput,
:identityVerification,
:inheritEmailNotificationConfiguration,
:lockedRecipientPhoneAuthEditable,
:lockedRecipientSmsEditable,
:name,
:note,
:noteMetadata,
:phoneAuthentication,
:recipientAttachments,
:recipientAuthenticationStatus,
:recipientFeatureMetadata,
:recipientId,
:recipientIdGuid,
:recipientSignatureProviders,
:recipientType,
:recipientTypeMetadata,
:requireIdLookup,
:requireIdLookupMetadata,
:roleName,
:routingOrder,
:routingOrderMetadata,
:sentDateTime,
:signedDateTime,
:smsAuthentication,
:socialAuthentications,
:status,
:statusCode,
:suppressEmails,
:tabs,
:templateLocked,
:templateRequired,
:totalTabCount,
:userId
]
@type t :: %__MODULE__{
:accessCode => String.t() | nil,
:accessCodeMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:addAccessCodeToEmail => String.t() | nil,
:allowSystemOverrideForLockedRecipient => String.t() | nil,
:autoRespondedReason => String.t() | nil,
:clientUserId => String.t() | nil,
:completedCount => String.t() | nil,
:customFields => [String.t()] | nil,
:declinedDateTime => String.t() | nil,
:declinedReason => String.t() | nil,
:deliveredDateTime => String.t() | nil,
:deliveryMethod => String.t() | nil,
:deliveryMethodMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:designatorId => String.t() | nil,
:designatorIdGuid => String.t() | nil,
:documentVisibility => [DocuSign.Model.DocumentVisibility.t()] | nil,
:emailNotification => DocuSign.Model.RecipientEmailNotification.t() | nil,
:embeddedRecipientStartURL => String.t() | nil,
:errorDetails => DocuSign.Model.ErrorDetails.t() | nil,
:faxNumber => String.t() | nil,
:faxNumberMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:idCheckConfigurationName => String.t() | nil,
:idCheckConfigurationNameMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:idCheckInformationInput => DocuSign.Model.IdCheckInformationInput.t() | nil,
:identityVerification => DocuSign.Model.RecipientIdentityVerification.t() | nil,
:inheritEmailNotificationConfiguration => String.t() | nil,
:lockedRecipientPhoneAuthEditable => String.t() | nil,
:lockedRecipientSmsEditable => String.t() | nil,
:name => String.t() | nil,
:note => String.t() | nil,
:noteMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:phoneAuthentication => DocuSign.Model.RecipientPhoneAuthentication.t() | nil,
:recipientAttachments => [DocuSign.Model.RecipientAttachment.t()] | nil,
:recipientAuthenticationStatus => DocuSign.Model.AuthenticationStatus.t() | nil,
:recipientFeatureMetadata => [DocuSign.Model.FeatureAvailableMetadata.t()] | nil,
:recipientId => String.t() | nil,
:recipientIdGuid => String.t() | nil,
:recipientSignatureProviders => [DocuSign.Model.RecipientSignatureProvider.t()] | nil,
:recipientType => String.t() | nil,
:recipientTypeMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:requireIdLookup => String.t() | nil,
:requireIdLookupMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:roleName => String.t() | nil,
:routingOrder => String.t() | nil,
:routingOrderMetadata => DocuSign.Model.PropertyMetadata.t() | nil,
:sentDateTime => String.t() | nil,
:signedDateTime => String.t() | nil,
:smsAuthentication => DocuSign.Model.RecipientSmsAuthentication.t() | nil,
:socialAuthentications => [DocuSign.Model.SocialAuthentication.t()] | nil,
:status => String.t() | nil,
:statusCode => String.t() | nil,
:suppressEmails => String.t() | nil,
:tabs => DocuSign.Model.EnvelopeRecipientTabs.t() | nil,
:templateLocked => String.t() | nil,
:templateRequired => String.t() | nil,
:totalTabCount => String.t() | nil,
:userId => String.t() | nil
}
end
defimpl Poison.Decoder, for: DocuSign.Model.SealSign do
import DocuSign.Deserializer
def decode(value, options) do
value
|> deserialize(:accessCodeMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:deliveryMethodMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:documentVisibility, :list, DocuSign.Model.DocumentVisibility, options)
|> deserialize(
:emailNotification,
:struct,
DocuSign.Model.RecipientEmailNotification,
options
)
|> deserialize(:errorDetails, :struct, DocuSign.Model.ErrorDetails, options)
|> deserialize(:faxNumberMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(
:idCheckConfigurationNameMetadata,
:struct,
DocuSign.Model.PropertyMetadata,
options
)
|> deserialize(
:idCheckInformationInput,
:struct,
DocuSign.Model.IdCheckInformationInput,
options
)
|> deserialize(
:identityVerification,
:struct,
DocuSign.Model.RecipientIdentityVerification,
options
)
|> deserialize(:noteMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(
:phoneAuthentication,
:struct,
DocuSign.Model.RecipientPhoneAuthentication,
options
)
|> deserialize(:recipientAttachments, :list, DocuSign.Model.RecipientAttachment, options)
|> deserialize(
:recipientAuthenticationStatus,
:struct,
DocuSign.Model.AuthenticationStatus,
options
)
|> deserialize(
:recipientFeatureMetadata,
:list,
DocuSign.Model.FeatureAvailableMetadata,
options
)
|> deserialize(
:recipientSignatureProviders,
:list,
DocuSign.Model.RecipientSignatureProvider,
options
)
|> deserialize(:recipientTypeMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:requireIdLookupMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(:routingOrderMetadata, :struct, DocuSign.Model.PropertyMetadata, options)
|> deserialize(
:smsAuthentication,
:struct,
DocuSign.Model.RecipientSmsAuthentication,
options
)
|> deserialize(:socialAuthentications, :list, DocuSign.Model.SocialAuthentication, options)
|> deserialize(:tabs, :struct, DocuSign.Model.EnvelopeRecipientTabs, options)
end
end