var smsc = require('node-smsc')({
login: 'login',
password: '5f4dcc3b5aa765d61d8327deb882cf99',
hashed: true,
})
smsc.send({
phones: '79XXXXXXXXX',
mes: 'Hello from node-smsc!',
})
Для дополнительных примеров использования обратитесь к тестам.
###initSmsc
function initSmsc (options)
- непосредственно функция, возвращаемая модулем.
Принимает необязательный параметр options
.
####options
login
- логин пользователя smscpsw
- пароль пользователя smscpassword
- алиас дляpsw
hashed
- флаг, указывающий, что передан уже захешированный парольrequest
- опция, позволяющая указать путь к API, либо же объект с теми же ключами, что и ожидаемые функциейrequest
модуляhttp
илиhttps
, значение по умолчаниюhttps://smsc.ru/sys/
.apiCalls
- объект, позволяет определить пользовательские методы апи, или переопределить встроенные. Ключи - названия методов, значение - функция, имеющая ту же структуру, что и встроенные.
Возвращает объект, ключами которого являются названия роутов API:
send
jobs
status
balance
phones
users
info
get
get_mnp
receive_phones
senders
Значениями ключей являются функции, с учетом некоторого переопределенного поведения и параметров, обладающие следующим общим интерфейсом:
function apiCall (query, options, cb)
query
- параметры, принимаемые и описываемые APIoptions
- опцииoptions.files
- массив объектов с полямиfield
,value
,options
. Значения полей используются для параметризации методаappend
модуляform-data
. Если это поле указано, полеrequestBodyStream
игнорируется.options.requestBodyStream
- указываетReadable
stream, используемый для наполнения тела запросаoptions.stream
- флаг, указывающий, что следует вернуть не обработанный ответ API, а поток ответаoptions.responseParser
- объект с методомparse
, принимающий два аргумента -utf8
строку ответа и дополнительные опцииoptions.responseParserOptions
- дополнительные опции для методаparse
responseParser
'аoptions.request
- переопределение опций запроса (опции, которые принимает методrequest
модуляhttp
илиhttps
)
cb
- необязательный коллбэк, если не передан,Promise
возвращается
###SmscApiError
SmscApiError (message, response)
- Класс-наследник класса Error
. Экземпляры
этого класса могут передаваться первым параметром в коллбеке или rejection
handler промиса при выполнении вызова API.
- Кодировка по умолчанию -
utf-8
- В случаях, когда провайдер возвращает строку
OK
, методы модуля возвращают{result: 'OK'}
.
Перед запуском тестов следует включить режим тестирования в личном кабинете, иначе запуск тестов может привести к отправке настоящих смс и, как следствие, снятию средств со счета.
Тесты требуют предварительной настройки. Для этих целей служит файл конфигурации
test/config.json
, который необходимо предварительно создать.
Пример структуры конфигурационного файла:
{
"init": {
"login": "<LOGIN>",
"password": "<PASSWORD>",
"hashed": true
},
"phone": "79XXXXXXXXX",
"email": "a@b.c",
"sublogin": "sublogin",
"subpassword": "subpassword"
}
#####Описание полей:
init
- формат поля полностью соответствует формату опций, принимаемых модулем (функциейinitSmsc
)phone
- контроллируемый вами номер телефона. В случае, если вы забыли включить режим тестирования в личном кабинете, именно на этот номер посыпятся сообщения.email
- контроллируемый вами адрес электронной почты. Для отправки сообщений электронной почты предварительлно придется зарегистрировать ваш адрес электронной почты в личном кабинете. Тестовый режим не действует на сообщения электонной почты, они отправляются по-настоящему даже при включенном тестовом режиме. По этой причине соответствующие тесты выключены на уровне кода теста.sublogin
- желаемый тестовый логин субклиента. Все тесты на управление субклиентами выключены, из-за невозможности программной очистки результатов тестов, ввиду отсутствия соответствующей поддержки со стороны API.subpassword
- соответствующий субклиенту пароль