2016-03-16 2 views
1

Я испытываю проблемы с подключением к демонстрационному API
https://demo.docusign.net/restapi
Для подключения к API Я использую код, предоставленный ниже. Это хорошо работает для моего коллеги из США, но когда я пытаюсь подключиться из Литвы, есть нулевой ответ.

Могут ли быть какие-либо ограничения на местоположение, или я чего-то не хватает?
Должно ли быть какой-то особенностью в стене огня (я под NAT)?
Требуется ли для моего локального сервера php/http определенная конфигурация?DocuSign апи Connect

$email = "some email @ fsdfdsf"; 
$integratorKey = "TEST-xxxxxxxxxxx"; 
$password = "some password"; 

$url = "https://demo.docusign.net/restapi/v2/login_information?include_account_id_guid=true"; 
$header = "<DocuSignCredentials><Username>" . $email . "</Username><Password>" . $password . "</Password><IntegratorKey>" . $integratorKey . "</IntegratorKey></DocuSignCredentials>"; 

$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){ 
    $response = json_decode($json_response, true); 
    print_r(json_encode($response['loginAccounts'][0])); 
}else{ 
    print_r($json_response); 
} 
+0

Это, конечно, возможно, что ваш брандмауэр предотвращения доступа. Какую HTTP-ошибку вы получаете? FYI диапазоны IP-адресов DocuSign (если вам нужно обновить свои правила FW) можно получить по адресу: https://trust.docusign.com/en-us/trust-certifications/ip-ranges/ –

+0

Мне удалось получить учетную запись через клиента REST. Но как получить ответ через PHP, я готов использовать php docusign client v2 – Vid

+0

Я получаю сообщение об ошибке при входе через API и в unittest - та же ошибка. Есть часть сообщения об ошибке:
Была 1 ошибка: 1) UnitTests :: testLogin DocuSign \ eSign \ ApiException: вызов API для https://demo.docusign.net/restapi/v2/login_information истекает: a : 26: {s: 3: "URL"; s: 54: "https://demo.docusign.net/restapi/v2/login_information"; s: 12: "content_type", N; s: 9: "HTTP_CODE "; i: 0; s: 1 .............. :" 162.248.186.25 "; s: 8:" certinfo "; a: 0: {} s: 12: "prim ary_port"; i: 443; s: 8: "local_ip"; s: 13: "192.168.1.126"; s: 10: "local_port"; i: 38635;} C: \ xampp \ htdocs \ localbits \ ds \ docusign \ src \ ApiClient.php: 233 – Vid

ответ

1

Я нашел то, что останавливалось, чтобы работать с исходным кодом выше. На моем локальном сервере ssl не был подписан. Так просто и только в тестовой среде быстро исправить может отключить проверку SSL на завитка:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

или получить подписанную Ssl титула.

0

Компания DocuSign не применяет никаких ограничений местоположения для клиентов API.

Вы можете проверить, что ваш брандмауэр разрешает подключения к DocuSign, пытаясь использовать эту услугу в своем веб-браузере. Попробуйте demo.docusign.net

Вы также можете использовать ваш браузер directly access a method in the API server that provides information on the API service points.

Если это работает, то вы знаете, что проблема в вашем коде API. Если это так, сначала попробуйте один из API recipes.

Если у вас нет доступа к веб-службе, проверьте настройки брандмауэра.

+0

Я нашел baseUrl, но я не могу получить к нему доступ, мне нужно сделать запрос https://demo.docusign.net/restapi/v2/accounts/XXX/envelopes/ acdf93aa-f1f1-4ba0-a6f6-8883c6d20251/документы/1 – FosAvance

+0

Правильно. Помните https: // в начале. –

+0

Есть ли способ получить документы из библиотеки PHP DocuSign? – FosAvance

1

Это, как я ее решил, я добавил $config->setSSLVerification(false); вт отключить проверку SSL

$username = "[email protected]"; 
$password = "XXX"; 
$integrator_key = "some_key";  

// change to production before going live 
//https://www.docusign.net/restapi 
//https://www.docusign.com/p/RESTAPIGuide/Content/GettingStarted/REST%20API%20Version.htm 
$host = "https://demo.docusign.net/restapi"; 

// create a new DocuSign configuration and assign host and header(s) 
$config = new \DocuSign\eSign\Configuration(); 
$config->setHost($host); 
$config->setSSLVerification(false); 
$config->addDefaultHeader("X-DocuSign-Authentication", "{\"Username\":\"" . $username . "\",\"Password\":\"" . $password . "\",\"IntegratorKey\":\"" . $integrator_key . "\"}"); 
// instantiate a new docusign api client 
$apiClient = new \DocuSign\eSign\ApiClient($config); 
Смежные вопросы