UNPKG

braze-api

Version:

Track users, send messages, export data, and more with Braze API.

455 lines 16.1 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.Braze = void 0; const campaigns = __importStar(require("./campaigns")); const canvas = __importStar(require("./canvas")); const catalogs = __importStar(require("./catalogs")); const email = __importStar(require("./email")); const messages = __importStar(require("./messages")); const segments = __importStar(require("./segments")); const sends = __importStar(require("./sends")); const subscription = __importStar(require("./subscription")); const templates = __importStar(require("./templates")); const transactional = __importStar(require("./transactional")); const users = __importStar(require("./users")); const v2 = __importStar(require("./v2")); class Braze { /** * @param apiUrl - Braze REST endpoint. * @param apiKey - Braze API key. */ constructor(apiUrl, apiKey) { /* eslint-disable tsdoc/syntax */ this.campaigns = { /** * GET /campaigns/details */ details: (parameters) => { return campaigns.details(this.apiUrl, this.apiKey, parameters); }, /** * GET /campaigns/list */ list: (parameters) => { return campaigns.list(this.apiUrl, this.apiKey, parameters); }, trigger: { schedule: { /** * POST /campaigns/trigger/schedule/create */ create: (body) => { return campaigns.trigger.schedule.create(this.apiUrl, this.apiKey, body); }, /** * POST /campaigns/trigger/schedule/delete */ delete: (body) => { return campaigns.trigger.schedule._delete(this.apiUrl, this.apiKey, body); }, /** * POST /campaigns/trigger/schedule/update */ update: (body) => { return campaigns.trigger.schedule.update(this.apiUrl, this.apiKey, body); }, }, /** * POST /campaigns/trigger/send */ send: (body) => { return campaigns.trigger.send(this.apiUrl, this.apiKey, body); }, }, }; this.canvas = { /** * GET /canvas/list */ list: (parameters) => { return canvas.list(this.apiUrl, this.apiKey, parameters); }, trigger: { schedule: { /** * POST /canvas/trigger/schedule/create */ create: (body) => { return canvas.trigger.schedule.create(this.apiUrl, this.apiKey, body); }, /** * POST /canvas/trigger/schedule/delete */ delete: (body) => { return canvas.trigger.schedule._delete(this.apiUrl, this.apiKey, body); }, /** * POST /canvas/trigger/schedule/update */ update: (body) => { return canvas.trigger.schedule.update(this.apiUrl, this.apiKey, body); }, }, /** * POST /canvas/trigger/send */ send: (body) => { return canvas.trigger.send(this.apiUrl, this.apiKey, body); }, }, }; /** * {@link https://www.braze.com/docs/api/endpoints/catalogs} */ this.catalogs = { synchronous: { /** * GET /catalogs */ list: () => { return catalogs.synchronous.listCatalogs(this.apiUrl, this.apiKey); }, /** * GET /catalogs/{catalog_name}/items */ items: (body) => { return catalogs.synchronous.getListCatalogItemsIterator(this.apiUrl, this.apiKey, body); }, /** * GET /catalogs/{catalog_name}/items/{item_id} */ item: (body) => { return catalogs.synchronous.getCatalogItem(this.apiUrl, this.apiKey, body); }, }, }; /** * {@link https://www.braze.com/docs/api/endpoints/email} */ this.email = { /** * POST /email/blacklist */ blacklist: (body) => { return email.blacklist(this.apiUrl, this.apiKey, body); }, /** * POST /email/blacklist */ bounce: { remove: (body) => { return email.bounce.remove(this.apiUrl, this.apiKey, body); }, }, /** * POST /email/spam/remove */ spam: { remove: (body) => { return email.spam.remove(this.apiUrl, this.apiKey, body); }, }, }; /** * {@link https://www.braze.com/docs/api/endpoints/messaging} */ this.messages = { schedule: { /** * POST /messages/schedule/create */ create: (body) => { return messages.schedule.create(this.apiUrl, this.apiKey, body); }, /** * POST /messages/schedule/delete */ delete: (body) => { return messages.schedule._delete(this.apiUrl, this.apiKey, body); }, /** * POST /messages/schedule/update */ update: (body) => { return messages.schedule.update(this.apiUrl, this.apiKey, body); }, }, /** * GET /messages/scheduled_broadcasts */ scheduled_broadcasts: (body) => { return messages.scheduled_broadcasts(this.apiUrl, this.apiKey, body); }, /** * POST /messages/send */ send: (body) => { return messages.send(this.apiUrl, this.apiKey, body); }, }; this.segments = { /** * GET /segments/data_series */ analytics: (parameters) => { return segments.analytics(this.apiUrl, this.apiKey, parameters); }, /** * GET /segments/details */ details: (parameters) => { return segments.details(this.apiUrl, this.apiKey, parameters); }, /** * GET /segments/list */ list: (parameters) => { return segments.list(this.apiUrl, this.apiKey, parameters); }, }; this.sends = { id: { /** * POST /sends/id/create */ create: (body) => { return sends.id.create(this.apiUrl, this.apiKey, body); }, }, }; /** * {@link https://www.braze.com/docs/api/endpoints/subscription_groups} */ this.subscription = { status: { /** * GET /subscription/status/get */ get: (body) => { return subscription.status.get(this.apiUrl, this.apiKey, body); }, /** * POST /subscription/status/set */ set: (body) => { return subscription.status.set(this.apiUrl, this.apiKey, body); }, }, user: { /** * GET /subscription/user/status */ status: (body) => { return subscription.user.status(this.apiUrl, this.apiKey, body); }, }, }; /** * {@link https://www.braze.com/docs/api/endpoints/templates} */ this.templates = { content_blocks: { /** * GET /content_blocks/info */ get: (body) => { return templates.content_blocks.getContentBlock(this.apiUrl, this.apiKey, body); }, /** * GET /content_blocks/list */ list: (body) => { return templates.content_blocks.listContentBlocks(this.apiUrl, this.apiKey, body); }, /** * POST /content_blocks/create */ create: (body) => { return templates.content_blocks.createContentBlock(this.apiUrl, this.apiKey, body); }, /** * POST /content_blocks/update */ update: (body) => { return templates.content_blocks.updateContentBlock(this.apiUrl, this.apiKey, body); }, }, email_templates: { /** * GET /templates/email/info */ get: (body) => { return templates.email_templates.getEmailTemplate(this.apiUrl, this.apiKey, body); }, /** * GET /templates/email/list */ list: (body) => { return templates.email_templates.getEmailTemplateList(this.apiUrl, this.apiKey, body); }, /** * POST /templates/email/create */ create: (body) => { return templates.email_templates.createEmailTemplate(this.apiUrl, this.apiKey, body); }, /** * POST /templates/email/update */ update: (body) => { return templates.email_templates.updateEmailTemplate(this.apiUrl, this.apiKey, body); }, }, }; this.transactional = { v1: { campaigns: { /** * POST /transactional/v1/campaigns/{campaign_id}/send */ send: (campaignId, body) => { return transactional.v1.campaigns.send(this.apiUrl, this.apiKey, campaignId, body); }, }, }, }; /** * {@link https://www.braze.com/docs/api/endpoints/user_data} */ this.users = { alias: { /** * POST /users/alias/new */ new: (body) => { return users.alias._new(this.apiUrl, this.apiKey, body); }, /** * POST /users/alias/update */ update: (body) => { return users.alias._update(this.apiUrl, this.apiKey, body); }, }, /** * POST /users/delete */ delete: (body) => { return users._delete(this.apiUrl, this.apiKey, body); }, export: { /** * POST /users/export/global_control_group */ global_control_group: (body) => { return users.export.global_control_group(this.apiUrl, this.apiKey, body); }, /** * POST /users/export/ids */ ids: (body) => { return users.export.ids(this.apiUrl, this.apiKey, body); }, /** * POST /users/export/segment */ segment: (body) => { return users.export.segment(this.apiUrl, this.apiKey, body); }, }, /** * {@link https://www.braze.com/docs/api/endpoints/user_data/external_id_migration} */ external_ids: { /** * POST /users/external_ids/remove */ remove: (body) => { return users.external_ids.remove(this.apiUrl, this.apiKey, body); }, /** * POST /users/external_ids/rename */ rename: (body) => { return users.external_ids.rename(this.apiUrl, this.apiKey, body); }, }, /** * POST /users/identify */ identify: (body) => { return users.identify(this.apiUrl, this.apiKey, body); }, /** * POST /users/merge */ merge: (body) => { return users.merge(this.apiUrl, this.apiKey, body); }, /** * POST /users/track */ track: (body, bulk) => { return users.track(this.apiUrl, this.apiKey, body, bulk); }, }; this.v2 = { /** * {@link https://www.braze.com/docs/api/endpoints/subscription_groups} */ subscription: { status: { /** * POST /v2/subscription/status/set */ set: (body) => { return v2.subscription.status.set(this.apiUrl, this.apiKey, body); }, }, }, }; if (!apiUrl || typeof apiUrl !== 'string') { throw new Error(`Invalid Braze API URL: ${apiUrl}`); } if (!apiKey || typeof apiKey !== 'string') { throw new Error(`Invalid Braze API key: ${apiKey}`); } this.apiUrl = apiUrl; this.apiKey = apiKey; } } exports.Braze = Braze; //# sourceMappingURL=Braze.js.map