DocuSign API - 与REST发送的信封但未返回状态

时间:2016-07-27 14:57:27

标签: rest docusignapi

我一直在使用GitHub上提供的DocuSign REST API解决方案大约三个月,没有任何问题,直到最后一小时。我可以创建一个信封,为字段放置创建一个嵌入视图,并将嵌套信封保存在嵌入视图中。但是,当我然后使用SendEnvelope方法时,我得到的状态为Any back而不是Sent。这是预期的。

进一步查看它时,response.Content属性是完全空的,因此Deserialize方法无法正确创建EnvelopeStatus对象以返回到我的代码(它基本上是一个空实例)。其他REST调用似乎没有发生这种情况,并且今天似乎只发生在SendEnvelope方法上。 API是否已更改,或者这是一个刚刚出现的错误?

编辑我应该声明这是在演示网站上。

随附的

进一步编辑是用于更改状态的代码:

 public ApiResponse<EnvelopeStatus> SendEnvelopeWithHttpInfo(string envelopeId, string accountId)
    {
        // verify the required parameters 'accountId' and 'envelopeId' are set
        if (String.IsNullOrEmpty(accountId)) throw new ApiException(400, "Missing required parameter 'accountId' when calling SendEnvelopeWithHttpInfo");
        if (String.IsNullOrEmpty(envelopeId)) throw new ApiException(400, "Missing required parameter 'envelopeId' when calling SendEnvelopeWithHttpInfo");

        var path_ = "/v2/accounts/{accountId}/envelopes/{envelopeId}/";

        var pathParams = new Dictionary<String, String>();
        var queryParams = new Dictionary<String, String>();
        var headerParams = new Dictionary<String, String>(Configuration.DefaultHeader);
        var formParams = new Dictionary<String, String>();
        var fileParams = new Dictionary<String, FileParameter>();
        String postBody = null;

        // to determine the Accept header
        String[] http_header_accepts = new String[] {
            "application/json"
        };
        String http_header_accept = Configuration.ApiClient.SelectHeaderAccept(http_header_accepts);
        if (http_header_accept != null)
            headerParams.Add("Accept", Configuration.ApiClient.SelectHeaderAccept(http_header_accepts));

        // set "format" to json by default
        // e.g. /pet/{petId}.{format} becomes /pet/{petId}.json
        pathParams.Add("format", "json");
        if (accountId != null) pathParams.Add("accountId", Configuration.ApiClient.ParameterToString(accountId)); // path parameter
        if (envelopeId != null) pathParams.Add("envelopeId", Configuration.ApiClient.ParameterToString(envelopeId)); // path parameter

        postBody = "{\"status\":\"sent\"}";

        // make the HTTP request
        IRestResponse response = (IRestResponse)Configuration.ApiClient.CallApi(path_, Method.PUT, queryParams, postBody, headerParams, formParams, fileParams, pathParams);

        int statusCode = (int)response.StatusCode;

        if (statusCode >= 400)
            throw new ApiException(statusCode, "Error calling SendEnvelopeWithHttpInfo: " + response.Content, response.Content);
        else if (statusCode == 0)
            throw new ApiException(statusCode, "Error calling SendEnvelopeWithHttpInfo: " + response.ErrorMessage, response.ErrorMessage);


        return new ApiResponse<EnvelopeStatus>(statusCode,
            response.Headers.ToDictionary(x => x.Name, x => x.Value.ToString()),
            (EnvelopeStatus)Configuration.ApiClient.Deserialize(response, typeof(EnvelopeStatus)));
    }

1 个答案:

答案 0 :(得分:0)

DocuSign Engineering的回复:

这是设计的。 200响应表示更新操作成功。响应主体在设计上为空。

(DS Engineering于2016年9月9日结束了此报告。直到现在我才注意到该决议。)