2015-07-14 2 views
4

У меня есть API для настройки учетной записи демо. До сих пор мне удалось создать запрос подписи, полученный моим демо-контактом. Я хотел бы использовать часть Embedded Signing API для загрузки представления получателя в Envelope, но я получаю любой из этих двух ответов (см. Ниже).Как загрузить встроенный запрос подписи с идентификатором конверта в DocuSign?

У меня есть ID конверта, я знаю адрес электронной почты и имя пользователя (только) получателя, и я могу видеть эту информацию в пользовательском интерфейсе Sandbox.

Мой запрос имеет ту же самую строку ключа авторизации JSON, которая используется для создания конверта.

Вот два примера полезных нагрузок Посылаю (X Заменим чувствительную информацию):

Запрос:

POST /restapi/v2/accounts/110XXXX/envelopes/7dee22f3-90e6-44b0-be6b-XXXXXXX/views/recipient HTTP/1.1 
X-DocuSign-Authentication: {"Username":"a312a32d-df78-423e-b916-XXXXXXXXX","Password":"XXXXXX","IntegratorKey":"CONN-18a3c56f-f776-40db-8e33-XXXXXXXXX"} 
Accept: application/json 
Content-Type: application/json 
Cookie: BIGipDocuSign=!aI+3n7V3fB0xBxEb7loYjpEeRwCxTKC4na93ET3RH8aETpEeGTqTaKaY1y6ui+nhmrX85Xa90CfKgfk= 
Host: demo.docusign.net 
Connection: close 
Content-Length: 186 

{ 
    "authenticationMethod": "email", 
    "email": "[email protected]", 
    "returnUrl": "http://lvh.me:3000", 
    "userName": "John Smith", 
    "clientUserId":"21" 
} 

Ответ:

HTTP/1.1 400 Bad Request 
Cache-Control: no-cache 
Content-Length: 152 
Content-Type: application/json; charset=utf-8 
X-RateLimit-Reset: 1436846400 
X-RateLimit-Limit: 1000 
X-RateLimit-Remaining: 998 
Date: Tue, 14 Jul 2015 03:43:01 GMT 
Connection: close 
Set-Cookie: BIGipDocuSign=!aI+3n7V3fB0xBxEb7loYjpEeRwCxTKC4na93ET3RH8aETpEeGTqTaKaY1y6ui+nhmrX85Xa90CfKgfk=;secure; path=/ 
Strict-Transport-Security: max-age=31536000; includeSubDomains 

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

----- ИЛИ - ---

Запрос:

POST /restapi/v2/accounts/110XXXX/envelopes/7dee22f3-90e6-44b0-be6b-XXXXXXX/views/recipient HTTP/1.1 
X-DocuSign-Authentication: {"Username":"a312a32d-df78-423e-b916-XXXXXXXXX","Password":"XXXXXX","IntegratorKey":"CONN-18a3c56f-f776-40db-8e33-XXXXXXXXX"} 
Accept: application/json 
Content-Type: application/json 
Cookie: BIGipDocuSign=!aI+3n7V3fB0xBxEb7loYjpEeRwCxTKC4na93ET3RH8aETpEeGTqTaKaY1y6ui+nhmrX85Xa90CfKgfk= 
Host: demo.docusign.net 
Connection: close 
Content-Length: 158 

{ 
    "authenticationMethod": "email", 
    "email": "[email protected]", 
    "returnUrl": "http://lvh.me:3000", 
    "userName": "John Smith" 
} 

Ответ:

HTTP/1.1 400 Bad Request 
Cache-Control: no-cache 
Content-Length: 140 
Content-Type: application/json; charset=utf-8 
X-RateLimit-Reset: 1436846400 
X-RateLimit-Limit: 1000 
X-RateLimit-Remaining: 997 
Date: Tue, 14 Jul 2015 03:53:06 GMT 
Connection: close 
Set-Cookie: BIGipDocuSign=!J6eG9xlLFCmIIZgb7loYjpEeRwCxTPgRydEJMtaaTaMNaqpZpXKRTbRGctfwEWaI3Ptas3QeaupEj2o=;secure; path=/ 
Strict-Transport-Security: max-age=31536000; includeSubDomains 

{ 
    "errorCode": "ACCOUNT_NOT_AUTHORIZED_FOR_ENVELOPE", 
    "message": "This account is not authorized to access the requested envelope." 
} 
+0

Чтобы сделать внедренный подписания, вам обязательно нужно включить clientUserID. Учитывая то, что вы сказали о используемых учетных данных, я рекомендовал бы проверку здравомыслия в отношении фактических данных получателей, чтобы убедиться, что вы указываете ТОЧНОЕ одноименное имя/email @/clientUserID, которое, по вашему мнению, связано с этим подписывающим лицом. Я рекомендую делать GET в/end/end//конечной точке получателей и проверять содержимое –

+0

Они действительно то же самое. Что должно содержать 'clientUserID'? –

+1

Когда вы создаете конверт через API, указание идентификатора clientUserID для получателя означает, что подписывающий/получатель сможет подписывать это только через встроенную подпись. Они не получат электронное письмо, чтобы начать подписку с DocuSign. Короче говоря, если clientUserID существует = встроенная подпись, clientUserID не существует = удаленное/инициированное по электронной почте подписание. Я бы рекомендовал проверить нашу документацию для получения дополнительной информации. Re: clientUserID: https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Recipients/Signers%20Recipient.htm?Highlight=clientuserid –

ответ

1

Я рекомендую после Quickstart и документации, найденной в Центре разработчиков DocuSign. В быстром старте есть целый раздел, который объясняет Embedded Signing, а также есть страница функций, посвященная Embedding functionality, которая содержит всю необходимую информацию.


Шаг 1: Создайте конверт с вложенном Получателем

Для обозначения получателя вложенного (то есть они не будут инициировать запрос через электронную почту, а через приложение), вы просто установить получатель clientUserId Свойство для значения, отличного от нуля, - ваш первый пример выглядит отлично, и он установлен в 21. Типичное определение огибающей для этого выглядит следующим образом:

{ 
    "documents": [{ 
     "documentBase64": "<Base64BytesHere>", 
     "documentId": "1", 
     "name": "Test" 
    }], 
    "emailSubject": "Testing", 
    "recipients": { 
     "signers": [{ 
      "name": "John Doe",   
      "email": "[email protected]", 
      "clientUserId": "21",    
      "recipientId": "1" 
     }] 
    }, 
    "status": "sent" 
} 

Поскольку clientUserId установлен для получателя они не будут получать уведомление по электронной почте, когда запрос отправляется (хотя это настройки вы можете изменить все-таки отправить по электронной почте счета если захотите).

API Метод: Envelopes: create


Шаг 2: Запрос получателя View (ака Embedded Подписание)

После того, как конверт был отправлен со встроенным получателем вам просто необходимо для создания подписи URL. Чтобы создать URL-адрес подписи, вы должны указать те же самые параметры получателя, которые были предоставлены, когда получатель был добавлен в конверт. Другими словами, вы должны указать точные точные userName, email и clientUserId. Обратите внимание, что поле Имя называется userName в этом API, а не только name, которое использовалось в API-интерфейсе конверта.

Типичный запрос это выглядит следующим образом:

{ 
    "authenticationMethod": "email", 
    "userName": "John Doe", 
    "email": "[email protected]",    
    "clientUserId": "21", 
    "returnUrl": "http://www.google.com" 
} 

API Метод: EnvelopeViews: createRecipient

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