2016-07-15 2 views
0

Я пытаюсь создать RecipientView для отправки через приложение получателям создаваемых конвертов. С новым API-интерфейсом DocuSign для этого требуется userName, который вводится лицом, создающим документ, который должен быть подписан, email, который является только адресом электронной почты получателя, и clientUserId, который является строковым значением отправителя, которое аутентифицирует получателя как встроенный подписчик, чтобы можно было создать RecipientView для проведения церемонии подписания.Как установить clientUserId для получателя в DocuSign с помощью API REST?

DocuSign ссылки документации, что мне нужно установить clientUserId, но это не говоря уже о том, как к делать это, кроме, когда оболочка создается через API. Однако в этом случае конверты будут созданы клиентом DocuSign Admin через шаблоны на реальном веб-интерфейсе, а - не через API.

Мой код для генерации RecipientView все готово здесь:

$url = "https://demo.docusign.net/restapi/v2/accounts/$account_id/envelopes/$envelope_id/views/recipient"; 

$body = array("returnUrl" => "http://www.docusign.com/devcenter", 
       "authenticationMethod" => "None", 
       "email" => "$email", 
       "userName" => "$name", 
       "recipientId" => "$recipientId", 
       "clientUserId" => "1000" 
); 

$body_string = json_encode($body); 

$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Accept: application/json', 
    'Content-Type: application/json', 
    'Content-Length: '.strlen($body_string), 
    "Authorization: Bearer $access_token" 
)); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $body_string); 
$json_response = curl_exec($curl); 

$status = curl_getinfo($curl, CURLINFO_HTTP_CODE); 

if ($status != 201){ 
    die('Could not connect to end point: '.mysqli_error($conn)); 
} 

$response = json_decode($json_response, true); 
$url = $response["url"]; 

Этот код делает работу, когда встроенный подписавшего учетная запись администратора, но не тогда, когда конверт отправляется к фактическому получателю. Возвращение JSON из DocuSign после этого запроса должно быть:

{ 
    "url": "example.example.com" 
} 

Однако возвращение я для получателей, которые не Администратор счета DocuSign является:

{ 
    "errorCode": "UNKNOWN_ENVELOPE_RECIPIENT", 
    "message": "The recipient you have identified is not a valid recipient of the 
       specified envelope." 
} 

Я считаю, не устанавливая clientUserId является причина этого, так как documentation говорит, что мне нужно установить clientUserId, а не просто создавать значение при совершении вызова. Как установить получателя clientUserId через REST API?

ОБНОВЛЕНИЕ: В этом случае я не буду создавать и отправлять конверты. Это будет сделано клиентами, которые у меня есть через мое приложение, и большинство из них, скорее всего, будут использовать веб-интерфейс для этого, а не API. У меня есть доступ ко всей информации об учетной записи администратора для каждого клиента, включая ключ Integrator, токены доступа, идентификаторы конвертов, идентификаторы учетных записей и т. Д.

ответ

1

Для встроенной подписи (aka Recipient View) есть два вызова, делать. Ну, фактически, 3 вызова, включая исходный API входа, но похоже, что у вас это работает, поэтому я сосредоточусь на двух других.

Шаг №1: Создайте конверт со встроенным получателем. При добавлении получателя убедитесь, что вы установили их name, email, recipientId и clientUserId.

Шаг №2: Запросите получателя Вид конверта для вашего подписывающего лица. Для этого вам необходимо позвонить в EnvelopeViews: createRecipient API, и вы должны ссылаться на один и тот же точный набор значений для получателя, которые вы установили на шаге 1 (т.е. name, email, recipientId и clientUserId)

Отъезд Signing from Within your App API-рецепт для полного кода.

+0

Ошибка, которую я делал, не устанавливала clientUserId.Поскольку я не могу управлять этим полем при создании конверта, мне нужно было установить clientUserId перед тем, как сделать вызов для встроенного URL-адреса подписчика. – Jodo1992

 Смежные вопросы

  • Нет связанных вопросов^_^