Полная коллекция примеров разработки для MikoPBX PBX системы
English version | Документация
Этот репозиторий содержит практические, готовые к использованию примеры, охватывающие все аспекты разработки модулей для MikoPBX:
Современные паттерны создания REST API эндпоинтов с поддержкой OpenAPI
- Паттерн 1 - Простой Callback - Базовый подход
- Паттерн 2 - Кастомные Контроллеры - Переходный
- Паттерн 3 - Современный 2025 ⭐ Рекомендуется
Работа с Asterisk Manager Interface
- Базовое использование AMI - Подключение, отправка команд, обработка событий
Расширение административной панели MikoPBX
- Кастомные формы - Добавление страниц настроек и форм
Создание модулей перевода
- Как создать языковой пакет - Полное руководство
Подключение MikoPBX к сторонним сервисам
- Скоро...
Продвинутая маршрутизация звонков с Asterisk
- Скоро...
Асинхронные задачи и обработка
- Скоро...
git clone https://github.com/mikopbx/MikoPBX-Development-Examples.git
cd MikoPBX-Development-Examples# Для разработки REST API
cd REST-API/ModuleExampleRestAPIv3
# Для кастомизации веб-интерфейса
cd WebInterface/ModuleExampleForm
# Для интеграции с AMI
cd AMI/ModuleExampleAmiСоздайте ZIP архив из папки модуля. Важно: module.json должен быть в корне архива.
# Пример: Создание ZIP для ModuleExampleRestAPIv3
cd REST-API/ModuleExampleRestAPIv3
zip -r ModuleExampleRestAPIv3.zip . -x "*.git*" "*.DS_Store"Структура архива:
ModuleExampleRestAPIv3.zip
├── module.json ← Должен быть в корне!
├── Lib/
├── Models/
├── Messages/
└── ...- Перейдите в Modules Marketplace
- Нажмите Upload new module
- Выберите ваш ZIP файл (например,
ModuleExampleRestAPIv3.zip) - Нажмите Turn it On
Примечание: Модули должны устанавливаться как ZIP архивы через веб-интерфейс для правильной регистрации в системе.
Начните здесь, если вы новичок в разработке для MikoPBX:
- WebInterface/ModuleExampleForm/ - Простая страница настроек
- AMI/ModuleExampleAmi/ - Базовое использование AMI
- LanguagePacks/HowToCreateLanguagePack.md - Руководство по переводам
Современный API с поддержкой OpenAPI:
- REST-API/ModuleExampleRestAPIv3/ ⭐ Начните здесь
- Прочитайте REST-API/README.md
- Изучите реализацию 7-фазового паттерна
Работа с ядром PBX:
- AMI/ModuleExampleAmi/ - Основы Manager Interface
- Скоро: примеры Dialplan
- Скоро: обработчики событий
Сложные интеграции и паттерны:
- Скоро: интеграция с CRM
- Скоро: обработка очередей
- Скоро: AGI скрипты
→ WebInterface/ModuleExampleForm/
→ REST-API/ModuleExampleRestAPIv3/ ⭐
→ LanguagePacks/HowToCreateLanguagePack.md
→ Скоро...
→ Скоро...
- MikoPBX: 2024.2.0 или выше
- PHP: 8.3+
- Инструменты разработки: Git, текстовый редактор, SSH доступ
Мы приветствуем вклад в проект! Чтобы добавить новый пример:
- Сделайте fork этого репозитория
- Создайте пример в соответствующей категории
- Добавьте README.md с:
- Чётким описанием
- Инструкциями по установке
- Примерами использования
- Комментариями в коде, объясняющими ПОЧЕМУ
- Добавьте переводы (en + ru)
- Протестируйте с последней версией MikoPBX
- Отправьте pull request
Каждый пример следует этой структуре:
ModuleExample/
├── README.md # Английская документация
├── README.ru.md # Русская документация (если применимо)
├── module.json # Метаданные модуля
├── Lib/ # PHP классы
├── Models/ # Модели базы данных
├── Messages/ # Переводы
├── App/Views/ # Шаблоны веб-интерфейса
└── public/ # Ресурсы (JS, CSS)- MikoPBX Core - Основной репозиторий
- Module Template - Шаблон модуля
- Development Docs - Полная документация
- Сайт продукта - Информация о продукте
Все примеры лицензированы под GPLv3 - см. LICENSE
- Проблемы: https://github.com/mikopbx/MikoPBX-Development-Examples/issues
- Обсуждения: https://github.com/mikopbx/Core/discussions
- Документация: https://github.com/mikopbx/DevelopementDocs
- Сообщество: https://mikopbx.com/forum
- ⭐ REST API v3 - Современная маршрутизация на основе атрибутов с OpenAPI
- ⭐ Интеграция с AMI - Использование Asterisk Manager Interface
- ⭐ Пример формы - Кастомная страница настроек с валидацией
- ⭐ Языковые пакеты - Полное руководство по модулям перевода
Сделано с ❤️ сообществом MikoPBX