API lýsing · Gjafabréf

Búa til gjafabréf

POST/v1/giftcards

Dregur upphæðina frá innistæðunni og skilar einnota kóða. Þarf heimildina giftcards:create; mælt er með að takmarka lykilinn við leyfðar IP tölur. Idempotency-Key er skylda.

Takmarkaflokkur
giftcard
Auðkenning
Undirrituð
Idempotency-Key
Skylda

Færibreytur

  • Idempotency-Keystringhausskylda

    1 til 64 stafir úr [A-Za-z0-9_-]. Geymdur í 24 klst.; notaðu hann aftur til að endurtaka beiðni á öruggan hátt.

    Passar við ^[A-Za-z0-9_-]{1,64}$.

Meginmál beiðnar

application/json · CreateGiftcardRequest. Óþekktum reitum er hafnað.

  • assetstringskylda

    Tákn rafmyntar, í hástöfum.

    Passar við ^[A-Z0-9]{1,15}$. Dæmi: BTC.

  • amountstring (tugatala)skylda
  • recipient_namestringvalfrjálst

    1 til 60 stafir. Engin stýritákn.

Svör

201 Created

Gjafabréfið, með kóðanum. application/json · Giftcard

  • idstring

    Byrjar á gc_.

  • assetstring

    Tákn rafmyntar, í hástöfum.

    Passar við ^[A-Z0-9]{1,15}$.

  • amountstring (tugatala)
  • recipient_namestring | null
  • statusstring (enum)

    Eitt af unredeemed, redeemed.

  • codestringgetur vantað

    Aðeins fyrir lykla sem hafa líka giftcards:create. Farðu með hann eins og reiðufé.

  • sourcestring (enum)

    Hvar færslan varð til: í þessu API, í appinu eða í vefappinu.

    Eitt af public_api, app, web.

  • created_atstring (date-time)
  • redeemed_atstring (date-time)getur verið null

Öll svör bera MK-Request-Id, auk RateLimit-Policy og RateLimit.

Villur

Villur nota villuumslagið. Greindu þær eftir code.

StaðaKóðiMerking
400invalid_requestBeiðnin er gölluð: ógilt JSON, óþekktur eða ógildur reitur, eða haus vantar.
401invalid_signatureMK-* hausana vantar eða þeir eru gallaðir, auðkenni lykilsins er óþekkt eða undirskriftin passar ekki.
401key_expiredGildistími lykilsins er liðinn.
401key_revokedLykillinn var afturkallaður.
401timestamp_out_of_rangeMK-Timestamp munar meira en 30 sekúndum frá klukku netþjónsins.
401nonce_reusedÞessi lykill hefur þegar notað þetta MK-Nonce.
403ip_not_allowedBeiðnin kom frá IP tölu sem er ekki meðal leyfðra IP talna lykilsins.
403insufficient_scopeLykilinn vantar heimildina sem þessi endapunktur þarf.
403account_restrictedAðgangurinn getur ekki notað API-ið eins og er (til dæmis læstur, óvirkur eða nýskráningu ólokið).
403api_access_disabledSlökkt er á aðgangi að API-inu.
409idempotency_conflictÞessi Idempotency-Key var notaður með öðru meginmáli.
409idempotency_in_progressBeiðni með þessum Idempotency-Key er enn í vinnslu.
413payload_too_largeMeginmál beiðnarinnar er stærra en 8 KB.
415unsupported_media_typeMeginmál beiðna verður að vera application/json.
422insufficient_fundsLaus innistæða dugar ekki fyrir viðskiptunum, gjafabréfinu eða úttektinni.
422amount_below_minimumUpphæðin er undir lágmarki.
422amount_above_maximumUpphæðin er yfir hámarki.
422limit_exceededFarið yrði yfir dagleg mörk eða 30 daga mörk.
429rate_limitedOf margar beiðnir. Bíddu í Retry-After sekúndur.
429too_many_concurrent_requestsOf margar beiðnir í vinnslu í einu fyrir þennan lykil eða aðgang.
429key_suspendedLykillinn er stöðvaður, til dæmis eftir að hafa farið ítrekað yfir beiðnatakmörk.
500internal_errorEitthvað fór úrskeiðis hjá okkur.
502bad_gatewayUndirliggjandi þjónusta svaraði á óvæntan hátt.
503overloadedÞjónustan er undir of miklu álagi. Reyndu aftur eftir Retry-After sekúndur.
503service_unavailableÞjónustan er tímabundið ekki tiltæk.
503maintenanceVegna viðhalds er aðeins hægt að lesa úr API-inu.
504gateway_timeoutUndirliggjandi þjónusta svaraði ekki í tæka tíð. POST beiðni gæti samt klárast; reyndu aftur með sama Idempotency-Key.

Beiðni

# Signed by sign-headers.sh: see Authentication
body='{"asset":"BTC","amount":"0.0005","recipient_name":"Anna"}'
idempotency_key=$(uuidgen)   # reuse it to retry safely
curl https://public-api.myntkaup.is/v1/giftcards \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $idempotency_key" \
  $(./sign-headers.sh POST /v1/giftcards "$body" | sed 's/^/-H /') \
  --data "$body"
import { Myntkaup } from "@myntkaup/api";

const client = new Myntkaup(); // reads the key from the environment
// Sends a random Idempotency-Key unless you pass idempotencyKey.
const card = await client.giftcards.create({ asset: "BTC", amount: "0.0005", recipientName: "Anna" });
console.log(card.id, card.code);
from myntkaup import Myntkaup

client = Myntkaup()  # reads the key from the environment
# Sends a random Idempotency-Key unless you pass idempotency_key.
card = client.giftcards.create(asset="BTC", amount="0.0005", recipient_name="Anna")
print(card["id"], card["code"])

Svar

201 Created
{
  "id": "gc_01JB8X2Q4M7Z3V9K5T1N6R0P2W",
  "asset": "BTC",
  "amount": "0.0005",
  "recipient_name": "Anna",
  "status": "unredeemed",
  "code": "m-k3x9q2ab",
  "source": "public_api",
  "created_at": "2026-11-03T10:15:10Z",
  "redeemed_at": null
}

Grunnslóð https://public-api.myntkaup.is