sms-ir-api
Version:
SMS.IR API client for JS/TS/ESM/Node.js
186 lines (108 loc) • 7.61 kB
Markdown
# SMS.IR API
ماژول `sms-ir-api` به شما اجازه میدهد تا با API SMS.IR برای ارسال و دریافت پیامک ارتباط برقرار کنید. API key و شماره خط پیشفرض برای حساب SMS.IR شما برای ایجاد یک نمونه جدید از کلاس Smsir لازم است.
## نصب
این بسته در npm به نام `sms-ir-api` در دسترس است. شما میتوانید آن را با استفاده از npm یا yarn نصب کنید.
با npm:
```bash
npm install sms-ir-api
```
با yarn:
```bash
yarn add sms-ir-api
```
## استفاده
برای استفاده از این کلاس در کد JavaScript یا TypeScript خود، ابتدا آن را وارد کنید:
```javascript
import { Smsir } from "sms-ir-api";
```
سپس یک نمونه جدید از کلاس Smsir با استفاده از API key و شماره خط پیشفرض حساب SMS.IR خود بسازید:
```javascript
const sms = new Smsir("YOUR_API_KEY", YOUR_LINE_NUMBER);
```
شما میتوانید سپس از متدهای کلاس Smsir برای تعامل با API SMS.IR استفاده کنید. به عنوان مثال، برای ارسال یک پیامک تک به گیرنده تک:
```javascript
sms.Send("Hello World!", "RECIPIENT_MOBILE_NUMBER");
```
## متدها
متدهای زیر در کلاس Smsir در دسترس هستند:
### `constructor()`
`constructor(apiKey: string, lineNumber: number)`
ایجاد یک نمونه جدید از کلاس Smsir.
- `apiKey`: API key برای حساب SMS.IR شما.
- `lineNumber`: شماره خط پیش فرض برای ارسال پیام ها.
### `Send()`
`Send(MessageText: string, Mobile: string, SendDateTime: number | null = null, lineNumber: number = this.DefaultLineNumber): Promise<any>`
ارسال یک پیامک تک به گیرنده تک.
- `MessageText`: متن پیام برای ارسال.
- `Mobile`: شماره موبایل گیرنده.
- `SendDateTime`: (اختیاری) برچسب زمان Unix برای زمان ارسال پیام (null برای ارسال فوری).
- `lineNumber`: (اختیاری) شماره خط برای ارسال پیام.
### `SendBulk()`
`SendBulk(MessageText: string, Mobiles: Array<string>, SendDateTime: number | null = null, lineNumber: number = this.DefaultLineNumber): Promise<any>`
ارسال یک پیامک تک به گیرندگان چندگانه.
- `MessageText`: متن پیام برای ارسال.
- `Mobiles`: آرایهای از شمارههای موبایل گیرندگان.
- `SendDateTime`: (اختیاری) برچسب زمان Unix برای زمان ارسال پیام (null برای ارسال فوری).
- `lineNumber`: (اختیاری) شماره خط برای ارسال پیام.
### `SendLikeToLike()`
`SendLikeToLike(MessageTexts: string, Mobiles: Array<string>, SendDateTime: number | null = null, lineNumber: number | null = null): Promise<any>`
ارسال پیامکهای چندگانه به گیرندگان چندگانه (یک پیام در هر گیرنده).
- `MessageTexts`: متن پیامها برای ارسال.
- `Mobiles`: آرایهای از شمارههای موبایل گیرندگان.
- `SendDateTime`: (اختیاری) برچسب زمان Unix برای زمان ارسال پیام (null برای ارسال فوری).
- `lineNumber`: (اختیاری) شماره خط برای ارسال پیام (null برای شماره خط پیش فرض).
### `DeleteScheduled()`
`DeleteScheduled(PackId: number): Promise<any>`
حذف یک پیامک زمانبندی شده.
- `PackId`: شناسه بسته پیام زمانبندی شده برای حذف.
### `SendVerifyCode()`
`SendVerifyCode(Mobile: string, TemplateId: number, Parameters: Array<any>): Promise<any>`
ارسال یک کد تأیید از طریق از طریق پیامک.
- `Mobile`: شماره موبایل گیرنده.
- `TemplateId`: شناسه قالب کد تأیید برای استفاده.
- `Parameters`: آرایهای از پارامترها برای استفاده در قالب کد تأیید.
### `ReportMessage()`
`ReportMessage(MessageId: number): Promise<any>`
گزارش دریافت یک پیامک ارسال شده خاص.
- `MessageId`: شناسه پیام ارسال شده برای دریافت گزارش.
### `ReportPack()`
`ReportPack(PackId: number): Promise<any>`
گزارش دریافت یک بسته پیام ارسال شده خاص.
- `PackId`: شناسه بسته پیام ارسال شده برای دریافت گزارش.
### `ReportToday()`
`ReportToday(pageSize: number = 10, pageNumber: number = 1): Promise<any>`
گزارش دریافت پیامکهای ارسال شده امروز.
- `pageSize`: (اختیاری) تعداد نتایج برای بازگشت در هر صفحه.
- `pageNumber`: (اختیاری) شماره صفحه برای بازگشت نتایج.
### `ReportArchived()`
`ReportArchived(fromDate: null = null, toDate: null = null, pageSize: number = 10, pageNumber: number = 1): Promise<any>`
گزارش دریافت پیامکهای ارسال شده بایگانی شده.
- `fromDate`: (اختیاری) تاریخ شروع برای دریافت نتایج (null برای بدون تاریخ شروع).
- `toDate`: (اختیاری) تاریخ پایان برای دریافت نتایج (null برای بدون تاریخ پایان).
- `pageSize`: (اختیاری) تعداد نتایج برای بازگشت در هر صفحه.
- `pageNumber`: (اختیاری) شماره صفحه برای بازگشت نتایج.
### `ReportLatestReceived()`
`ReportLatestReceived(count: number = 100): Promise<any>`
گزارش دریافت پیامکهای دریافتی جدیدترین.
- `count`: (اختیاری) تعداد نتایج برای بازگشت.
### `ReportTodayReceived()`
`ReportTodayReceived(pageSize: number = 10, pageNumber: number = 1): Promise<any>`
گزارش دریافت پیامکهای دریافتی امروز.
- `pageSize`: (اختیاری) تعداد نتایج برای بازگشت در هر صفحه.
- `pageNumber`: (اختیاری) شماره صفحه برای بازگشت نتایج.
### `ReportArchivedReceived()`
`ReportArchivedReceived(fromDate: null = null, toDate: null = null, pageSize: number = 10, pageNumber: number = 1): Promise<any>`
گزارش دریافت پیامکهای دریافتی بایگانی شده.
- `fromDate`: (اختیاری) تاریخ شروع برای دریافت نتایج (null برای بدون تاریخ شروع).
- `toDate`: (اختیاری) تاریخ پایان برای دریافت نتایج (null برای بدون تاریخ پایان).
- `pageSize`: (اختیاری) تعداد نتایج برای بازگشت در هر صفحه.
- `pageNumber`: (اختیاری) شماره صفحه برای بازگشت نتایج.
### `GetCredit()`
`GetCredit(): Promise<any>`
دریافت مانده اعتبار حساب SMS.IR شما.
### `GetLineNumbers()`
`GetLineNumbers(): Promise<any>`
دریافت لیست شمارههای خط موجود برای حساب SMS.IR شما.
## توسعه و ليسانس
توسعه یافته توسط [شهاب الدّین موحّدی](https://shmovahhedi.com)
تحت لیسانس MIT