hr-d / alocom
Library for interacting with the Alocom service, compatible with PHP 8.2+ and Laravel 12.
v3.0
2026-10-31 08:49 UTC
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.9
- illuminate/support: ^10.0 || ^11.0 || ^12.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
کتابخانهی ارتباط با سرویس Alocom، سازگار با PHP 8.2 به بالا و لاراول ۱۰ تا ۱۲.
نیازمندیها
- PHP
^8.2 - Guzzle
^7.9 - Laravel
^10 | ^11 | ^12(برای استفاده از سرویسپراوایدر و فاساد)
نصب
composer require hr-d/alocom
در لاراول، سرویسپراوایدر و فاساد بهصورت خودکار (Package Discovery) ثبت میشوند.
تنظیمات
متغیرهای زیر را به .env اضافه کنید:
ALOCOM_BASE_API_URL=https://your-alocom-domain.com ALOCOM_USERNAME=your-username ALOCOM_PASSWORD=your-password # اختیاری ALOCOM_TIMEOUT=30 ALOCOM_VERIFY_SSL=false
در صورت نیاز به تغییر تنظیمات پیشفرض:
php artisan vendor:publish --tag=alocom-config
استفاده در لاراول ۱۲
ساخت / ویرایش اتاق
use HRD\Alocom\Facades\Alocom; $room = Alocom::room() ->set_title('کلاس ریاضی') ->set_agentServiceId(12) ->set_slug('math-class') ->set_maxUser(50) ->set_language('fa') ->save(); echo $room->get_id(); echo $room->url();
برای ویرایش کافی است ابتدا set_id() را صدا بزنید و سپس save() کنید:
Alocom::room() ->set_id($roomId) ->set_title('عنوان جدید') ->save();
دریافت و حذف اتاق
$room = Alocom::room()->set_id($roomId)->get(); Alocom::room()->set_id($roomId)->delete();
فایلهای ضبطشده
$files = Alocom::room() ->set_id($roomId) ->recordingFiles($skip = 0, $take = 100);
افزودن / حذف کاربر
use HRD\Alocom\Facades\Alocom; use HRD\Alocom\Models\Authority; $user = Alocom::user() ->set_name('علی') ->set_surname('رضایی') ->set_username('ali.rezaei') ->set_password('secret') ->set_role(Authority::ACCESS_LEVEL_ATTENDEE) ->attach($eventId); echo $user->loginUrl(); Alocom::user() ->set_userId($user->get_userId()) ->detach($eventId);
detach()در صورت خالی بودنuserIdاستثنایInvalidArgumentExceptionپرتاب میکند.
استفاده بدون لاراول
در محیطهای غیر لاراولی، تنظیمات از متغیرهای محیطی خوانده میشوند:
use HRD\Alocom\Collection\RoomCollection; $room = (new RoomCollection()) ->set_title('کلاس تست') ->set_agentServiceId(1) ->save();
یا میتوانید مقادیر را مستقیماً به Request بدهید:
use HRD\Alocom\Collection\RoomCollection; use HRD\Alocom\HttpClients\Request; $request = new Request( null, 'https://your-alocom-domain.com', 'username', 'password' ); $room = new RoomCollection($request);
رفتار HTTP
- توکن احراز هویت پس از اولین درخواست کش میشود.
- در صورت دریافت خطای
401، توکن یکبار تازهسازی و درخواست تکرار میشود. - برای درخواستهای
GET،HEADوDELETEپارامترها بهصورت query string ارسال میشوند. - پاسخهای JSON بهصورت آرایه برمیگردند.
لایسنس
MIT