# node-sms-ru

> Библиотека для работы с API сервиса СМС рассылок https://sms.ru

Latest version **0.3.0** (published 2024-10-05) · MIT license · 249 weekly downloads

## Install

```sh
npm install node-sms-ru
pnpm add node-sms-ru
yarn add node-sms-ru
bun add node-sms-ru
```

## Health

**Score 40/100 (D)** — status: maintenance-mode.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.3.0 |
| Published | 2024-10-05 |
| First published | 2020-06-07 |
| Weekly downloads | 249 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=6.0.0 |
| Dependencies | 1 |
| Unpacked size | 75.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 9 |
| Author | Edgar Pogosyan |
| Maintainers | edgar-p-yan |
| Keywords | sms, sms.ru, driver, смс, рассылки, sdk |

## Links

- npm: https://www.npmjs.com/package/node-sms-ru
- Repository: https://github.com/Edgar-P-Yan/node-sms-ru
- Homepage: https://github.com/Edgar-P-Yan/node-sms-ru#readme
- Issues: https://github.com/Edgar-P-Yan/node-sms-ru/issues
- npm.io page: https://npm.io/package/node-sms-ru

## Dependencies (1)

- [axios](https://npm.io/package/axios.md) ^1.7.2

## Recent versions

- 0.3.0 (latest) — 2024-10-05
- 0.3.0-alpha.3 — 2024-10-05
- 0.3.0-alpha.2 — 2024-10-05
- 0.3.0-alpha.1 — 2024-10-05
- 0.2.0 — 2023-11-13
- 0.1.0 — 2023-11-13
- 0.0.7 — 2023-04-27
- 0.0.6 — 2020-06-30
- 0.0.5 — 2020-06-30
- 0.0.4 — 2020-06-29
- 0.0.3 — 2020-06-29
- 0.0.2 — 2020-06-16
- 0.0.1 — 2020-06-08
- 0.0.0 — 2020-06-07

## README

# node-sms-ru

![sms.ru logo](https://raw.githubusercontent.com/Edgar-P-yan/node-sms-ru/master/assets/logo.png)

[![License](https://badgen.net/github/license/Edgar-P-Yan/node-sms-ru)](./LICENSE)
[![NPM Badge](https://badge.fury.io/js/node-sms-ru.svg)](https://badge.fury.io/js/node-sms-ru)
[![install size](https://packagephobia.com/badge?p=node-sms-ru)](https://packagephobia.com/result?p=node-sms-ru)

node-sms-ru это библиотека для работы с API сервиса СМС рассылок [sms.ru](https://sms.ru).

## Installation

Используйте пакетный менеджер для установки node-sms-ru:

С помощью npm:

```bash
npm install node-sms-ru
```

Или же с помощью yarn:

```bash
yarn add node-sms-ru
```

## Usage

Сначала инициируем класс:

```js
const { SMSRu } = require('node-sms-ru');

const smsRu = new SMSRu('ваш api_id');
// или
const smsRu = new SMSRu('ваш логин', 'ваш пароль');
```

Отправка СМС:

```js
const sendResult = await smsRu.sendSms({
  to: '+7 000 000 00 00',
  msg: 'Hi'
  // ... описание всех опций можно найти в документации
});
```

Проверка статуса сообщений:

```js
const statusResult = await smsRu.checkSmsStatuses(['id сообщения']);
```

Полное описание API находится здесь: [edgar-p-yan.github.io/node-sms-ru](https://edgar-p-yan.github.io/node-sms-ru/)

### Nest.js integration

В модуль встроена интеграция с фреймворком Nest.js.

```ts
import { SMSRuModule } from 'node-sms-ru/nestjs'

@Module({
  imports: [SMSRuModule.forRoot({ api_id: 'ваш api_id' })]
})
export class AppModule {}
```

Или через `.forRootAsync()`

```ts
import { SMSRuModule } from 'node-sms-ru/nestjs'

@Module({
  imports: [
    SMSRuModule.forRootAsync({
      useFactory: (config: ConfigService) => ({
        api_id: config.get('SMS_RU_API_ID'),
      }),
      inject: [ConfigService],
    }),
  ],
})
export class AppModule {}
```

А после этого используем его в сервисах

```ts
import { SMSRu } from 'node-sms-ru';

@Injectable()
export class AppService {
  constructor(private readonly smsRu: SMSRu) {}

  async sendSMSNotification(to: string, msg: string): Promise<void> {
    await this.smsRu.sendSms({ to, msg });
  }
}
```

## Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

## License

[MIT](https://choosealicense.com/licenses/mit/)

---
_Source: https://npm.io/package/node-sms-ru · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
