feat(v1.7): orderPRO -> shopPRO status push sync

Implement bidirectional status sync for shopPRO integrations.
When direction is set to orderpro_to_shoppro, cron pushes manual
status changes to shopPRO via PUT API with reverse status mapping.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-27 12:54:57 +01:00
parent 054816b0ba
commit 957fddaf84
13 changed files with 867 additions and 41 deletions

View File

@@ -1,5 +1,17 @@
# Tech Changelog
## 2026-03-27 (ShopPRO Status Push — orderPRO -> shopPRO)
- Zaimplementowano kierunek synchronizacji statusow `orderpro_to_shoppro` w `ShopproStatusSyncService`.
- Nowa metoda `ShopproApiClient::updateOrderStatus()` — PUT `/api.php?endpoint=orders&action=change_status&id={id}`.
- Wydzielono wspolna metode `executeRequest()` w `ShopproApiClient` (reuse GET/PUT).
- `ShopproStatusSyncService::syncPushDirection()`:
- buduje reverse mapping (orderpro_status_code -> shoppro_status_code),
- query `order_status_history` po zmianach `change_source=manual` po kursore,
- pushuje status do shopPRO API, aktualizuje kursor `last_status_pushed_at`.
- Migracja: `20260327_000071_add_last_status_pushed_at_to_sync_state.sql` — kolumna `last_status_pushed_at` w `integration_order_sync_state`.
- `ShopproOrderSyncStateRepository`: nowe metody `getLastStatusPushedAt()`, `updateLastStatusPushedAt()`.
- `CronHandlerFactory`: zaktualizowana kompozycja `ShopproStatusSyncService` z nowymi zaleznosciami.
## 2026-03-25 (Automation - new action "Wystaw paragon")
- Dodano nowy typ akcji automatyzacji: `issue_receipt` (Wystaw paragon).
- Konfiguracja akcji wymaga kompletu parametrow: