serdominus / elit-econnector
PHP client library for ELIT eConnector SOAP API v1.75.0
1.0.0
2026-02-28 09:12 UTC
Requires
- php: >=8.1
- ext-soap: *
Requires (Dev)
- phpunit/phpunit: ^10.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
PHP клієнт для роботи з ELIT eConnector SOAP API (версія 1.75.0).
Вимоги
- PHP 8.1+
- Розширення
ext-soap
Встановлення
composer require serdominus/elit-econnector
Або клонуйте репозиторій і встановіть залежності:
git clone https://github.com/serdominus/elit-econnector.git
cd elit-econnector
composer install
Швидкий старт
use Elit\EConnector\ElitConnector; use Elit\EConnector\SendBasketItem; use Elit\EConnector\Exception\ElitException; // Ініціалізація (testMode: true = тестовий сервер) $connector = new ElitConnector( company: ElitConnector::COMPANY_CZ, login: 'your_login', password: 'your_password', testMode: false ); // Отримати інформацію про товар $item = $connector->getItem('NET 12 N 7439'); echo $item->description; // Отримати ціну та залишки $infoList = $connector->getItemInfo('NET 12 N 7439', qty: 1); // Відправити замовлення $success = $connector->sendBasket([ new SendBasketItem('NET 12 N 7439', 2, 'MY-REF', false, '2024-12-31'), ]);
Константи компаній
| Константа | Значення |
|---|---|
ElitConnector::COMPANY_CZ |
ELIT_CZ |
ElitConnector::COMPANY_RO |
ELIT_RO |
ElitConnector::COMPANY_SK |
ELIT_SK |
ElitConnector::COMPANY_UA |
ELIT_UA |
Доступні методи
Товари
| Метод | Опис |
|---|---|
getItem(string $activeItemNo) |
Детальна інформація про товар |
getItemInfo(string $itemNo, int $qty) |
Ціна та залишки на складах |
getItemInfoFromVendors(string $itemNo, ...) |
Інформація з складів постачальників (потребує дозволу E_CONNECTOR_VS) |
getListOfItems(array $params) |
Список товарів |
Накладні (Delivery Notes)
| Метод | Опис |
|---|---|
getNumOfShipments() |
Загальна кількість накладних |
getShipmentList(int $pageNo, int $pageSize) |
Список заголовків накладних |
getShipmentHeader(string $documentNo) |
Заголовок конкретної накладної |
getShipmentLines(string $documentNo) |
Рядки накладної |
Рахунки-фактури (Loans)
| Метод | Опис |
|---|---|
getNumOfInvoices(bool $open, bool $closed, bool $overdue) |
Кількість рахунків |
getInvoiceList(...) |
Список рахунків з пагінацією |
getInvoiceHeader(string $invoiceNo) |
Заголовок рахунку |
getInvoiceVatSummary(string $invoiceNo) |
ПДВ зведення |
getInvoiceLines(string $invoiceNo) |
Рядки рахунку |
Кредит-ноти
| Метод | Опис |
|---|---|
getNumOfCrMemos(bool $open, bool $closed, bool $overdue) |
Кількість кредит-нот |
getCrMemoList(...) |
Список кредит-нот |
getCrMemoHeader(string $invoiceNo) |
Заголовок кредит-ноти |
getCrMemoVatSummary(string $invoiceNo) |
ПДВ зведення кредит-ноти |
getCrMemoLines(string $invoiceNo) |
Рядки кредит-ноти |
Замовлення
| Метод | Опис |
|---|---|
getNumOfOrderLines(array $params) |
Кількість рядків замовлень |
getOrderList(array $params) |
Список замовлень |
getOrderHeader(string $orderNo, array $params) |
Заголовок замовлення |
getOrderLines(string $orderNo, array $params) |
Рядки замовлення |
Відправка замовлень
| Метод | Опис |
|---|---|
sendBasket(SendBasketItem[] $lines) |
Відправити кошик (створити замовлення) |
Інше
| Метод | Опис |
|---|---|
getVersion() |
Версія веб-сервісу |
getSoapClient() |
Прямий доступ до SoapClient |
SendBasketItem — параметри
new SendBasketItem( no: 'NET 12 N 7439', // Артикул (обов'язково) quantity: 2, // Кількість (обов'язково) yourReference: 'MY-REF-001', // Примітка, макс. 20 символів cashAndCarry: false, // Самовивіз requestedDeliveryDate: '2024-12-31' // Бажана дата доставки );
Обробка помилок
use Elit\EConnector\Exception\ElitException; use Elit\EConnector\Exception\AuthException; try { $item = $connector->getItem('SOME-ITEM'); } catch (AuthException $e) { // Неправильні облікові дані або недостатньо прав echo "Авторизація: " . $e->getMessage(); } catch (ElitException $e) { // Інші помилки API echo "Помилка API: " . $e->getMessage(); }
Тестовий та production сервери
// Тестовий $connector = new ElitConnector('ELIT_CZ', 'login', 'pass', testMode: true); // Production $connector = new ElitConnector('ELIT_CZ', 'login', 'pass', testMode: false);