API - Prezentare generală

API - Resurse și importuri

Explorați catalogul de resurse, descărcați manifeste și fișiere și importați designuri.

Prezentare generală a endpointurilor

MetodăEndpointDescriereAcces
GET/public-api/v1/assetsListează elementele catalogului de resurse pentru tipul solicitat.orice set de credențiale autentificat
GET/public-api/v1/assets/:type/:assetIdReturnează un manifest de resursă cu rolurile fișierelor descărcabile.orice set de credențiale autentificat
GET/public-api/v1/assets/:type/:assetId/files/:roleDescarcă un fișier de resursă după rol.orice set de credențiale autentificat
GET/public-api/v1/design-importsListează designurile găzduite pe Alter care pot fi importate.set de credențiale autentificat, plan Business obligatoriu
GET/public-api/v1/design-imports/:idReturnează un payload de import de design și descriptori de fișiere.set de credențiale autentificat, plan Business obligatoriu
GET/public-api/v1/design-imports/:id/files/:fileIdDescarcă un fișier dintr-un descriptor de import de design.set de credențiale autentificat, plan Business obligatoriu

Catalog de resurse

Catalogul de resurse expune resursele sursă ale produselor, fundaluri, medii, elemente ale bibliotecii grafice, șabloane de design și resurse pentru machete. Endpointurile de listare returnează descriptori ușori; cele de detaliu includ manifeste de fișiere.

TipDescriere
productsResurse de bază ale produsului, previzualizări, modele 3D și descriptori de materiale și texturi.
backgroundsFundaluri statice Viewer.
environmentsHărți de mediu și imagini de previzualizare.
image_libraryResurse ale bibliotecii grafice, inclusiv grafică limitată la magazin.
design_templatesPrevizualizări ale șabloanelor de design și referințe la fișierele straturilor. Acceptă filtrul product_id.
mockupsResurse ale generatorului de machete, fundaluri și hărți de suprapunere. Acceptă filtrul product_id.

Exemplu de solicitare (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();

Exemplu de răspuns

{
  "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
}

Importuri de designuri

Importurile de designuri expun designuri găzduite pe Alter și fișierele lor pentru fluxuri externe de producție sau migrare. Eligibilitatea planului Business este verificată de API.

ParametruObligatoriuDetalii
searchnuCaută după titlul sau ID-ul designului.
offsetnuImplicit 0.
limitnuImplicit 20, maximum 100.

Exemplu de solicitare (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();

Exemplu de răspuns

{
  "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
}