Docusign Rails获取状态

时间:2014-11-13 06:02:28

标签: ruby-on-rails ruby docusignapi

我在Ruby on Rails应用程序中实现了Docusign。 我试图获取发送文件的状态。 我可以使用像这样的信封ID轻松地逐一获取它。

response = client.get_envelope_recipients(
   envelope_id: envelope_id
)

问题是我有一个显示已发送文档列表的页面,我想显示每个文档的状态以及此列表。因此,使用envelope_id逐个获取每个文档的状态是困难且耗时的。

有什么方法可以获取从同一帐户发送的信封列表的状态。 我还想知道是否有一些我可以做的事情,以便在用户签署文档后,它会被重定向到特定的URL(然后我可以在用户签署文档时立即更新数据库)

1 个答案:

答案 0 :(得分:1)

是的,DocuSign平台确实允许您在单个API调用中查询一组包络而不是每个信封ID一个一个,您只需要进行正确的API调用。查看Ruby library you have referenced,看起来他们已经包含了这个电话,它被称为get_envelope_statuses,它可以让您通过日期范围和状态查询信封:

# Public retrieves the statuses of envelopes matching the given query
#
# from_date      - Docusign formatted Date/DateTime. Only return items after this date.
#
# to_date        - Docusign formatted Date/DateTime. Only return items up to this date.
#                  Defaults to the time of the call.
#
# from_to_status - The status of the envelope checked for in the from_date - to_date period.
#                  Defaults to 'changed'
#
# status         - The current status of the envelope. Defaults to any status.
#
# Returns an array of hashes containing envelope statuses, ids, and similar information.
def get_envelope_statuses(options={})
  content_type = { 'Content-Type' => 'application/json' }
  content_type.merge(options[:headers]) if options[:headers]

  query_params = options.slice(:from_date, :to_date, :from_to_status, :status)
  uri = build_uri("/accounts/#{acct_id}/envelopes?#{query_params.to_query}")

  http     = initialize_net_http_ssl(uri)
  request  = Net::HTTP::Get.new(uri.request_uri, headers(content_type))
  response = http.request(request)

  JSON.parse(response.body)
end

以下是来自DocuSign REST API Documentation的相应API调用。