Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/braze-community/braze-node
📫 Node.js library for Braze API.
https://github.com/braze-community/braze-node
api appboy braze braze-api javascript nodejs npm rest sdk typescript
Last synced: 2 days ago
JSON representation
📫 Node.js library for Braze API.
- Host: GitHub
- URL: https://github.com/braze-community/braze-node
- Owner: braze-community
- License: mit
- Created: 2022-07-04T21:24:05.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-30T05:10:31.000Z (2 months ago)
- Last Synced: 2024-10-30T08:31:25.548Z (2 months ago)
- Topics: api, appboy, braze, braze-api, javascript, nodejs, npm, rest, sdk, typescript
- Language: TypeScript
- Homepage: https://braze-community.github.io/braze-node
- Size: 16.6 MB
- Stars: 13
- Watchers: 2
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# braze-api
[![NPM](https://nodei.co/npm/braze-api.png)](https://nodei.co/npm/braze-api/)
[![NPM version](https://img.shields.io/npm/v/braze-api.svg)](https://www.npmjs.com/package/braze-api)
[![build](https://github.com/braze-community/braze-node/actions/workflows/build.yml/badge.svg)](https://github.com/braze-community/braze-node/actions/workflows/build.yml)
[![codecov](https://codecov.io/gh/braze-community/braze-node/branch/master/graph/badge.svg?token=QHPI1I0XI3)](https://codecov.io/gh/braze-community/braze-node)
[![NPM downloads](https://badgen.net/npm/dm/braze-api)](https://www.npmjs.com/package/braze-api)Node.js library for [Braze](https://www.braze.com/). See [docs](https://braze-community.github.io/braze-node/) and [demo](https://replit.com/@remarkablemark/braze-api). The types are from [Braze's Postman collection](https://documenter.getpostman.com/view/4689407/SVYrsdsG).
## Quick Start
```ts
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 ',
email_template_id: 'your_email_template_id',
},
},
})
```## Documentation
- [TypeDoc](https://braze-community.github.io/braze-node/)
- [Braze API Guide](https://www.braze.com/docs/api/)
- [Braze's Postman collection](https://documenter.getpostman.com/view/4689407/SVYrsdsG)## Prerequisites
- [Node.js](https://nodejs.org/)
- [Braze account](https://www.braze.com/get-started)## Installation
[NPM](https://www.npmjs.com/package/braze-api):
```sh
npm install braze-api
```[Yarn](https://yarnpkg.com/package/braze-api):
```sh
yarn add braze-api
```## Usage
The package needs to be configured with your account's REST endpoint and API key:
```ts
const { Braze } = require('braze-api')const braze = new Braze('YOUR_API_URL', 'YOUR_API_KEY')
```The same can be done with ES Modules:
```ts
import { Braze } from 'braze-api'const braze = new Braze('YOUR_API_URL', 'YOUR_API_KEY')
```### API URL
Use the [REST endpoint](https://www.braze.com/docs/api/basics#endpoints) 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](https://www.braze.com/docs/api/basics#creating-and-managing-rest-api-keys) can be created in your Braze dashboard.
## API Methods
The library supports the following [Braze API endpoints](https://www.braze.com/docs/api/home). 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
- [x] /content_blocks/create
- [x] /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={[email protected]}
- [ ] GET /scim/v2/Users/{id}
- [ ] POST /scim/v2/Users
- [ ] PUT /scim/v2/Users/{id}### Segments
- [x] /segments/list
- [x] /segments/data_series
- [x] /segments/details### Send Messages
- [x] /sends/id/create
- [x] /messages/send
- [x] /transactional/v1/campaigns/{{CAMPAIGN_ID}}/send
- [x] /campaigns/trigger/send
- [x] /canvas/trigger/send### Sessions
- [ ] /sessions/data_series
### 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](https://github.com/braze-community/braze-node/blob/master/.github/CONTRIBUTING.md). 👋
## License
[MIT](https://github.com/braze-community/braze-node/blob/master/LICENSE)