Можете ли вы получить returnUrlRequest для представления отправителя, сгенерированного из массовой отправки? - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь создать рабочий процесс, в котором пользователь может выполнить массовую отправку через docusign в моем приложении. Они выбирают клиентов, которым они хотят отправить формы для подписи, получают представление отправителя, чтобы указать, какие поля им требуются, отправляют его, а затем отправляют обратно в мое приложение, чтобы генерировать электронные письма для встроенной подписи. Однако в настоящее время он не возвращается обратно в мое приложение после того, как пользователь отправил массовый запрос, несмотря на установленный запрос на возврат URL. Разве это невозможно в настоящее время с запросом массовой отправки?

Ниже приведен лишь некоторый код для генерации URL-адреса представления отправителя:

// Create envelope definition 
var envelopeDefinition = new EnvelopeDefinition
{
    EmailSubject = documentDesc,
    Documents = new List<Document>(),
    Recipients = new Recipients { Signers = new List<Signer> {
        new Signer
            {
                Name = "Multi Bulk Recipient::signer",
                Email = "multiBulkRecipients-signer@docusign.com",
                RoleName = "signer",
                RoutingOrder = "1",
                Status = "sent",
                DeliveryMethod = "Email",
                RecipientId = "1",
                RecipientType = "signer"
            }
    } },
    CustomFields = new CustomFields()
    {
        TextCustomFields = new List<TextCustomField>()
        {
            new TextCustomField() {Name = "Client", Value = _config.DatabaseName},
            new TextCustomField() {Name = "Server", Value = _config.DatabaseServer},
            new TextCustomField() {Name = "DocId", Value = documentId.ToString()}
        }
    },
    EnvelopeIdStamping = "true",
};

// Read a file from disk to use as a document.
byte[] fileBytes = File.ReadAllBytes("test.pdf");
// Add a document to the envelope
Document doc = new Document();
doc.DocumentBase64 = System.Convert.ToBase64String(fileBytes);
doc.Name = "TestFile.pdf";
doc.DocumentId = "1";

envDef.Documents = new List<Document>();
envDef.Documents.Add(doc);

// Add each recipient and add them to the envelope definition
var recipients = new List<BulkSendingCopyRecipient>();
var recipients = new List<BulkSendingCopyRecipient> {
    new BulkSendingCopyRecipient
    {
        Name = "Bob Ross",
        Email = "bobross@happymistakes.com",
        ClientUserId = "1234",
        CustomFields = new List<string>()
            {
                "A custom field for internal use"
            },
        RoleName    = "signer"
    },
    new BulkSendingCopyRecipient
    {
        Name = "Fred Rogers",
        Email = "mrrogers@neighborhood.com",
        ClientUserId = "5678",
        CustomFields = new List<string>()
            {
                "Another custom field for internal use"
            },
        RoleName    = "signer"
    }
};
var bulkSendingCopy = new BulkSendingCopy
{
    Recipients = recipients
};
var bulkCopies = new List<BulkSendingCopy>
{
    bulkSendingCopy
};
var bulkSendingList = new BulkSendingList
{
    BulkCopies = bulkCopies
};
bulkSendingList.Name = "A document name";

envelopeDefinition.Status = "created";

var envelopesApi = new EnvelopesApi(config);
var bulkEnvelopesApi = new BulkEnvelopesApi();
var createBulkListResult = bulkEnvelopesApi.CreateBulkSendList(AccountId, bulkSendingList);
envelopeDefinition.CustomFields.TextCustomFields.Add(
    new TextCustomField
    {
        Name = "mailingListId",
        Required = "false",
        Show = "false",
        Value = createBulkListResult.ListId //Adding the BULK_LIST_ID as an Envelope Custom Field
    }
);
var envelopeSummary = envelopesApi.CreateEnvelope(AccountId, envelopeDefinition);

var options = new ReturnUrlRequest
{
    ReturnUrl = HttpContext.Current.Request.Url.Scheme + "://" +
                HttpContext.Current.Request.Url.Authority +
                HttpContext.Current.Request.ApplicationPath +
                "/SIP/ConfirmTagSendAndPublish.aspx?idockey=" + documentId
};

var senderView = envelopesApi.CreateSenderView(AccountId, envelopeSummary.EnvelopeId, options);
var senderViewInfo = new string[2];
senderViewInfo[0] = senderView.Url;
senderViewInfo[1] = envelopeSummary.EnvelopeId;
return senderViewInfo;

Когда открывается представление отправителя и вы нажимаете Отправить просто переводит меня на вкладку Sent в docusign

Что я вижу после отправки

1 Ответ

0 голосов
/ 23 апреля 2020

Таким образом, для того, чтобы вы выполнили сценарий, который вы просите, вам нужно будет использовать несколько иной подход:

  1. Создать обычный конверт в черновом режиме с помощью все, что вам нужно.

  2. Попросите пользователя взаимодействовать с ним во встроенном режиме отправки.

  3. Создайте объем с помощью метода CreateBulkList () на основе конверт от # 2 и пользователей, которых вы добавляете, как в вашем коде.

(для выполнения # 3 вам может потребоваться скопировать пользовательские поля et c. из исходного конверта в тот используется для пользовательских полей)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...