{ "info": { "name": "Descrybe v2 — A1 Slovenija (2 EANs)", "description": "A1 Slovenija only — do NOT use dk_demo_local_descrybe_test_key_v1 (that key is seed-demo → Platform Demo).\n\nAuth: set {{apiKey}} to an API key created while acting as company-admin on A1 Slovenija (604f23a8-…). Local path: login as demo@descrybe.local → Admin switch/impersonate a1-primary@descrybe.local → Settings → API keys (a1-primary alone is not company-admin). Web: a1-primary@descrybe.local / DemoPass123! (docs/demo-user.md + docs/safe-test-fixtures.md).\n\nResolve IDs from live API before mutate calls:\n1. GET {{baseUrl}}/api/v1/feeds — copy Elkotex id → {{feedId}}\n2. GET /api/v1/products?search={{ean1}} (and ean2) — copy product UUID → {{productId}}\n3. POST /api/v1/products/process — copy data.process_id → {{processId}}\n4. GET /api/v1/export-feeds — copy CSV feed id/token → {{exportFeedId}} / {{publicToken}}\nCollection vars below match a local DB snapshot after A1 catalog load; re-resolve if your seed differs.\n\nseed:a1: only needed for empty A1 tenant / restored historical processing_jobs. Skip if A1 already has Elkotex + EANs (do NOT merge into Platform Demo).\n\nEANs: {{ean1}}, {{ean2}} (Adler / Roborock).\nSupport ticket categories (elsewhere): billing|billing_credits|bug|account|integrations|processing|export|other — not `general`.\n\nSafe mock-llm / i18n / general API smoke: use Platform Demo collection + demo@descrybe.local — never this flow.", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "auth": { "type": "bearer", "bearer": [ { "key": "token", "type": "string", "value": "{{apiKey}}" } ] }, "variable": [ { "key": "baseUrl", "value": "http://127.0.0.1:28471" }, { "key": "apiKey", "value": "REPLACE_WITH_A1_SCOPED_API_KEY" }, { "key": "feedId", "value": "031ecdbd-aa3b-40a3-947d-21c1953947e6" }, { "key": "feedName", "value": "Elkotex" }, { "key": "ean1", "value": "5905575903198" }, { "key": "ean2", "value": "6970995789942" }, { "key": "processId", "value": "7553d339-af8d-48b3-958a-3a510f9e70ca" }, { "key": "productId", "value": "a292889c-990a-49e3-9fc7-0c6c611be377" }, { "key": "categoryId", "value": "faca7a03-7c11-4c05-ba78-5527bd205846" }, { "key": "attributeId", "value": "76c17ea8-72ea-4dc1-9ce8-002e556cbdb6" }, { "key": "exportFeedId", "value": "39f70301-0d79-4f99-b43b-dfc2f6d52567" }, { "key": "publicToken", "value": "523e72fef3e2c158d870655fd497f09d" }, { "key": "companyId", "value": "604f23a8-b66e-4b21-8b45-0d72b68f4790" } ], "item": [ { "name": "0. Health", "request": { "method": "GET", "header": [], "url": "{{baseUrl}}/api/v1/health", "description": "No API key needed", "auth": { "type": "noauth" } } }, { "name": "1. List feeds (find Elkotex)", "request": { "method": "GET", "header": [], "url": "{{baseUrl}}/api/v1/feeds", "description": "Copy Elkotex id into collection var feedId before other feed-scoped calls." } }, { "name": "2. List products on Elkotex feed", "request": { "method": "GET", "header": [], "url": "{{baseUrl}}/api/v1/products?limit=10&feed_id={{feedId}}" } }, { "name": "3. Process TWO EANs (Adler + Roborock)", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": "{{baseUrl}}/api/v1/products/process", "description": "Copy data.process_id into collection var processId. Requires worker (+ mock-llm if using local stub).", "body": { "mode": "raw", "raw": "{\"items\":[{\"ean\":\"{{ean1}}\",\"title\":\"Elektricni radiator Adler AD7824\"},{\"ean\":\"{{ean2}}\",\"title\":\"Roborock robotski sesalnik Qrevo Curv\"}],\"processing_type\":\"full\"}", "options": { "raw": { "language": "json" } } } } }, { "name": "4. Poll process status", "request": { "method": "GET", "header": [], "url": "{{baseUrl}}/api/v1/products/process/{{processId}}" } }, { "name": "5. Result EAN1", "request": { "method": "GET", "header": [], "url": "{{baseUrl}}/api/v1/products?search={{ean1}}&limit=5", "description": "Search by EAN/GTIN. Processed catalog rows may have feed_id null — do not require feed_id here." } }, { "name": "6. Result EAN2", "request": { "method": "GET", "header": [], "url": "{{baseUrl}}/api/v1/products?search={{ean2}}&limit=5", "description": "Search by EAN/GTIN. Processed catalog rows may have feed_id null — do not require feed_id here." } }, { "name": "7. Get product by UUID", "request": { "method": "GET", "header": [], "url": "{{baseUrl}}/api/v1/products/{{productId}}" } }, { "name": "8. List export feeds", "request": { "method": "GET", "header": [], "url": "{{baseUrl}}/api/v1/export-feeds" } }, { "name": "9. Public CSV (no key)", "request": { "method": "GET", "header": [], "url": "{{baseUrl}}/api/public/export-feeds/{{publicToken}}.csv", "auth": { "type": "noauth" } } } ] }