jalallinux/ippanel-php-rest-sdk

IPPanel REST API client

v1.0.6 2021-11-14 17:52 UTC

This package is auto-updated.

Last update: 2024-12-15 00:32:40 UTC


README

This repository contains open source PHP client for ippanel api. Documentation can be found at: http://docs.ippanel.com.

نصب

نصب با کامپوزر:

composer require jalallinux/ippanel-php-rest-sdk

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

wget https://github.com/jalallinux/ippanel-php-rest-sdk/archive/master.zip

نیازمندی‌ها

جهت استفاده از این پکیج به موارد زیر نیاز خواهید داشت:

  • PHP >= 7.0
  • ext-curl
  • ext-json

متدها و نحوه استفاده

ایجاد کلاینت

$client = new \IPPanel\Client('YOUR_API_KEY');

دریافت موجودی اعتبار

$credit = $client->getCredit();

ارسال پیامک

$originator = '5000012345'; // شماره فرستنده
$recipients = ['09123456789', '09111111111']; // شماره‌های گیرنده
$message = 'Hello world!'; // متن پیام

$bulkId = $client->send($originator, $recipients, $message);

دریافت اطلاعات پیام

$message = $client->getMessage($bulkId);

echo $message->status;
echo $message->cost;
echo $message->sentAt;

دریافت وضعیت تحویل پیام

[$statuses, $paginationInfo] = $client->fetchStatuses($bulkId);

foreach ($statuses as $status) {
    echo "Recipient: $status->recipient, Status: $status->status";
}

echo "Total: $paginationInfo->total";

دریافت پیام‌های ورودی

[$messages, $paginationInfo] = $client->fetchInbox();

foreach ($messages as $message) {
    echo "Received message $message->message from number $message->sender in line $message->number";
}

ایجاد الگوی پیام‌های پرتکرار

$pattern = $client->createPattern('Your otp is %code%.');

echo $pattern->code; // شناسه الگو

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

$patternCode = '12eb1cbb'; // شناسه الگو
$originator = '5000012345'; // شماره فرستنده
$recipient = '09123456789'; // شماره گیرنده
$values = ['code' => 12345];

$bulkId = $client->sendPattern($patternCode, $originator, $recipient, $values);

مدیریت خطا

use IPPanel\Errors\Error;
use IPPanel\Errors\HttpException;

try{
    $bulkID = $client->send("9810001", ["98912xxxxx"], "ippanel is awesome");
} catch (Error $e) { // ippanel error
    var_dump($e->unwrap()); // بدنه خطای اصلی
    echo $e->getCode();

    if ($e->code() == ResponseCodes::ErrUnprocessableEntity) {
        echo "Unprocessable entity";
    }
} catch (HttpException $e) { // http error
    var_dump($e->getMessage()); // متن خطا
    echo $e->getCode();
}