Files
descrybe/docs/postman/Descrybe-v2-Demo-A1-all-v1.postman_collection.json
greeneclipse 8580c996c3 Initial commit of Descrybe v2 without local scratch artifacts.
Drop one-shot tmp/axe scripts and agent i18n scratch so the Gitea tree is deployable.
2026-08-09 22:47:43 +02:00

810 lines
22 KiB
JSON

{
"info": {
"name": "Descrybe v2 — Platform Demo (all public /api/v1)",
"description": "Full public API-key surface for local **Platform Demo** sandbox (NOT A1 Slovenija).\n\nAuth: Authorization Bearer {{apiKey}} (or X-API-Key)\nBase: {{baseUrl}} (live: http://127.0.0.1:28471)\n\nSafe credentials (docs/demo-user.md, docs/safe-test-fixtures.md):\n- API key: dk_demo_local_descrybe_test_key_v1 → company **Platform Demo** (seed-demo)\n- Web: demo@descrybe.local / DemoPass123! → Platform Demo only\n\nCatalog vars (feedId, productId, categoryId, attributeId, exportFeedId, processId, publicToken, eans) ship as RESOLVE_FROM_PLATFORM_DEMO — never paste A1/Elkotex UUIDs here. Resolve after seed-demo via GET /api/v1/feeds, /products, /categories, /attributes, /export-feeds before any PATCH/DELETE/process mutate.\n\nA1 customer flows: use Descrybe-v2-A1-two-EANs with an A1-scoped key (a1-primary), never the demo key.\n\nAfter Process by EANs, set collection var processId from data.process_id.",
"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": "dk_demo_local_descrybe_test_key_v1"
},
{
"key": "feedId",
"value": "RESOLVE_FROM_PLATFORM_DEMO"
},
{
"key": "feedName",
"value": "RESOLVE_FROM_PLATFORM_DEMO"
},
{
"key": "ean1",
"value": "RESOLVE_FROM_PLATFORM_DEMO"
},
{
"key": "ean2",
"value": "RESOLVE_FROM_PLATFORM_DEMO"
},
{
"key": "processId",
"value": "RESOLVE_FROM_PLATFORM_DEMO"
},
{
"key": "productId",
"value": "RESOLVE_FROM_PLATFORM_DEMO"
},
{
"key": "categoryId",
"value": "RESOLVE_FROM_PLATFORM_DEMO"
},
{
"key": "attributeId",
"value": "RESOLVE_FROM_PLATFORM_DEMO"
},
{
"key": "exportFeedId",
"value": "RESOLVE_FROM_PLATFORM_DEMO"
},
{
"key": "publicToken",
"value": "RESOLVE_FROM_PLATFORM_DEMO"
},
{
"key": "companyId",
"value": "RESOLVE_FROM_PLATFORM_DEMO"
}
],
"item": [
{
"name": "00 Meta",
"item": [
{
"name": "Health",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/health",
"auth": {
"type": "noauth"
}
}
},
{
"name": "OpenAPI YAML",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/openapi.yaml",
"auth": {
"type": "noauth"
}
}
}
]
},
{
"name": "01 Products",
"item": [
{
"name": "List products",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/products?limit=5"
}
},
{
"name": "List products by feed",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/products?limit=10&feed_id={{feedId}}"
}
},
{
"name": "Search by EAN",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/products?search={{ean1}}&limit=5"
}
},
{
"name": "Product quality",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/products/quality?limit=5"
}
},
{
"name": "Get product",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/products/{{productId}}"
}
},
{
"name": "Patch product",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/products/{{productId}}",
"body": {
"mode": "raw",
"raw": "{\"name\":\"Postman test rename (safe)\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Process by EANs (legacy)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/products/process",
"body": {
"mode": "raw",
"raw": "{\"items\":[{\"ean\":\"{{ean1}}\",\"title\":\"Platform Demo sample product 1\"},{\"ean\":\"{{ean2}}\",\"title\":\"Platform Demo sample product 2\"}],\"processing_type\":\"full\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Get process (legacy)",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/products/process/{{processId}}"
}
},
{
"name": "Reset products (CAREFUL)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/products/reset",
"body": {
"mode": "raw",
"raw": "{\"product_ids\":[\"{{productId}}\"]}",
"options": {
"raw": {
"language": "json"
}
}
}
}
}
]
},
{
"name": "02 Process jobs",
"item": [
{
"name": "List process jobs",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/process?limit=10"
}
},
{
"name": "Start process by raw_product_ids",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/process",
"description": "Fill raw_product_ids with UUIDs from unprocessed products; empty body will 400",
"body": {
"mode": "raw",
"raw": "{\"processing_type\":\"full\",\"raw_product_ids\":[]}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Get process job",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/process/{{processId}}"
}
},
{
"name": "Cancel process job",
"request": {
"method": "POST",
"header": [],
"url": "{{baseUrl}}/api/v1/process/{{processId}}/cancel"
}
},
{
"name": "Terminate process job",
"request": {
"method": "POST",
"header": [],
"url": "{{baseUrl}}/api/v1/process/{{processId}}/terminate"
}
},
{
"name": "Retry process job",
"request": {
"method": "POST",
"header": [],
"url": "{{baseUrl}}/api/v1/process/{{processId}}/retry"
}
}
]
},
{
"name": "03 Categories",
"item": [
{
"name": "List categories",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/categories?limit=10"
}
},
{
"name": "Get category",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/categories/{{categoryId}}"
}
},
{
"name": "Create category",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/categories",
"body": {
"mode": "raw",
"raw": "{\"unique_id\":\"postman-test-cat-474092119\",\"name\":\"Postman Test Category\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Create category (legacy /create)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/categories/create",
"body": {
"mode": "raw",
"raw": "{\"unique_id\":\"postman-test-cat-legacy-1860305750\",\"name\":\"Postman Test Category Legacy\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Patch category",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/categories/{{categoryId}}",
"body": {
"mode": "raw",
"raw": "{\"name\":\"Agregati\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Delete category (CAREFUL)",
"request": {
"method": "DELETE",
"header": [],
"url": "{{baseUrl}}/api/v1/categories/{{categoryId}}"
}
}
]
},
{
"name": "04 Attributes",
"item": [
{
"name": "List attributes",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/attributes?limit=10"
}
},
{
"name": "Create attribute",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/attributes",
"body": {
"mode": "raw",
"raw": "{\"key\":\"postman_test_attr_1084152558\",\"name\":\"Postman Test Attr\",\"type\":\"string\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Create attribute (legacy /create)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/attributes/create",
"body": {
"mode": "raw",
"raw": "{\"key\":\"postman_test_attr_legacy_1506795540\",\"name\":\"Postman Test Attr Legacy\",\"type\":\"string\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Patch attribute",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/attributes/{{attributeId}}",
"body": {
"mode": "raw",
"raw": "{\"name\":\"/\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Delete attribute (CAREFUL)",
"request": {
"method": "DELETE",
"header": [],
"url": "{{baseUrl}}/api/v1/attributes/{{attributeId}}"
}
}
]
},
{
"name": "05 Feeds",
"item": [
{
"name": "List feeds",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/feeds"
}
},
{
"name": "Get feed",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/feeds/{{feedId}}"
}
},
{
"name": "Create feed",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/feeds",
"body": {
"mode": "raw",
"raw": "{\"url\":\"https://example.com/feed.xml\",\"name\":\"Postman Test Feed\",\"is_active\":false,\"feed_type\":\"xml\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Patch feed",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/feeds/{{feedId}}",
"body": {
"mode": "raw",
"raw": "{\"name\":\"Postman Test Feed Rename\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Get feed mappings",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/feeds/{{feedId}}/mappings"
}
},
{
"name": "Put feed mappings",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/feeds/{{feedId}}/mappings",
"description": "Example mapping shape — adjust to real feed schema before saving",
"body": {
"mode": "raw",
"raw": "{\"mappings\":{\"title\":\"g:title\",\"description\":\"g:description\",\"gtin\":\"g:gtin\"}}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Extract schema",
"request": {
"method": "POST",
"header": [],
"url": "{{baseUrl}}/api/v1/feeds/{{feedId}}/extract-schema"
}
},
{
"name": "Sync feed",
"request": {
"method": "POST",
"header": [],
"url": "{{baseUrl}}/api/v1/feeds/{{feedId}}/sync"
}
},
{
"name": "Sync + process sample",
"request": {
"method": "POST",
"header": [],
"url": "{{baseUrl}}/api/v1/feeds/{{feedId}}/sync-process-sample"
}
},
{
"name": "Delete feed (CAREFUL)",
"request": {
"method": "DELETE",
"header": [],
"url": "{{baseUrl}}/api/v1/feeds/{{feedId}}"
}
}
]
},
{
"name": "06 Export feeds",
"item": [
{
"name": "List export feeds",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/export-feeds"
}
},
{
"name": "Get export feed",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/export-feeds/{{exportFeedId}}"
}
},
{
"name": "Create export feed",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/export-feeds",
"body": {
"mode": "raw",
"raw": "{\"format\":\"csv\",\"name\":\"Postman Export\",\"source_feed_id\":\"{{feedId}}\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Patch export feed",
"request": {
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/export-feeds/{{exportFeedId}}",
"body": {
"mode": "raw",
"raw": "{\"name\":\"CSV - Example\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Put export template",
"request": {
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/export-feeds/{{exportFeedId}}/template",
"body": {
"mode": "raw",
"raw": "{\"mappings\":{\"gtin\":\"product_id\",\"title\":\"name\"}}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Generate export",
"request": {
"method": "POST",
"header": [],
"url": "{{baseUrl}}/api/v1/export-feeds/{{exportFeedId}}/generate"
}
},
{
"name": "Export selected products",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/export-feeds/{{exportFeedId}}/export-products",
"body": {
"mode": "raw",
"raw": "{\"product_ids\":[\"{{productId}}\"]}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Delete export feed (CAREFUL)",
"request": {
"method": "DELETE",
"header": [],
"url": "{{baseUrl}}/api/v1/export-feeds/{{exportFeedId}}"
}
},
{
"name": "Public CSV (no key)",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/public/export-feeds/{{publicToken}}.csv",
"auth": {
"type": "noauth"
}
}
},
{
"name": "Public XML (no key)",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/public/export-feeds/{{publicToken}}.xml",
"auth": {
"type": "noauth"
}
}
}
]
},
{
"name": "07 Campaigns / marketing",
"item": [
{
"name": "List campaigns (legacy)",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/campaigns"
}
},
{
"name": "Prepare campaign (legacy)",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/campaigns/prepare",
"body": {
"mode": "raw",
"raw": "{\"name\":\"Postman Campaign\"}",
"options": {
"raw": {
"language": "json"
}
}
}
}
},
{
"name": "Get marketing calendar",
"request": {
"method": "GET",
"header": [],
"url": "{{baseUrl}}/api/v1/marketing/calendar"
}
},
{
"name": "Prepare marketing calendar",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"url": "{{baseUrl}}/api/v1/marketing/calendar/prepare",
"body": {
"mode": "raw",
"raw": "{\"year\":2026}",
"options": {
"raw": {
"language": "json"
}
}
}
}
}
]
}
]
}