Utwórz kod
POST/v1/codes
Parametry treści
namestringwymaganeWewnętrzna etykieta kodu; nigdy nie jest pokazywana skanującemu.content.typestringwymaganeJeden z obsługiwanych typów kodu, np. url, vcard, wifi.content.urlstringwymaganeAdres docelowy kodu url. Wymagane pola zależą od typu.dynamicbooleanopcjonalneDomyślnie true: krótki link, który możesz przekierować. false koduje treść bezpośrednio.designobjectopcjonalneWzór, kształt oczu i kolory. Domyślnie domyślny projekt Dotwick.folderIdstringopcjonalneFolder, w którym zapisać kod. Wymagany dla kluczy ograniczonych do folderów.templateIdstringopcjonalneZapisany szablon projektu do zastosowania zamiast design.domainIdstring | nullopcjonalneWłasna domena krótkich linków (wkrótce: własne domeny nie są jeszcze włączone). Pominięta = domyślna obszaru roboczego; null = domena wspólna.slugstringopcjonalneWłasny slug krótkiego linku zamiast wygenerowanego. Musi być unikalny w domenie.Przykładowe żądanie
żądaniePOST /v1/codes
curl -X POST https://api.dotwick.com/v1/codes \ -H "Authorization: Bearer sk_live_…" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: van-014-2026-09-10" \ -d '{ "name": "Van fleet – unit 14", "content": { "type": "url", "url": "https://example.com/fleet/van-014" }, "design": { "pattern": "rounded", "eyes": { "frame": "circle", "ball": "circle" }, "colors": { "fg": "#18181B", "bg": "#FFFFFF" } }, "folderId": "fld_8k2m4q7x" }'odpowiedź201 Createdfragment: pełny obiekt zawiera też projekt, reguły i znaczniki czasu
{ "id": "qr_8841ce2mxk", "name": "Van fleet – unit 14", "type": "url", "dynamic": true, "status": "active", "slug": "Xq7mK2p", "shortUrl": "https://dotwick.co/Xq7mK2p", "content": { "type": "url", "url": "https://example.com/fleet/van-014" }, "folderId": "fld_8k2m4q7x", "createdAt": "2026-09-10T09:41:08.000Z"}Błędy
400validation_failedTreść nie przeszła walidacji schematu: zobacz error.details, aby poznać problemy.401unauthorizedBrakujący lub nieprawidłowy nagłówek Authorization.403forbiddenKluczowi brakuje codes:write lub jest ograniczony do innych folderów.403plan_limit_reachedOsiągnięto limit kodów dynamicznych planu.409conflictSlug jest już zajęty w tej domenie.422idempotency_conflictIdempotency-Key użyto ponownie z inną treścią.422unsafe_destinationAdres docelowy nie przeszedł kontroli Google Web Risk / listy blokad.429rate_limitedPrzekroczono budżet na minutę lub zrywu: zobacz Retry-After.