Docs

MagicBell JavaScript SDK

Setup & Configuration

Installation

To get started with the SDK, we recommend installing using npm:

npm install magicbell-js

MagicBell JavaScript ProjectClient

Authentication

Access Token Authentication

The Client API uses an Access Token for authentication.

This token must be provided to authenticate your requests to the API.

Setting the Access Token

When you initialize the SDK, you can set the access token as follows:

const sdk = new Client({ token: 'YOUR_TOKEN' });

If you need to set or update the access token after initializing the SDK, you can use:

const sdk = new Client();
sdk.token = 'YOUR_TOKEN';

Setting a Custom Timeout

You can set a custom timeout for the SDK's HTTP requests as follows:

const client = new Client({ timeout: 10000 });

Sample Usage

Below is a comprehensive example demonstrating how to authenticate and call a simple endpoint:

import { Client } from 'magicbell-js/project-client';

(async () => {
  const client = new Client({
    token: 'YOUR_TOKEN',
  });

  const { data } = await client.broadcasts.listBroadcasts({
    limit: 5,
    startingAfter: 'starting_after',
    endingBefore: 'ending_before',
  });

  console.log(data);
})();

Services

The SDK provides various services to interact with the API.

Below is a list of all available services with links to their detailed documentation:
Name
BroadcastsService
ChannelsService
EventsService
IntegrationsService
JwtService
NotificationsService
UsersService

Models

The SDK includes several models that represent the data structures used in API requests and responses. These models help in organizing and managing the data efficiently.

Below is a list of all available models with links to their detailed documentation:
Name Description
BroadcastCollection
Broadcast
Links
CategoryDeliveryConfig
InboxTokenResponseCollection
InboxTokenResponse
Links
DiscardResult
ApnsTokenCollection
ApnsToken
ExpoTokenCollection
ExpoToken
FcmTokenCollection
FcmToken
SlackTokenCollection
SlackToken
TeamsTokenCollection
TeamsToken
WebPushTokenCollection
WebPushToken
EventCollection
Event
Links
IntegrationConfigCollection
IntegrationConfig
Links
ApnsConfigCollection
ApnsConfig
ApnsConfigPayload
AwssnsConfigCollection
AwssnsConfig
AwssnsConfigPayload
EventSourceConfigCollection
EventSourceConfig
EventSourceConfigPayload
ExpoConfigCollection
ExpoConfig
ExpoConfigPayload
FcmConfigCollection
FcmConfig
FcmConfigPayload
GithubConfigCollection
GithubConfig
GithubConfigPayload
InboxConfigCollection
InboxConfig
InboxConfigPayload
MailgunConfigCollection
MailgunConfig
MailgunConfigPayload
PingConfigCollection
PingConfig
PingConfigPayload
SendgridConfigCollection
SendgridConfig
SendgridConfigPayload
SesConfigCollection
SesConfig
SesConfigPayload
SlackConfigCollection
SlackConfig
SlackConfigPayload
StripeConfigCollection
StripeConfig
StripeConfigPayload
TemplatesConfigCollection
TemplatesConfig
TwilioConfigCollection
TwilioConfig
TwilioConfigPayload
WebpushConfigCollection
WebpushConfig
WebpushConfigPayload
AccessTokenCollection
AccessToken
Links
CreateProjectTokenRequest
CreateTokenResponse
DiscardTokenResponse
CreateUserTokenRequest
DeliveryPlanCollection
DeliveryPlan
Links
UserCollection
User
Links

MagicBell JavaScript UserClient

Authentication

Access Token Authentication

The Client API uses an Access Token for authentication.

This token must be provided to authenticate your requests to the API.

Setting the Access Token

When you initialize the SDK, you can set the access token as follows:

const sdk = new Client({ token: 'YOUR_TOKEN' });

If you need to set or update the access token after initializing the SDK, you can use:

const sdk = new Client();
sdk.token = 'YOUR_TOKEN';

Setting a Custom Timeout

You can set a custom timeout for the SDK's HTTP requests as follows:

const client = new Client({ timeout: 10000 });

Sample Usage

Below is a comprehensive example demonstrating how to authenticate and call a simple endpoint:

import { Client } from 'magicbell-js/user-client';

(async () => {
  const client = new Client({
    token: 'YOUR_TOKEN',
  });

  const { data } = await client.channels.getInAppInboxTokens({
    limit: 8,
    startingAfter: 'starting_after',
    endingBefore: 'ending_before',
  });

  console.log(data);
})();

Services

The SDK provides various services to interact with the API.

Below is a list of all available services with links to their detailed documentation:
Name
ChannelsService
IntegrationsService
NotificationsService

Models

The SDK includes several models that represent the data structures used in API requests and responses. These models help in organizing and managing the data efficiently.

Below is a list of all available models with links to their detailed documentation:
Name Description
InboxTokenResponseCollection
InboxTokenResponse
Links
InboxToken
DiscardResult
ApnsTokenCollection
ApnsToken
ApnsTokenPayload
ExpoTokenCollection
ExpoToken
ExpoTokenPayload
FcmTokenCollection
FcmToken
FcmTokenPayload
SlackTokenCollection
SlackToken
SlackTokenPayload
TeamsTokenCollection
TeamsToken
TeamsTokenPayload
WebPushTokenCollection
WebPushToken
WebPushTokenPayload
InboxConfigPayload
SlackInstallation
SlackFinishInstallResponse
SlackStartInstall
SlackStartInstallResponseContent
TemplatesInstallation
WebPushTokenPayload
WebPushStartInstallationResponse
NotificationCollection
Notification
Links