New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

amirbagh75/smsir-php

Unofficial sms.ir PHP Package
1,232 17
Install
composer require amirbagh75/smsir-php
Latest Version:1.4.0
PHP:~7.3|~8.0|^8.0.2
Laravel:6 – 9
License:MIT
Last Updated:Feb 6, 2023
Links: GitHub  ·  Packagist
Maintainer: ohmydevops

StyleCI Latest Stable Version Total Downloads License

Unofficial PHP Package for sms.ir

Inspired by the official package. The official package just working in laravel! This package working in every PHP project

PHP Versions Supported: 7.3, 7.4, 8.0, 8.1
Laravel Versions Supported: 8, 9, 10

How to install:

composer require amirbagh75/smsir-php

Example (Pure 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);
}

Example (Laravel)

First add these environment variables in your .env file:

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

Then use it like the following example:

<?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 ...
    }
}

Current methods:

Response models structures are in the src/Responses directory

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

Versioning

We use Semantic Versioning. See the available versions.

Authors

Related Packages

bita/message

Laravel Message Package with multiple providers

4,603 2
farsi/laravel-smsir

A modern Laravel package for the sms.ir v1 API — sending, reports, inbox, and a...

1,603 0
colyii/laravel_send_sms

sms for laravel

56 2
bileji/support

sms service...

44 1
bright-tech/aliyun-sms-service

阿里云短信服务

8,136 1

Version History

Version Released PHP Laravel License
1.4.0 ~7.3|~8.0|^8.0.2 ^6.0|^7.0|^8.0|^9.0 MIT
1.3.0 ~7.3|~8.0 ^6.0|^7.0|^8.0 MIT
1.2.0 >=7.3 ^6.0|^7.0|^8.0 MIT
1.1.1 ~7.3 ^6.0|^7.0|^8.0 MIT
1.1.0 ~7.3 ^6.0|^7.0|^8.0 MIT