Send an SMS Message with Node.js SDK
Note:
Before you can get started, you need the following already set up:
- Set all SMS API configuration settings.
- Node.js and a familiarity with how to create a new app.
Learn how to quickly send SMS messages in a Node.js application with the Sinch Node.js SDK.
Set up your Node.js application
First we'll create a Node project using npm. This creates a package.json and the core dependencies necessary to start coding.
To create the project, do the following steps:
- Create a folder called
send-sms-app
- Navigate into the folder you created and run the following command.This command adds the package.json file. You will be prompted to provide values for the fields. For this tutorial, you can simply accept the default values and press enter at each stage.
npm init
You can install the Sinch Node.js SDK using either NPM or Yarn:
npm install @sinch/sdk-core
yarn add @sinch/sdk-core
Note:
If you want to use the SDK with a javascript framework such as React or Angular, you can import it with an import statement.
import {SinchClient} from `@sinch/sdk-core`
Create your file
Create a new file namedindex.js
in the project and paste the provided code into the file.Modify your application
The code provided includes placeholder parameters. You'll need to update the parameters detailed in the following subsections with your values.
Initialize the client
Before initializing a client using this SDK, you'll need three pieces of information:
- Your Project ID
- An access key ID
- An access key Secret
Note:
To start using the SDK, you need to initialize the main client class with your credentials from your Sinch dashboard.
const {SinchClient} = require('@sinch/sdk-core');
const sinchClient = new SinchClient({
projectId: "YOUR_project_id",
keyId: "YOUR_access_key",
keySecret: "YOUR_access_secret"
});
Note:
For testing purposes on your local environment it's fine to use hardcoded values, but before deploying to production we strongly recommend using environment variables to store the credentials, as in the following example:
.env
File
PROJECTID="YOUR_project_id"
ACCESSKEY="YOUR_access_key"
ACCESSSECRET="YOUR_access_secret"
app.js
File
const {SinchClient} = require('@sinch/sdk-core');
const sinchClient = new SinchClient({
projectId: process.env.PROJECTID,
keyId: process.env.ACCESSKEY,
keySecret: process.env.ACCESSSECRET
});
Note:
If you are using the Node.js SDK for multiple products that use different sets of authentication credentials, you can include all of the relevant credentials in the same configuration object, as in the following example:
const {SinchClient} = require('@sinch/sdk-core');
const sinchClient = new SinchClient({
projectId: "YOUR_project_id",
keyId: "YOUR_access_key",
keySecret: "YOUR_access_secret",
applicationKey: "YOUR_application_key",
applicationSecret: "YOUR_application_secret"
});
Fill in remaining parameters
Replace the remaining placeholder values for these parameters with your values:
Parameter | Your value |
---|---|
YOUR_Sinch_number | Any number you've assigned to your Sinch account. Find the number on your Sinch dashboard by clicking the service plan ID link and scrolling to the bottom of the page. |
YOUR_to_number | The phone number to which you want to send the test SMS message. |
Ensure you save your file.
Send your first SMS message
Now you can execute the code and send your test SMS message.
Run the following command:
node index.js
You should receive a text to the phone number you entered and you'll see a response in your terminal or command prompt. You did it!
Next steps
The code you used in theindex.js
file sends a POST request to the Sinch API /batches
endpoint to send the SMS message. Click here to read more about the batches endpoint.Additional resources
- Explore the API specification to test more endpoints.