Start with Authentication
so you can make seller-scoped API calls on behalf of connected users.
Before you start
- Confirm the connected user has a seller account with Get seller status.
- Decide how you will mapping managem data in your system:
- Between your internal product records
- And Managem items (using URN, external IDs or game/set/name)
- And Seller’s Listing IDs
- Choose your write strategy:
- Use Bulk create listings for smaller batches (up to 200 listings per request).
- Use Create an import for large catalogs.
Choose an item identity strategy
For stable syncs, map each of your products to a Managem item using a predictable identifier order. Recommended order:URN(best and most deterministic)CARDMARKET_IDTCGPLAYER_IDGAME + SET + NAME
- Lookup item for single item resolution by
urnorslug - Lookup items by URN for batch URN hydration (up to 200 per request)
- Full-text faceted search when you need fallback discovery by text/facets
Run your initial sync
1. Pull the seller’s current listings
Use Search your listings and paginate withfrom and size.
Store at least:
listing.idreferenceitem.urnconditionlanguagevariantspricequantityhidden
2. Handle duplicate listings
The seller may have previously listed the same item with your service & Managem. A great experience would be to de-duplicate these listings. These attributes are useful to detect duplicates:item.gameitem.set.nameitem.numberpricequantitycondition
3. Create and configure a webhook
Create a webhook with Create webhook. Subscribe to events your sync process needs, such as:LISTING_CREATEDLISTING_UPDATEDLISTING_DELETEDORDER_CREATEDORDER_UPDATED
We document our webhook event payloads here
4. Test webhook delivery
Run Test webhook delivery and confirmstatusCode: 200 before going live.
5. Backfill listings from your system
- Write your internal listing ID into
referencewhen creating listings. This gives you a stable integration-owned key per seller listing. - Keep a seller-scoped mapping in your system between
referenceandlisting.id. referencevalues are trimmed and limited to 255 characters. Empty values clear an existing reference.- For large datasets, upload CSV jobs with Create an import, then monitor with:
- For smaller batches, push directly with Bulk create listings
Keep listings in sync
Your ongoing sync loop should be webhook-driven. When you receive events:LISTING_CREATED: create or update local listing mapping.LISTING_UPDATED: update local listing state (price, quantity, visibility, notes, and reference mapping).LISTING_DELETED: mark listing inactive in your system.ORDER_CREATEDandORDER_UPDATED: update availability/reserved quantities in your local model.TEST: use only as a connectivity check.
Webhook payloads do not include
reference, so if your sync depends on it,
re-fetch the listing after LISTING_CREATED or LISTING_UPDATED.Handle failures and drift
If webhook delivery degrades:- Inspect failures with List delivery failures
- Inspect a specific failure with Retrieve webhook failure
- Download HAR traces with Download failure HAR
- Monitor trends using Get delivery metrics
- Re-fetch listings with
POST /seller/listings/search. - Compare marketplace state with your local state.
- Repair mismatches and refresh mapping records.