2016-07-15 1 views
0

생성 된 봉투 수신자에게 앱을 보내기 위해 RecipientView를 만들려고합니다. DocuSign의 최신 API를 사용하려면 서명해야하는 문서를 작성한 사람이 입력 한 userName, 수신자의 전자 메일 인 email 및 수신자를 인증하는 발신자 생성 문자열 값인 clientUserId이 필요합니다. 서명 양식을 호스트하기 위해 RecipientView를 생성 할 수있는 임베디드 서명자.REST API를 사용하여 DocuSign에서 수신자에 대한 clientUserId를 설정하는 방법은 무엇입니까?

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"]; 

이 코드 작업을 수행합니다. 이 요청 후 DocuSign의의 반환 JSON이 있어야한다 : 그러나

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

, 나는 DocuSign의 계정의 관리하지 않은받는 사람 얻는 수익은 다음과 같습니다 나는 clientUserId 설정 믿지

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

입니다 documentationclientUserId으로 설정해야하며 전화를 걸 때 값을 만들지 않기 때문에이 이유가 있습니다. 수신자의 clientUserId을 REST API를 통해 어떻게 설정합니까?

업데이트 :이 시나리오에서는 봉투를 만들고 보내지 않습니다. 그게 내 애플 리케이션을 통해 가지고 클라이언트에 의해 이루어질 것이며, 대부분의 사람들은 API가 아니라 웹 인터페이스를 사용하게 될 것입니다. 통합 키, 액세스 토큰, 봉투 ID, 계정 ID 등을 포함한 각 클라이언트의 관리자 계정에 관한 모든 정보에 액세스 할 수 있습니다.

답변

1

임베디드 서명 (일명받는 사람보기)에는 두 가지 호출이 필요합니다 하다. 첫 번째 로그인 API를 포함하여 실제로는 3 개의 호출이 있지만 실제로 작동하는 것처럼 들리므로 다른 두 개에 초점을 맞 춥니 다.

1 단계 : 포함 된받는 사람이있는 봉투를 만듭니다. 수신자를 추가 할 때 name, email, recipientIdclientUserId을 설정해야합니다.

2 단계 : 서명자의 봉투 수신자보기를 요청하십시오. createRecipient API와 당신이 Signing from Within your App 단계에서 1 (즉 name, email, recipientIdclientUserId)

체크 아웃 설정받는 사람에 대한 값의 똑같은 세트를 참조해야합니다 : 그래서 당신이 EnvelopeViews를 호출 할 필요가 수행 API 전체 코드 샘플의 Recipe.

+0

내가 실수 한 점은 clientUserId를 설정하지 않고 있다는 것입니다.엔벨로프 생성시 필드를 제어 할 수 없으므로 내장 서명자 url을 호출하기 전에 clientUserId를 설정해야했습니다. – Jodo1992