# NOTE: This file is auto generated by OpenAPI Generator 7.12.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule DocuSign.Model.Intermediary do
@moduledoc """
Contains information about an intermediary recipient. An intermediary is a recipient who can, but is not required to, add name and email information for recipients at the same or subsequent level in the routing order, unless subsequent agents, editors or intermediaries are added.
"""
alias DocuSign.Deserializer
alias DocuSign.Model.AuthenticationStatus
alias DocuSign.Model.ConsentDetails
alias DocuSign.Model.DocumentVisibility
alias DocuSign.Model.ErrorDetails
alias DocuSign.Model.FeatureAvailableMetadata
alias DocuSign.Model.IdCheckInformationInput
alias DocuSign.Model.PropertyMetadata
alias DocuSign.Model.RecipientAdditionalNotification
alias DocuSign.Model.RecipientAttachment
alias DocuSign.Model.RecipientEmailNotification
alias DocuSign.Model.RecipientIdentityVerification
alias DocuSign.Model.RecipientPhoneAuthentication
alias DocuSign.Model.RecipientPhoneNumber
alias DocuSign.Model.RecipientSmsAuthentication
alias DocuSign.Model.SocialAuthentication
alias DocuSign.Model.UserInfo
@derive Jason.Encoder
defstruct [
:accessCode,
:accessCodeMetadata,
:addAccessCodeToEmail,
:additionalNotifications,
:allowSystemOverrideForLockedRecipient,
:autoRespondedReason,
:bulkSendV2Recipient,
:clientUserId,
:completedCount,
:consentDetailsList,
:customFields,
:declinedDateTime,
:declinedReason,
:deliveredDateTime,
:deliveryMethod,
:deliveryMethodMetadata,
:designatorId,
:designatorIdGuid,
:documentTemplateId,
:documentVisibility,
:email,
:emailMetadata,
:emailNotification,
:emailRecipientPostSigningURL,
:embeddedRecipientStartURL,
:errorDetails,
:excludedDocuments,
:faxNumber,
:faxNumberMetadata,
:firstName,
:firstNameMetadata,
:fullName,
:fullNameMetadata,
:idCheckConfigurationName,
:idCheckConfigurationNameMetadata,
:idCheckInformationInput,
:identityVerification,
:inheritEmailNotificationConfiguration,
:lastName,
:lastNameMetadata,
:lockedRecipientPhoneAuthEditable,
:lockedRecipientSmsEditable,
:name,
:nameMetadata,
:note,
:noteMetadata,
:phoneAuthentication,
:phoneNumber,
:recipientAttachments,
:recipientAuthenticationStatus,
:recipientFeatureMetadata,
:recipientId,
:recipientIdGuid,
:recipientType,
:recipientTypeMetadata,
:requireIdLookup,
:requireIdLookupMetadata,
:roleName,
:routingOrder,
:routingOrderMetadata,
:sentDateTime,
:signedDateTime,
:signingGroupId,
:signingGroupIdMetadata,
:signingGroupName,
:signingGroupUsers,
:smsAuthentication,
:socialAuthentications,
:status,
:statusCode,
:suppressEmails,
:templateLocked,
:templateRequired,
:totalTabCount,
:userId,
:webFormRecipientViewId
]
@type t :: %__MODULE__{
:accessCode => String.t() | nil,
:accessCodeMetadata => PropertyMetadata.t() | nil,
:addAccessCodeToEmail => String.t() | nil,
:additionalNotifications => [RecipientAdditionalNotification.t()] | nil,
:allowSystemOverrideForLockedRecipient => String.t() | nil,
:autoRespondedReason => String.t() | nil,
:bulkSendV2Recipient => String.t() | nil,
:clientUserId => String.t() | nil,
:completedCount => String.t() | nil,
:consentDetailsList => [ConsentDetails.t()] | nil,
:customFields => [String.t()] | nil,
:declinedDateTime => String.t() | nil,
:declinedReason => String.t() | nil,
:deliveredDateTime => String.t() | nil,
:deliveryMethod => String.t() | nil,
:deliveryMethodMetadata => PropertyMetadata.t() | nil,
:designatorId => String.t() | nil,
:designatorIdGuid => String.t() | nil,
:documentTemplateId => String.t() | nil,
:documentVisibility => [DocumentVisibility.t()] | nil,
:email => String.t() | nil,
:emailMetadata => PropertyMetadata.t() | nil,
:emailNotification => RecipientEmailNotification.t() | nil,
:emailRecipientPostSigningURL => String.t() | nil,
:embeddedRecipientStartURL => String.t() | nil,
:errorDetails => ErrorDetails.t() | nil,
:excludedDocuments => [String.t()] | nil,
:faxNumber => String.t() | nil,
:faxNumberMetadata => PropertyMetadata.t() | nil,
:firstName => String.t() | nil,
:firstNameMetadata => PropertyMetadata.t() | nil,
:fullName => String.t() | nil,
:fullNameMetadata => PropertyMetadata.t() | nil,
:idCheckConfigurationName => String.t() | nil,
:idCheckConfigurationNameMetadata => PropertyMetadata.t() | nil,
:idCheckInformationInput => IdCheckInformationInput.t() | nil,
:identityVerification => RecipientIdentityVerification.t() | nil,
:inheritEmailNotificationConfiguration => String.t() | nil,
:lastName => String.t() | nil,
:lastNameMetadata => PropertyMetadata.t() | nil,
:lockedRecipientPhoneAuthEditable => String.t() | nil,
:lockedRecipientSmsEditable => String.t() | nil,
:name => String.t() | nil,
:nameMetadata => PropertyMetadata.t() | nil,
:note => String.t() | nil,
:noteMetadata => PropertyMetadata.t() | nil,
:phoneAuthentication => RecipientPhoneAuthentication.t() | nil,
:phoneNumber => RecipientPhoneNumber.t() | nil,
:recipientAttachments => [RecipientAttachment.t()] | nil,
:recipientAuthenticationStatus => AuthenticationStatus.t() | nil,
:recipientFeatureMetadata => [FeatureAvailableMetadata.t()] | nil,
:recipientId => String.t() | nil,
:recipientIdGuid => String.t() | nil,
:recipientType => String.t() | nil,
:recipientTypeMetadata => PropertyMetadata.t() | nil,
:requireIdLookup => String.t() | nil,
:requireIdLookupMetadata => PropertyMetadata.t() | nil,
:roleName => String.t() | nil,
:routingOrder => String.t() | nil,
:routingOrderMetadata => PropertyMetadata.t() | nil,
:sentDateTime => String.t() | nil,
:signedDateTime => String.t() | nil,
:signingGroupId => String.t() | nil,
:signingGroupIdMetadata => PropertyMetadata.t() | nil,
:signingGroupName => String.t() | nil,
:signingGroupUsers => [UserInfo.t()] | nil,
:smsAuthentication => RecipientSmsAuthentication.t() | nil,
:socialAuthentications => [SocialAuthentication.t()] | nil,
:status => String.t() | nil,
:statusCode => String.t() | nil,
:suppressEmails => String.t() | nil,
:templateLocked => String.t() | nil,
:templateRequired => String.t() | nil,
:totalTabCount => String.t() | nil,
:userId => String.t() | nil,
:webFormRecipientViewId => String.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(:accessCodeMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(
:additionalNotifications,
:list,
RecipientAdditionalNotification
)
|> Deserializer.deserialize(:consentDetailsList, :list, ConsentDetails)
|> Deserializer.deserialize(:deliveryMethodMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:documentVisibility, :list, DocumentVisibility)
|> Deserializer.deserialize(:emailMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(
:emailNotification,
:struct,
RecipientEmailNotification
)
|> Deserializer.deserialize(:errorDetails, :struct, ErrorDetails)
|> Deserializer.deserialize(:faxNumberMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:firstNameMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:fullNameMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(
:idCheckConfigurationNameMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(
:idCheckInformationInput,
:struct,
IdCheckInformationInput
)
|> Deserializer.deserialize(
:identityVerification,
:struct,
RecipientIdentityVerification
)
|> Deserializer.deserialize(:lastNameMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:nameMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:noteMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(
:phoneAuthentication,
:struct,
RecipientPhoneAuthentication
)
|> Deserializer.deserialize(:phoneNumber, :struct, RecipientPhoneNumber)
|> Deserializer.deserialize(:recipientAttachments, :list, RecipientAttachment)
|> Deserializer.deserialize(
:recipientAuthenticationStatus,
:struct,
AuthenticationStatus
)
|> Deserializer.deserialize(
:recipientFeatureMetadata,
:list,
FeatureAvailableMetadata
)
|> Deserializer.deserialize(:recipientTypeMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(
:requireIdLookupMetadata,
:struct,
PropertyMetadata
)
|> Deserializer.deserialize(:routingOrderMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:signingGroupIdMetadata, :struct, PropertyMetadata)
|> Deserializer.deserialize(:signingGroupUsers, :list, UserInfo)
|> Deserializer.deserialize(
:smsAuthentication,
:struct,
RecipientSmsAuthentication
)
|> Deserializer.deserialize(
:socialAuthentications,
:list,
SocialAuthentication
)
end
end