/node-sms-ru

✉️ SMS.ru phone messaging service's node.js client

Primary LanguageTypeScriptMIT LicenseMIT

node-sms-ru

sms.ru logo

node-sms-ru это библиотека для работы с API сервиса СМС рассылок sms.ru.

Installation

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

С помощью npm:

npm install --save node-sms-ru

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

yarn add node-sms-ru

Usage

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

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

const smsRu = new SMSRu('ваш api_id');

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

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

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

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

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

Nest.js integration

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

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

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

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

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 {}

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

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