@elasticemail/elasticemail-client-ts-axios
Version:
Official ElasticEmail SDK. This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach.
501 lines (450 loc) • 25.2 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* Elastic Email REST API
* This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach. Every API call is established on which specific request type (GET, POST, PUT, DELETE) will be used. The API has a limit of 20 concurrent connections and a hard timeout of 600 seconds per request. To start using this API, you will need your Access Token (available <a target=\"_blank\" href=\"https://app.elasticemail.com/marketing/settings/new/manage-api\">here</a>). Remember to keep it safe. Required access levels are listed in the given request’s description. Downloadable library clients can be found in our Github repository <a target=\"_blank\" href=\"https://github.com/ElasticEmail?tab=repositories&q=%22rest+api%22+in%3Areadme\">here</a>
*
* The version of the OpenAPI document: 4.0.0
* Contact: support@elasticemail.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
import globalAxios from 'axios';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
// @ts-ignore
import { Campaign } from '../ee-api-models';
/**
* CampaignsApi - axios parameter creator
* @export
*/
export const CampaignsApiAxiosParamCreator = function (configuration?: Configuration) {
return {
/**
* Delete the specific campaign. This does not cancel in progress email, see Cancel In Progress. Required Access Level: ModifyCampaigns
* @summary Delete Campaign
* @param {string} name Name of Campaign to delete
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
campaignsByNameDelete: async (name: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
// verify required parameter 'name' is not null or undefined
assertParamExists('campaignsByNameDelete', 'name', name)
const localVarPath = `/campaigns/{name}`
.replace(`{${"name"}}`, encodeURIComponent(String(name)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication apikey required
await setApiKeyToObject(localVarHeaderParameter, "X-ElasticEmail-ApiKey", configuration)
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Returns the specified campaign details. Required Access Level: ViewCampaigns
* @summary Load Campaign
* @param {string} name Name of Campaign to get
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
campaignsByNameGet: async (name: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
// verify required parameter 'name' is not null or undefined
assertParamExists('campaignsByNameGet', 'name', name)
const localVarPath = `/campaigns/{name}`
.replace(`{${"name"}}`, encodeURIComponent(String(name)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication apikey required
await setApiKeyToObject(localVarHeaderParameter, "X-ElasticEmail-ApiKey", configuration)
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Updates a previously added campaign. Only Active and Paused campaigns can be updated. Required Access Level: ModifyCampaigns
* @summary Update Campaign
* @param {string} name Name of Campaign to update
* @param {Campaign} campaign JSON representation of a campaign
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
campaignsByNamePut: async (name: string, campaign: Campaign, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
// verify required parameter 'name' is not null or undefined
assertParamExists('campaignsByNamePut', 'name', name)
// verify required parameter 'campaign' is not null or undefined
assertParamExists('campaignsByNamePut', 'campaign', campaign)
const localVarPath = `/campaigns/{name}`
.replace(`{${"name"}}`, encodeURIComponent(String(name)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication apikey required
await setApiKeyToObject(localVarHeaderParameter, "X-ElasticEmail-ApiKey", configuration)
localVarHeaderParameter['Content-Type'] = 'application/json';
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = serializeDataIfNeeded(campaign, localVarRequestOptions, configuration)
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Returns a list all of your campaigns. Limited to 1000 results. Required Access Level: ViewCampaigns
* @summary Load Campaigns
* @param {string} [search] Text fragment used for searching in Campaign name (using the \'contains\' rule)
* @param {number} [offset] How many items should be returned ahead.
* @param {number} [limit] Maximum number of returned items.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
campaignsGet: async (search?: string, offset?: number, limit?: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
const localVarPath = `/campaigns`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication apikey required
await setApiKeyToObject(localVarHeaderParameter, "X-ElasticEmail-ApiKey", configuration)
if (search !== undefined) {
localVarQueryParameter['search'] = search;
}
if (offset !== undefined) {
localVarQueryParameter['offset'] = offset;
}
if (limit !== undefined) {
localVarQueryParameter['limit'] = limit;
}
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Add a campaign for processing. Required Access Level: ModifyCampaigns
* @summary Add Campaign
* @param {Campaign} campaign JSON representation of a campaign
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
campaignsPost: async (campaign: Campaign, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
// verify required parameter 'campaign' is not null or undefined
assertParamExists('campaignsPost', 'campaign', campaign)
const localVarPath = `/campaigns`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication apikey required
await setApiKeyToObject(localVarHeaderParameter, "X-ElasticEmail-ApiKey", configuration)
localVarHeaderParameter['Content-Type'] = 'application/json';
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = serializeDataIfNeeded(campaign, localVarRequestOptions, configuration)
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
}
};
/**
* CampaignsApi - functional programming interface
* @export
*/
export const CampaignsApiFp = function(configuration?: Configuration) {
const localVarAxiosParamCreator = CampaignsApiAxiosParamCreator(configuration)
return {
/**
* Delete the specific campaign. This does not cancel in progress email, see Cancel In Progress. Required Access Level: ModifyCampaigns
* @summary Delete Campaign
* @param {string} name Name of Campaign to delete
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async campaignsByNameDelete(name: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.campaignsByNameDelete(name, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
* Returns the specified campaign details. Required Access Level: ViewCampaigns
* @summary Load Campaign
* @param {string} name Name of Campaign to get
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async campaignsByNameGet(name: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Campaign>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.campaignsByNameGet(name, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
* Updates a previously added campaign. Only Active and Paused campaigns can be updated. Required Access Level: ModifyCampaigns
* @summary Update Campaign
* @param {string} name Name of Campaign to update
* @param {Campaign} campaign JSON representation of a campaign
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async campaignsByNamePut(name: string, campaign: Campaign, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Campaign>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.campaignsByNamePut(name, campaign, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
* Returns a list all of your campaigns. Limited to 1000 results. Required Access Level: ViewCampaigns
* @summary Load Campaigns
* @param {string} [search] Text fragment used for searching in Campaign name (using the \'contains\' rule)
* @param {number} [offset] How many items should be returned ahead.
* @param {number} [limit] Maximum number of returned items.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async campaignsGet(search?: string, offset?: number, limit?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<Campaign>>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.campaignsGet(search, offset, limit, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
* Add a campaign for processing. Required Access Level: ModifyCampaigns
* @summary Add Campaign
* @param {Campaign} campaign JSON representation of a campaign
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async campaignsPost(campaign: Campaign, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Campaign>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.campaignsPost(campaign, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
}
};
/**
* CampaignsApi - factory interface
* @export
*/
export const CampaignsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
const localVarFp = CampaignsApiFp(configuration)
return {
/**
* Delete the specific campaign. This does not cancel in progress email, see Cancel In Progress. Required Access Level: ModifyCampaigns
* @summary Delete Campaign
* @param {string} name Name of Campaign to delete
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
campaignsByNameDelete(name: string, options?: any): AxiosPromise<void> {
return localVarFp.campaignsByNameDelete(name, options).then((request) => request(axios, basePath));
},
/**
* Returns the specified campaign details. Required Access Level: ViewCampaigns
* @summary Load Campaign
* @param {string} name Name of Campaign to get
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
campaignsByNameGet(name: string, options?: any): AxiosPromise<Campaign> {
return localVarFp.campaignsByNameGet(name, options).then((request) => request(axios, basePath));
},
/**
* Updates a previously added campaign. Only Active and Paused campaigns can be updated. Required Access Level: ModifyCampaigns
* @summary Update Campaign
* @param {string} name Name of Campaign to update
* @param {Campaign} campaign JSON representation of a campaign
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
campaignsByNamePut(name: string, campaign: Campaign, options?: any): AxiosPromise<Campaign> {
return localVarFp.campaignsByNamePut(name, campaign, options).then((request) => request(axios, basePath));
},
/**
* Returns a list all of your campaigns. Limited to 1000 results. Required Access Level: ViewCampaigns
* @summary Load Campaigns
* @param {string} [search] Text fragment used for searching in Campaign name (using the \'contains\' rule)
* @param {number} [offset] How many items should be returned ahead.
* @param {number} [limit] Maximum number of returned items.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
campaignsGet(search?: string, offset?: number, limit?: number, options?: any): AxiosPromise<Array<Campaign>> {
return localVarFp.campaignsGet(search, offset, limit, options).then((request) => request(axios, basePath));
},
/**
* Add a campaign for processing. Required Access Level: ModifyCampaigns
* @summary Add Campaign
* @param {Campaign} campaign JSON representation of a campaign
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
campaignsPost(campaign: Campaign, options?: any): AxiosPromise<Campaign> {
return localVarFp.campaignsPost(campaign, options).then((request) => request(axios, basePath));
},
};
};
/**
* CampaignsApi - interface
* @export
* @interface CampaignsApi
*/
export interface CampaignsApiInterface {
/**
* Delete the specific campaign. This does not cancel in progress email, see Cancel In Progress. Required Access Level: ModifyCampaigns
* @summary Delete Campaign
* @param {string} name Name of Campaign to delete
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof CampaignsApiInterface
*/
campaignsByNameDelete(name: string, options?: AxiosRequestConfig): AxiosPromise<void>;
/**
* Returns the specified campaign details. Required Access Level: ViewCampaigns
* @summary Load Campaign
* @param {string} name Name of Campaign to get
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof CampaignsApiInterface
*/
campaignsByNameGet(name: string, options?: AxiosRequestConfig): AxiosPromise<Campaign>;
/**
* Updates a previously added campaign. Only Active and Paused campaigns can be updated. Required Access Level: ModifyCampaigns
* @summary Update Campaign
* @param {string} name Name of Campaign to update
* @param {Campaign} campaign JSON representation of a campaign
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof CampaignsApiInterface
*/
campaignsByNamePut(name: string, campaign: Campaign, options?: AxiosRequestConfig): AxiosPromise<Campaign>;
/**
* Returns a list all of your campaigns. Limited to 1000 results. Required Access Level: ViewCampaigns
* @summary Load Campaigns
* @param {string} [search] Text fragment used for searching in Campaign name (using the \'contains\' rule)
* @param {number} [offset] How many items should be returned ahead.
* @param {number} [limit] Maximum number of returned items.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof CampaignsApiInterface
*/
campaignsGet(search?: string, offset?: number, limit?: number, options?: AxiosRequestConfig): AxiosPromise<Array<Campaign>>;
/**
* Add a campaign for processing. Required Access Level: ModifyCampaigns
* @summary Add Campaign
* @param {Campaign} campaign JSON representation of a campaign
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof CampaignsApiInterface
*/
campaignsPost(campaign: Campaign, options?: AxiosRequestConfig): AxiosPromise<Campaign>;
}
/**
* CampaignsApi - object-oriented interface
* @export
* @class CampaignsApi
* @extends {BaseAPI}
*/
export class CampaignsApi extends BaseAPI implements CampaignsApiInterface {
/**
* Delete the specific campaign. This does not cancel in progress email, see Cancel In Progress. Required Access Level: ModifyCampaigns
* @summary Delete Campaign
* @param {string} name Name of Campaign to delete
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof CampaignsApi
*/
public campaignsByNameDelete(name: string, options?: AxiosRequestConfig) {
return CampaignsApiFp(this.configuration).campaignsByNameDelete(name, options).then((request) => request(this.axios, this.basePath));
}
/**
* Returns the specified campaign details. Required Access Level: ViewCampaigns
* @summary Load Campaign
* @param {string} name Name of Campaign to get
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof CampaignsApi
*/
public campaignsByNameGet(name: string, options?: AxiosRequestConfig) {
return CampaignsApiFp(this.configuration).campaignsByNameGet(name, options).then((request) => request(this.axios, this.basePath));
}
/**
* Updates a previously added campaign. Only Active and Paused campaigns can be updated. Required Access Level: ModifyCampaigns
* @summary Update Campaign
* @param {string} name Name of Campaign to update
* @param {Campaign} campaign JSON representation of a campaign
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof CampaignsApi
*/
public campaignsByNamePut(name: string, campaign: Campaign, options?: AxiosRequestConfig) {
return CampaignsApiFp(this.configuration).campaignsByNamePut(name, campaign, options).then((request) => request(this.axios, this.basePath));
}
/**
* Returns a list all of your campaigns. Limited to 1000 results. Required Access Level: ViewCampaigns
* @summary Load Campaigns
* @param {string} [search] Text fragment used for searching in Campaign name (using the \'contains\' rule)
* @param {number} [offset] How many items should be returned ahead.
* @param {number} [limit] Maximum number of returned items.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof CampaignsApi
*/
public campaignsGet(search?: string, offset?: number, limit?: number, options?: AxiosRequestConfig) {
return CampaignsApiFp(this.configuration).campaignsGet(search, offset, limit, options).then((request) => request(this.axios, this.basePath));
}
/**
* Add a campaign for processing. Required Access Level: ModifyCampaigns
* @summary Add Campaign
* @param {Campaign} campaign JSON representation of a campaign
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof CampaignsApi
*/
public campaignsPost(campaign: Campaign, options?: AxiosRequestConfig) {
return CampaignsApiFp(this.configuration).campaignsPost(campaign, options).then((request) => request(this.axios, this.basePath));
}
}