定制 ipe/smsir-php 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ipe/smsir-php

Composer 安装命令:

composer require ipe/smsir-php

包简介

A package for sending SMS.

README 文档

README

پکیج PHP پنل پیامکی SMS.IR

پکیج پنل پیامکی SMS.ir، ابزاری کارآمد است که به شما این امکان را می‌دهد تا به سادگی از سرویس ارسال پیامک SMS.ir در پروژه‌های PHP و Laravel خود بهره‌برداری کنید. با استفاده از این پکیج، می‌توانید پیامک‌های تکی، گروهی و زمان‌بندی‌شده را به راحتی ارسال و مدیریت کنید. این ابزار طراحی شده تا فرآیند ارسال پیامک را برای شما آسان و سریع کند.

ویژگی‌ها

  • ارسال پیامک‌های تکی و گروهی
  • ارسال پیامک‌های نظیر به نظیر
  • ارسال پیامک‌های تایید (VERIFY)
  • امکان زمان‌بندی ارسال پیامک
  • گزارش‌گیری از وضعیت پیامک‌های ارسال شده
  • مشاهده پیامک‌های دریافت شده
  • دریافت اعتبار فعلی و مدیریت خطوط

نصب

برای نصب این پکیج می‌توانید از Composer استفاده کنید:

composer require ipe/smsir-php

پس از نصب موفقیت‌آمیز پکیج، شما می‌توانید از آن در پروژه‌های PHP خود استفاده کنید.

تنظیمات

برای دریافت کلید وب سرویس، وارد پنل کاربری SMS.ir خود شوید و از بخش "برنامه‌نویسان" اقدام به ایجاد کلید کنید. سپس از همان کلید در تنظیمات پکیج استفاده نمایید.

پس از تهیه کلید وب سرویس، فایل .env خود را با مقادیر زیر به‌روزرسانی کنید:

SMSIR_API_KEY= your_api_key_here

استفاده از متدها

1. دریافت اعتبار فعلی

این متد به شما این امکان را می‌دهد تا مقدار اعتبار فعلی خود را از پنل پیامکی دریافت کنید.

use Ipe\Sdk\Facades\SmsIr;

$response = SmsIr::getCredit();

2. دریافت لیست خطوط پیامکی

این متد به شما امکان می‌دهد تا لیست خطوط پیامکی فعال خود را از پنل پیامکی دریافت کنید.

use Ipe\Sdk\Facades\SmsIr;

$response = SmsIr::getLines();

3. دریافت آخرین پیام‌های دریافتی

این متد به شما امکان می‌دهد تا آخرین پیام‌های دریافتی را از پنل پیامکی بازیابی کنید.

use Ipe\Sdk\Facades\SmsIr;

// دریافت 100 پیام آخر (مقدار پیش‌فرض)
$response = SmsIr::getLatestReceives();

// یا دریافت تعداد مشخصی از آخرین پیام‌ها (مثلاً 50 پیام)
// $response = SmsIr::getLatestReceives(50);

4. دریافت پیام‌های دریافتی امروز

این متد به شما امکان می‌دهد تا پیام‌های دریافتی امروز را از پنل پیامکی با قابلیت صفحه‌بندی و مرتب‌سازی بازیابی کنید.

use Ipe\Sdk\Facades\SmsIr;

// دریافت پیام‌های دریافتی امروز با تنظیمات پیش‌فرض
$response = SmsIr::getLiveReceives();

// یا با تنظیمات سفارشی
// $response = SmsIr::getLiveReceives(2, 50, true);

5. دریافت پیام‌های دریافتی آرشیو شده

این متد به شما امکان می‌دهد تا پیام‌های دریافتی آرشیو شده را بر اساس بازه زمانی مشخص از پنل پیامکی بازیابی کنید.

use Ipe\Sdk\Facades\SmsIr;

// دریافت پیام‌های آرشیو شده با تنظیمات پیش‌فرض
$response = SmsIr::getArchivedReceives();

// یا با تنظیمات سفارشی
$pageNumber = 1;
$pageSize = 50;
$fromDate = 1672531200; // 2023-01-01 00:00:00 UTC
$toDate = 1704067199;   // 2023-12-31 23:59:59 UTC
$response = SmsIr::getArchivedReceives($pageNumber, $pageSize, $fromDate, $toDate);

6. ارسال پیامک‌های گروهی

این متد به شما این امکان را می‌دهد تا پیامک‌های گروهی را به چندین شماره موبایل ارسال کنید.

use Ipe\Sdk\Facades\SmsIr;

$lineNumber = "1234567890"; // شماره خط فرستنده
$messageText = "این یک پیام آزمایشی است.";
$mobiles = ["09123456789", "09198765432"]; // لیست شماره‌های گیرنده
$sendDateTime = null;   // برای ارسال آنی، مقدار را نال قرار دهید

$response = SmsIr::bulkSend($lineNumber, $messageText, $mobiles, $sendDateTime);

7. ارسال پیامک‌های نظیر به نظیر

این متد به شما این امکان را می‌دهد تا پیامک‌هایی ارسال کنید که در آن هر شماره موبایل پیام منحصر به فرد خود را دریافت می‌کند.

use Ipe\Sdk\Facades\SmsIr;

$lineNumber = "1234567890"; // شماره خط فرستنده
$messageTexts = [
    "پیام 1 برای شماره 1",
    "پیام 2 برای شماره 2"
];
$mobiles = ["09123456789", "09198765432"]; // لیست شماره‌های گیرنده
$sendDateTime = null;   // برای ارسال آنی، مقدار را نال قرار دهید

$response = SmsIr::likeToLikeSend($lineNumber, $messageTexts, $mobiles, $sendDateTime);

8. ارسال پیامک با استفاده از الگو

این متد به شما این امکان را می‌دهد تا پیامک‌های تأییدیه (مانند کدهای OTP) را به شماره موبایل ارسال کنید، با استفاده از یک الگوی از پیش تعریف شده. الگو شامل پارامترهای دینامیکی است که با مقادیر ارائه‌شده جایگزین می‌شوند.

use Ipe\Sdk\Facades\SmsIr;

$mobile = "09120000000"; // شماره موبایل گیرنده
$templateId = 100000; // شناسه الگو
$parameters = [
    [
        "name" => "Code",
        "value" => "12345"
    ]
];

$response = SmsIr::verifySend($mobile, $templateId, $parameters);

9. حذف یک پیام زمان‌بندی‌شده

این متد برای حذف یک پیام زمان‌بندی‌شده که هنوز ارسال نشده است، استفاده می‌شود. پیام زمان‌بندی‌شده با استفاده از شناسه بسته (pack ID) شناسایی می‌شود.

use Ipe\Sdk\Facades\SmsIr;

$packId = "your_pack_id"; // شناسه بسته پیام زمان‌بندی‌شده

$response = SmsIr::removeScheduledMessages($packId);

10. دریافت گزارش یک پیام ارسال شده بر اساس شناسه پیام

این متد برای دریافت گزارش تحویل یک پیام خاص که قبلاً ارسال شده است، استفاده می‌شود. پیام با استفاده از شناسه پیام (message ID) شناسایی می‌شود.

use Ipe\Sdk\Facades\SmsIr;

$messageId = "your_message_id"; // شناسه پیام ارسال‌شده

$response = SmsIr::getReportByMessageId($messageId);

11. دریافت گزارش پیام‌های ارسال‌شده بر اساس شناسه بسته

این متد برای دریافت گزارش تحویل پیام‌هایی که به صورت دسته‌ای ارسال شده‌اند، استفاده می‌شود. بسته پیام‌ها با استفاده از شناسه بسته (pack ID) شناسایی می‌شود.

use Ipe\Sdk\Facades\SmsIr;

$packId = "your_pack_id"; // شناسه بسته پیام

$response = SmsIr::getReportByPackId($packId);

12. دریافت گزارش زنده پیام‌های ارسال‌شده در روز جاری

این متد برای دریافت گزارش‌های زنده از پیام‌هایی که به تازگی ارسال شده‌اند، استفاده می‌شود. این متد قابلیت پشتیبانی از صفحه‌بندی را دارد و می‌تواند گزارش‌ها را بر اساس جدیدترین یا قدیمی‌ترین مرتب‌سازی کند.

use Ipe\Sdk\Facades\SmsIr;

$pageNumber = 1; // شماره صفحه
$pageSize = 100; // تعداد گزارش‌ها در هر صفحه
$sortByNewest = true; // مرتب‌سازی بر اساس جدیدترین

$response = SmsIr::getLiveReport($pageNumber, $pageSize, $sortByNewest);

13. دریافت گزارش‌های آرشیو شده پیام‌های ارسال‌شده

این متد برای دریافت گزارش‌های آرشیو شده پیام‌هایی که در گذشته ارسال شده‌اند، استفاده می‌شود. این متد قابلیت پشتیبانی از صفحه‌بندی، فیلتر بر اساس بازه زمانی و مرتب‌سازی به ترتیب جدیدترین یا قدیمی‌ترین را دارد.

use Ipe\Sdk\Facades\SmsIr;

$pageNumber = 1; // شماره صفحه
$pageSize = 100; // تعداد گزارش‌ها در هر صفحه
$fromDate = 1609459200; // تاریخ شروع
$toDate = 1612137600; // تاریخ پایان
$sortByNewest = true; // مرتب‌سازی بر اساس جدیدترین

$response = SmsIr::getArchivedReport($pageNumber, $pageSize, $fromDate, $toDate, $sortByNewest);

14. دریافت لیست پک‌های پیام‌های ارسال‌شده

این متد برای دریافت لیستی از پک‌های پیام‌هایی که ارسال شده‌اند، استفاده می‌شود. هر پک ممکن است شامل چندین پیام باشد و این متد قابلیت پشتیبانی از صفحه‌بندی را دارد.

use Ipe\Sdk\Facades\SmsIr;

$pageNumber = 1; // شماره صفحه
$pageSize = 100; // تعداد پک‌ها در هر صفحه

$response = SmsIr::getSendPacks($pageNumber, $pageSize);

با استفاده از پکیج پنل پیامکی SMS.ir، شما می‌توانید به راحتی و با کمترین تلاش، پیامک‌های مختلف را به صورت آنی یا زمان‌بندی شده ارسال کنید. این پکیج با ارائه متدهای متعدد برای ارسال پیامک‌های تکی، گروهی و نظیر به نظیر، به شما این امکان را می‌دهد که ارتباطات خود را بهبود بخشید و پیام‌های خود را به مخاطبان هدف برسانید. همچنین، از طریق متدهای گزارش‌گیری، می‌توانید وضعیت پیامک‌های ارسال‌شده را پیگیری کنید و با استفاده از متدهای مربوط به اعتبار و خطوط، مدیریت بهتری بر روی حساب کاربری خود داشته باشید.

اگر سوالی دارید یا به راهنمایی بیشتری نیاز دارید، لطفاً به مستندات رسمی وب‌سرویس سامانه پیامکی SMS.ir مراجعه کنید یا با تیم پشتیبانی ما در تماس باشید.

ipe/smsir-php 适用场景与选型建议

ipe/smsir-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 15.65k 次下载、GitHub Stars 达 12, 最近一次更新时间为 2024 年 10 月 14 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 ipe/smsir-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 ipe/smsir-php 我们能提供哪些服务?
定制开发 / 二次开发

基于 ipe/smsir-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 15.65k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 12
  • 点击次数: 17
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 12
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-10-14