Leiðbeiningar

Búa til gjafabréf

Búðu til gjafabréf af innistæðunni, afhentu kóðana og prentaðu þau út sem PDF. Kóði gjafabréfs er verðmæti í höndum handhafans: farðu með hann eins og reiðufé.

Áður en þú byrjar

  • Lykill með giftcards:create, og transactions:read til að telja upp gjafabréfin. Leyfðar IP tölur eru valfrjálsar, en við mælum með þeim fyrir giftcards:create lykil: beiðnir frá öðrum IP tölum fá þá 403 ip_not_allowed.
  • Opið fyrir gjafabréf í gegnum API-ið: giftcards_enabled í GET/v1/status, og giftcards.enabled í GET/v1/limits.
  • Næg laus innistæða í rafmyntinni. Upphæðin er dregin af henni þegar gjafabréfið verður til.

Mörk

Gjafabréf hafa sín eigin mörk, talin yfir allar leiðir, vefappið meðtalið:

  • hámarksvirði hvers gjafabréfs, í EUR;
  • fjöldi á dag og á 30 dögum, og heildarvirði á 30 dögum í EUR;
  • 5 á klukkustund á hvern lykil, sem beiðnatakmörk.

Upphafsgildin eru mest 5 gjafabréf á dag, 20 á 30 dögum og 2.000 EUR á 30 dögum. GET/v1/limits sýnir gildin og notkun þína undir giftcards. Að fara yfir þau skilar 422 limit_exceeded eða 422 amount_above_maximum.

Aðeins sumar rafmyntir má gefa sem gjafabréf; USDC ekki. Aðrar skila 422 asset_not_tradable.

Búðu til gjafabréf

POST/v1/giftcards tekur rafmyntina, upphæðina í þeirri rafmynt og, ef vill, nafn viðtakandans (mest 60 stafir), sem er prentað á gjafabréfið. Idempotency-Key hausinn er skylda.

# 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
{
  "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
}

Eigandi aðgangsins fær tölvupóst fyrir hvert gjafabréf sem búið er til í gegnum API-ið.

Kóðinn

  • Kóði er m- og á eftir 8 lágstafir og tölustafir.
  • Hann er sendur til baka þegar gjafabréfið verður til, og af GET /v1/giftcards og GET /v1/giftcards/{id}, en aðeins til lykla með giftcards:create. Lyklar sem hafa aðeins transactions:read sjá gjafabréfið án code.
  • Viðtakandinn innleysir hann í Myntkaup appinu eða vefappinu. status gjafabréfsins breytist þá úr unredeemed (óinnleyst) í redeemed (innleyst).

Prentaðu það

GET/v1/giftcards/{id}/pdf skilar gjafabréfinu sem PDF skjali til útprentunar, með kóðanum. Það þarf líka giftcards:create.

# Signed by sign-headers.sh: see Authentication
curl https://public-api.myntkaup.is/v1/giftcards/gc_01JB8X2Q4M7Z3V9K5T1N6R0P2W/pdf \
  $(./sign-headers.sh GET /v1/giftcards/gc_01JB8X2Q4M7Z3V9K5T1N6R0P2W/pdf | sed 's/^/-H /') \
  -o giftcard.pdf
import { writeFile } from "node:fs/promises";
import { Myntkaup } from "@myntkaup/api";

const client = new Myntkaup(); // reads the key from the environment
const pdf = await client.giftcards.pdf("gc_01JB8X2Q4M7Z3V9K5T1N6R0P2W"); // Uint8Array
await writeFile("giftcard.pdf", pdf);
from myntkaup import Myntkaup

client = Myntkaup()  # reads the key from the environment
pdf = client.giftcards.pdf("gc_01JB8X2Q4M7Z3V9K5T1N6R0P2W")  # bytes
with open("giftcard.pdf", "wb") as file:
    file.write(pdf)

Eftirfylgni

GET/v1/giftcards síar eftir status, svo þú getur séð hvaða gjafabréf eru enn óinnleyst:

# Signed by sign-headers.sh: see Authentication
curl "https://public-api.myntkaup.is/v1/giftcards?status=unredeemed" \
  $(./sign-headers.sh GET "/v1/giftcards?status=unredeemed" | sed 's/^/-H /')
import { Myntkaup } from "@myntkaup/api";

const client = new Myntkaup(); // reads the key from the environment
const page = await client.giftcards.list({ status: "unredeemed" });
console.log(page.data.map((card) => card.id));
from myntkaup import Myntkaup

client = Myntkaup()  # reads the key from the environment
page = client.giftcards.list(status="unredeemed")
print([card["id"] for card in page["data"]])

Öryggisgátlisti

  • Lykill sem er aðeins notaður fyrir gjafabréf, með giftcards:create og, eins og við mælum með, þröngan lista yfir leyfðar IP tölur.
  • Einn Idempotency-Key fyrir hvert gjafabréf, vistaður áður en beiðnin er send og notaður aftur við endurtekningar.
  • Kóðar eru geymdir dulkóðaðir, eða alls ekki geymdir heldur sóttir þegar þeirra er þörf.
  • Kóðar fara aðeins til viðtakanda síns, eftir leið sem þú treystir.
  • request_id hvers gjafabréfs er skráð.