private BulkRecipientsSummaryResponse MockBulkRecipientsSummaryResponse() { BulkRecipient bulkRecipient1 = new BulkRecipient( Email: "*****@*****.**", Name: "John Jay", Note: "Hello How are you doing!" ); BulkRecipient bulkRecipient2 = new BulkRecipient( Email: "*****@*****.**", Name: "jon jon", AccessCode: "123", PhoneNumber: "12345567" ); BulkRecipient bulkRecipient3 = new BulkRecipient( Email: "*****@*****.**", Name: "tom tom" ); List <BulkRecipient> bulkRecipients = new List <BulkRecipient> { bulkRecipient1, bulkRecipient2, bulkRecipient3 }; BulkRecipientsRequest bulkRecipientsRequest = new BulkRecipientsRequest(bulkRecipients); BulkEnvelopesApi bulkEnvelopesApi = new BulkEnvelopesApi(); return(bulkEnvelopesApi.UpdateRecipients(testConfig.AccountId, testConfig.EnvelopeId, "1", bulkRecipientsRequest)); }
private BulkRecipientsSummaryResponse MockBulkRecipientsSummaryResponse() { string bulkRecipientsCSV = "name,email\n" + "John Doe,[email protected]\n" + "Jane Doe,[email protected]"; byte[] bulkRecipientsRequest = Encoding.ASCII.GetBytes(bulkRecipientsCSV); BulkEnvelopesApi bulkEnvelopesApi = new BulkEnvelopesApi(); return(bulkEnvelopesApi.UpdateRecipients(testConfig.AccountId, testConfig.EnvelopeId, "1", bulkRecipientsRequest)); }
/// <summary> /// Sends the bulk envelopes /// </summary> /// <param name="accessToken">Access Token for API call (OAuth)</param> /// <param name="basePath">BasePath for API calls (URI)</param> /// <param name="accountId">The DocuSign Account ID (GUID or short version) for which the APIs call would be made</param> /// <param name="signer1Name"> The signer recipient's name</param> /// <param name="signer1Email"> The signer recipient's email</param> /// <param name="carbonCopy1Name">The cc recipient's name</param> /// <param name="signer1Email"> The cc recipient's email</param> /// <param name="signer2Name"> The signers recipient's name</param> /// <param name="signer2Email"> The signers recipient's email</param> /// <param name="carbonCopy2Name">The cc recipient's name</param> /// <param name="signer2Email"> The cc recipient's email</param> /// <param name="docDocx">The document</param> /// <returns>The status of sending</returns> public static BulkEnvelopeStatus GetStatus(string signer1Name, string signer1Email, string carbonCopy1Name, string carbonCopy1Email, string signer2Name, string signer2Email, string carbonCopy2Name, string carbonCopy2Email, string accessToken, string basePath, string accountId, string docDocx, string envelopeIdStamping, string emailSubject) { // Step 1. Construct your API headers var config = new Configuration(new ApiClient(basePath)); config.AddDefaultHeader("Authorization", "Bearer " + accessToken); var bulkEnvelopesApi = new BulkEnvelopesApi(config); // Construct request body var sendingList = MakeBulkSendList(signer1Name, signer1Email, carbonCopy1Name, carbonCopy1Email, signer2Name, signer2Email, carbonCopy2Name, carbonCopy2Email); // Step 2. Submit a bulk list var createBulkListResult = bulkEnvelopesApi.CreateBulkSendList(accountId, sendingList); // Step 3. Create an envelope var envelopeDefinition = new EnvelopeDefinition { Documents = new List <Document> { new Document { DocumentBase64 = Convert.ToBase64String(System.IO.File.ReadAllBytes(docDocx)), Name = "Battle Plan", FileExtension = "docx", DocumentId = "1" } }, EnvelopeIdStamping = envelopeIdStamping, EmailSubject = emailSubject, Status = "created" }; EnvelopesApi envelopesApi = new EnvelopesApi(config); var envelopeResults = envelopesApi.CreateEnvelope(accountId, envelopeDefinition); // Step 4. Attach your bulk list ID to the envelope // Add an envelope custom field set to the value of your listId (EnvelopeCustomFields::create) // This Custom Field is used for tracking your Bulk Send via the Envelopes::Get method var fields = new CustomFields { ListCustomFields = new List <ListCustomField> { }, TextCustomFields = new List <TextCustomField> { new TextCustomField { Name = "mailingListId", Required = "false", Show = "false", Value = createBulkListResult.ListId //Adding the BULK_LIST_ID as an Envelope Custom Field } } }; envelopesApi.CreateCustomFields(accountId, envelopeResults.EnvelopeId, fields); // Step 5. Add placeholder recipients. // These will be replaced by the details provided in the Bulk List uploaded during Step 2 // Note: The name / email format used is: // Name: Multi Bulk Recipients::{rolename} // Email: MultiBulkRecipients-{rolename}@docusign.com var recipients = new Recipients { Signers = new List <Signer> { new Signer { Name = "Multi Bulk Recipient::signer", Email = "*****@*****.**", RoleName = "signer", RoutingOrder = "1", Status = "sent", DeliveryMethod = "Email", RecipientId = "1", RecipientType = "signer" }, new Signer { Name = "Multi Bulk Recipient::cc", Email = "*****@*****.**", RoleName = "cc", RoutingOrder = "1", Status = "sent", DeliveryMethod = "Email", RecipientId = "2", RecipientType = "cc" } } }; envelopesApi.CreateRecipient(accountId, envelopeResults.EnvelopeId, recipients); // Step 6. Initiate bulk send var bulkRequestResult = bulkEnvelopesApi.CreateBulkSendRequest(accountId, createBulkListResult.ListId, new BulkSendRequest { EnvelopeOrTemplateId = envelopeResults.EnvelopeId }); // TODO: instead of waiting 5 seconds, consider using the Asynchrnous method System.Threading.Thread.Sleep(5000); // Step 7. Confirm successful batch send return(bulkEnvelopesApi.Get(accountId, bulkRequestResult.BatchId)); }
public IActionResult SetProfile(RecipientModel signer1, RecipientModel carbonCopy1, RecipientModel signer2, RecipientModel carbonCopy2) { // Check the minimal buffer time. bool tokenOk = CheckToken(3); if (!tokenOk) { // We could store the parameters of the requested operation so it could be // restarted automatically. But since it should be rare to have a token issue // here, we'll make the user re-enter the form data after authentication. RequestItemsService.EgName = EgName; return(Redirect("/ds/mustAuthenticate")); } var basePath = RequestItemsService.Session.BasePath + "/restapi"; // Step 1. Obtain your OAuth token var accessToken = RequestItemsService.User.AccessToken; // Represents your {ACCESS_TOKEN} var accountId = RequestItemsService.Session.AccountId; // Represents your {ACCOUNT_ID} // Step 2. Construct your API headers var apiClient = new ApiClient(basePath); apiClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken); var bulkEnvelopesApi = new BulkEnvelopesApi(apiClient); // Construct request body var sendingList = this.MakeBulkSendList(signer1, carbonCopy1, signer2, carbonCopy2); try { // Step 3. Submit a bulk list var createBulkListResult = bulkEnvelopesApi.CreateBulkSendList(accountId, sendingList); // Step 4. Create an envelope var envelopeDefinition = new EnvelopeDefinition { Documents = new List <Document> { new Document { DocumentBase64 = Convert.ToBase64String(System.IO.File.ReadAllBytes(Config.docDocx)), Name = "Battle Plan", FileExtension = "docx", DocumentId = "1" } }, EnvelopeIdStamping = "true", EmailSubject = "Please sign this document sent from the C# SDK", Status = "created" }; var envelopesApi = new EnvelopesApi(apiClient); var envelopeResults = envelopesApi.CreateEnvelope(accountId, envelopeDefinition); // Step 5. Attach your bulk list ID to the envelope // Add an envelope custom field set to the value of your listId (EnvelopeCustomFields::create) // This Custom Field is used for tracking your Bulk Send via the Envelopes::Get method var fields = new CustomFields { ListCustomFields = new List <ListCustomField> { }, TextCustomFields = new List <TextCustomField> { new TextCustomField { Name = "mailingListId", Required = "false", Show = "false", Value = createBulkListResult.ListId //Adding the BULK_LIST_ID as an Envelope Custom Field } } }; envelopesApi.CreateCustomFields(accountId, envelopeResults.EnvelopeId, fields); // Step 6. Add placeholder recipients. // These will be replaced by the details provided in the Bulk List uploaded during Step 3 // Note: The name / email format used is: // Name: Multi Bulk Recipients::{rolename} // Email: MultiBulkRecipients-{rolename}@docusign.com var recipients = new Recipients { Signers = new List <Signer> { new Signer { Name = "Multi Bulk Recipient::signer", Email = "*****@*****.**", RoleName = "signer", RoutingOrder = "1", Status = "sent", DeliveryMethod = "Email", RecipientId = "1", RecipientType = "signer" }, new Signer { Name = "Multi Bulk Recipient::cc", Email = "*****@*****.**", RoleName = "cc", RoutingOrder = "1", Status = "sent", DeliveryMethod = "Email", RecipientId = "2", RecipientType = "cc" } } }; envelopesApi.CreateRecipient(accountId, envelopeResults.EnvelopeId, recipients); //Step 7. Initiate bulk send var bulkRequestResult = bulkEnvelopesApi.CreateBulkSendRequest(accountId, createBulkListResult.ListId, new BulkSendRequest { EnvelopeOrTemplateId = envelopeResults.EnvelopeId }); //Wait until all requests sent. For 2000 recipients, it can take about 1h. System.Threading.Thread.Sleep(5000); Console.WriteLine("Bulk Batch ID: " + bulkRequestResult.BatchId); // Step 8. Confirm successful batch send var status = bulkEnvelopesApi.GetBulkSendBatchStatus(accountId, bulkRequestResult.BatchId); ViewBag.h1 = "Bulk send envelope was successfully performed!"; ViewBag.message = $@"Bulk request queued to {status.Queued} user lists."; } catch (Exception ex) { ViewBag.h1 = "Bulk send envelope failed."; ViewBag.message = $@"Bulk request failed to send. Reason: {ex}."; } return(View("example_done")); }
public void Init() { instance = new BulkEnvelopesApi(); }
/// <summary> /// Sends the bulk envelopes /// </summary> /// <param name="accessToken">Access Token for API call (OAuth)</param> /// <param name="basePath">BasePath for API calls (URI)</param> /// <param name="accountId">The DocuSign Account ID (GUID or short version) for which the APIs call would be made</param> /// <param name="signer1Name"> The signer recipient's name</param> /// <param name="signer1Email"> The signer recipient's email</param> /// <param name="carbonCopy1Name">The cc recipient's name</param> /// <param name="signer1Email"> The cc recipient's email</param> /// <param name="signer2Name"> The signers recipient's name</param> /// <param name="signer2Email"> The signers recipient's email</param> /// <param name="carbonCopy2Name">The cc recipient's name</param> /// <param name="signer2Email"> The cc recipient's email</param> /// <param name="docDocx">The document</param> /// <returns>The status of sending</returns> public static BulkSendBatchStatus GetStatus(string signer1Name, string signer1Email, string carbonCopy1Name, string carbonCopy1Email, string signer2Name, string signer2Email, string carbonCopy2Name, string carbonCopy2Email, string accessToken, string basePath, string accountId, string docDocx, string envelopeIdStamping, string emailSubject) { // Step 2 start var apiClient = new ApiClient(basePath); apiClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken); // Step 2 end var bulkEnvelopesApi = new BulkEnvelopesApi(apiClient); // Step 3-1 start var sendingList = MakeBulkSendList(signer1Name, signer1Email, carbonCopy1Name, carbonCopy1Email, signer2Name, signer2Email, carbonCopy2Name, carbonCopy2Email); var createBulkListResult = bulkEnvelopesApi.CreateBulkSendList(accountId, sendingList); // Step 3-1 end // Step 4 start var envelopeDefinition = new EnvelopeDefinition { Documents = new List <Document> { new Document { DocumentBase64 = Convert.ToBase64String(System.IO.File.ReadAllBytes(docDocx)), Name = "Lorem Ipsum", FileExtension = "pdf", DocumentId = "1" } }, EnvelopeIdStamping = envelopeIdStamping, EmailSubject = emailSubject, Status = "created", Recipients = new Recipients { Signers = new List <Signer> { new Signer { Name = "Multi Bulk Recipient::signer", Email = "*****@*****.**", RoleName = "signer", RoutingOrder = "1", Status = "created", DeliveryMethod = "Email", RecipientId = "1", RecipientType = "signer", Tabs = new Tabs { SignHereTabs = new List <SignHere> { new SignHere { AnchorString = "/sn1/", AnchorUnits = "pixels", AnchorYOffset = "10", AnchorXOffset = "20" } } } } }, CarbonCopies = new List <CarbonCopy> { new CarbonCopy { Name = "Multi Bulk Recipient::cc", Email = "*****@*****.**", RoleName = "cc", RoutingOrder = "2", Status = "created", DeliveryMethod = "Email", RecipientId = "2", RecipientType = "cc" } } } }; EnvelopesApi envelopesApi = new EnvelopesApi(apiClient); var envelopeResults = envelopesApi.CreateEnvelope(accountId, envelopeDefinition); // Step 4 end // Attach your bulk list ID to the envelope // Add an envelope custom field set to the value of your listId (EnvelopeCustomFields::create) // This Custom Field is used for tracking your Bulk Send via the Envelopes::Get method // Step 5 start var fields = new CustomFields { ListCustomFields = new List <ListCustomField> { }, TextCustomFields = new List <TextCustomField> { new TextCustomField { Name = "mailingListId", Required = "false", Show = "false", Value = createBulkListResult.ListId //Adding the BULK_LIST_ID as an Envelope Custom Field } } }; envelopesApi.CreateCustomFields(accountId, envelopeResults.EnvelopeId, fields); // Step 5 end // Step 6 start var bulkRequestResult = bulkEnvelopesApi.CreateBulkSendRequest(accountId, createBulkListResult.ListId, new BulkSendRequest { EnvelopeOrTemplateId = envelopeResults.EnvelopeId }); // TODO: instead of waiting 10 seconds, consider using the Asynchrnous method System.Threading.Thread.Sleep(10000); // Step 6 end // Step 7 start return(bulkEnvelopesApi.GetBulkSendBatchStatus(accountId, bulkRequestResult.BatchId)); // Step 7 end }