来自CodeIgniter的Docusign REST调用

时间:2013-09-10 16:51:58

标签: php codeigniter rest docusignapi

我正在尝试在CodeIgniter应用程序中调用DocuSign REST登录信息。 Docusign示例代码显示:

// Input your info here:
$integratorKey = '...';
$email = '...@....com';
$password = '...';
$name = 'John Doe';

// construct the authentication header:
$header = "<DocuSignCredentials><Username>" . $email . "</Username><Password>" . $password . "</Password><IntegratorKey>" . $integratorKey . "</IntegratorKey></DocuSignCredentials>";

/////////////////////////////////////////////////////////////////////////////////////////////////
// STEP 1 - Login (to retrieve baseUrl and accountId)
/////////////////////////////////////////////////////////////////////////////////////////////////
$url = "https://demo.docusign.net/restapi/v2/login_information";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-DocuSign-Authentication: $header"));

$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);

if ( $status != 200 ) {
    echo "error calling webservice, status is:" . $status;
    exit(-1);
}

我一直得到0的状态响应。当我回应卷曲时,所有xml标签都已转换为小写(这对Docusign不起作用)。有没有人在CodeIgniter中完成此调用?你是怎么做到的?我知道我的凭据很好,因为我可以执行命令行卷曲并获得响应。

1 个答案:

答案 0 :(得分:0)

我不确定CodeIgniter正在做什么以及为什么标签会转换为小写但你是对的,因为DocuSign期望xml标签以大写字母开头,这样可能无效。但是,你可以做的是使用JSON头和请求体。

例如,而不是像

那样的XML格式的身份验证标头
<DocuSignCredentials>
  <Username>username</Username>
  <Password>password</Password>
  <IntegratorKey>integrator_key</IntegratorKey>
</DocuSignCredentials>

您可以使用相应的JSON身份验证标头,如

{
    "Username": "username",
    "Password": "password",
    "IntegratorKey": "integrator_key"
}

“节点”仍然以大写字母开头,但由于它不是xml,我想知道CodeIgniter是否可能不管它。有关此问题的示例,请参见DocuSign Developer Center上的this page