braze-api
TypeScript icon, indicating that this package has built-in type declarations

2.7.0 • Public • Published

braze-api

NPM

NPM version build codecov NPM downloads

Node.js library for Braze. See docs and demo. The types are from Braze's Postman collection.

Quick Start

import { Braze } from 'braze-api'

const braze = new Braze('YOUR_API_URL', 'YOUR_API_KEY')

await braze.messages.send({
  external_user_ids: ['your_external_user_id'],
  messages: {
    email: {
      app_id: 'your_app_id',
      from: 'Company <company@example.com>',
      email_template_id: 'your_email_template_id',
    },
  },
})

Documentation

Prerequisites

Installation

NPM:

npm install braze-api

Yarn:

yarn add braze-api

Usage

The package needs to be configured with your account's REST endpoint and API key:

const { Braze } = require('braze-api')

const braze = new Braze('YOUR_API_URL', 'YOUR_API_KEY')

The same can be done with ES Modules:

import { Braze } from 'braze-api'

const braze = new Braze('YOUR_API_URL', 'YOUR_API_KEY')

API URL

Use the REST endpoint provisioned to your account when you log in to the dashboard:

Instance REST Endpoint
US-01 https://rest.iad-01.braze.com
US-02 https://rest.iad-02.braze.com
US-03 https://rest.iad-03.braze.com
US-04 https://rest.iad-04.braze.com
US-05 https://rest.iad-05.braze.com
US-06 https://rest.iad-06.braze.com
US-08 https://rest.iad-08.braze.com
EU-01 https://rest.fra-01.braze.eu
EU-02 https://rest.fra-02.braze.eu

API Key

The API key can be created in your Braze dashboard.

API Methods

The library supports the following Braze API endpoints. Pull requests are welcome!

Campaigns

  • [ ] /campaigns/data_series
  • [ ] /campaigns/details
  • [x] /campaigns/list
  • [ ] /sends/data_series

Canvas

  • [ ] /canvas/data_series
  • [ ] /canvas/data_summary
  • [ ] /canvas/details
  • [x] /canvas/list

Catalogs

  • [ ] DELETE /catalogs/{catalog_name}/items
  • [ ] PATCH /catalogs/{catalog_name}/items
  • [ ] POST /catalogs/{catalog_name}/items
  • [ ] PUT /catalogs/{catalog_name}/items/
  • [ ] DELETE /catalogs/{catalog_name}/items/{item_id}
  • [x] GET /catalogs/{catalog_name}/items/{item_id}
  • [x] GET /catalogs/{catalog_name}/items
  • [ ] PATCH /catalogs/{catalog_name}/items/{item_id}
  • [ ] POST /catalogs/{catalog_name}/items/{item_id}
  • [ ] PUT /catalogs/{catalog_name}/items/{item_id}
  • [ ] DELETE /catalogs/{catalog_name}
  • [x] GET /catalogs
  • [ ] POST /catalogs

Content Blocks

  • [x] /content_blocks/list
  • [x] /content_blocks/info
  • [ ] /content_blocks/create
  • [ ] /content_blocks/update

Custom Events

  • [ ] /events/list
  • [ ] /events/data_series

Email List

  • [ ] /email/hard_bounces
  • [ ] /email/unsubscribes
  • [x] /email/blacklist
  • [ ] /email/status
  • [x] /email/bounce/remove
  • [x] /email/spam/remove

Email Templates

  • [x] /templates/email/list
  • [x] /templates/email/info
  • [x] /templates/email/create
  • [x] /templates/email/update

KPI

  • [ ] /kpi/new_users/data_series
  • [ ] /kpi/dau/data_series
  • [ ] /kpi/mau/data_series
  • [ ] /kpi/uninstalls/data_series

News Feed

  • [ ] /feed/data_series
  • [ ] /feed/details
  • [ ] /feed/list

Purchases

  • [ ] /purchases/product_list
  • [ ] /purchases/quantity_series
  • [ ] /purchases/revenue_series

Preference Center

  • [ ] /preference_center/v1/{preferenceCenterExternalId}/url/{userId}
  • [ ] /preference_center/v1/list
  • [ ] /preference_center/v1/{preferenceCenterExternalId}
  • [ ] /preference_center/v1
  • [ ] /preference_center/v1/{preferenceCenterExternalId}

Schedule Messages

  • [x] /messages/scheduled_broadcasts
  • [x] /messages/schedule/delete
  • [x] /canvas/trigger/schedule/delete
  • [x] /campaigns/trigger/schedule/delete
  • [x] /messages/schedule/create
  • [x] /campaigns/trigger/schedule/create
  • [x] /messages/schedule/update
  • [x] /campaigns/trigger/schedule/update
  • [x] /canvas/trigger/schedule/create
  • [x] /canvas/trigger/schedule/update

SCIM

  • [ ] DELETE /scim/v2/Users/{id}
  • [ ] GET /scim/v2/Users?filter={userName@example.com}
  • [ ] GET /scim/v2/Users/{id}
  • [ ] POST /scim/v2/Users
  • [ ] PUT /scim/v2/Users/{id}

Segments

  • [ ] /segments/list
  • [ ] /segments/data_series
  • [ ] /segments/details
  • [ ] /sessions/data_series

Send Messages

  • [x] /sends/id/create
  • [x] /messages/send
  • [x] /transactional/v1/campaigns/{{CAMPAIGN_ID}}/send
  • [x] /campaigns/trigger/send
  • [x] /canvas/trigger/send

SMS

  • [ ] /sms/invalid_phone_numbers
  • [ ] /sms/invalid_phone_numbers/remove

Subscription Groups

  • [x] /subscription/status/get
  • [x] /subscription/user/status
  • [x] /subscription/status/set
  • [x] /v2/subscription/status/set

User Data

  • [x] /users/export/global_control_group
  • [x] /users/export/ids
  • [x] /users/export/segment
  • [x] /users/external_ids/remove
  • [x] /users/external_ids/rename
  • [x] /users/alias/new
  • [x] /users/delete
  • [x] /users/identify
  • [x] /users/track
  • [x] /users/alias/update
  • [x] /users/merge

Live Activity

  • [ ] /messages/live_activity/update

Contributing

Contributions are welcome! Check out the guide. 👋

License

MIT

Package Sidebar

Install

npm i braze-api

Weekly Downloads

10,061

Version

2.7.0

License

MIT

Unpacked Size

550 kB

Total Files

915

Last publish

Collaborators

  • remarkablemark