amirbagh75 / smsir-php
Unofficial sms.ir PHP Package
1.4.0
2023-02-05 16:29 UTC
Requires
- php: ~7.3|~8.0|^8.0.2
- ext-json: *
- guzzlehttp/guzzle: ^7.0.1|^7.4.1
- illuminate/support: ^6.0|^7.0|^8.0|^9.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
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
- Amirhossein Baghaie - Maintainer
- Ariaieboy - Collaborator