Download the PHP package dvomaks/promua-api without Composer
On this page you can find all versions of the php package dvomaks/promua-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download dvomaks/promua-api
More information about dvomaks/promua-api
Files in dvomaks/promua-api
Package promua-api
Short Description Laravel package for PromUA API integration with consistent service methods
License MIT
Homepage https://github.com/dvomaks/promua-api
Informations about the package promua-api
PromUA API Package
Потужний Laravel пакет для інтеграції з PromUA API - провідною українською e-commerce платформою
📋 Зміст
- Про проект
- Можливості
- Встановлення
- Налаштування
- Використання
- Приклади коду
- Документація API
- Тестування
- Внесок у розробку
- Ліцензія
🚀 Про проект
Цей пакет надає повноцінний PHP SDK для роботи з PromUA API - однієї з найбільших e-commerce платформ України. Пакет дозволяє легко інтегрувати ваш Laravel додаток з PromUA для синхронізації замовлень, товарів, клієнтів та інших даних.
Основні особливості
- ✅ Повна підтримка PromUA API v1
- ✅ Типізовані DTO для всіх відповідей
- ✅ Обробка помилок та винятків
- ✅ Гнучкі налаштування HTTP клієнта
- ✅ Всебічне тестування
- ✅ Документація українською мовою
- ✅ Сумісність з Laravel 11+
🎯 Можливості
📦 Управління замовленнями
- Отримання списку замовлень з фільтрацією
- Отримання детальної інформації про замовлення
- Оновлення статусів замовлень
- Прикріплення квитанцій
- Обробка повернень
🛍️ Управління товарами
- Отримання списку товарів
- Отримання товарів за зовнішнім ID
- Створення та редагування товарів
- Імпорт товарів через URL або файл
- Управління перекладами товарів
👥 Робота з клієнтами
- Отримання списку клієнтів
- Детальна інформація про клієнтів
💬 Система повідомлень
- Отримання списку повідомлень
- Відповіді на повідомлення
- Управління статусами повідомлень
🗨️ Чат функціонал
- Отримання кімнат чату
- Історія повідомлень
- Надсилання повідомлень та файлів
- Позначення повідомлень як прочитаних
📁 Групи товарів
- Отримання списку груп
- Управління перекладами груп
💳 Способи оплати
- Отримання доступних способів оплати
🚚 Способи доставки
- Отримання способів доставки
- Збереження декларацій доставки
📦 Встановлення
1. Вимоги
- PHP 8.2 або вище
- Laravel 11.0 або вище
- Composer
2. Встановлення через Composer
3. Публікація конфігурації
⚙️ Налаштування
1. Змінні оточення
Додайте наступні змінні до вашого .env файлу:
2. Конфігурація (config/promua-api.php)
3. Отримання API токена
- Увійдіть в кабінет продавця Prom.ua.
- Перейдіть у меню Налаштування → Управління API-токенами.
- Натисніть Створити токен:
- Назва (можна залишити пустим).
- Термін дії (від 1 дня до 1 року).
- Права доступу (Orders, Products тощо).
- Після створення натисніть Переглянути / Скопіювати та збережіть токен.
💻 Використання
Базове використання
📚 Приклади коду
Робота з замовленнями
Робота з товарами
Робота з клієнтами
Робота з повідомленнями
Робота з чатом
Робота з групами
📖 Документація API
Повна документація PromUA API доступна за адресою: https://my.prom.ua/api/v1/docs
Підтримувані методи
| Сервіс | Методи | Опис |
|---|---|---|
| Orders | getList() |
Отримує список замовлень з фільтрацією за статусом, датою та лімітом |
getById(id) |
Отримує детальну інформацію про конкретне замовлення | |
updateStatus(id, status) |
Оновлює статус замовлення (new, pending, sent, delivered тощо) | |
attachReceipt(id, receiptId) |
Прикріплює квитанцію до замовлення | |
refund(id, amount, reason) |
Обробляє повернення товару з вказанням суми та причини | |
| Products | getList() |
Отримує список товарів з фільтрацією та пагінацією |
getById(id) |
Отримує детальну інформацію про товар за внутрішнім ID | |
getByExternalId(externalId) |
Отримує товар за зовнішнім ідентифікатором | |
edit(data) |
Редагує товар за внутрішнім ID | |
editByExternalId(data) |
Редагує товар за зовнішнім ідентифікатором | |
importFromUrl(url, options) |
Імпортує товари з XML файлу за URL | |
getImportStatus(importId) |
Перевіряє статус процесу імпорту товарів | |
getTranslation(productId, lang) |
Отримує переклад товару вказаной мовою | |
updateTranslation(data) |
Оновлює переклад товару | |
| Chat | getRooms(params) |
Отримує список кімнат чату |
getMessages(params) |
Отримує історію повідомлень чату | |
sendMessage(data) |
Надсилає текстове повідомлення | |
sendFile(filePath, data) |
Надсилає файл у чат | |
markMessageRead(data) |
Позначає повідомлення як прочитане | |
| Messages | getList(params) |
Отримує список повідомлень з фільтрацією |
getById(id) |
Отримує конкретне повідомлення | |
reply(id, message) |
Надсилає відповідь на повідомлення | |
setStatus(status, ids) |
Змінює статус повідомлень (read, unread, deleted) | |
| Clients | getList(params) |
Отримує список клієнтів з пошуком та фільтрацією |
getById(id) |
Отримує детальну інформацію про клієнта | |
| Groups | getList(params) |
Отримує список груп товарів |
getTranslation(id, lang) |
Отримує переклад групи вказаной мовою | |
updateTranslation(id, lang, name, desc) |
Оновлює переклад назви та опису групи | |
| Payment | getList(params) |
Отримує список доступних способів оплати |
| Delivery | getList(params) |
Отримує список доступних способів доставки |
🧪 Тестування
Запуск тестів
Написання тестів
🔧 Розробка
Структура проекту
Код-стиль
Проект використовує Laravel Pint для форматування коду:
Статичний аналіз
PHPStan налаштовано та готовий до використання! 🚀
Конфігурація PHPStan
Проект використовує оптимальну конфігурацію для Laravel пакету:
- Рівень аналізу: 5 (жорсткий, але практичний)
- Аналіз директорій:
src/ - Виключення:
vendor/,storage/,bootstrap/cache/,tests/ - Bootstrap файл:
vendor/autoload.php
Якщо потрібно змінити налаштування
Файл конфігурації: phpstan.neon
🤝 Внесок у розробку
Ми вітаємо внески у розробку! Будь ласка, ознайомтеся з нашими правилами:
- Fork проект
- Створіть feature branch (
git checkout -b feature/amazing-feature) - Commit зміни (
git commit -m 'Add amazing feature') - Push branch (
git push origin feature/amazing-feature) - Створіть Pull Request
Правила внеску
- Пишіть тести для нового функціоналу
- Дотримуйтесь PSR-12 код-стилю
- Оновлюйте документацію при потребі
- Забезпечте зворотну сумісність
📄 Ліцензія
Цей проект ліцензовано під MIT License.
🆘 Підтримка
Якщо у вас виникли питання або проблеми:
- 📧 Email: [email protected]
- 🐛 Повідомити про проблему
- 📖 Документація
🙏 Подяки
- Команді PromUA за чудовий API
- Laravel community за натхнення
- Всіх контриб'юторів проекту
Зроблено з ❤️ в Україні
All versions of promua-api with dependencies
spatie/laravel-package-tools Version ^1.16
illuminate/contracts Version ^11.0||^12.0
ext-curl Version *