API pública de ficheiros de impressão

URL base: https://app.customix.io/api

Autenticação: How can get Customix Api key

Authorization: Bearer {your-api-token}

Limite de pedidos: 100 pedidos por minuto (por utilizador)

Visão geral

Submeta uma personalização de produto como texto simples de várias linhas e obtenha uma lista de
URLs de ficheiros de impressão para essa submissão.

Criar ficheiros de impressão

POST /print-files

Corpo do pedido

CampoTipoObrigatórioDescrição
shop_namestringSimO nome da sua loja (por exemplo, my-etsy-shop)
namestringSimNome de um modelo que lhe pertence nesta loja. É utilizado o primeiro modelo que corresponda ao nome.
contentstringSimPersonalização de várias linhas. Cada linha é <option name>: <value>. O - inicial é opcional.

Formato do conteúdo

Cada linha associa uma opção personalizável do modelo a um valor.

  • Os nomes das opções são comparados sem distinguir maiúsculas de minúsculas e ignorando os espaços em redor.
  • As opções de texto / cor / data aceitam o valor literalmente, por exemplo

Harry, #ffffff, 2026-12-25.

  • As opções de amostra (tipo de letra, imagem, cor, esquema, etc.) aceitam um número inteiro que

seleciona um dos valores de amostra disponíveis. Por predefinição, 1 seleciona o primeiro
valor, 2 o segundo, e assim sucessivamente.

Exemplo:

- Enter your name: Harry
- Text color: #ffffff
- Font: 1

Resposta 201

{
  "id": "01jyz5kqxz2hrcwqzdq4jdv7r9",
  "print_file_urls": [
    "https://.../1.png",
    "https://.../2.png"
  ]
}
CampoTipoDescrição
idstringIdentificador da submissão
print_file_urlsstring[]Um URL por ficheiro de impressão do modelo, pela ordem do modelo

Os ficheiros de impressão ficam disponíveis nos URLs devolvidos assim que a geração terminar
(normalmente alguns segundos após a resposta).

Respostas de erro

EstadoCorpoCausa
401{"message": "Unauthenticated."}Token bearer em falta ou inválido
403{"message": "Unauthenticated"}O token é válido, mas quem faz o pedido não tem acesso a shop_name
404{"message": "Template not found: …"}Não existe nenhum modelo com esse name nesta loja
422{"errors": {"shop_name": […], "name": […], "content": […]}}Campos obrigatórios em falta
422{"message": "Unknown option: <name>"}Uma linha refere-se a uma opção que não existe no modelo
422{"message": "Swatch index N is out of range for option '…' …"}O índice da amostra está fora do intervalo disponível
422{"message": "Option '…' expects an integer swatch index, got …"}Valor não inteiro passado a uma opção de amostra

Pedido de exemplo

curl -X POST 'https://app.customix.io/api/print-files' \
  -H 'Authorization: Bearer 01jyz0z…|abc…' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '{
    "shop_name": "my-etsy-shop",
    "name": "My Template",
    "content": "- Enter your name: Harry\n- Text color: #ffffff\n- Font: 1"
  }'

Atualizado em: 20/05/2026