API - Visão geral

API - Recursos e importações

Explore o catálogo de recursos, obtenha manifestos e ficheiros e importe projetos.

Visão geral dos endpoints

MétodoEndpointDescriçãoAcesso
GET/public-api/v1/assetsLista os itens do catálogo de recursos do tipo solicitado.qualquer credencial autenticada
GET/public-api/v1/assets/:type/:assetIdRetorna um manifesto de recurso com as funções dos ficheiros disponíveis para download.qualquer credencial autenticada
GET/public-api/v1/assets/:type/:assetId/files/:roleDescarrega um ficheiro de recurso pela função.qualquer credencial autenticada
GET/public-api/v1/design-importsLista os designs alojados no Alter disponíveis para importação.credencial autenticada, plano Business obrigatório
GET/public-api/v1/design-imports/:idRetorna um payload de importação de design e descritores de ficheiros.credencial autenticada, plano Business obrigatório
GET/public-api/v1/design-imports/:id/files/:fileIdDescarrega um ficheiro a partir de um descritor de importação de design.credencial autenticada, plano Business obrigatório

Catálogo de recursos

O catálogo de recursos disponibiliza os recursos originais dos produtos, fundos, ambientes, itens da biblioteca de imagens, modelos de design e recursos de mockup. Os endpoints de listagem retornam descritores leves; os endpoints de detalhes incluem manifestos de ficheiros.

TipoDescrição
productsRecursos base do produto, pré-visualizações, modelos 3D e descritores de materiais e texturas.
backgroundsFundos estáticos do Viewer.
environmentsMapas de ambiente e imagens de pré-visualização.
image_libraryRecursos da biblioteca de imagens, incluindo imagens restritas à loja.
design_templatesPré-visualizações de modelos de design e referências a ficheiros de camadas. Aceita o filtro product_id.
mockupsRecursos do gerador de mockups, fundos e mapas de sobreposição. Aceita o filtro product_id.

Exemplo de solicitação (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();

Exemplo de resposta

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

Importações de designs

As importações de designs disponibilizam designs alojados no Alter e seus ficheiros para fluxos externos de produção ou migração. A API verifica a elegibilidade do plano Business.

ParâmetroObrigatórioDetalhes
searchnãoPesquisa pelo título ou ID do design.
offsetnãoValor predefinido: 0.
limitnãoValor predefinido: 20, máximo 100.

Exemplo de solicitação (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();

Exemplo de resposta

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