braze-api
Version:
Track users, send messages, export data, and more with Braze API.
353 lines • 13.1 kB
TypeScript
import * as campaigns from './campaigns';
import * as canvas from './canvas';
import * as catalogs from './catalogs';
import * as email from './email';
import * as messages from './messages';
import * as segments from './segments';
import * as sends from './sends';
import * as subscription from './subscription';
import * as templates from './templates';
import * as transactional from './transactional';
import * as users from './users';
import * as v2 from './v2';
export declare class Braze {
/**
* {@link https://www.braze.com/docs/api/basics/#endpoints}
*/
private readonly apiUrl;
/**
* {@link https://www.braze.com/docs/user_guide/administrative/app_settings/api_settings_tab/}
*/
private readonly apiKey;
/**
* @param apiUrl - Braze REST endpoint.
* @param apiKey - Braze API key.
*/
constructor(apiUrl: string, apiKey: string);
campaigns: {
/**
* GET /campaigns/details
*/
details: (parameters: campaigns.CampaignsDetailsParameters) => Promise<campaigns.CampaignsDetailsResponse>;
/**
* GET /campaigns/list
*/
list: (parameters?: campaigns.CampaignsListParameters) => Promise<campaigns.CampaignsListResponse>;
trigger: {
schedule: {
/**
* POST /campaigns/trigger/schedule/create
*/
create: (body: campaigns.trigger.schedule.CampaignsTriggerScheduleCreateObject) => Promise<campaigns.CampaignsTriggerScheduleCreateResponse>;
/**
* POST /campaigns/trigger/schedule/delete
*/
delete: (body: campaigns.trigger.schedule.CampaignsTriggerScheduleDeleteObject) => Promise<import("./common/request").ServerResponse>;
/**
* POST /campaigns/trigger/schedule/update
*/
update: (body: campaigns.trigger.schedule.CampaignsTriggerScheduleUpdateObject) => Promise<import("./common/request").ServerResponse>;
};
/**
* POST /campaigns/trigger/send
*/
send: (body: campaigns.trigger.CampaignsTriggerSendObject) => Promise<{
dispatch_id: string;
message: string;
}>;
};
};
canvas: {
/**
* GET /canvas/list
*/
list: (parameters?: canvas.CanvasListParameters) => Promise<canvas.CanvasListResponse>;
trigger: {
schedule: {
/**
* POST /canvas/trigger/schedule/create
*/
create: (body: canvas.trigger.schedule.CanvasTriggerScheduleCreateObject) => Promise<canvas.CanvasTriggerScheduleCreatResponse>;
/**
* POST /canvas/trigger/schedule/delete
*/
delete: (body: canvas.trigger.schedule.CanvasTriggerScheduleDeleteObject) => Promise<import("./common/request").ServerResponse>;
/**
* POST /canvas/trigger/schedule/update
*/
update: (body: canvas.trigger.schedule.CanvasTriggerScheduleUpdateObject) => Promise<import("./common/request").ServerResponse>;
};
/**
* POST /canvas/trigger/send
*/
send: (body: canvas.trigger.CanvasTriggerSendObject) => Promise<{
dispatch_id: string;
message: string;
}>;
};
};
/**
* {@link https://www.braze.com/docs/api/endpoints/catalogs}
*/
catalogs: {
synchronous: {
/**
* GET /catalogs
*/
list: () => Promise<catalogs.CatalogListResponse>;
/**
* GET /catalogs/{catalog_name}/items
*/
items: <T extends catalogs.synchronous.CatalogListItem>(body: catalogs.synchronous.CatalogListItemsBody) => AsyncGenerator<T, any, any>;
/**
* GET /catalogs/{catalog_name}/items/{item_id}
*/
item: <T extends catalogs.synchronous.CatalogListItem>(body: catalogs.synchronous.CatalogListItemBody) => Promise<catalogs.CatalogListItemResponse<T>>;
};
};
/**
* {@link https://www.braze.com/docs/api/endpoints/email}
*/
email: {
/**
* POST /email/blacklist
*/
blacklist: (body: email.EmailBlacklistObject) => Promise<import("./common/request").ServerResponse>;
/**
* POST /email/blacklist
*/
bounce: {
remove: (body: email.bounce.EmailBounceRemoveObject) => Promise<import("./common/request").ServerResponse>;
};
/**
* POST /email/spam/remove
*/
spam: {
remove: (body: email.spam.EmailSpamRemoveObject) => Promise<import("./common/request").ServerResponse>;
};
};
/**
* {@link https://www.braze.com/docs/api/endpoints/messaging}
*/
messages: {
schedule: {
/**
* POST /messages/schedule/create
*/
create: (body: messages.schedule.MessagesScheduleCreateObject) => Promise<{
dispatch_id: string;
schedule_id: string;
message: "success" | string;
}>;
/**
* POST /messages/schedule/delete
*/
delete: (body: messages.schedule.MessagesScheduleDeleteObject) => Promise<import("./common/request").ServerResponse>;
/**
* POST /messages/schedule/update
*/
update: (body: messages.schedule.MessagesScheduleUpdateObject) => Promise<import("./common/request").ServerResponse>;
};
/**
* GET /messages/scheduled_broadcasts
*/
scheduled_broadcasts: (body: Parameters<typeof messages.scheduled_broadcasts>[2]) => Promise<messages.ScheduledBroadcastsResponse>;
/**
* POST /messages/send
*/
send: (body: messages.MessagesSendObject) => Promise<{
dispatch_id: string;
message: string;
}>;
};
segments: {
/**
* GET /segments/data_series
*/
analytics: (parameters: segments.SegmentsAnalyticsParameters) => Promise<segments.SegmentsAnalyticsResponse>;
/**
* GET /segments/details
*/
details: (parameters: segments.SegmentsDetailsParameters) => Promise<segments.SegmentsDetailsResponse>;
/**
* GET /segments/list
*/
list: (parameters?: segments.SegmentsListParameters) => Promise<segments.SegmentsListResponse>;
};
sends: {
id: {
/**
* POST /sends/id/create
*/
create: (body: sends.id.SendsIdCreateObject) => Promise<{
message: string;
send_id: string;
}>;
};
};
/**
* {@link https://www.braze.com/docs/api/endpoints/subscription_groups}
*/
subscription: {
status: {
/**
* GET /subscription/status/get
*/
get: (body: subscription.status.SubscriptionStatusGetObject) => Promise<{
status: Record<string, "Subscribed" | "Unsubscribed" | "Unknown">;
message: "success" | string;
}>;
/**
* POST /subscription/status/set
*/
set: (body: subscription.status.SubscriptionStatusSetObject) => Promise<{
message: "success" | string;
}>;
};
user: {
/**
* GET /subscription/user/status
*/
status: (body: subscription.user.SubscriptionUserStatusObject) => Promise<subscription.SubscriptionUserStatusResponse>;
};
};
/**
* {@link https://www.braze.com/docs/api/endpoints/templates}
*/
templates: {
content_blocks: {
/**
* GET /content_blocks/info
*/
get: (body: templates.content_blocks.ContentBlockBody) => Promise<templates.ContentBlockResponse>;
/**
* GET /content_blocks/list
*/
list: (body: templates.content_blocks.ContentBlockListBody) => Promise<templates.ContentBlockListResponse>;
/**
* POST /content_blocks/create
*/
create: (body: templates.content_blocks.CreateContentBlockBody) => Promise<templates.PostContentBlockResponse>;
/**
* POST /content_blocks/update
*/
update: (body: templates.content_blocks.UpdateContentBlockBody) => Promise<templates.PostContentBlockResponse>;
};
email_templates: {
/**
* GET /templates/email/info
*/
get: (body: templates.email_templates.EmailTemplateBody) => Promise<templates.EmailTemplateResponse>;
/**
* GET /templates/email/list
*/
list: (body: templates.email_templates.EmailTemplateListBody) => Promise<templates.EmailTemplateListResponse>;
/**
* POST /templates/email/create
*/
create: (body: templates.email_templates.CreateEmailTemplateBody) => Promise<templates.PostEmailTemplateResponse>;
/**
* POST /templates/email/update
*/
update: (body: templates.email_templates.UpdateEmailTemplateBody) => Promise<templates.PostEmailTemplateResponse>;
};
};
transactional: {
v1: {
campaigns: {
/**
* POST /transactional/v1/campaigns/{campaign_id}/send
*/
send: (campaignId: string, body: transactional.v1.campaigns.TransactionalV1CampaignsSendObject) => Promise<transactional.CampaignSendResponse>;
};
};
};
/**
* {@link https://www.braze.com/docs/api/endpoints/user_data}
*/
users: {
alias: {
/**
* POST /users/alias/new
*/
new: (body: users.alias.UsersAliasObject) => Promise<import("./common/request").ServerResponse>;
/**
* POST /users/alias/update
*/
update: (body: users.alias.UserAliasUpdates) => Promise<import("./common/request").ServerResponse>;
};
/**
* POST /users/delete
*/
delete: (body: users.UsersDeleteObject) => Promise<users.UsersDeleteResponse>;
export: {
/**
* POST /users/export/global_control_group
*/
global_control_group: (body: users.export.UsersExportGlobalControlGroupObject) => Promise<users.UsersExportGlobalControlGroupResponse>;
/**
* POST /users/export/ids
*/
ids: (body: users.export.UsersExportIdsObject) => Promise<users.UsersExportIdsResponse>;
/**
* POST /users/export/segment
*/
segment: (body: users.export.UsersExportSegmentObject) => Promise<users.UsersExportSegmentResponse>;
};
/**
* {@link https://www.braze.com/docs/api/endpoints/user_data/external_id_migration}
*/
external_ids: {
/**
* POST /users/external_ids/remove
*/
remove: (body: users.external_ids.UsersExternalIdsRemoveObject) => Promise<{
message: string;
removed_ids: string[];
removal_errors: string[];
}>;
/**
* POST /users/external_ids/rename
*/
rename: (body: users.external_ids.UsersExternalIdsRenameObject) => Promise<{
message: string;
external_ids: string[];
rename_errors: string[];
}>;
};
/**
* POST /users/identify
*/
identify: (body: users.UsersIdentifyObject) => Promise<import("./common/request").ServerResponse>;
/**
* POST /users/merge
*/
merge: (body: users.UsersMergeObject) => Promise<import("./common/request").ServerResponse>;
/**
* POST /users/track
*/
track: (body: users.UsersTrackObject, bulk?: boolean) => Promise<{
message: string;
attributes_processed?: number;
events_processed?: number;
purchases_processed?: number;
errors?: object[];
}>;
};
v2: {
/**
* {@link https://www.braze.com/docs/api/endpoints/subscription_groups}
*/
subscription: {
status: {
/**
* POST /v2/subscription/status/set
*/
set: (body: v2.subscription.status.V2SubscriptionStatusSetObject) => Promise<{
message: "success" | string;
}>;
};
};
};
}
//# sourceMappingURL=Braze.d.ts.map