serdominus/elit-econnector

PHP client library for ELIT eConnector SOAP API v1.75.0

Maintainers

Package info

github.com/serdominus/elit-econnector

pkg:composer/serdominus/elit-econnector

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-02-28 09:12 UTC

This package is auto-updated.

Last update: 2026-02-28 09:16:01 UTC


README

Latest Stable Version License

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