sendinblue_v3/apis/
email_campaigns_api.rs

1/*
2 * SendinBlue API
3 *
4 * SendinBlue provide a RESTFul API that can be used with any languages. With this API, you will be able to :   - Manage your campaigns and get the statistics   - Manage your contacts   - Send transactional Emails and SMS   - and much more...  You can download our wrappers at https://github.com/orgs/sendinblue  **Possible responses**   | Code | Message |   | :-------------: | ------------- |   | 200  | OK. Successful Request  |   | 201  | OK. Successful Creation |   | 202  | OK. Request accepted |   | 204  | OK. Successful Update/Deletion  |   | 400  | Error. Bad Request  |   | 401  | Error. Authentication Needed  |   | 402  | Error. Not enough credit, plan upgrade needed  |   | 403  | Error. Permission denied  |   | 404  | Error. Object does not exist |   | 405  | Error. Method not allowed  |   | 406  | Error. Not Acceptable  | 
5 *
6 * The version of the OpenAPI document: 3.0.0
7 * Contact: contact@sendinblue.com
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`create_email_campaign`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum CreateEmailCampaignError {
22    Status400(crate::models::ErrorModel),
23    UnknownValue(serde_json::Value),
24}
25
26/// struct for typed errors of method [`delete_email_campaign`]
27#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum DeleteEmailCampaignError {
30    Status404(crate::models::ErrorModel),
31    Status400(crate::models::ErrorModel),
32    UnknownValue(serde_json::Value),
33}
34
35/// struct for typed errors of method [`email_export_recipients`]
36#[derive(Debug, Clone, Serialize, Deserialize)]
37#[serde(untagged)]
38pub enum EmailExportRecipientsError {
39    Status400(crate::models::ErrorModel),
40    Status404(crate::models::ErrorModel),
41    UnknownValue(serde_json::Value),
42}
43
44/// struct for typed errors of method [`get_ab_test_campaign_result`]
45#[derive(Debug, Clone, Serialize, Deserialize)]
46#[serde(untagged)]
47pub enum GetAbTestCampaignResultError {
48    Status404(crate::models::ErrorModel),
49    Status400(crate::models::ErrorModel),
50    UnknownValue(serde_json::Value),
51}
52
53/// struct for typed errors of method [`get_email_campaign`]
54#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(untagged)]
56pub enum GetEmailCampaignError {
57    Status404(crate::models::ErrorModel),
58    Status400(crate::models::ErrorModel),
59    UnknownValue(serde_json::Value),
60}
61
62/// struct for typed errors of method [`get_email_campaigns`]
63#[derive(Debug, Clone, Serialize, Deserialize)]
64#[serde(untagged)]
65pub enum GetEmailCampaignsError {
66    Status400(crate::models::ErrorModel),
67    UnknownValue(serde_json::Value),
68}
69
70/// struct for typed errors of method [`get_shared_template_url`]
71#[derive(Debug, Clone, Serialize, Deserialize)]
72#[serde(untagged)]
73pub enum GetSharedTemplateUrlError {
74    Status404(crate::models::ErrorModel),
75    Status405(crate::models::ErrorModel),
76    Status400(crate::models::ErrorModel),
77    UnknownValue(serde_json::Value),
78}
79
80/// struct for typed errors of method [`send_email_campaign_now`]
81#[derive(Debug, Clone, Serialize, Deserialize)]
82#[serde(untagged)]
83pub enum SendEmailCampaignNowError {
84    Status400(crate::models::ErrorModel),
85    Status402(crate::models::ErrorModel),
86    Status404(crate::models::ErrorModel),
87    UnknownValue(serde_json::Value),
88}
89
90/// struct for typed errors of method [`send_report`]
91#[derive(Debug, Clone, Serialize, Deserialize)]
92#[serde(untagged)]
93pub enum SendReportError {
94    Status400(crate::models::ErrorModel),
95    Status404(crate::models::ErrorModel),
96    UnknownValue(serde_json::Value),
97}
98
99/// struct for typed errors of method [`send_test_email`]
100#[derive(Debug, Clone, Serialize, Deserialize)]
101#[serde(untagged)]
102pub enum SendTestEmailError {
103    Status400(crate::models::PostSendFailed),
104    Status404(crate::models::ErrorModel),
105    UnknownValue(serde_json::Value),
106}
107
108/// struct for typed errors of method [`update_campaign_status`]
109#[derive(Debug, Clone, Serialize, Deserialize)]
110#[serde(untagged)]
111pub enum UpdateCampaignStatusError {
112    Status400(crate::models::ErrorModel),
113    Status404(crate::models::ErrorModel),
114    UnknownValue(serde_json::Value),
115}
116
117/// struct for typed errors of method [`update_email_campaign`]
118#[derive(Debug, Clone, Serialize, Deserialize)]
119#[serde(untagged)]
120pub enum UpdateEmailCampaignError {
121    Status400(crate::models::ErrorModel),
122    Status404(crate::models::ErrorModel),
123    UnknownValue(serde_json::Value),
124}
125
126/// struct for typed errors of method [`upload_image_to_gallery`]
127#[derive(Debug, Clone, Serialize, Deserialize)]
128#[serde(untagged)]
129pub enum UploadImageToGalleryError {
130    Status400(crate::models::ErrorModel),
131    UnknownValue(serde_json::Value),
132}
133
134
135pub async fn create_email_campaign(configuration: &configuration::Configuration, email_campaigns: crate::models::CreateEmailCampaign) -> Result<crate::models::CreateModel, Error<CreateEmailCampaignError>> {
136    let local_var_configuration = configuration;
137
138    let local_var_client = &local_var_configuration.client;
139
140    let local_var_uri_str = format!("{}/emailCampaigns", local_var_configuration.base_path);
141    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
142
143    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
144        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
145    }
146    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
147        let local_var_key = local_var_apikey.key.clone();
148        let local_var_value = match local_var_apikey.prefix {
149            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
150            None => local_var_key,
151        };
152        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
153    };
154    local_var_req_builder = local_var_req_builder.json(&email_campaigns);
155
156    let local_var_req = local_var_req_builder.build()?;
157    let local_var_resp = local_var_client.execute(local_var_req).await?;
158
159    let local_var_status = local_var_resp.status();
160    let local_var_content = local_var_resp.text().await?;
161
162    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
163        serde_json::from_str(&local_var_content).map_err(Error::from)
164    } else {
165        let local_var_entity: Option<CreateEmailCampaignError> = serde_json::from_str(&local_var_content).ok();
166        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
167        Err(Error::ResponseError(local_var_error))
168    }
169}
170
171pub async fn delete_email_campaign(configuration: &configuration::Configuration, campaign_id: i64) -> Result<(), Error<DeleteEmailCampaignError>> {
172    let local_var_configuration = configuration;
173
174    let local_var_client = &local_var_configuration.client;
175
176    let local_var_uri_str = format!("{}/emailCampaigns/{campaignId}", local_var_configuration.base_path, campaignId=campaign_id);
177    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
178
179    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
180        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
181    }
182    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
183        let local_var_key = local_var_apikey.key.clone();
184        let local_var_value = match local_var_apikey.prefix {
185            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
186            None => local_var_key,
187        };
188        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
189    };
190
191    let local_var_req = local_var_req_builder.build()?;
192    let local_var_resp = local_var_client.execute(local_var_req).await?;
193
194    let local_var_status = local_var_resp.status();
195    let local_var_content = local_var_resp.text().await?;
196
197    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
198        Ok(())
199    } else {
200        let local_var_entity: Option<DeleteEmailCampaignError> = serde_json::from_str(&local_var_content).ok();
201        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
202        Err(Error::ResponseError(local_var_error))
203    }
204}
205
206pub async fn email_export_recipients(configuration: &configuration::Configuration, campaign_id: i64, recipient_export: Option<crate::models::EmailExportRecipients>) -> Result<crate::models::CreatedProcessId, Error<EmailExportRecipientsError>> {
207    let local_var_configuration = configuration;
208
209    let local_var_client = &local_var_configuration.client;
210
211    let local_var_uri_str = format!("{}/emailCampaigns/{campaignId}/exportRecipients", local_var_configuration.base_path, campaignId=campaign_id);
212    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
213
214    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
215        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
216    }
217    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
218        let local_var_key = local_var_apikey.key.clone();
219        let local_var_value = match local_var_apikey.prefix {
220            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
221            None => local_var_key,
222        };
223        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
224    };
225    local_var_req_builder = local_var_req_builder.json(&recipient_export);
226
227    let local_var_req = local_var_req_builder.build()?;
228    let local_var_resp = local_var_client.execute(local_var_req).await?;
229
230    let local_var_status = local_var_resp.status();
231    let local_var_content = local_var_resp.text().await?;
232
233    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
234        serde_json::from_str(&local_var_content).map_err(Error::from)
235    } else {
236        let local_var_entity: Option<EmailExportRecipientsError> = serde_json::from_str(&local_var_content).ok();
237        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
238        Err(Error::ResponseError(local_var_error))
239    }
240}
241
242/// Obtain winning version of an A/B test email campaign
243pub async fn get_ab_test_campaign_result(configuration: &configuration::Configuration, campaign_id: i64) -> Result<crate::models::AbTestCampaignResult, Error<GetAbTestCampaignResultError>> {
244    let local_var_configuration = configuration;
245
246    let local_var_client = &local_var_configuration.client;
247
248    let local_var_uri_str = format!("{}/emailCampaigns/{campaignId}/abTestCampaignResult", local_var_configuration.base_path, campaignId=campaign_id);
249    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
250
251    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
252        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
253    }
254    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
255        let local_var_key = local_var_apikey.key.clone();
256        let local_var_value = match local_var_apikey.prefix {
257            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
258            None => local_var_key,
259        };
260        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
261    };
262
263    let local_var_req = local_var_req_builder.build()?;
264    let local_var_resp = local_var_client.execute(local_var_req).await?;
265
266    let local_var_status = local_var_resp.status();
267    let local_var_content = local_var_resp.text().await?;
268
269    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
270        serde_json::from_str(&local_var_content).map_err(Error::from)
271    } else {
272        let local_var_entity: Option<GetAbTestCampaignResultError> = serde_json::from_str(&local_var_content).ok();
273        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
274        Err(Error::ResponseError(local_var_error))
275    }
276}
277
278pub async fn get_email_campaign(configuration: &configuration::Configuration, campaign_id: i64) -> Result<crate::models::GetEmailCampaign, Error<GetEmailCampaignError>> {
279    let local_var_configuration = configuration;
280
281    let local_var_client = &local_var_configuration.client;
282
283    let local_var_uri_str = format!("{}/emailCampaigns/{campaignId}", local_var_configuration.base_path, campaignId=campaign_id);
284    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
285
286    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
287        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
288    }
289    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
290        let local_var_key = local_var_apikey.key.clone();
291        let local_var_value = match local_var_apikey.prefix {
292            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
293            None => local_var_key,
294        };
295        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
296    };
297
298    let local_var_req = local_var_req_builder.build()?;
299    let local_var_resp = local_var_client.execute(local_var_req).await?;
300
301    let local_var_status = local_var_resp.status();
302    let local_var_content = local_var_resp.text().await?;
303
304    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
305        serde_json::from_str(&local_var_content).map_err(Error::from)
306    } else {
307        let local_var_entity: Option<GetEmailCampaignError> = serde_json::from_str(&local_var_content).ok();
308        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
309        Err(Error::ResponseError(local_var_error))
310    }
311}
312
313pub async fn get_email_campaigns(configuration: &configuration::Configuration, r#type: Option<&str>, status: Option<&str>, start_date: Option<String>, end_date: Option<String>, limit: Option<i64>, offset: Option<i64>) -> Result<crate::models::GetEmailCampaigns, Error<GetEmailCampaignsError>> {
314    let local_var_configuration = configuration;
315
316    let local_var_client = &local_var_configuration.client;
317
318    let local_var_uri_str = format!("{}/emailCampaigns", local_var_configuration.base_path);
319    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
320
321    if let Some(ref local_var_str) = r#type {
322        local_var_req_builder = local_var_req_builder.query(&[("type", &local_var_str.to_string())]);
323    }
324    if let Some(ref local_var_str) = status {
325        local_var_req_builder = local_var_req_builder.query(&[("status", &local_var_str.to_string())]);
326    }
327    if let Some(ref local_var_str) = start_date {
328        local_var_req_builder = local_var_req_builder.query(&[("startDate", &local_var_str.to_string())]);
329    }
330    if let Some(ref local_var_str) = end_date {
331        local_var_req_builder = local_var_req_builder.query(&[("endDate", &local_var_str.to_string())]);
332    }
333    if let Some(ref local_var_str) = limit {
334        local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
335    }
336    if let Some(ref local_var_str) = offset {
337        local_var_req_builder = local_var_req_builder.query(&[("offset", &local_var_str.to_string())]);
338    }
339    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
340        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
341    }
342    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
343        let local_var_key = local_var_apikey.key.clone();
344        let local_var_value = match local_var_apikey.prefix {
345            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
346            None => local_var_key,
347        };
348        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
349    };
350
351    let local_var_req = local_var_req_builder.build()?;
352    let local_var_resp = local_var_client.execute(local_var_req).await?;
353
354    let local_var_status = local_var_resp.status();
355    let local_var_content = local_var_resp.text().await?;
356
357    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
358        serde_json::from_str(&local_var_content).map_err(Error::from)
359    } else {
360        let local_var_entity: Option<GetEmailCampaignsError> = serde_json::from_str(&local_var_content).ok();
361        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
362        Err(Error::ResponseError(local_var_error))
363    }
364}
365
366/// Get a unique URL to share & import an email template from one Sendinblue account to another.
367pub async fn get_shared_template_url(configuration: &configuration::Configuration, campaign_id: i64) -> Result<crate::models::GetSharedTemplateUrl, Error<GetSharedTemplateUrlError>> {
368    let local_var_configuration = configuration;
369
370    let local_var_client = &local_var_configuration.client;
371
372    let local_var_uri_str = format!("{}/emailCampaigns/{campaignId}/sharedUrl", local_var_configuration.base_path, campaignId=campaign_id);
373    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
374
375    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
376        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
377    }
378    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
379        let local_var_key = local_var_apikey.key.clone();
380        let local_var_value = match local_var_apikey.prefix {
381            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
382            None => local_var_key,
383        };
384        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
385    };
386
387    let local_var_req = local_var_req_builder.build()?;
388    let local_var_resp = local_var_client.execute(local_var_req).await?;
389
390    let local_var_status = local_var_resp.status();
391    let local_var_content = local_var_resp.text().await?;
392
393    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
394        serde_json::from_str(&local_var_content).map_err(Error::from)
395    } else {
396        let local_var_entity: Option<GetSharedTemplateUrlError> = serde_json::from_str(&local_var_content).ok();
397        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
398        Err(Error::ResponseError(local_var_error))
399    }
400}
401
402pub async fn send_email_campaign_now(configuration: &configuration::Configuration, campaign_id: i64) -> Result<(), Error<SendEmailCampaignNowError>> {
403    let local_var_configuration = configuration;
404
405    let local_var_client = &local_var_configuration.client;
406
407    let local_var_uri_str = format!("{}/emailCampaigns/{campaignId}/sendNow", local_var_configuration.base_path, campaignId=campaign_id);
408    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
409
410    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
411        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
412    }
413    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
414        let local_var_key = local_var_apikey.key.clone();
415        let local_var_value = match local_var_apikey.prefix {
416            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
417            None => local_var_key,
418        };
419        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
420    };
421
422    let local_var_req = local_var_req_builder.build()?;
423    let local_var_resp = local_var_client.execute(local_var_req).await?;
424
425    let local_var_status = local_var_resp.status();
426    let local_var_content = local_var_resp.text().await?;
427
428    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
429        Ok(())
430    } else {
431        let local_var_entity: Option<SendEmailCampaignNowError> = serde_json::from_str(&local_var_content).ok();
432        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
433        Err(Error::ResponseError(local_var_error))
434    }
435}
436
437/// A PDF will be sent to the specified email addresses
438pub async fn send_report(configuration: &configuration::Configuration, campaign_id: i64, send_report: crate::models::SendReport) -> Result<(), Error<SendReportError>> {
439    let local_var_configuration = configuration;
440
441    let local_var_client = &local_var_configuration.client;
442
443    let local_var_uri_str = format!("{}/emailCampaigns/{campaignId}/sendReport", local_var_configuration.base_path, campaignId=campaign_id);
444    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
445
446    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
447        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
448    }
449    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
450        let local_var_key = local_var_apikey.key.clone();
451        let local_var_value = match local_var_apikey.prefix {
452            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
453            None => local_var_key,
454        };
455        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
456    };
457    local_var_req_builder = local_var_req_builder.json(&send_report);
458
459    let local_var_req = local_var_req_builder.build()?;
460    let local_var_resp = local_var_client.execute(local_var_req).await?;
461
462    let local_var_status = local_var_resp.status();
463    let local_var_content = local_var_resp.text().await?;
464
465    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
466        Ok(())
467    } else {
468        let local_var_entity: Option<SendReportError> = serde_json::from_str(&local_var_content).ok();
469        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
470        Err(Error::ResponseError(local_var_error))
471    }
472}
473
474pub async fn send_test_email(configuration: &configuration::Configuration, campaign_id: i64, email_to: crate::models::SendTestEmail) -> Result<(), Error<SendTestEmailError>> {
475    let local_var_configuration = configuration;
476
477    let local_var_client = &local_var_configuration.client;
478
479    let local_var_uri_str = format!("{}/emailCampaigns/{campaignId}/sendTest", local_var_configuration.base_path, campaignId=campaign_id);
480    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
481
482    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
483        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
484    }
485    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
486        let local_var_key = local_var_apikey.key.clone();
487        let local_var_value = match local_var_apikey.prefix {
488            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
489            None => local_var_key,
490        };
491        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
492    };
493    local_var_req_builder = local_var_req_builder.json(&email_to);
494
495    let local_var_req = local_var_req_builder.build()?;
496    let local_var_resp = local_var_client.execute(local_var_req).await?;
497
498    let local_var_status = local_var_resp.status();
499    let local_var_content = local_var_resp.text().await?;
500
501    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
502        Ok(())
503    } else {
504        let local_var_entity: Option<SendTestEmailError> = serde_json::from_str(&local_var_content).ok();
505        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
506        Err(Error::ResponseError(local_var_error))
507    }
508}
509
510pub async fn update_campaign_status(configuration: &configuration::Configuration, campaign_id: i64, status: crate::models::UpdateCampaignStatus) -> Result<(), Error<UpdateCampaignStatusError>> {
511    let local_var_configuration = configuration;
512
513    let local_var_client = &local_var_configuration.client;
514
515    let local_var_uri_str = format!("{}/emailCampaigns/{campaignId}/status", local_var_configuration.base_path, campaignId=campaign_id);
516    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
517
518    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
519        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
520    }
521    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
522        let local_var_key = local_var_apikey.key.clone();
523        let local_var_value = match local_var_apikey.prefix {
524            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
525            None => local_var_key,
526        };
527        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
528    };
529    local_var_req_builder = local_var_req_builder.json(&status);
530
531    let local_var_req = local_var_req_builder.build()?;
532    let local_var_resp = local_var_client.execute(local_var_req).await?;
533
534    let local_var_status = local_var_resp.status();
535    let local_var_content = local_var_resp.text().await?;
536
537    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
538        Ok(())
539    } else {
540        let local_var_entity: Option<UpdateCampaignStatusError> = serde_json::from_str(&local_var_content).ok();
541        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
542        Err(Error::ResponseError(local_var_error))
543    }
544}
545
546pub async fn update_email_campaign(configuration: &configuration::Configuration, campaign_id: i64, email_campaign: crate::models::UpdateEmailCampaign) -> Result<(), Error<UpdateEmailCampaignError>> {
547    let local_var_configuration = configuration;
548
549    let local_var_client = &local_var_configuration.client;
550
551    let local_var_uri_str = format!("{}/emailCampaigns/{campaignId}", local_var_configuration.base_path, campaignId=campaign_id);
552    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
553
554    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
555        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
556    }
557    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
558        let local_var_key = local_var_apikey.key.clone();
559        let local_var_value = match local_var_apikey.prefix {
560            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
561            None => local_var_key,
562        };
563        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
564    };
565    local_var_req_builder = local_var_req_builder.json(&email_campaign);
566
567    let local_var_req = local_var_req_builder.build()?;
568    let local_var_resp = local_var_client.execute(local_var_req).await?;
569
570    let local_var_status = local_var_resp.status();
571    let local_var_content = local_var_resp.text().await?;
572
573    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
574        Ok(())
575    } else {
576        let local_var_entity: Option<UpdateEmailCampaignError> = serde_json::from_str(&local_var_content).ok();
577        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
578        Err(Error::ResponseError(local_var_error))
579    }
580}
581
582pub async fn upload_image_to_gallery(configuration: &configuration::Configuration, upload_image: crate::models::UploadImageToGallery) -> Result<(), Error<UploadImageToGalleryError>> {
583    let local_var_configuration = configuration;
584
585    let local_var_client = &local_var_configuration.client;
586
587    let local_var_uri_str = format!("{}/emailCampaigns/images", local_var_configuration.base_path);
588    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
589
590    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
591        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
592    }
593    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
594        let local_var_key = local_var_apikey.key.clone();
595        let local_var_value = match local_var_apikey.prefix {
596            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
597            None => local_var_key,
598        };
599        local_var_req_builder = local_var_req_builder.header("api-key", local_var_value);
600    };
601    local_var_req_builder = local_var_req_builder.json(&upload_image);
602
603    let local_var_req = local_var_req_builder.build()?;
604    let local_var_resp = local_var_client.execute(local_var_req).await?;
605
606    let local_var_status = local_var_resp.status();
607    let local_var_content = local_var_resp.text().await?;
608
609    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
610        Ok(())
611    } else {
612        let local_var_entity: Option<UploadImageToGalleryError> = serde_json::from_str(&local_var_content).ok();
613        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
614        Err(Error::ResponseError(local_var_error))
615    }
616}
617