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-smsimport { 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 testyarn test:watch
// or
npm run test:watchThe 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()
// => 4000000Returns 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
