braze-api

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.

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',
},
},
})

NPM:

npm install braze-api

Yarn:

yarn add braze-api

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')

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

The API key can be created in your Braze dashboard.

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

  • [ ] /campaigns/data_series
  • [ ] /campaigns/details
  • [x] /campaigns/list
  • [ ] /sends/data_series
  • [ ] /canvas/data_series
  • [ ] /canvas/data_summary
  • [ ] /canvas/details
  • [x] /canvas/list
  • [ ] 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
  • [x] /content_blocks/list
  • [x] /content_blocks/info
  • [x] /content_blocks/create
  • [x] /content_blocks/update
  • [ ] /events/list
  • [ ] /events/data_series
  • [ ] /email/hard_bounces
  • [ ] /email/unsubscribes
  • [x] /email/blacklist
  • [ ] /email/status
  • [x] /email/bounce/remove
  • [x] /email/spam/remove
  • [x] /templates/email/list
  • [x] /templates/email/info
  • [x] /templates/email/create
  • [x] /templates/email/update
  • [ ] /kpi/new_users/data_series
  • [ ] /kpi/dau/data_series
  • [ ] /kpi/mau/data_series
  • [ ] /kpi/uninstalls/data_series
  • [ ] /feed/data_series
  • [ ] /feed/details
  • [ ] /feed/list
  • [ ] /purchases/product_list
  • [ ] /purchases/quantity_series
  • [ ] /purchases/revenue_series
  • [ ] /preference_center/v1/{preferenceCenterExternalId}/url/{userId}
  • [ ] /preference_center/v1/list
  • [ ] /preference_center/v1/{preferenceCenterExternalId}
  • [ ] /preference_center/v1
  • [ ] /preference_center/v1/{preferenceCenterExternalId}
  • [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
  • [ ] 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}
  • [x] /segments/list
  • [x] /segments/data_series
  • [x] /segments/details
  • [x] /sends/id/create
  • [x] /messages/send
  • [x] /transactional/v1/campaigns/{{CAMPAIGN_ID}}/send
  • [x] /campaigns/trigger/send
  • [x] /canvas/trigger/send
  • [ ] /sessions/data_series
  • [ ] /sms/invalid_phone_numbers
  • [ ] /sms/invalid_phone_numbers/remove
  • [x] /subscription/status/get
  • [x] /subscription/user/status
  • [x] /subscription/status/set
  • [x] /v2/subscription/status/set
  • [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
  • [ ] /messages/live_activity/update

Contributions are welcome! Check out the guide. 👋

MIT