@cmpsr/twilio v0.3.0
@cmpsr/twilio
Wrapper over Twilio API
Features
- Send sms using pre-registered numbers
- Build conversations with virtual spaces
Installing
Using npm:
$ npm install @cmpsr/twilio
Using yarn:
$ yarn add @cmpsr/twilio
Examples
CommonJS usage
const { useTwilioSms, useTwilioConversation } = require("@cmpsr/twilio");
ES usage
import { useTwilioSms, useTwilioConversation } from "@cmpsr/twilio";
Sending a sms
with ExpressJS
const express = require("express");
const { useTwilioSms } = require("@cmpsr/twilio");
const app = express();
app.use(express.json());
const twilioSms = useTwilioSms();
app.post("/send-sms", async (req, res) => {
const { message, from, to } = req.body;
const response = await twilioSms.send(message, from, to);
res.json(response);
});
Creating a conversation
with ExpressJS
const express = require("express");
const { useTwilioConversation } = require("@cmpsr/twilio");
const app = express();
app.use(express.json());
const twilioConversation = useTwilioConversation();
app.post("/", async (req, res) => {
const {
body: { friendlyName },
} = req;
const conversation = await twilioConversation.create(friendlyName);
res.json(conversation);
});
API
useTwilioSms([, accountSid[, authToken, serviceId]])
const accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const authToken = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const serviceId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const twilioSms = useTwilioSms(accountSid, authToken, serviceId);
NOTE
If you don't pass the optional parameters it will take those values from your environment variables, so you may want to create a .env
file or set global variables into your OS.
# in your .env file
TWILIO_ACCOUNT_SID = ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_AUTH_TOKEN = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_CHAT_SERVICE_SID = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Now, load your variables using the dotenv
package
require("dotenv").config();
const { useTwilioSms } = require("@cmpsr/twilio");
const twilioSms = useTwilioSms();
useTwilioConversation([, accountSid[, authToken, serviceId]])
const accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const authToken = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const serviceId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const twilioConversation = useTwilioConversation(
accountSid,
authToken,
serviceId
);
NOTE
If you don't pass the optional parameters it will take those values from your environment variables, so you may want to create a .env
file or set global variables into your OS.
# in your .env file
TWILIO_ACCOUNT_SID = ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_AUTH_TOKEN = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TWILIO_CHAT_SERVICE_SID = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Now, load your variables using the dotenv
package
require("dotenv").config();
const { twilioConversation } = require("@cmpsr/twilio");
const twilioConversation = twilioConversation();
SMS Instance methods
The available instance methods are listed below.
twilioSms#send(message: string, from: string, to: string)
twilioSms#availablePhones(areaCode: number, country: string[, mmsEnabled: boolean[, smsEnabled: boolean, limit: number]])
twilioSms#buy(phoneNumber: string[, friendlyName: string[, smsUrl: string, smsMethod: string]])
Conversation Instance methods
twilioConversation#create(friendlyName: string)
twilioConversation#getConversations()
twilioConversation#getConversation(sid: string)
twilioConversation#addSmsParticipant(conversationSid: string, invitedPhone: string, inviterPhone: string)
twilioConversation#addParticipant(conversationSid: string, identity: string)
twilioConversation#sendMessage(conversationSid: string, author: string, body: string, attributes: string)
twilioConversation#getMessages(conversationSid: string)
twilioConversation#addConversationWebhook(conversationSid: string, webhook: string, method: 'GET' | 'POST' )
twilioConversation#getMedia(mediaId: string)
Resources
License
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
6 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago