/// <summary> /// Creates and sends a new SignatureRequest with the submitted documents. If <see cref="NewSignatureRequest.FormFieldsPerDocument"/> is not specified, /// a signature page will be affixed where all signers will be required to add their signature, signifying their agreement to all contained documents. /// </summary> /// <param name="request">The request.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> /// <exception cref="ArgumentNullException">request</exception> public Task <SignatureRequestResponse> SendSignatureRequestAsync(NewSignatureRequest request, CancellationToken cancellationToken) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var content = new MultipartFormDataContent(); content.AddRequest(_log, request); return(PostAsync <SignatureRequestResponse>($"{SignatureUrl}/send", content, cancellationToken)); }
/// <summary> /// Creates and sends a new SignatureRequest with the submitted documents. If <see cref="NewSignatureRequest.FormFieldsPerDocument"/> is not specified, /// a signature page will be affixed where all signers will be required to add their signature, signifying their agreement to all contained documents. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> /// <exception cref="ArgumentNullException">request</exception> public Task <SignatureRequestResponse> SendSignatureRequestAsync(NewSignatureRequest request) { return(SendSignatureRequestAsync(request, CancellationToken.None)); }
public static void AddRequest(this MultipartFormDataContent content, IApiLog log, NewSignatureRequest request) { content.AddRequestBase(log, request); content.AddParameter(log, "client_id", request.ClientId); content.AddFiles(log, request.Files); content.AddParameter(log, "title", request.Title); int i = 0; foreach (var cc in request.CcEmailAddresses) { content.AddParameter(log, $"cc_email_addresses[{i++}]", cc); } if (request.UseTextTags) { content.AddParameter(log, "use_text_tags", "1"); } if (request.HideTextTags) { content.AddParameter(log, "hide_text_tags", "1"); } if (request.FormFieldsPerDocument.Count > 0) { content.AddParameter(log, "form_fields_per_document", JsonConvert.SerializeObject(request.FormFieldsPerDocument, HttpResponseExtensions.JsonSettings)); } }