@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
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago