Skip to content

belov38/sms-ru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sms-ru

Библиотека для отправки SMS через сервис sms.ru с использованием нативного Node.js fetch API.

Требования

  • Node.js >= 18.0.0

Установка

npm install @belov.ai/sms-ru

Использование

В коде

import { SMSRuClient } from '@belov.ai/sms-ru';

// Создаем клиент с API ключом
const client = new SMSRuClient('your-api-key');

// Простая отправка
const result = await client.sendSMS({
  phones: '79001234567',
  message: 'Hello World'
});

// Отправка нескольким получателям
const result = await client.sendSMS({
  phones: ['79001234567', '79007654321'],
  message: 'Hello World',
  options: {
    test: true, // Тестовый режим
    from: 'Company', // Имя отправителя
    translit: true, // Транслитерация
    limit: 10 // Максимальная стоимость в рублях
  }
});

// Обработка ошибок
try {
  const result = await client.sendSMS({
    phones: '79001234567',
    message: 'Hello World'
  });
  console.log('Balance:', result.balance);
} catch (error) {
  if (error instanceof SMSError) {
    console.error('SMS Error:', error.message);
    console.error('Status Code:', error.statusCode);
  }
}

// Альтернативный способ через переменную окружения
import { sendSMS } from '@belov.ai/sms-ru';

// Требует установки SMSRU_API_ID
const result = await sendSMS({
  phones: '79001234567',
  message: 'Hello World'
});

Через CLI

# Установите переменную окружения с вашим API ключом
export SMSRU_API_ID=your-api-key

# Отправка SMS
npx @belov.ai/sms-ru 79001234567 "Hello World"

# Тестовый режим (без реальной отправки)
npx @belov.ai/sms-ru 79001234567 "Test message" --test

# С указанием отправителя
npx @belov.ai/sms-ru 79001234567 "Hello" --from "Company"

# С транслитерацией
npx @belov.ai/sms-ru 79001234567 "Привет мир" --translit

API

new SMSRuClient(apiId)

Создает новый экземпляр клиента для работы с SMS.RU API.

Параметры

  • apiId: string - Ваш API ключ от sms.ru

client.sendSMS(params)

Основная функция для отправки SMS.

Параметры

  • phones: string | string[] - Номер телефона или массив номеров
  • message: string - Текст сообщения
  • options: object (опционально)
    • from: string - Имя отправителя
    • time: number - Unix timestamp для отложенной отправки
    • translit: boolean - Переводить ли сообщение в транслит
    • test: boolean - Тестовый режим
    • partner_id: string - ID партнера
    • limit: number - Максимальная стоимость в рублях

Возвращает

Promise - Результат отправки

Вспомогательные функции

  • getStatusDescription(code): Получает описание статуса по коду
  • getStatusCategory(code): Получает категорию статуса
  • isSuccessStatus(code): Проверяет, является ли статус успешным
  • isProcessingStatus(code): Проверяет, находится ли сообщение в обработке
  • isErrorStatus(code): Проверяет, является ли статус ошибочным
  • getCodeByCategory(category): Получает все коды для указанной категории
  • isValidCode(code): Проверяет валидность кода статуса

Лицензия

MIT

About

sms.ru npm package

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published