# Pakkar og tól

Pakkar Kling fyrir forritara á Íslandi. @klingis/sdk fyrir þjóninn, @klingis/embed fyrir vafrann, @klingis/cli til að setja upp verkefni með einni skipun og @klingis/mcp fyrir gervigreindarfulltrúa.

Kling er með fjóra npm-pakka. Þeir virka allir strax með prófunarlykli.

| Pakki | Hvað hann er |
|---|---|
| [`@klingis/sdk`](https://www.npmjs.com/package/@klingis/sdk) | SDK með týpum fyrir Kling API, búið til úr OpenAPI-lýsingunni |
| [`@klingis/embed`](https://www.npmjs.com/package/@klingis/embed) | [Greiðsluglugginn](https://kling.is/docs/embedded-checkout): greiðslusíða ofan á þinni síðu |
| [`@klingis/cli`](https://www.npmjs.com/package/@klingis/cli) | Tengir verkefni við Kling með einni skipun |
| [`@klingis/mcp`](https://www.npmjs.com/package/@klingis/mcp) | [MCP-þjónn](https://kling.is/docs/mcp) fyrir gervigreindarfulltrúa |

## @klingis/cli

```bash
npx @klingis/cli init
```

`init` skráir þig inn (eða stofnar aðgang), greinir hvaða ramma þú notar (Next.js, Remix, Astro, Express, Hono, Elysia eða hreint HTML), spyr hvað þú ert að smíða, getur skráð [webhook](https://kling.is/docs/webhooks), skrifar `KLING_SECRET_KEY`, `KLING_API_URL` og `KLING_WEBHOOK_SECRET` í `.env.local` (og bætir því í `.gitignore`) og skrifar `KLING_INTEGRATION.md`, skipun fyrir gervigreindartólið þitt.

Aðrar skipanir: `kling status`, `kling login`, `kling login --api-key <key>` (fyrir CI), `kling logout`, `kling env [live|test]` og `kling listen --forward <url>`. Með `npx` skrifar þú `npx @klingis/cli status` og svo framvegis.

## @klingis/sdk

```bash
npm install @klingis/sdk
```

```typescript
import { configure, postV1CheckoutSessions } from "@klingis/sdk";

configure({
  baseUrl: "https://api.kling.is",
  headers: { Authorization: `Bearer ${process.env.KLING_SECRET_KEY}` },
});

const res = await postV1CheckoutSessions({
  amount: 5000, // 5.000 kr.
  currency: "ISK",
  success_url: "https://example.is/takk",
});

if (res.status === 200) console.log(res.data.id, res.data.url);
```

Föllin heita eftir aðferð og slóð: `POST /v1/checkout/sessions` er `postV1CheckoutSessions`, `GET /v1/customers/{id}` er `getV1CustomersById`. Hvert þeirra skilar `{ data, status, headers }`. SDK-ið notar `fetch` og keyrir í Bun og í þjónakóða sem fer í gegnum bundler (Next.js, Remix, SvelteKit, Vite). Í hreinu Node ESM án bundler skaltu kalla beint á REST API-ið með `fetch`.

## @klingis/embed

```bash
npm install @klingis/embed
```

Eða `<script src="https://api.kling.is/v1/kling.js"></script>`. Sjá [Greiðslugluggi](https://kling.is/docs/embedded-checkout).

## @klingis/mcp

Leyfir gervigreindarfulltrúum eins og Claude, ChatGPT og Cursor að vinna með Kling aðganginn þinn. Sjá [MCP-þjónn](https://kling.is/docs/mcp).
