# NOTE: This class is auto generated by the swagger code generator program. # https://github.com/swagger-api/swagger-codegen.git # Do not edit the class manually. defmodule DocuSign.Api.EnvelopeDocumentFields do @moduledoc """ API calls for all endpoints tagged `EnvelopeDocumentFields`. """ alias DocuSign.Connection import DocuSign.RequestBuilder @doc """ Deletes custom document fields from an existing envelope document. Deletes custom document fields from an existing envelope document. ## Parameters - connection (DocuSign.Connection): Connection to server - account_id (String.t): The external account number (int) or account ID Guid. - document_id (String.t): The ID of the document being accessed. - envelope_id (String.t): The envelope's GUID. Eg 93be49ab-afa0-4adf-933c-f752070d71ec - opts (KeywordList): [optional] Optional parameters - :envelope_document_fields (EnvelopeDocumentFields): ## Returns {:ok, %DocuSign.Model.EnvelopeDocumentFields{}} on success {:error, info} on failure """ @spec document_fields_delete_document_fields( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, DocuSign.Model.EnvelopeDocumentFields.t()} | {:error, Tesla.Env.t()} def document_fields_delete_document_fields( connection, account_id, document_id, envelope_id, opts \\ [] ) do optional_params = %{ EnvelopeDocumentFields: :body } %{} |> method(:delete) |> url("/v2/accounts/#{account_id}/envelopes/#{envelope_id}/documents/#{document_id}/fields") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%DocuSign.Model.EnvelopeDocumentFields{}) end @doc """ Gets the custom document fields from an existing envelope document. Retrieves the custom document field information from an existing envelope document. ## Parameters - connection (DocuSign.Connection): Connection to server - account_id (String.t): The external account number (int) or account ID Guid. - document_id (String.t): The ID of the document being accessed. - envelope_id (String.t): The envelope's GUID. Eg 93be49ab-afa0-4adf-933c-f752070d71ec - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %DocuSign.Model.EnvelopeDocumentFields{}} on success {:error, info} on failure """ @spec document_fields_get_document_fields( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, DocuSign.Model.EnvelopeDocumentFields.t()} | {:error, Tesla.Env.t()} def document_fields_get_document_fields( connection, account_id, document_id, envelope_id, _opts \\ [] ) do %{} |> method(:get) |> url("/v2/accounts/#{account_id}/envelopes/#{envelope_id}/documents/#{document_id}/fields") |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%DocuSign.Model.EnvelopeDocumentFields{}) end @doc """ Creates custom document fields in an existing envelope document. Creates custom document fields in an existing envelope document. ## Parameters - connection (DocuSign.Connection): Connection to server - account_id (String.t): The external account number (int) or account ID Guid. - document_id (String.t): The ID of the document being accessed. - envelope_id (String.t): The envelope's GUID. Eg 93be49ab-afa0-4adf-933c-f752070d71ec - opts (KeywordList): [optional] Optional parameters - :envelope_document_fields (EnvelopeDocumentFields): ## Returns {:ok, %DocuSign.Model.EnvelopeDocumentFields{}} on success {:error, info} on failure """ @spec document_fields_post_document_fields( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, DocuSign.Model.EnvelopeDocumentFields.t()} | {:error, Tesla.Env.t()} def document_fields_post_document_fields( connection, account_id, document_id, envelope_id, opts \\ [] ) do optional_params = %{ EnvelopeDocumentFields: :body } %{} |> method(:post) |> url("/v2/accounts/#{account_id}/envelopes/#{envelope_id}/documents/#{document_id}/fields") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%DocuSign.Model.EnvelopeDocumentFields{}) end @doc """ Updates existing custom document fields in an existing envelope document. Updates existing custom document fields in an existing envelope document. ## Parameters - connection (DocuSign.Connection): Connection to server - account_id (String.t): The external account number (int) or account ID Guid. - document_id (String.t): The ID of the document being accessed. - envelope_id (String.t): The envelope's GUID. Eg 93be49ab-afa0-4adf-933c-f752070d71ec - opts (KeywordList): [optional] Optional parameters - :envelope_document_fields (EnvelopeDocumentFields): ## Returns {:ok, %DocuSign.Model.EnvelopeDocumentFields{}} on success {:error, info} on failure """ @spec document_fields_put_document_fields( Tesla.Env.client(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, DocuSign.Model.EnvelopeDocumentFields.t()} | {:error, Tesla.Env.t()} def document_fields_put_document_fields( connection, account_id, document_id, envelope_id, opts \\ [] ) do optional_params = %{ EnvelopeDocumentFields: :body } %{} |> method(:put) |> url("/v2/accounts/#{account_id}/envelopes/#{envelope_id}/documents/#{document_id}/fields") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> decode(%DocuSign.Model.EnvelopeDocumentFields{}) end end