我试图在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文档中找到任何上述参数之一应该添加到请求中)
谢谢你
答案 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)。