/// <summary> /// The first step in an embedded template workflow. Creates a draft template that can then be further set up in the template 'edit' stage. /// </summary> /// <param name="draft">The draft.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns></returns> /// <exception cref="ArgumentNullException">request</exception> public Task <NewTemplateResponse> CreateEmbeddedTemplateDraftAsync(NewEmbeddedTemplateDraft draft, CancellationToken cancellationToken) { if (draft == null) { throw new ArgumentNullException("request"); } var content = new MultipartFormDataContent(); content.AddTemplateDraft(_log, draft); return(PostAsync <NewTemplateResponse>($"{TemplateUrl}/create_embedded_draft", content, cancellationToken)); }
/// <summary> /// The first step in an embedded template workflow. Creates a draft template that can then be further set up in the template 'edit' stage. /// </summary> /// <param name="draft">The draft.</param> /// <returns></returns> /// <exception cref="ArgumentNullException">request</exception> public Task <NewTemplateResponse> CreateEmbeddedTemplateDraftAsync(NewEmbeddedTemplateDraft draft) { return(CreateEmbeddedTemplateDraftAsync(draft, CancellationToken.None)); }
public static void AddTemplateDraft(this MultipartFormDataContent content, IApiLog log, NewEmbeddedTemplateDraft draft) { if (draft.TestMode) { content.AddParameter(log, "test_mode", "1"); } content.AddFiles(log, draft.Files); content.AddParameter(log, "title", draft.Title); content.AddParameter(log, "subject", draft.Subject); content.AddParameter(log, "message", draft.Message); int i = 0; foreach (var role in draft.SignerRoles) { content.AddParameter(log, $"signer_roles[{i}][name]", role.Name); content.AddParameter(log, $"signer_roles[{i}][order]", role.Order?.ToString()); } i = 0; foreach (var role in draft.CcRoles) { content.AddParameter(log, $"cc_roles[{i}]", role); } content.AddParameter(log, "merge_fields", JsonConvert.SerializeObject(draft.MergeFields, HttpResponseExtensions.JsonSettings)); if (draft.UsePreexistingFields) { content.AddParameter(log, "use_preexisting_fields", "1"); } content.AddMetadata(log, draft.Metadata); content.AddParameter(log, "client_id", draft.ClientId); }