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
- /campaigns/list
- /sends/data_series
- /canvas/data_series
- /canvas/data_summary
- /canvas/details
- /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}
- GET /catalogs/{catalog_name}/items/{item_id}
- 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}
- GET /catalogs
- POST /catalogs
- /content_blocks/list
- /content_blocks/info
- /content_blocks/create
- /content_blocks/update
- /events/list
- /events/data_series
- /email/hard_bounces
- /email/unsubscribes
- /email/blacklist
- /email/status
- /email/bounce/remove
- /email/spam/remove
- /templates/email/list
- /templates/email/info
- /templates/email/create
- /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}
- /messages/scheduled_broadcasts
- /messages/schedule/delete
- /canvas/trigger/schedule/delete
- /campaigns/trigger/schedule/delete
- /messages/schedule/create
- /campaigns/trigger/schedule/create
- /messages/schedule/update
- /campaigns/trigger/schedule/update
- /canvas/trigger/schedule/create
- /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}
- /segments/list
- /segments/data_series
- /segments/details
- /sends/id/create
- /messages/send
- /transactional/v1/campaigns/{{CAMPAIGN_ID}}/send
- /campaigns/trigger/send
- /canvas/trigger/send
- /sessions/data_series
- /sms/invalid_phone_numbers
- /sms/invalid_phone_numbers/remove
- /subscription/status/get
- /subscription/user/status
- /subscription/status/set
- /v2/subscription/status/set
- /users/export/global_control_group
- /users/export/ids
- /users/export/segment
- /users/external_ids/remove
- /users/external_ids/rename
- /users/alias/new
- /users/delete
- /users/identify
- /users/track
- /users/alias/update
- /users/merge
- /messages/live_activity/update
Contributions are welcome! Check out the guide. 👋