Invalid_request_parameter(创建和发送信封)

时间:2016-09-05 15:18:36

标签: rest docusignapi

我试图在abap项目中使用DocuSign API服务。我想将文档发送到特定的电子邮件,以便签名。但我得到以下错误:

" errorCode":" INVALID_REQUEST_PARAMETER",##" message":"请求包含至少一个无效参数。查询参数' from_date'必须设置为有效的DateTime,或者' envelope_ids'或者' transaction_ids'必须指定。

我尝试了以下内容:

  CALL METHOD cl_http_client=>create_by_url
    EXPORTING
     url                = l_url (https://demo.docusign.net/restapi/v2/accounts/XXXXXX')
     proxy_host         = co_proxy_host
     proxy_service      = co_proxy_service
    IMPORTING
     client             = lo_http_client

lo_http_client->request->set_method( method = 'POST').

    CALL METHOD lo_http_client->request->set_header_field
  EXPORTING
    name  = 'Accept'
    value = 'application/json'.


CALL METHOD lo_http_client->request->set_header_field
  EXPORTING
    name  = 'X-DocuSign-Authentication'
    value = get_auth_header( ). (json auth header)

CALL METHOD lo_http_client->request->set_cdata
  EXPORTING
    data = create_body( ).

这是我的身体:

  CONCATENATE
`{`
  `"emailSubject": "DocuSign REST API Quickstart Sample",`
  `"emailBlurb": "Shows how to create and send an envelope from a document.",`
  `"recipients": {`
   `"signers": [{`
     `"email": "test@email",`
     `"name": "test",`
     `"recipientId": "1",`
     `"routingOrder": "1"`
   `}]`
  `},`
  `"documents": [{`
   `"documentId": "1",`
   `"name": "test.pdf",`
   `"documentBase64":` `"` l_encoded_doc `"`
  `}],`
  `"status": "sent"`
`}` INTO re_data.

获得Baseurl的api请求工作正常。 (我知道错误是非常具体的问题是什么,但我无法在docusign api文档中找到任何上述参数之一应该添加到请求中)

谢谢你

3 个答案:

答案 0 :(得分:1)

错误消息似乎表明您要发送到需要某些查询字符串参数的端点 - 但您没有在查询字符串中按预期指定它们。我建议您查看DocuSign API文档以了解您正在使用的操作,以确定它需要哪些查询字符串参数,然后确保在请求URL中包含这些参数。

如果您无法使用文档解决这个问题,那么我建议您更新帖子以明确说明您正在使用的请求的URL(端点),包括您在其中指定的任何查询字符串参数URL。你可以为账户ID之类的东西设置假值 - 当然 - 我们只需要看到你正在调用的端点,以及你发送的qs params。

答案 1 :(得分:1)

要创建信封,请使用

https://demo.docusign.net/restapi/v2/accounts/XXXXXX/envelopes

而不是

https://demo.docusign.net/restapi/v2/accounts/XXXXXX

答案 2 :(得分:0)

谢谢你的所有答案,我发现了错误。创建请求不是问题所在。我使用了错误的“发送”方法-_-。

现在正在工作:)

lo_rest_client-> post(EXPORTING io_entity = lo_request_entity)。