簡體   English   中英

如何使用不同的憑證重新初始化Docusign PHP API

[英]How to re-initialize the Docusign PHP API with different credentials

我們有一種情況,我們需要在兩個單獨的Docusign帳戶中檢查信封狀態。 如果我們沒有在第一個狀態中獲得狀態,我們想檢查第二個。

我在使用第二個帳戶的憑據重新初始化API時遇到麻煩。 我用新變量來稱呼這個片段:

require_once('docusign/SignatureApi.php');
$IntegratorsKey = "abcd";
$UserID = "dave@account.com";
$Password = "xxxxx";
$_apiEndpoint = $Endpoint;
$_apiWsdl = "docusign/api/APIService.wsdl";
$api_options =  array('location'=>$_apiEndpoint,'trace'=>true,'features' => SOAP_SINGLE_ELEMENT_ARRAYS);
$api = new APIService($_apiWsdl, $api_options);
$api->setCredentials("[" . $IntegratorsKey . "]" . $UserID, $Password);

$res = RequestEnvelopStatuses($envelopes);
$envelopeStatuses = $res->RequestStatusesResult;

if(!count($envelopeStatuses->EnvelopeStatuses->EnvelopeStatus)){
  // If we did not find envelopes, check other account
  $IntegratorsKey = "wxyz";
  $UserID = "fred@altaccount.com";
  $Password = "xxxxx";
  $api->setCredentials("[" . $IntegratorsKey . "]" . $UserID, $Password);
  // retry request
  $res = RequestEnvelopStatuses($envelopes);
  $envelopeStatuses = $res->RequestStatusesResult;
}

它不會返回錯誤,但是也不會返回信封狀態。 它似乎仍然使用第一個憑據(猜測)。 無論第一次嘗試執行什么,第二次嘗試似乎總是返回。

有沒有更好/更好的方法來做到這一點?

這似乎不是獲取信封狀態的正確方法。 也許這就是為什么您找不到它們並嘗試再次查看的原因?

// Create a filter using account ID and today as a start time 
$envStatusFilter = new EnvelopeStatusFilter();
$envStatusFilter->AccountId = $AccountID;
$beginDateTime = new EnvelopeStatusFilterBeginDateTime();
$beginDateTime->_ = todayXsdDate(); // note that this helper function
                                    // is in CodeSnippets/include/utils.php
                                    // in the PHP SDK
$envStatusFilter->BeginDateTime = $beginDateTime;

// Send
$requestStatusesparams = new RequestStatuses();
$requestStatusesparams->EnvelopeStatusFilter = $envStatusFilter;
$response = $api->RequestStatuses($requestStatusesparams);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM