feat(129): erli status mapping sync
Phase 129 complete: - Add Erli pull/push status mapping tables, seeds and repositories - Wire Erli status sync cron for inbox pull and manual-only push - Add tabbed Erli settings UI, tests and documentation Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -374,6 +374,7 @@ UNIQUE: `(integration_id, shoppro_status_code)`
|
||||
| `last_synced_external_order_id` | VARCHAR(128) | YES | Legacy/source-specific cursor |
|
||||
| `last_run_at` | DATETIME | YES | |
|
||||
| `last_success_at` | DATETIME | YES | |
|
||||
| `last_status_pushed_at` | DATETIME | YES | Erli status push cursor for manual local status changes |
|
||||
| `last_error` | VARCHAR(500) | YES | |
|
||||
| `created_at` | DATETIME | NO | |
|
||||
| `updated_at` | DATETIME | NO | |
|
||||
@@ -524,6 +525,26 @@ UNIQUE: `(type, name)`
|
||||
| `created_at` | DATETIME | |
|
||||
| `updated_at` | DATETIME | |
|
||||
|
||||
**erli_order_status_mappings** — orderPRO status → Erli status used for status push
|
||||
| Column | Type | Notes |
|
||||
|--------|------|-------|
|
||||
| `id` | INT UNSIGNED | PK |
|
||||
| `erli_status_code` | VARCHAR(64) | UNIQUE; official values include `created`, `canceled`, `readyToProcess`, `inProgress`, `sent`, `readyToPickup`, `received`, `returned`, `returningToSender`, `unknown` |
|
||||
| `erli_status_name` | VARCHAR(120) | Optional display label |
|
||||
| `orderpro_status_code` | VARCHAR(64) | Nullable; empty mapping means push skips that orderPRO status |
|
||||
| `created_at` | DATETIME | |
|
||||
| `updated_at` | DATETIME | |
|
||||
|
||||
**erli_order_status_pull_mappings** — Erli status → orderPRO status used during `/inbox` import
|
||||
| Column | Type | Notes |
|
||||
|--------|------|-------|
|
||||
| `id` | INT UNSIGNED | PK |
|
||||
| `erli_status_code` | VARCHAR(64) | UNIQUE; seeded with `pending`, `purchased`, `cancelled` and extended by discovery |
|
||||
| `erli_status_name` | VARCHAR(120) | Optional display label |
|
||||
| `orderpro_status_code` | VARCHAR(64) | Nullable; if missing, mapper uses safe Phase 128 defaults |
|
||||
| `created_at` | DATETIME | |
|
||||
| `updated_at` | DATETIME | |
|
||||
|
||||
**allegro_delivery_method_mappings** — Map order delivery method strings to Allegro services
|
||||
| Column | Type | Notes |
|
||||
|--------|------|-------|
|
||||
@@ -952,7 +973,7 @@ Index: `(status, priority, scheduled_at)`
|
||||
| `created_at` | DATETIME | NO | |
|
||||
| `updated_at` | DATETIME | NO | |
|
||||
|
||||
Seeded recurring jobs include `shoppro_orders_import`, `allegro_orders_import`, `shoppro_order_status_sync`, `shoppro_payment_status_sync`, `allegro_status_sync`, `shipment_tracking_sync`, `automation_history_cleanup`, `order_status_aged`, and `erli_orders_import` (Phase 128; default disabled until Erli order import is enabled).
|
||||
Seeded recurring jobs include `shoppro_orders_import`, `allegro_orders_import`, `shoppro_order_status_sync`, `shoppro_payment_status_sync`, `allegro_status_sync`, `shipment_tracking_sync`, `automation_history_cleanup`, `order_status_aged`, `erli_orders_import` (Phase 128; default disabled until Erli order import is enabled), and `erli_status_sync` (Phase 129; default disabled until Erli settings save enables it).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user