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);