Класс для работы с API smsaero.ru в Node.js. Поддерживаются все методы API v2.
- Установка
- Использование
- API
- send({ number, numbers, [sign, text, channel, dateSend, callbackUrl] })
- checkStatus(id)
- sendedList({ number, text, page })
- balance()
- tariffs()
- addSign(name)
- signList([page])
- addGroup(name)
- deleteGroup(id)
- groupList([page])
- addContact({ number, [groupId, birthday, sex, lname, fname, sname, param1, param2, param3] })
- deleteContact(id)
- contactList({ [number, groupId, birthday, sex, operator, lname, fname, sname] })
- addBlacklist(number)
- blacklistList([number, page])
- hlrCheck(number)
- hlrStatus(id)
- checkOperator(number)
- sendViber({ number, numbers, groupId, sign, channel, text, [imageSource, textButton, linkButton, dateSend, signSms, channelSms, textSms, priceSms] })
- checkViberStat(id)
npm install --save smsaero-api-v2
or
yarn add smsaero-api-v2
Все методы возвращают promise, поэтому используйте .then/catch или async/await.
const smsAero = require('smsaero-api-v2');
// третьим параметром идет формат ответа, если не указать, то используется json
const sendSMS = new smsAero("login", "apiKey", "json");
sendSMS.send(...); // отправить sms
.then(response => {
const { data } = response;
console.log(data); // ответ API
})
.catch(err => console.log(err)); // ловим ошибки
Принимаемые методами параметры почти везде совпадают с документацией, поэтому за детальным разъяснением какой метод за что отвечает - обращайтесь к ней.
Отправка SMS.
sendSMS.send({ number: '79290000000', sign: 'lol!', text: 'text', channel: 'SERVICE', dateSend: 1524125567, callbackUrl: 'http://goo.gl' })
sendSMS.send({ numbers: ['79290000000', '79290000000', '79290000000'], sign: 'lol', text: 'text', channel: 'SERVICE', dateSend: 1524125567, callbackUrl: 'http://goo.gl' })
Обязательными являются один из параметров: number
или numbers
.
Тип: string
Обязательно: да
Тип: array
Обязательно: да
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Тип: number
Обязательно: нет
Формат: unixtime
Тип: string
Обязательно: нет
Проверить статус отправленной sms.
sendSMS.checkStatus(44180961)
Тип: number
Обязательно: да
Получить список отправленных SMS.
sendSMS.sendedList({number: '79290000000', text: 'text to filter sms', page: 2})
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Тип: number
Обязательно: нет
Получить информацию о состоянии баланса в системе.
sendSMS.balance()
Получить информацию о тарифах.
sendSMS.tariffs()
Добавить новую подпись. Подпись может содержать до 11 латинских символов, цифр и знаков.
sendSMS.addSign("DELIVERY")
Тип: string
Обязательно: да
Получить список доступных подписей. На вход может принимать параметр page
, если не передать, по умолчанию это 1 страница.
sendSMS.signList(2)
Добавить новую группу.
sendSMS.addGroup("DELIVERY")
Тип: string
Обязательно: да
Удалить группу.
sendSMS.deleteGroup(1)
Тип: number
Обязательно: да
Получить список групп. На вход может принимать параметр page
, если не передать, по умолчанию это 1 страница.
sendSMS.groupList(2)
Тип: string
Обязательно: нет
Добавить контакт. Обязательный параметр только number
. Параметр sex
может иметь значения только male
или female
, или библиотека выкинет ошибку.
sendSMS.addContact({number: '79000000000'})
Тип: string
Обязательно: да
Тип: number
Обязательно: нет
Тип: number
Обязательно: нет
Формат: unixtime
Тип: string
Возможные значения: male
, female
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Удалить контакт.
sendSMS.deleteContact(253603322)
Тип: number
Обязательно: да
Получить список контактов. Обязательных параметров нет.
sendSMS.contactList({number: '79000000000', page: 1})
Тип: string
Обязательно: да
Тип: number
Обязательно: нет
Тип: number
Обязательно: нет
Формат: unixtime
Тип: string
Возможные значения: male
, female
Тип: string
Возможные значения: MEGAFON
, MTS
, BEELINE
, TELE2
, OTHER
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Добавить номер в черный список.
sendSMS.addBlacklist('79000000000')
or
sendSMS.addBlacklist({ numbers: ['79000000000', '79000000001'] })
Обязательными являются один из параметров: number
или numbers
. В случае одного номера - можно просто передать его как строку, но так же можно и объектом с ключом numbers
и массивом с одним телефоном (см. пример выше).
Тип: string
Обязательно: да
Тип: array
Обязательно: да
Получить номера в черном списке. Обязательных параметров нет. Параметр page по умолчанию равен 1
.
sendSMS.blacklistList('79000000000')
Тип: string
Обязательно: нет
Тип: number
Обязательно: нет
По умолчанию: 1
Создание запроса на проверку HLR. Обязательными являются один из параметров: number
или numbers
(передаваемый как объект с ключом numbers
, см. пример ниже).
sendSMS.hlrCheck('79000000000')
or
sendSMS.hlrCheck({ numbers: ['79000000000', '79000000001'] })
Тип: string
Обязательно: да
Тип: array
Обязательно: да
Получение статуса HLR.
sendSMS.hlrCheck(610991)
Тип: number
Обязательно: да
Определение оператора по номеру телефона. Обязательными являются один из параметров: number
или numbers
(передаваемый как объект с ключом numbers
, см. пример ниже).
sendSMS.checkOperator('79000000000'),
sendSMS.checkOperator({ numbers: ['79000000000', '79000000001'] })
Тип: string
Обязательно: да
Тип: array
Обязательно: да
sendViber({ number, numbers, groupId, sign, channel, text, [imageSource, textButton, linkButton, dateSend, signSms, channelSms, textSms, priceSms] })
Внимание! У меня не было возможности оттестировать рассылку Viber на реальных данных, поэтому use it on your own risk, если что-то не работает или работает не так - не стесняйтесь сделать pull request с поправкой или создать issue!
Создание Viber-рассылки. Обязательными являются один из параметров: number
или numbers
(передаваемый как объект с ключом numbers
, см. пример ниже), groupId
, sign
, channel
, text
.
sendSMS.sendViber({ numbers: ['79000000000', '79000000001'] })
Тип: string
Обязательно: да
Тип: array
Обязательно: да
Тип: number
Обязательно: да
Тип: string
Обязательно: да
Тип: string
Обязательно: да
Тип: string
Обязательно: да
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Тип: number
Обязательно: нет
В формате: unixtime
Тип: array
Обязательно: нет
Тип: string
Обязательно: нет
Тип: string
Обязательно: нет
Тип: number
Обязательно: нет
Статистика по Viber-рассылке.
sendSMS.checkViberStat(693278)
Тип: number
Обязательно: да
Список Viber-рассылок.
sendSMS.viberList()
Список доступных подписей для Viber-рассылок
sendSMS.viberSignList()
MIT © Alexander Sharabarov