omnisend-node-sdk
Version:
🔹 Typesafe Omnisend API SDK for Node.js
197 lines (196 loc) • 6.7 kB
TypeScript
import type { CampaignFull, CampaignPartial, PagingLink } from "../data-contracts";
import type { HttpClient, RequestParams } from "../http-client";
export declare class Campaigns<SecurityDataType = unknown, SafeMode extends true | false = false> {
http: HttpClient<SecurityDataType, SafeMode>;
constructor(http: HttpClient<SecurityDataType, SafeMode>);
/**
* No description
*
* @tags Campaigns
* @name GetCampaignsCampaignId
* @summary Get campaign's info
* @request GET:/campaigns/{campaignID}
* @secure
*/
getCampaignsCampaignId: (campaignId: string, params?: RequestParams) => Promise<SafeMode extends true ? {
success: false;
error?: string | undefined;
} | {
success: true;
data: CampaignFull;
} : CampaignFull>;
/**
* @description **Curl example:** ```php curl -X DELETE "https://api.omnisend.com/v3/campaigns/59099010597ed74f6635fb14" ``` **Note**: only `sent` and `draft` campaigns cant be deleted.
*
* @tags Campaigns
* @name DeleteCampaignsCampaignId
* @summary Delete campaign
* @request DELETE:/campaigns/{campaignID}
* @secure
*/
deleteCampaignsCampaignId: (campaignId: string, params?: RequestParams) => Promise<SafeMode extends true ? {
success: false;
error?: string | undefined;
} | {
success: true;
data: void;
} : void>;
/**
* No description
*
* @tags Campaigns
* @name GetCampaigns
* @summary List campaigns
* @request GET:/campaigns
* @secure
*/
getCampaigns: (query?: {
sort?: string;
/** See method description for available statuses. */
status?: "draft" | "paused" | "scheduled" | "inProgress" | "sent";
/** See method description for available types. */
type?: string;
/**
* Number of results to skip. Default is 0.
* @min 0
* @default 0
*/
offset?: number;
/**
* Number of results to fetch. Default is 100, max 250.
* @min 1
* @max 250
* @default 100
*/
limit?: number;
}, params?: RequestParams) => Promise<SafeMode extends true ? {
success: false;
error?: string | undefined;
} | {
success: true;
data: {
campaigns?: CampaignPartial[] | undefined;
paging?: PagingLink | undefined;
};
} : {
campaigns?: CampaignPartial[] | undefined;
paging?: PagingLink | undefined;
}>;
/**
* No description
*
* @tags Campaigns
* @name GetCampaignsCampaignIdContactsContactId
* @summary Get campaign's contact
* @request GET:/campaigns/{campaignID}/contacts/{contactID}
* @secure
*/
getCampaignsCampaignIdContactsContactId: (campaignId: string, contactId: string, params?: RequestParams) => Promise<SafeMode extends true ? {
success: false;
error?: string | undefined;
} | {
success: true;
data: {
/** @format email */
email?: string | undefined;
contactID?: string | undefined;
sent?: boolean | undefined;
opened?: boolean | undefined;
clicked?: boolean | undefined;
bounced?: boolean | undefined;
complained?: boolean | undefined;
unsubscribed?: boolean | undefined;
};
} : {
/** @format email */
email?: string | undefined;
contactID?: string | undefined;
sent?: boolean | undefined;
opened?: boolean | undefined;
clicked?: boolean | undefined;
bounced?: boolean | undefined;
complained?: boolean | undefined;
unsubscribed?: boolean | undefined;
}>;
/**
* @description There is ability to get campaign contacts which `opened` email, `clicked` on links in email, `unsubsribed`, `complained` or `bounced`. Just pass query parameter with value **true**. **Example**: https://api.omnisend.com/v3/campaigns/59099010597ed74f6635fb14/contacts?**clicked=true**
*
* @tags Campaigns
* @name GetCampaignsCampaignIdContacts
* @summary List campaign contacts
* @request GET:/campaigns/{campaignID}/contacts
* @secure
*/
getCampaignsCampaignIdContacts: (campaignId: string, query?: {
clicked?: true | false;
opened?: true | false;
unsubscribed?: true | false;
bounced?: true | false;
complained?: true | false;
/**
* Number of results to skip. Default is 0.
* @min 0
* @default 0
*/
offset?: number;
/**
* Number of results to fetch. Default is 100, max 250.
* @min 1
* @max 250
* @default 100
*/
limit?: number;
}, params?: RequestParams) => Promise<SafeMode extends true ? {
success: false;
error?: string | undefined;
} | {
success: true;
data: {
contacts?: {
/** @format email */
email?: string | undefined;
contactID?: string | undefined;
sent?: boolean | undefined;
opened?: boolean | undefined;
clicked?: boolean | undefined;
bounced?: boolean | undefined;
complained?: boolean | undefined;
unsubscribed?: boolean | undefined;
}[] | undefined;
paging?: PagingLink | undefined;
};
} : {
contacts?: {
/** @format email */
email?: string | undefined;
contactID?: string | undefined;
sent?: boolean | undefined;
opened?: boolean | undefined;
clicked?: boolean | undefined;
bounced?: boolean | undefined;
complained?: boolean | undefined;
unsubscribed?: boolean | undefined;
}[] | undefined;
paging?: PagingLink | undefined;
}>;
/**
* @description Start sending campaign emails - if campaign is in draft or scheduled mode.
*
* @tags Campaigns
* @name PostCampaignsCampaignIdActionsStart
* @summary Start sending campaign emails
* @request POST:/campaigns/{campaignID}/actions/start
* @secure
*/
postCampaignsCampaignIdActionsStart: (campaignId: string, params?: RequestParams) => Promise<SafeMode extends true ? {
success: false;
error?: string | undefined;
} | {
success: true;
data: {
campaignID: string;
};
} : {
campaignID: string;
}>;
}