从返回的模板创建信封" UNSPECIFIED_ERROR"

时间:2016-01-27 20:12:55

标签: javascript node.js docusignapi

当我尝试从模板创建信封时,我会收到以下回复:

{ errorCode: 'UNSPECIFIED_ERROR',
  message: 'Non-static method requires a target.' }

这是我到目前为止所做的事情:

首先我登录,返回

 { loginAccounts: 
   [ { name: '*****',
       accountId: '*****',
       baseUrl: 'https://demo.docusign.net/restapi/v2/accounts/******',
       isDefault: 'true',
       userName: '***** ********',
       userId: '*******-*****-*****-*****-*********',
       email: '********@*******.com',
       siteDescription: '' } ] }

然后我从该响应中取出baseUrl并尝试创建信封。我使用hapi框架和异步库的async.waterfall,所以对于不熟悉其中任何一个的人,我使用异步库使用next回调来调用下一个函数case将是获取iframe的url,并且我们使用hapi框架AppServer.Wreck粗略等同于request

    function prepareEnvelope(baseUrl, next) {
        var createEntitlementTemplateId = "99C44F50-2C97-4074-896B-2454969CAEF7";
        var getEnvelopeUrl  = baseUrl + "/envelopes";
        var options = {
            headers: {
                "X-DocuSign-Authentication": JSON.stringify(authHeader),
                "Content-Type": "application/json",
                "Accept": "application/json",
                "Content-Disposition": "form-data"
            },
            body : JSON.stringify({
                status: "sent",
                emailSubject: "Test email subject",
                emailBlurb: "My email blurb",
                templateId: createEntitlementTemplateId,
                templateRoles: [
                    {
                        email: "anemailaddress@gmail.com",
                        name: "Recipient Name",
                        roleName: "Signer1",
                        clientUserId: "1099", // TODO: replace with the user's id
                        tabs : {
                            textTabs : [
                                {
                                     tabLabel : "acct_nmbr",
                                     value : "123456"
                                },
                                {
                                    tabLabel : "hm_phn_nmbr",
                                    value : "8005882300"
                                },
                                {
                                    tabLabel : "nm",
                                    value : "Mr Foo Bar"
                                }
                            ]
                        }
                    }
                ]
            })
        };

        console.log("--------> options: ", options); // REMOVE THIS ====

        AppServer.Wreck.post(getEnvelopeUrl, options, function(err, res, body) {
            console.log("Request Envelope Result: \r\n", JSON.parse(body));
            next(null, body, baseUrl);
        });
    }

我得到的是:

 { errorCode: 'UNSPECIFIED_ERROR',
  message: 'Non-static method requires a target.' }

通过一点谷歌搜索看起来像“非静态方法需要一个目标。”#39;是一个C#错误,并没有真正告诉我配置对象的哪个部分是错误的。

我尝试过这个调用的更简单版本,删除所有标签和clientUserId,我得到相同的响应。

我在Docusign网站上创建了我的模板,并且我没有排除在那里设置错误的东西。我创建了一个模板,确认Docusign注意到了命名的表单字段,并创建了一个“占位符”' templateRole。

这里是templateRole占位符: placeholder templateRole

这是我要填充的一个命名字段和相应的数据标签: named form fields

作为旁注,我能够使基本的vanilla示例在没有命名字段的情况下工作,也不能使用docusign节点包使用模板,但是我没有看到任何方式使用带有命名表单字段的选项卡图书馆并决定我对我正在做的事情进行更细粒度的控制,所以我选择了点击API。

令我惊讶的是,当我在搜索错误代码和消息时,我只能找到一个没有解决方案的帖子:/

当然,任何帮助将不胜感激。如果您需要任何其他信息,请随时与我们联系。

1 个答案:

答案 0 :(得分:5)

一旦我收到Docusign的反馈,我的api电话有一个空的身体,我花了几分钟时间才意识到问题是我的选项对象包含body属性而不是{{ 1}}属性,就像hapi框架中所做的那样。

相关问题