feat(128): erli orders import

Phase 128 complete:
- add Erli /inbox order import with safe mark-read ACK
- add cron/manual import controls and sync state tracking
- map Erli orders into orderPRO aggregates with mapper tests and docs
This commit is contained in:
2026-05-15 23:54:22 +02:00
parent 3ea8cdc941
commit 2565d9b754
23 changed files with 1989 additions and 35 deletions

View File

@@ -870,11 +870,18 @@ return [
'title' => 'Test polaczenia',
'description' => 'Test wykonuje realne, bezpieczne zapytanie GET do API Erli.',
],
'import' => [
'title' => 'Import zamowien',
'description' => 'Pobiera nieprzeczytane wiadomosci Erli inbox i importuje obslugiwane zdarzenia zamowien do orderPRO.',
],
'fields' => [
'account_label' => 'Nazwa konta',
'api_key' => 'Klucz API',
'options' => 'Opcje',
'is_active' => 'Integracja aktywna',
'orders_fetch_enabled' => 'Wlacz automatyczny import zamowien',
'orders_fetch_start_date' => 'Data startu importu',
'orders_import_interval_minutes' => 'Interwal importu (minuty)',
],
'api_key' => [
'saved' => 'Klucz API jest zapisany. Pozostaw pole puste, aby nie zmieniac.',
@@ -882,6 +889,8 @@ return [
],
'hints' => [
'account_label' => 'Opcjonalna nazwa widoczna w hubie integracji.',
'orders_fetch_start_date' => 'Opcjonalnie pominie zdarzenia starsze niz podana data, jesli payload Erli zawiera date zamowienia.',
'orders_import_interval_minutes' => 'Dotyczy zadania cron `erli_orders_import`. Zakres: 1-1440 minut.',
],
'status' => [
'secret' => 'Sekret API',
@@ -893,12 +902,18 @@ return [
'actions' => [
'save' => 'Zapisz ustawienia Erli',
'test' => 'Test polaczenia',
'import_now' => 'Importuj zamowienia teraz',
],
'flash' => [
'saved' => 'Ustawienia Erli zostaly zapisane.',
'save_failed' => 'Nie udalo sie zapisac ustawien Erli.',
'test_success' => 'Polaczenie z API Erli dziala.',
'test_failed' => 'Nie udalo sie polaczyc z API Erli.',
'import_success' => 'Import Erli zakonczony. Przetworzone: :processed, nowe: :created, aktualizacje: :updated, bledy: :failed, pominiete: :skipped, inbox ACK: :ack.',
'import_failed' => 'Nie udalo sie zaimportowac zamowien Erli.',
],
'validation' => [
'orders_fetch_start_date_invalid' => 'Data startu importu musi miec format RRRR-MM-DD.',
],
],
'inpost' => [