amirbagh75/smsir-php

非官方 sms.ir PHP 包

1.4.0 2023-02-05 16:29 UTC

This package is auto-updated.

Last update: 2024-09-06 13:55:30 UTC


README

StyleCI Latest Stable Version Total Downloads License

非官方 sms.ir PHP 包

官方包启发。官方包仅在 Laravel 中工作!本包适用于任何 PHP 项目

支持的 PHP 版本:7.3, 7.4, 8.0, 8.1
支持的 Laravel 版本:8, 9, 10

如何安装

composer require amirbagh75/smsir-php

示例(纯 PHP)

<?php

require_once __DIR__ . '/../vendor/autoload.php';

use Amirbagh75\SMSIR\SmsIRClient;

$apiKey = getenv('API_KEY');
$secretKey = getenv('SECRET_KEY');
$lineNumber = getenv('LINE_NUMBER');
$timeOut = 3;

$smsir = new SmsIRClient($apiKey, $secretKey, $lineNumber, $timeOut);

try {
    $res = $smsir->getSentMessages(1, 250);
    print_r($res->messages);
    print_r($res->countOfAll);
} catch (Throwable $e) {
    error_log($e->getMessage(), 0);
}

示例(Laravel)

首先在您的 .env 文件中添加以下环境变量

SMSIR_API_KEY="xxxx"
SMSIR_SECRET_KEY="xxxx"
SMSIR_LINE_NUMBER="xxxx"
SMSIR_HTTP_TIMEOUT="10"

然后按照以下示例使用它

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class Example extends Controller
{
    /**
     * Handle the incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function __invoke(Request $request)
    {
        // do something ...
        try {
            $res = SMSIR::getSentMessages('1399/06/01', '1399/10/01', 1, 250);
            dd($res);
        } catch (\GuzzleHttp\Exception\GuzzleException $e) {
            Log::error($e->getMessage());
        }
        // do something ...
    }
}

当前方法

响应模型结构位于 src/Responses 目录

smsCredit(): CreditResponse

getSMSLines(): SMSLinesResponse

send(array $messages, array $mobileNumbers, $sendDateTime = null): SendResponse

sendVerificationCode(string $code, string $mobileNumber): VerificationCodeResponse

ultraFastSend(array $parameters, string $templateId, string $mobileNumber): VerificationCodeResponse

getSentMessages($fromDate, $toDate, $pageNumber = 1, $perPage = 100): SentMessagesResponse

getReceivedMessages($fromDate, $toDate, $pageNumber = 1, $perPage = 100): ReceivedMessagesResponse

版本控制

我们使用 语义版本控制查看可用版本

作者