# AI-integration

> Integrera 2328.io i din applikation på några minuter med AI-assistenter som Claude, ChatGPT, Cursor och GitHub Copilot.

Dokumentationen för 2328.io är byggd för att vara **LLM-vänlig**. Du kan ge hela API-referensen till valfri modern AI-assistent och få den att generera en fungerande integration på det språk du väljer — PHP, Node.js, Python, Go, Rust — på minuter istället för timmar.

Den här sidan förklarar hur du gör det effektivt.

## Varför använda AI för integration

- **Snabbare onboarding** — hoppa över boilerplate och gå direkt till affärslogiken
- **Korrekt signering** — AI återskapar tillförlitligt HMAC-SHA256-signering på vilket språk som helst
- **Webhook-hanterare** — generera signaturverifiering och idempotenta hanterare direkt
- **Aktuella** — vår `llms-full.txt` regenereras vid varje dokumentationsuppdatering, så du får alltid aktuella scheman

## Maskinläsbar dokumentation

Vi publicerar tre endpoints enligt standarden [llmstxt.org](https://llmstxt.org):

| Endpoint | Syfte |
|----------|---------|
| [`/llms.txt`](https://doc.2328.io/llms.txt) | Kort index över all dokumentation med länkar |
| [`/llms-full.txt`](https://doc.2328.io/llms-full.txt) | Hela dokumentationen som en enda fil — klistra in i din AI-chatt |
| [`/md/{locale}/{slug}`](https://doc.2328.io/md/en/payments) | Vilken sida som helst som rå Markdown |

Varje HTML-sida exponerar också `<link rel="alternate" type="text/markdown">` som pekar på dess Markdown-version, så att AI-crawlers upptäcker den automatiskt.

## Snabbstart med Claude eller ChatGPT

### Steg 1 — Tillhandahåll dokumentationen

Öppna en ny chatt och klistra in innehållet från [`llms-full.txt`](https://doc.2328.io/llms-full.txt) som ditt första meddelande, eller dela bara länken om modellen kan hämta den.

### Steg 2 — Beskriv din stack

Berätta för assistenten vad du bygger:

```
I'm building a Laravel 11 application. I need to:
1. Create a payment for an order (amount in USD, user pays in USDT TRC20)
2. Handle the webhook and credit the user's balance
3. Store payment records in a `payments` table

Use the 2328.io API above. Include HMAC signing, webhook signature
verification, and idempotency.
```

### Steg 3 — Granska och testa

Assistenten producerar en controller, en service-klass och en webhook-hanterare. Innan du publicerar:

- Verifiera att `apiSign()` kodar bodyn som Base64 **innan** HMAC-SHA256
- Kontrollera att webhook-hanterare anropar `hash_equals()` (inte `===`) för att jämföra signaturer
- Säkerställ att hanteraren är idempotent — kontrollera `order_id` / `txid` innan kreditering
- Testa med en liten riktig betalning i en dev-miljö först

> **WARNING:** Skicka aldrig AI-genererad betalningskod i produktion utan att granska signerings- och webhook-verifieringslogiken. Det är de kritiska säkerhetsgränserna.

## IDE-integrationer

### Cursor

Lägg till dokumentationen som en anpassad dokumentationskälla i Cursor-inställningarna:

```
Settings → Features → Docs → Add new doc
URL: https://doc.2328.io
```

I chatten prefixar du sedan din fråga med `@2328.io`:

```
@2328.io generate a webhook handler in Next.js App Router
with signature verification and idempotent credit logic
```

### GitHub Copilot

Copilot Chat kan läsa `llms-full.txt` direkt:

```
#fetch https://doc.2328.io/llms-full.txt

Using the 2328.io API docs above, implement a payout endpoint
in Express that withdraws USDT BEP20 to a user-supplied address.
```

### Windsurf / Continue / andra assistenter

Alla assistenter som stöder en URL-kontext eller filbilaga fungerar på samma sätt — bifoga `llms-full.txt` och beskriv ditt mål.

## Claude API (Agent SDK)

Om du bygger din egen agent eller chattbot som behöver interagera med 2328.io, injicera dokumentationen en gång i system-prompten:

```python
from anthropic import Anthropic
import urllib.request

docs = urllib.request.urlopen(
    "https://doc.2328.io/llms-full.txt"
).read().decode()

client = Anthropic()

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=4096,
    system=f"""You are an integration assistant for 2328.io.
Use the API reference below to answer questions and generate code.

<docs>
{docs}
</docs>""",
    messages=[
        {"role": "user", "content": "Write a Python function that creates a USDT payment"}
    ],
)

print(response.content[0].text)
```

> **INFO:** Hela dokumentationsfilen är ~15 KB — väl under varje modern modells kontextgräns. Du kan cacha den lokalt och uppdatera den en gång om dagen.

## Exempelprompter som fungerar bra

Kopiera dessa till Claude, ChatGPT eller din AI-IDE efter att du delat `llms-full.txt`:

**Komplett backend-integration:**
```
Build a Node.js + Express service that exposes two routes:
- POST /checkout → creates a 2328.io payment and returns the payment URL
- POST /webhook/2328 → verifies the signature and marks the order as paid
Use TypeScript, Zod for validation, and a simple in-memory store.
```

**Uttagsverktyg:**
```
Write a CLI in Go that takes a currency, network, amount, and address
and creates a payout via the 2328.io Payout API. Use a separate payout
API key from env. Poll the status endpoint until the payout is completed.
```

**Statisk plånbok för användarinsättningar:**
```
I have a Django app where users deposit USDT TRC20 to top up their balance.
Each user should have a permanent deposit address. Implement this using
2328.io static wallets, including the webhook handler that credits their
balance when a deposit arrives.
```

## Bästa praxis för AI-assisterad integration

- **Börja från `llms-full.txt`** — den är designad för LLM-kontext, ingen boilerplate
- **Var specifik om din stack** — ramverk, språkversion, ORM
- **Be om tester** — AI är bra på att generera enhetstester för signeringslogik
- **Dubbelkolla felhantering** — AI hoppar ibland över felvägar
- **Granska signaturkod manuellt** — det är den enda delen som *måste* vara helt rätt
- **Uppdatera regelbundet** — om vårt API ändras, hämta `llms-full.txt` på nytt och prompta igen