Я использую docusign-esign node SDK и хочу изменить имя отправителя (на данный момент docusign использует имя, связанное с учетной записью) - PullRequest
0 голосов
/ 06 января 2020
 const accessToken = await getAccessToken();
    const apiClient = new docusign.ApiClient();
    apiClient.setBasePath(`${process.env.DOCUSIGN_RESTAPI_BASE_URL}/restapi`);
    apiClient.addDefaultHeader("Authorization", "Bearer " + accessToken);
    docusign.Configuration.default.setDefaultApiClient(apiClient);
    const envelopesApi = new docusign.EnvelopesApi();
    const pdfBuffer = await fetchPdfBuffer(pdfUrl);
    const envelopeDefinition = await buildEnvelopeDefinition(parties, pdfBuffer);
    const results = await envelopesApi.createEnvelope("7578669", {
      envelopeDefinition
    });

Поскольку я использую определение конверта, и в определении объекта конверта есть поле с именем отправителя (https://developers.docusign.com/esign-rest-api/reference/Envelopes/Envelopes/create Как я могу использовать это поле отправителя, чтобы изменить отправителя конверта?

А как мы можем использовать функциональность Send-On-Behalf, используя deocusign-esign node sdk?

Ответы [ 2 ]

0 голосов
/ 08 января 2020

Обратите внимание, что ваше приложение может создавать различные токены доступа (используя поток предоставления JWT), необходимые для отправки в качестве пользователя 1, пользователя 2 и т. Д. c.

Реализация DocuSign OAuth не поддерживает старый " Отправить от имени "больше". Вместо этого, используя OAuth, ваше приложение получает токен для олицетворения кого-либо и может затем отправить конверт для него.

Однако существует ограничение на количество текущих токенов доступа для одного пользователя что вы можете создать, поэтому вы должны кэшировать их, пока они не истекут

Например, у вас есть два пользователя учетной записи DocuSign (оба могут отправлять конверты), Сэм и Саманта:

  1. Приложение использует JWT Grant для получения токена доступа, который выдает себя за Сэма
  2. Приложение использует токен для отправки конверта "от" Сэма
  3. Приложение кэширует токен Сэма. (Запишите время истечения токена.)
  4. Приложение использует JWT Grant для получения токена доступа, который олицетворяет Саманту
  5. Приложение использует токен для отправки конверта "из" Саманты
  6. Приложение кэширует маркер Саманты. (Запишите время истечения токена.)
  7. Приложение хочет отправить еще один конверт "от" Сэма. Он использует кешированный токен. Если токен истек, используйте JWT Grant для получения нового.
0 голосов
/ 06 января 2020

Когда вы делаете вызовы API для создания конверта, отправитель является аутентифицированным пользователем, который использовался для получения токена доступа. Это означает, что вы не можете изменить его, не получив новый токен доступа для другого пользователя. Для этого, если вы не хотите, чтобы этот другой пользователь каждый раз интерактивно аутентифицировался в DocuSign, вам нужно будет использовать аутентификацию JWT. При аутентификации JWT, когда вы получаете токен доступа, вы указываете userId для пользователя, от имени которого вы хотите действовать. Этот пользователь должен один раз дать согласие вашему приложению, чтобы оно могло использовать API от имени этого пользователя. Чтобы узнать больше, прочитайте это: https://developers.docusign.com/esign-rest-api/guides/authentication/oauth2-jsonwebtoken

...