API - Огляд

API - Ресурси та імпорт

Переглядайте каталог ресурсів, завантажуйте маніфести й файли та імпортуйте дизайни.

Огляд кінцевих точок

МетодКінцева точкаОписДоступ
GET/public-api/v1/assetsПовертає список ресурсів каталогу запитаного типу.будь-які автентифіковані облікові дані
GET/public-api/v1/assets/:type/:assetIdПовертає маніфест ресурсу з ролями доступних для завантаження файлів.будь-які автентифіковані облікові дані
GET/public-api/v1/assets/:type/:assetId/files/:roleЗавантажує файл ресурсу за роллю.будь-які автентифіковані облікові дані
GET/public-api/v1/design-importsПовертає список доступних для імпорту дизайнів, розміщених в Alter.автентифіковані облікові дані, потрібен тариф Business
GET/public-api/v1/design-imports/:idПовертає дані імпорту дизайну й описи файлів.автентифіковані облікові дані, потрібен тариф Business
GET/public-api/v1/design-imports/:id/files/:fileIdЗавантажує файл з опису імпорту дизайну.автентифіковані облікові дані, потрібен тариф Business

Каталог ресурсів

Каталог ресурсів надає вихідні ресурси товарів, фони, оточення, елементи графічної бібліотеки, шаблони дизайнів і ресурси мокапів. Кінцеві точки списків повертають короткі описи, а детальні кінцеві точки - маніфести файлів.

ТипОпис
productsБазові ресурси товарів, зображення перегляду, 3D-моделі, описи матеріалів і текстур.
backgroundsСтатичні фони Viewer.
environmentsКарти оточення й зображення перегляду.
image_libraryРесурси графічної бібліотеки, зокрема графіка для певного магазину.
design_templatesПерегляди шаблонів дизайнів і посилання на файли шарів. Підтримує фільтр product_id.
mockupsРесурси генератора мокапів, фони й карти накладання. Підтримує фільтр product_id.

Приклад запиту (fetch)

const assets = await alterFetch('/assets?' + new URLSearchParams({
  type: 'products',
  limit: '20',
  offset: '0',
  search: 'mug'
}));

const details = await alterFetch('/assets/products/4');

const fileResponse = await fetch(
  'https://alterproduct.com/public-api/v1/assets/products/4/files/preview_medium',
  {
    headers: authHeaders
  }
);

const fileBlob = await fileResponse.blob();

Приклад відповіді

{
  "type": "products",
  "items": [
    {
      "assetType": "products",
      "assetId": "4",
      "title": "Mug 450ml",
      "slug": "product-4",
      "description": "Base product 4",
      "primaryRole": "preview_big",
      "fileCount": 8,
      "remoteVersion": "1.0",
      "thumbnail": {
        "role": "preview_small",
        "fileName": "product-4-preview-small.png",
        "mime": "image/png",
        "downloadPath": "/v1/assets/products/4/files/preview_small"
      },
      "metadata": {
        "productCategoryId": 2,
        "productModelCount": 1,
        "isDedicated": false
      }
    }
  ],
  "total": 1,
  "limit": 20,
  "offset": 0
}

Імпорт дизайнів

Імпорт дизайнів надає доступ до дизайнів, розміщених в Alter, та їхніх файлів для зовнішніх виробничих процесів або міграції. API перевіряє наявність відповідного тарифу Business.

ПараметрОбов’язковоПодробиці
searchніШукає за назвою або ID дизайну.
offsetніТипово 0.
limitніТипово 20, максимум 100.

Приклад запиту (fetch)

const imports = await alterFetch('/design-imports?' + new URLSearchParams({
  limit: '20',
  offset: '0',
  search: 'mug'
}));

const details = await alterFetch('/design-imports/381');

const fileId = details.files[0].id;
const fileResponse = await fetch(
  `https://alterproduct.com/public-api/v1/design-imports/381/files/${fileId}`,
  {
    headers: authHeaders
  }
);

const fileBlob = await fileResponse.blob();

Приклад відповіді

{
  "eligible": true,
  "requiredPlan": "Business",
  "currentPlanName": "Business",
  "designs": [
    {
      "id": 381,
      "title": "Men's T-Shirt",
      "createdAt": "2026-01-03T23:55:05.000Z",
      "sourceStorefrontId": 12,
      "productId": 4,
      "productName": {
        "pl": "Koszulka",
        "en": "T-Shirt"
      },
      "storageMode": "alter",
      "runtimeStatus": {
        "designer": true,
        "viewer": true,
        "configurator": true,
        "customizer": true
      },
      "thumbnail": {
        "kind": "design-mockup",
        "fileId": "7df7...",
        "downloadPath": "/v1/design-imports/381/files/7df7..."
      }
    }
  ],
  "total": 1
}