Tworzenie zbiorcze
Parametry treści
itemsarraywymaganeOd 1 do 500 kodów. Każdy to { content, name?, slug?, folder?, fileName?, ref? }.items[].contentobjectwymaganeTreść kodu; jego typ musi być równy codeType.items[].refstringopcjonalneTwój własny odnośnik (SKU, identyfikator CRM), zwracany w wierszach i pliku wyników.items[].folderstringopcjonalneNazwa podfolderu w folderId, tworzona, gdy go brak.codeTypestringopcjonalneJeden typ na żądanie. Domyślnie url.dynamicbooleanopcjonalneDomyślnie true.folderIdstring | nullopcjonalneDokąd trafiają kody. Domyślnie katalog główny obszaru roboczego.templateIdstring | nullopcjonalneProjekt każdego kodu. Domyślnie domyślny projekt Dotwick.exportobject | nullopcjonalneWygeneruj też ZIP po zakończeniu uruchomienia, np. { formats: ["svg", "pdf"] }.Przykładowe żądanie
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"}Śledzenie uruchomienia
Odpowiedź to 202 Accepted z uruchomieniem. Odpytuj GET /v1/bulk-imports/{id}, aż status będzie succeeded, partially_succeeded lub failed, a potem odczytaj kody przez GET /v1/bulk-imports/{id}/rows lub pobierz GET /v1/bulk-imports/{id}/results.csv. Albo zasubskrybuj bulk.completed i pomiń odpytywanie.
Źle sformatowany element powoduje niepowodzenie całego żądania z validation_failed przy items.N. Elementy, które nie przejdą kontroli bazy danych (zajęty slug), są pomijane i liczone jako nieprawidłowe; pozostałe są tworzone. Ponów nieudane przez POST /v1/bulk-imports/{id}/retry.
Limity
Jeden typ kodu na żądanie: wyślij jedno żądanie na typ. Obowiązują limit wierszy zbiorczych planu i jego limit kodów dynamicznych, a uruchomienia ponad jednoczesne zadania planu czekają w kolejce.