Criação em massa
Parâmetros do corpo
itemsarrayobrigatórioDe 1 a 500 códigos. Cada um é { content, name?, slug?, folder?, fileName?, ref? }.items[].contentobjectobrigatórioO conteúdo do código; o tipo dele deve ser igual a codeType.items[].refstringopcionalSua própria referência (SKU, ID do CRM), devolvida nas linhas e no arquivo de resultados.items[].folderstringopcionalO nome de uma subpasta sob folderId, criada se não existir.codeTypestringopcionalUm tipo por requisição. Padrão url.dynamicbooleanopcionalPadrão true.folderIdstring | nullopcionalPara onde vão os códigos. Padrão a raiz do espaço de trabalho.templateIdstring | nullopcionalO design de cada código. Padrão o design padrão da Dotwick.exportobject | nullopcionalGere também um ZIP quando a execução terminar, por exemplo { formats: ["svg", "pdf"] }.Exemplo de requisição
curl -X POST https://api.dotwick.com/v1/codes/bulk \ -H "Authorization: Bearer sk_live_…" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: fleet-2026-09-batch-3" \ -d '{ "codeType": "url", "folderId": "fld_8k2m4q7x", "items": [ { "name": "Van 15", "content": { "type": "url", "url": "https://example.com/fleet/van-015" }, "ref": "VAN-015" }, { "name": "Van 16", "content": { "type": "url", "url": "https://example.com/fleet/van-016" }, "ref": "VAN-016" } ], "export": { "formats": [ "svg", "pdf" ] } }'{ "id": "blk_9f24ab7c3e1d5f80", "status": "queued", "source": "api", "codeType": "url", "dynamic": true, "counts": { "total": 2, "valid": 2, "invalid": 0, "created": 0, "failed": 0, "canceled": 0 }, "progress": 0, "folderId": "fld_8k2m4q7x", "exportId": null, "createdAt": "2026-09-12T14:03:51.000Z"}Acompanhando a execução
A resposta é 202 Accepted com a execução. Consulte GET /v1/bulk-imports/{id} até o status ser succeeded, partially_succeeded ou failed, depois leia os códigos com GET /v1/bulk-imports/{id}/rows ou baixe GET /v1/bulk-imports/{id}/results.csv. Ou assine bulk.completed e dispense a consulta.
Um item malformado faz a requisição inteira falhar com validation_failed em items.N. Os itens que falham nas verificações do banco de dados (um slug já usado) são ignorados e contados como inválidos; os outros são criados. Tente de novo os que falharam com POST /v1/bulk-imports/{id}/retry.
Limites
Um tipo de código por requisição: envie uma requisição por tipo. Valem o limite de linhas em massa do plano e o seu limite de códigos dinâmicos, e as execuções além dos trabalhos simultâneos do plano esperam em uma fila.