Skip to content

Add widely used operations to 16 catalog adapters (eBay, Amazon, Mercado Libre, Etsy and more) - #1541

Merged
helpcodeai merged 21 commits into
mainfrom
feat/catalog-block-28-enrich
Nov 5, 2026
Merged

helpcodeai merged 21 commits into
mainfrom
feat/catalog-block-28-enrich

Conversation

@helpcodeai

Copy link
Copy Markdown
Contributor

Summary

Adds the operations merchants and back-office teams use most to 16 existing catalog adapters. Every operation comes from the vendor's public API reference or official OpenAPI file.

No existing tool is renamed or removed, so installed connectors keep working. They pick up the new tools when the user clicks Apply update on the connector page.

Changes

Adapter Tools New tools cover Reference
ebay-sell 10 → 42 inventory item groups, offers (create, update, publish, withdraw, bulk), Browse search and item lookups, Promoted Listings campaigns and ads, Taxonomy suggestions and aspects Inventory, Browse, Marketing, Taxonomy
amazon-seller 15 → 24 Listings Items (search, put, patch, delete off), listing restrictions, solicitations, product type definitions SP-API
mercado-libre 17 → 41 seller promotions, Product Ads, item visits, products, shipping and listing fees, questions Developers
etsy 24 → 42 listing properties, translations, images, variation images, files, videos, shop and listing search Open API v3
ozon 27 → 39 product characteristics (read, update), card import and its status, images, content rating, archive (off) Seller API
plentyone 20 → 34 item and text edits, property relations, market SKUs, market listings, order edit REST API
prestashop 16 → 29 product update (PATCH) and create, features, combinations, attributes, brands, image upload, tracking number Webservice
magento 31 → 48 product update per store view (all), carts, cart price rules and coupons, special prices, credit memos, attribute options, source items REST
kaufland 7 → 14 tickets and messages, returns and return units, tracking for order units Seller API
weclapp 60 → 90 shipments and delivery-note PDF, production orders, stock and stock transfers, batch numbers, purchasing API v2
qls 32 → 49 returns, fulfillment order lines, product barcodes, suppliers, webhooks Swagger
buchhaltungsbutler 8 → 19 book receipts and transactions, remove bookings, link receipt to transaction, customers and suppliers API
easybill 7 → 15 document payments, draft, complete and send documents, cancellation (off) API
telegram-bot 21 → 33 reactions, pin and unpin, chat title and description, forum topics, caption edits, invite links, sticker sets, webhook info Bot API
gorgias 10 → 16 account-wide messages, macros API
sumup 6 → 26 read only: memberships, merchant, payouts, transaction history, receipts, checkouts, members, roles, readers API

Policy and safety:

  • Off at install:
    • deletes, archive, cancellations and reversals;
    • Amazon's review request, because an email to the buyer can't be recalled;
    • eBay's listing migration and campaign end.
  • No money movement: no refunds, checkouts or credit-memo creation. SumUp stays read only.
  • eBay scopes: the scopes grow by the base scope (Browse, Taxonomy) and sell.marketing.
    • Buyer messages (commerce.message) are left out on purpose: it is not granted to every keyset, and an ungranted scope fails the whole sign-in.
    • previousOAuthScopes keeps existing tokens valid until the user authorizes again.
  • Etsy scopes: adds listings_d for the delete tool, which is installed off. previousOAuthScopes is set the same way.

Cloud and self-hosted: same behaviour in both. These are catalog adapters only.

Type

  • New feature

Testing

  • Added/updated unit tests: each adapter's static spec covers the new paths, methods, annotations and switched-off writes. oauth-authorize-settings.spec.ts is updated for the Etsy scope list.
  • Tested manually: the new read-only tools of the non-OAuth adapters were run against real accounts with scripts/ops/verify-adapter-with-connector.mjs. The script only sends GET or read-only calls and prints response shapes, never values. Tools that needed an id were skipped.
Adapter New read tools OK Errors
weclapp 11 0
plentyone 4 0
kaufland 3 0
gorgias 2 0
easybill 1 0
telegram-bot 1 0
sumup 1 0

The ozon, prestashop and magento checks failed for existing tools too, because those APIs don't answer from the test machine's network. The OAuth adapters (eBay, Amazon, Mercado Libre, Etsy) were not run, because a token refresh would rotate the account's token.

Commands:

  • node scripts/validate-adapters.mjs --warn: no new errors or warnings for these slugs. The 15 Amazon tool-prefix warnings already exist and are kept for installed connectors.
  • node scripts/adapter-count.mjs --check: OK.
  • cd packages/backend && npx jest <18 changed specs>: 18 suites, 305 passed, 67 skipped (live).
  • npx tsc --noEmit -p tsconfig.json, npx eslint <changed specs> and npm run build -w packages/backend: clean.

Checklist

  • My code follows the existing code style
  • I have tested my changes locally
  • This PR has a descriptive title

@helpcodeai
helpcodeai requested a review from D3nisty as a code owner November 5, 2026 15:32
@helpcodeai
helpcodeai merged commit d533f16 into main Nov 5, 2026
30 of 32 checks passed
@helpcodeai
helpcodeai deleted the feat/catalog-block-28-enrich branch November 5, 2026 18:16
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants