Przejdź do treści

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.