https://api.kuvert.dkAlla anrop auktoriseras med en API-nyckel i Authorization-huvudet som en bearer-token.
curl https://api.kuvert.dk/v1/api/giftcards \
-H "Authorization: Bearer pk_live_..."Nycklar skapas under Inställningar → API-nycklar. Bara ägaren kan skapa och återkalla dem. Det finns två prefixer, och du väljer inte själv mellan dem:
| Prefix | Används för |
|---|---|
pk_test_ | Testning. Rör inte riktiga pengar. |
pk_live_ | Drift. Fungerar på riktiga kort och saldon. |
Din butik säljer i exakt en Stripe-miljö, och nyckeln får den miljön. En demobutik får en pk_test_-nyckel; en butik som säljer för riktiga pengar får en pk_live_. Nycklar från den andra miljön avvisas vid första anropet. Därför finns det ingen knapp som kan välja fel.
Alla anrop är bundna till nyckelns företag. Du kan inte se eller röra ett annat företags kort, och en nyckel fungerar bara medan företaget är aktivt. Ett företag som ännu inte har slutfört Stripe, eller som är avstängt, får 401.
Svar är JSON. Ett presentkort ligger under nyckeln giftCard, en lista under giftCards.
Belopp är alltid heltal i öre, och tidpunkter är ISO 8601 i UTC. Varje svar har en x-request-id-header. Ta med den när du kontaktar oss om ett visst anrop, så kan vi hitta just det.
Listor är inte sidindelade: GET /v1/api/giftcards svarar med alla företagets kort på en gång, nyaste först.
Ett fel har alltid samma form: ett objekt med ett fält kallat error.
{ "error": "unauthorized" }| Status | error | Betyder |
|---|---|---|
| 400 | invalid_issue_request | Kroppen matchar inte det som utfärdning kräver. |
| 400 | invalid_redeem_request | Kroppen matchar inte det som inlösen kräver. |
| 400 | bad_request | Anropet saknar något grundläggande, vanligtvis koden i vägen. |
| 400 | not_a_gift_card | Koden i sökvägen är en biljettkod (TKT-…). Den hör till incheckning, inte till ett presentkort. Svaret är 400 och inte 404, så att du inte letar efter ett kort som aldrig har funnits. |
| 401 | unauthorized | Nyckeln saknas, är återkallad, eller företaget är inte aktivt. |
| 404 | gift_card_not_found | Koden finns inte på detta företag. |
| 409 | idempotency_key_conflict | Nyckeln har använts på ett ANNAT kort. En återanvänd nyckel upprepar bara exakt det anrop den användes till, och den kan aldrig lyckas på ett nytt kort. |
| 409 | cash_claim_cannot_be_denied | noCashClaim kan inte sättas på ett SÅLT kort. Ett kort som kunden har betalat för ger rätt att få restbeloppet utbetalt kontant, och den rätten kan en flagga inte ta bort. Utfärda som b2b eller comp. |
| 404 | merchant_not_found | Nyckeln är giltig, men företaget bakom den finns inte längre. Det händer sällan och kan inte rättas av en klient. Kontakta oss. |
| 404 | order_not_found | Omskicka hittade kortet, men inte den order det kom från. Ett kort utfärdat för hand har ingen order och kan därför inte omskickas på det sättet. |
| 409 | card_has_no_delivery | Kortet har aldrig skickats av oss, eftersom det lämnades ut över disken. Det finns ingen leverans att upprepa. |
| 422 | invalid_recipient | recipient i body för omskicka är inte en e-postadress vi kan skicka till. Utelämna fältet för att skicka till den adress kortet redan har. |
| 502 | delivery_failed | Vi nådde vår leverantör, och den avvisade försändelsen. Det är inget fel på kortet, och ingenting har dragits. Försök igen eller kontrollera adressen. |
| 403 | key_environment_mismatch | Nyckeln är giltig, men från en annan Stripe-miljö än den din butik säljer i, t.ex. en pk_test_ på en butik som säljer för riktiga pengar, eller tvärtom. 403 och inte 401: det hjälper inte att logga in igen, du behöver den andra nyckeln. |
| 404 | not_found | Sökvägen finns inte. Kontrollera metod och sökväg. En POST till en sökväg som bara tar GET får också det svaret. |
| 429 | rate_limited | För många anrop för tätt. Retry-After-headern anger hur många sekunder det dröjer innan du får försöka igen. Se Gränser. |
| 500 | internal_error | Ett oväntat fel hos oss. Inget i svaret avslöjar vilket; skicka oss x-request-id-headern, så hittar vi det. |
Inlösen har dessutom egna svar om kortets status, giltigheten, fördröjningen och saldot. De står samlade i tabellen under Lös in på sidan Presentkort. Ett av dem återkommer: card_inactive är också ett svar från Ångra en inlösen, men med ett snävare villkor. Där gäller det bara ett annullerat eller fryst kort, och det har en egen tabell längre ner.
Du kan göra 240 anrop per 60 sekunder mot /v1/api, räknat i fasta fönster. Går du över svarar vi 429 rate_limited med en Retry-After-header som anger hur många sekunder som återstår av fönstret.
Var sidan till hjälp?