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-filesCorpo do pedido
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
shop_name | string | Sim | O nome da sua loja (por exemplo, my-etsy-shop) |
name | string | Sim | Nome de um modelo que lhe pertence nesta loja. É utilizado o primeiro modelo que corresponda ao nome. |
content | string | Sim | Personalizaçã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: 1Resposta 201
{
"id": "01jyz5kqxz2hrcwqzdq4jdv7r9",
"print_file_urls": [
"https://.../1.png",
"https://.../2.png"
]
}| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador da submissão |
print_file_urls | string[] | 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
| Estado | Corpo | Causa |
|---|---|---|
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