# NOTE: This file is auto generated by OpenAPI Generator # 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.RecipientProofFile alias DocuSign.Model.RecipientSmsAuthentication alias DocuSign.Model.SocialAuthentication alias DocuSign.Model.UserInfo 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, :proofFile, :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 ] @doc false defimpl Jason.Encoder, for: __MODULE__ do def encode(struct, opts) do struct |> Map.from_struct() |> Enum.reject(fn {_k, v} -> is_nil(v) end) |> Map.new() |> Jason.Encode.map(opts) end end @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, :proofFile => RecipientProofFile.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( :proofFile, :struct, RecipientProofFile ) |> 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 ) |> then(&struct(__MODULE__, &1)) end end