Skip to content

[EPIC] Erli: category/parameter browsing from Allegro's catalog without a required Allegro connection #1381

Description

Problem / Context

Erli "borrows" Allegro's category/attribute taxonomy by design (ADR-023 §40/§83, ADR-025, #1045) — ErliOfferManagerAdapter declares TaxonomyBorrower.getBorrowedTaxonomy() → 'allegro' but implements neither CategoryBrowser nor CategoryParametersReader. Today the Erli single-offer wizard (apps/web/src/features/listings/components/erli/erli-create-offer-wizard.tsx) only has a plain-text "Category ID" field and no parameters step — unlike AllegroCreateOfferWizard.tsx, which lets the operator browse a category tree and fill required parameters (e.g. "Stan"/condition).

Diagnosis confirmed Allegro's /sale/categories and /sale/categories/{id}/parameters are public catalog endpoints reachable via grant_type=client_credentials (app-level auth, no seller/user OAuth context) — so this can be solved without requiring every Erli operator to own and connect a real Allegro seller account.

Proposed Solution

See the full implementation plan and architecture decision:

Three sequential sub-tasks, merged onto one integration branch, with a single final PR (full functionality) opened to main for review:

Classification

Type: Integration (Erli) + Interface (FE wizard)
Layer: Application / Infrastructure (backend), Interface (frontend)
File(s): libs/integrations/erli/**, apps/web/src/features/listings/components/erli/**, apps/web/src/plugins/erli/**

Dependencies

  • None — this is the tracking epic. Child issues depend on each other sequentially (1 → 2 → 3).

Assumptions

  • No cross-plugin dependency between @openlinker/integrations-erli and @openlinker/integrations-allegro (ADR-030).
  • No database migration — new fields live in the existing encrypted credentialsRef JSON blob and the existing config JSON column.
  • v1 scope: per-connection Allegro app credentials (not a shared, system-wide credential) — see ADR-030 for the deferred alternative.

Acceptance Criteria

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions