A javascript library that supports multiple Vietnamese SMS service provider APIs.
If you really need a service above or another else, you can push us by creating an issue or make a PR. We are very welcome your contributions.
yarn add geek-sms
// or
npm install --save geek-sms
import { ESMS } from 'geek-sms'
const esms = new ESMS(
{
API_KEY: 'AN_API_KEY',
SECRET_KEY: 'A_SECRET_KEY',
},
{
loglevel: 'trace',
},
)
esms.getBalance()
esms.getBrandNameList()
esms.sendMessage(messageInfo)
yarn test
// or
npm run test
yarn test:watch
// or
npm run test:watch
The documentation below is written in ECMAScript 6. If you have any issue please create an issue so we can help.
new ESMS(
{
API_KEY, // Your API key.
SECRET_KEY, // Your secret key.
},
{
loglevel, // Could be one of 'trace', 'error', 'debug', 'info', 'silent'. Defaults to 'silent'.
baseUrl, // Overrides eSMS API URL (w/o trailing slash (`/`)).
useHttp, // Default API URL is https. Set this value to `true` if you want to use http.
},
)
Example:
import { ESMS } from 'geek-sms'
const esms = new ESMS(
{
API_KEY: 'AN_API_KEY',
SECRET_KEY: 'A_SECRET_KEY',
},
{
loglevel: 'trace',
baseUrl: 'http://another-url.esms.vn/MainService.svc/json',
},
)
Returns the remaining money in your account.
Example:
const balance = await esms.getBalance()
// => 4000000
Returns the list of registered brand names.
Example:
const brandnames = await esms.getBrandNameList()
/* Resolves
[ { name: 'QCAO_ONLINE', type: 2 },
{ name: 'STORELAMMOC', type: 1 },
{ name: 'STORELAMMOC', type: 2 } ]
*/
const messageInfo = {
phone: '0979000001', // A list of numbers to send SMS.
message: 'Test message jest',
type: ESMSMessageType,
brandName: 'STORELAMMOC',
sandBox: true,
}
await esms.sendMessage(messageInfo)
// with
enum ESMSMessageType {
/** Advertising message using brand name (send to >= 20 numbers). */
AdvertisingBrandName = 1,
/** Customer care message using brand name (send to 1 or more numbers). */
CustomerCareBrandName = 2,
/** For both advertising or customer care, using a static phone number to send. */
StaticNumber = 4,
/** Static 6394 number. Used for customer care or confirmation. */
StaticConfirmation = 6,
/** Use a static 10-digit number for customer care. Must registry message content first. */
Static10Digit = 8,
}
/* Resolves
{
id: '871a70d0-0c6c-4b47-9664-5745603da2d0169',
phone: '0979000001',
message: 'Test message jest',
type: 2,
brandName: 'STORELAMMOC',
sandBox: true,
}
*/
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Dương Đỗ - Targeek Solution
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details