PHPackages                             madarlan/aitu-messenger-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. madarlan/aitu-messenger-php

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

madarlan/aitu-messenger-php
===========================

PHP SDK для работы с Aitu Messenger и Aitu Passport API с поддержкой Laravel

v1.0.0(7mo ago)30MITPHPPHP ^8.0

Since Oct 11Pushed 6mo agoCompare

[ Source](https://github.com/madarlan/aitu-messenger-php-sdk)[ Packagist](https://packagist.org/packages/madarlan/aitu-messenger-php)[ Docs](https://github.com/madarlan/aitu-messenger-php)[ RSS](/packages/madarlan-aitu-messenger-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (6)Versions (3)Used By (0)

[![Aitu Messenger PHP SDK](https://private-user-images.githubusercontent.com/229244199/500111495-6069cad7-d993-4ec4-a08d-0835ecd2e88d.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzU0NDEyMjYsIm5iZiI6MTc3NTQ0MDkyNiwicGF0aCI6Ii8yMjkyNDQxOTkvNTAwMTExNDk1LTYwNjljYWQ3LWQ5OTMtNGVjNC1hMDhkLTA4MzVlY2QyZTg4ZC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQwNlQwMjAyMDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05N2NkNmVhZWViNTNjYzIwY2Y5MzMwMzQxNWJiZGZlNjY1ZWU1MGU4Y2I0ZmM0ODk2NDc1ODJmNzIxMjhmNDIwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.DMLzoXxB2V7kuHcOULaaI1_X7LKepYQDub3xUtDo9fo)](https://private-user-images.githubusercontent.com/229244199/500111495-6069cad7-d993-4ec4-a08d-0835ecd2e88d.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzU0NDEyMjYsIm5iZiI6MTc3NTQ0MDkyNiwicGF0aCI6Ii8yMjkyNDQxOTkvNTAwMTExNDk1LTYwNjljYWQ3LWQ5OTMtNGVjNC1hMDhkLTA4MzVlY2QyZTg4ZC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQwNlQwMjAyMDZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05N2NkNmVhZWViNTNjYzIwY2Y5MzMwMzQxNWJiZGZlNjY1ZWU1MGU4Y2I0ZmM0ODk2NDc1ODJmNzIxMjhmNDIwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.DMLzoXxB2V7kuHcOULaaI1_X7LKepYQDub3xUtDo9fo)

🚀 Aitu Messenger PHP SDK
========================

[](#-aitu-messenger-php-sdk)

> 🇰🇿 **Қазақ тіліндегі құжаттама** | 🇷🇺 **[Русская версия](README_ru.md)**

[![Latest Version](https://camo.githubusercontent.com/c35e76818efb053073697e41c3ab7dcd621d382b2d6105df87e3676c968f87f1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d616461726c616e2f616974752d6d657373656e6765722d7068703f7374796c653d666c61742d73717561726526636f6c6f723d626c7565)](https://packagist.org/packages/madarlan/aitu-messenger-php)[![License](https://camo.githubusercontent.com/a579a10bee6b343415253fbbe1a75fa86094085632c3726da55347f7783107e2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d616461726c616e2f616974752d6d657373656e6765722d7068703f7374796c653d666c61742d73717561726526636f6c6f723d707572706c65)](https://packagist.org/packages/madarlan/aitu-messenger-php)[![PHP Version](https://camo.githubusercontent.com/14b6c9648289d0757e8923537fb1a6a1ac56b9e90928102d3da5f5689a50501b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d616461726c616e2f616974752d6d657373656e6765722d7068703f7374796c653d666c61742d73717561726526636f6c6f723d373737424234)](https://packagist.org/packages/madarlan/aitu-messenger-php)

**🎯 Aitu Messenger API-мен интеграциялауға арналған заманауи PHP SDK**

*⚡ Laravel-мен терең интеграциясы бар Aitu Passport (OAuth) және Aitu Apps (Push хабарландырулар) толық қолдауы*

 [![Made with Love](https://camo.githubusercontent.com/2e08349fbf65c1e6caade13e0ebbbc7e2ea4b1b7e519e7021258cc5c375a2a30/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230776974682de29da4efb88f2d7265643f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/2e08349fbf65c1e6caade13e0ebbbc7e2ea4b1b7e519e7021258cc5c375a2a30/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d616465253230776974682de29da4efb88f2d7265643f7374796c653d666c61742d737175617265) [![Built for Developers](https://camo.githubusercontent.com/4e699cf13abd0fd3ebe7cd078307535fd794a3f14f390fef69d6a23af9e869e4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4275696c74253230666f722d446576656c6f706572732d626c75653f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/4e699cf13abd0fd3ebe7cd078307535fd794a3f14f390fef69d6a23af9e869e4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4275696c74253230666f722d446576656c6f706572732d626c75653f7374796c653d666c61742d737175617265) [![Production Ready](https://camo.githubusercontent.com/730a4e49afcea54f5201d156598f7ceca57f3eb1c894dc6813f513f21550a2f3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f50726f64756374696f6e2d52656164792d677265656e3f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/730a4e49afcea54f5201d156598f7ceca57f3eb1c894dc6813f513f21550a2f3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f50726f64756374696f6e2d52656164792d677265656e3f7374796c653d666c61742d737175617265)

[📖 Құжаттама](#-%D2%9B%D2%B1%D0%B6%D0%B0%D1%82%D1%82%D0%B0%D0%BC%D0%B0) • [🚀 Жылдам бастау](#-%D0%B6%D1%8B%D0%BB%D0%B4%D0%B0%D0%BC-%D0%B1%D0%B0%D1%81%D1%82%D0%B0%D1%83) • [💡 Мысалдар](#-%D0%BC%D1%8B%D1%81%D0%B0%D0%BB%D0%B4%D0%B0%D1%80) • [🤝 Қолдау](#-%D2%9B%D0%BE%D0%BB%D0%B4%D0%B0%D1%83)

---

✨ Мүмкіндіктер
--------------

[](#-мүмкіндіктер)

### 🔐 **Aitu Passport OAuth**

[](#-aitu-passport-oauth)

- ✅ OAuth 2.0 толық қолдауы
- ✅ Токендерді автоматты жаңарту
- ✅ Қауіпсіз қолтаңба тексеру
- ✅ Сессия күйлерін басқару

### 📱 **Aitu Apps Push хабарландырулары**

[](#-aitu-apps-push-хабарландырулары)

- ✅ Мақсатты хабарландырулар
- ✅ Жаппай жіберу
- ✅ Топтық хабарландырулар
- ✅ Кейінге қалдырылған жіберу

### 🔒 **Қауіпсіздік**

[](#-қауіпсіздік)

- ✅ Webhook қолтаңбаларын тексеру
- ✅ Timing шабуылдардан қорғау
- ✅ Барлық кіріс деректерін валидациялау
- ✅ Токендерді қауіпсіз сақтау

### 🚀 **Laravel интеграциясы**

[](#-laravel-интеграциясы)

- ✅ Дайын Facades және Service Providers
- ✅ Орнату үшін Artisan командалары
- ✅ Дерекқор миграциялары
- ✅ Webhook үшін Middleware

### 🛠️ **Қосымша мүмкіндіктер**

[](#️-қосымша-мүмкіндіктер)

- 📊 **Аналитика** - Хабарландыру жеткізу статистикасы
- 🧪 **Толық тестілеу** - Unit, Feature және Integration тесттер
- 📚 **Толық құжаттама** - Мысалдар мен нұсқаулықтар
- 🔄 **Автоматты қалпына келтіру** - API сұраулары үшін Retry механизмдері
- 🌐 **Көптілділік** - Хабарландыруларды локализациялау қолдауы

---

📋 Талаптар
----------

[](#-талаптар)

[![](https://camo.githubusercontent.com/0c75f02b219da9660ccc402661888f884cd615686d3dc0041239e6929413f53a/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f64657669636f6e732f64657669636f6e2f69636f6e732f7068702f7068702d6f726967696e616c2e737667)](https://camo.githubusercontent.com/0c75f02b219da9660ccc402661888f884cd615686d3dc0041239e6929413f53a/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f64657669636f6e732f64657669636f6e2f69636f6e732f7068702f7068702d6f726967696e616c2e737667)
**PHP 8.1+**[![](https://camo.githubusercontent.com/add54281c9fb74f167b2c1f1e13468346d6ef8885dc90eb7036e09b579462947/68747470733a2f2f6c61726176656c2e636f6d2f696d672f6c6f676f6d61726b2e6d696e2e737667)](https://camo.githubusercontent.com/add54281c9fb74f167b2c1f1e13468346d6ef8885dc90eb7036e09b579462947/68747470733a2f2f6c61726176656c2e636f6d2f696d672f6c6f676f6d61726b2e6d696e2e737667)
**Laravel 10.0+**[![](https://avatars.githubusercontent.com/u/4334459?s=200&v=4)](https://avatars.githubusercontent.com/u/4334459?s=200&v=4)
**Guzzle HTTP 7.0+**[![](https://camo.githubusercontent.com/42db3372bb80dcf145a85f39889038e7bd97b13bb6809ac9da42d6ba4e336616/68747470733a2f2f676574636f6d706f7365722e6f72672f696d672f6c6f676f2d636f6d706f7365722d7472616e73706172656e74322e706e67)](https://camo.githubusercontent.com/42db3372bb80dcf145a85f39889038e7bd97b13bb6809ac9da42d6ba4e336616/68747470733a2f2f676574636f6d706f7365722e6f72672f696d672f6c6f676f2d636f6d706f7365722d7472616e73706172656e74322e706e67)
**Composer**---

📦 Орнату
--------

[](#-орнату)

### 🎯 Composer арқылы жылдам орнату

[](#-composer-арқылы-жылдам-орнату)

```
composer require madarlan/aitu-messenger-php
```

### ⚡ Laravel үшін автоматты баптау

[](#-laravel-үшін-автоматты-баптау)

Толық автоматты баптау үшін Artisan командасын пайдаланыңыз:

```
php artisan aitu:install
```

🔧 **Орнату командасы не істейді?**- ✅ Конфигурация файлдарын жариялайды
- ✅ Webhook үшін маршруттар жасайды
- ✅ Дерекқор миграцияларын жариялайды
- ✅ `.env` файлына орта айнымалыларын қосады
- ✅ Келесі баптау қадамдарын көрсетеді

### 🎛️ Орнату опциялары

[](#️-орнату-опциялары)

```
# Тек Aitu Passport орнату
php artisan aitu:install --passport

# Тек Aitu Apps орнату
php artisan aitu:install --apps

# Бар файлдарды қайта жазу
php artisan aitu:install --force
```

### 🔧 Қолмен орнату

[](#-қолмен-орнату)

**Қолмен орнату нұсқаулықтарын ашу**```
# 1. Конфигурацияны жариялау
php artisan vendor:publish --tag="aitu-messenger-config"

# 2. Маршруттарды жариялау
php artisan vendor:publish --tag="aitu-messenger-routes"

# 3. Миграцияларды жариялау
php artisan vendor:publish --tag="aitu-messenger-migrations"

# 4. Миграцияларды орындау
php artisan migrate
```

---

⚙️ Конфигурация
---------------

[](#️-конфигурация)

### 🔑 Орта айнымалылары

[](#-орта-айнымалылары)

Келесі айнымалыларды `.env` файлыңызға қосыңыз:

```
# 🔐 Aitu Passport OAuth
AITU_PASSPORT_CLIENT_ID=your_passport_client_id
AITU_PASSPORT_CLIENT_SECRET=your_passport_client_secret
AITU_PASSPORT_REDIRECT_URI=https://yourapp.com/auth/aitu/callback

# 📱 Aitu Apps Push хабарландырулары
AITU_APPS_APP_ID=your_apps_app_id
AITU_APPS_APP_SECRET=your_apps_app_secret

# 🔒 Webhook қауіпсіздігі
AITU_WEBHOOK_SECRET=your_webhook_secret
AITU_WEBHOOK_VERIFY_SIGNATURE=true

# 🛠️ Қосымша баптаулар
AITU_LOGGING_ENABLED=true
AITU_CACHE_ENABLED=true
AITU_API_TIMEOUT=30
AITU_RETRY_ATTEMPTS=3
```

### 🏗️ Aitu Passport баптау

[](#️-aitu-passport-баптау)

**Aitu Passport қадамдық баптау**1. **Қосымша жасау**

    - [Aitu Passport басқару панеліне](https://passport.aitu.io/) өтіңіз
    - Жаңа қосымша жасаңыз
    - `Client ID` және `Client Secret` алыңыз
2. **Redirect URI баптау**

    ```
    https://your-domain.com/auth/aitu/callback

    ```
3. **Webhook баптау**

    - **Authorization webhook**: `https://your-domain.com/api/webhooks/aitu/passport`
    - **General webhook**: `https://your-domain.com/api/webhooks/aitu`

### 📱 Aitu Apps баптау

[](#-aitu-apps-баптау)

**Aitu Apps қадамдық баптау**1. **Қосымша жасау**

    - [Aitu Apps басқару панеліне](https://apps.aitu.io/) өтіңіз
    - Жаңа қосымша жасаңыз
    - `App ID` және `App Secret` алыңыз
2. **Webhook баптау**

    - **Apps webhook**: `https://your-domain.com/api/webhooks/aitu/apps`
    - **General webhook**: `https://your-domain.com/api/webhooks/aitu`

---

🚀 Жылдам бастау
---------------

[](#-жылдам-бастау)

### 🔐 Aitu Passport OAuth

[](#-aitu-passport-oauth-1)

```
use MadArlan\AituMessenger\Facades\AituPassport;

// 🎯 Авторизация URL алу
$authUrl = AituPassport::getAuthorizationUrl(['profile', 'email']);
return redirect($authUrl);

// 🔄 Callback өңдеу
$tokens = AituPassport::exchangeCodeForTokens($request->get('code'));
$userInfo = AituPassport::getUserInfo($tokens['access_token']);

// 👤 Пайдаланушы туралы ақпарат
echo "👋 Сәлем, " . $userInfo->getName();
echo "📧 Email: " . $userInfo->getEmail();
echo "📱 Телефон: " . $userInfo->getPhone();
```

### 📱 Aitu Apps Push хабарландырулары

[](#-aitu-apps-push-хабарландырулары-1)

```
use MadArlan\AituMessenger\Facades\AituApps;

// 🎯 Нақты пайдаланушыға хабарландыру
$result = AituApps::sendTargetedNotification(
    userId: 'user_123',
    title: '🎉 Құттықтаймыз!',
    body: 'Сіздің тапсырысыңыз сәтті рәсімделді',
    data: ['order_id' => 12345, 'status' => 'confirmed']
);

// 👥 Топтық хабарландыру
$result = AituApps::sendGroupNotification(
    groupId: 'group_456',
    title: '📢 Маңызды хабарландыру',
    body: 'Жаңа функциялар енді қолжетімді!'
);

// ⏰ Жоспарланған хабарландыру
$scheduledTime = now()->addHours(2);
$result = AituApps::scheduleNotification(
    userId: 'user_123',
    title: '⏰ Еске салу',
    body: '15:00-де кездесуді ұмытпаңыз',
    scheduledAt: $scheduledTime
);
```

### 🔗 Webhook өңдеу

[](#-webhook-өңдеу)

Webhook-тар қолтаңбаны тексеру үшін `aitu.webhook` middleware арқылы автоматты өңделеді:

```
// 🌐 Автоматты қосылған маршруттар
Route::post('/api/webhooks/aitu', [WebhookController::class, 'handleGeneralWebhook'])
    ->middleware('aitu.webhook');

Route::post('/api/webhooks/aitu/passport', [WebhookController::class, 'handlePassportWebhook'])
    ->middleware('aitu.webhook');

Route::post('/api/webhooks/aitu/apps', [WebhookController::class, 'handleAppsWebhook'])
    ->middleware('aitu.webhook');
```

> **🔒 Қауіпсіздік**: `aitu.webhook` middleware конфигурациядан құпия кілтті пайдаланып webhook қолтаңбасын автоматты тексереді.

---

💡 Пайдалану мысалдары
---------------------

[](#-пайдалану-мысалдары)

### 🔐 OAuth авторизациясының толық циклі

[](#-oauth-авторизациясының-толық-циклі)

**Авторизация контроллері**```
