API - Επισκόπηση

API - Πόροι και εισαγωγές

Περιηγηθείτε στον κατάλογο πόρων, κατεβάστε αρχεία manifest και άλλα αρχεία και εισαγάγετε σχέδια.

Επισκόπηση endpoints

ΜέθοδοςEndpointΠεριγραφήΠρόσβαση
GET/public-api/v1/assetsΠαραθέτει πόρους καταλόγου του ζητούμενου τύπου.οποιαδήποτε έγκυρα διαπιστευτήρια
GET/public-api/v1/assets/:type/:assetIdΕπιστρέφει manifest πόρου με ρόλους αρχείων διαθέσιμων για λήψη.οποιαδήποτε έγκυρα διαπιστευτήρια
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

Κατάλογος πόρων

Ο κατάλογος πόρων παρέχει πηγαίους πόρους προϊόντων, φόντα, περιβάλλοντα, στοιχεία γραφικής βιβλιοθήκης, πρότυπα σχεδίων και πόρους μακετών. Τα endpoints λίστας επιστρέφουν συνοπτικές περιγραφές· τα endpoints λεπτομερειών περιλαμβάνουν manifests αρχείων.

ΤύποςΠεριγραφή
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
}