Новости
This content is not available in your language yet.
1.4.0 — 2026-09-25
heading.anchorLabel1.4.0
heading.anchorLabelСпрямо 1.3.1.
Внимание при деплой
heading.anchorLabel- Конструктор: сменена сигнатура на
__construct— при деплоя се чистиgenerated/. - Зависимости:
requireвcomposer.json:webcode/module-carrier:^2.10→^2.12.
Комити (2)
heading.anchorLabel33888d0Release 1.4.0c854598feat(admin): searchable sender office picker
Бележки
heading.anchorLabel- „Choose office“ в конфигурацията на куриера е поле с търсене (UI Select от Webcode_Carrier 2.12.0) вместо
<select>с всички офиси: търсене по град, име, адрес или номер, подредба по град и име, етикет[номер] ГРАД — име, адрес. Model\Config\Source\Officeе изтрит — оттам идва сигналът „Конструктор“ горе; нов конструктор няма. Запазената стойност (office_id) не се променя.- Списъкът вече идва от синхронизираните офиси, не на живо от API-то на Evropat.
При деплой
heading.anchorLabel- Изисква
webcode/module-carrier^2.12. Чистиgenerated/и пусниsetup:static-content:deployза adminhtml (заради JS-а в Carrier).
1.3.1 — 2026-09-24
heading.anchorLabel1.3.1
heading.anchorLabelСпрямо 1.3.0.
Внимание при деплой
heading.anchorLabel- Конструктор: сменена сигнатура на
__construct— при деплоя се чистиgenerated/. - Setup: data/schema patch — изпълнява се срещу жива база при
setup:upgrade.
Комити (1)
heading.anchorLabel83c379cfix: записът на куриера се възстановява сам (RecurringData), patch-ът е идемпотентен
Бележки
heading.anchorLabel- Записът на куриера в
webcode_carrier_entityсе възстановява сам. Ако таблицата е празна, а отметката наAddEvropatCarrierEntityPatchе останала вpatch_list(модулът е бил изключван и таблицата е създадена наново), куриерът досега оставаше без запис, докато някой не махне отметката на ръка. Сега новиятSetup\RecurringDataсъздава липсващия запис при всекиsetup:upgrade: неактивен, както и при първа инсталация. AddEvropatCarrierEntityPatch::apply()е идемпотентен. При махната отметка и съществуващ запис вече не гърми на уникалнияcode.
При деплой
heading.anchorLabel- Уточнение към автоматичните предупреждения: никоя съществуваща сигнатура не е сменена.
__constructе на новия класSetup\RecurringData. В production mode е нуженsetup:di:compileзаради новия клас. - Съществуващият data patch не се пуска наново.
RecurringDataпри всекиsetup:upgradeчете записа поcodeи създава нов само ако липсва. Съществуващ запис, вкл.is_active, не се пипа.
1.3.0 — 2026-09-19
heading.anchorLabel1.3.0
heading.anchorLabelСпрямо 1.2.1.
Внимание при деплой
heading.anchorLabel- Зависимости:
requireвcomposer.json:webcode/module-carrier:^2.8→^2.10.
Комити (3)
heading.anchorLabele33cbefRelease 1.3.04cb0916chore(carrier-11): изисквай webcode/module-carrier ^2.10b2877ecfeat(carrier-11): отказ на товарителница при отказ на поръчка
Бележки
heading.anchorLabelМодулът вече може да анулира товарителницата при отказ на поръчка.
Закача вече съществуващия ShippingLabel::cancel() (cancelshipment), който до момента нямаше нито един извикващ — тоест кодът стоеше, но никога не се изпълняваше.
Включва се от Магазини → Конфигурация → Webcode Solutions → Delivery Methods → Товарителници. Настройката е обща за всички куриери и е изключена по подразбиране — това издание не променя нищо от само себе си.
Отказ от куриера никога не блокира отказа на поръчката; причината влиза в коментарите на поръчката и в лога.
Внимание при деплой
heading.anchorLabel- Изисква webcode/module-carrier ^2.10 — констрейнтът е стегнат в това издание, защото модулът вече ползва
LabelCancellationInterface, който идва с carrier 2.10.0. Деплой без него би дал фатал при зареждане на класа. - Нужен е
cache:flush(заради новия observer и конфигурация в carrier 2.10.0). - Няма промени по схема и по static content.
Известен проблем
heading.anchorLabelНе е минат реален отказ на жива товарителница при куриера (DoD т. 2–3) — покритието е unit. Първият жив отказ да се наблюдава.
1.2.1 — 2026-09-17
heading.anchorLabel1.2.1
heading.anchorLabelСпрямо 1.2.0.
Комити (1)
heading.anchorLabelf53877dfix(payer): тестовете и диалогът следват правилото за предплатена поръчка
Бележки
heading.anchorLabel- Платец на куриерската услуга при предплатена поръчка. От Webcode_Carrier
2.9.4политиката „Courier Service Payer = Recipient“ отстъпва на подателя за всяка поръчка, която не е с наложен платеж: клиентът вече е платил доставката онлайн и куриерът не бива да я събира втори път на гишето. Evropat наследява правилото в товарителницата (в брой:paymentWay1 вместо 2; с договорен номер: 3 вместо 4). - Диалогът „Create Shipping Label“ вече предлага същия платец, който товарителницата ще запише — дотук при предплатена поръчка предлагаше „Recipient“. „Third party“ не се променя.
- Правилото за самата товарителница идва от Carrier: с Carrier по-стар от
2.9.4товарителница, издадена без диалога, остава за сметка на получателя.
При деплой
heading.anchorLabel- Без DI, схема или static промени — стига
cache:flush.
1.2.0 — 2026-08-28
heading.anchorLabel1.2.0
heading.anchorLabelСпрямо 1.1.4.
Внимание при деплой
heading.anchorLabel- DI:
di.xmlе променен — при деплоя се чистиgenerated/. - Конструктор: сменена сигнатура на
__construct— при деплоя се чистиgenerated/. - Static: стилове/JS/шаблони във
view/*/web(илиrequirejs-config.js) са променени — при деплояsetup:static-content:deploy. - Зависимости:
requireвcomposer.json:webcode/module-carrier:^2.0→^2.8.
Комити (6)
heading.anchorLabelf683659chore: изисквай module-carrier ^2.8 за споделената политикаe9ed522Take the Evropat payer through the shared delivery-payment policy6081aa0Use the shared carrier login and go-live guards76a9e8fAdd the Evropat carrier logo54de4b3Fix Evropat logout crash; hide the auto-filled contract number658efe2chore: bump version field to next dev version 1.1.5
Бележки
heading.anchorLabel- Какво: платецът на куриерската услуга минава през общата политика на Webcode_Carrier — при „Recipient“ доставката излиза от сумата на наложения платеж (дотук клиентът я плащаше два пъти); безплатната доставка остава за сметка на подателя, „Third party“ не се пипа. Входът/изходът в Evropat и guard-ът при включване на метода ползват общите класове от Carrier (поведението е същото).
- Поправка: изходът (Logout) от Evropat гърмеше с
ArgumentCountErrorпри всяко натискане — регресия от 1.1.3. - Конфигурация: полето „Client / Contract Number“ вече не се въвежда на ръка — попълва се от профила при вход и е скрито.
- Checkout: Evropat показва логото си като Econt, Speedy и BoxNow.
- Изисква Webcode_Carrier
^2.8.
Release-ът е попълнен на 17.09.2026 по историята в git; датата е тази на тага.
1.1.4 — 2026-08-25
heading.anchorLabelSender configuration from the Evropat client profile: the Sender Destination is a dropdown of the profile’s registered addresses (getclientaddresses), and a successful login now prefills the destination, sender name/phone/address and contract number. The API key is the only login credential. (Covers the sender-destination-select and login-prefill changes.)
1.1.3 — 2026-08-25
heading.anchorLabel—
1.1.2 — 2026-08-25
heading.anchorLabelChanges since 1.1.1
heading.anchorLabel- Config: register
carriers/evropat/api_urlas a hiddensystem.xmlfield, so the API base URL is manageable per environment viabin/magento config:set/env.php(no merchant UI; default stays inconfig.xml). - CI: drop derivable keys from
.gitlab-ci.yml.
1.1.1 — 2026-08-19
heading.anchorLabelПоправено
heading.anchorLabelТеглото на пратката идва от поръчката, не от конфигурацията.
buildContent() подаваше default_weight винаги, когато няма override — тоест
при масово генериране и при автоматичното създаване на товарителница. Реалното
тегло на поръчката се игнорираше, пратката тръгваше с подценено тегло и
куриерът дотаксуваше. Дефектът е невидим: нищо не гърми и нищо не влиза в лог.
Мерено на bilki.bg (Speedy, 30 дни, същият дефект): средно 1.41 кг, максимум
44.13 кг, а 764 от 1756 поръчки (43%) са над 1 кг при default_weight = 1.
Редът става override → тегло на поръчката → default_weight, по модела на
BoxNow — единственият от петте куриера, който го правеше правилно. Същата
поправка влезе в Speedy 2.2.3 и Econt 2.3.1.
1.1.0 — 2026-07-28
heading.anchorLabelDelivery Methods config cleanup:
- API base URL default живее в etc/config.xml (carriers/evropat/api_url), не като PHP const; override през config:set / env.php / DB (DEV URL остава override-only).
- Креденшълите (номер/API ключ) вече не са required за Save на секцията; валидацията е бутонът Login & Configure.
1.0.0 — 2026-07-22
heading.anchorLabelFirst tagged release — Evropat shipping on the shared Webcode_Carrier 2.0 pipeline. Uses Webcode_Base for the shared Console command. Requires carrier ^2.0 and webcode/module-base.