Integration API
Version 1.0 · Base URL: https://ticsie.dk/api/v1/integration
Integration API:t ger server-till-server-åtkomst till dina evenemang, deltagare och incheckning. Använd det för att bygga egna integrationer, dashboards eller skannerlösningar.
Snabbstart
- Gå till Organisatörspanelen → Indstillinger → API-nøgler
- Klicka Skapa ny API-nyckel och välj önskade behörigheter (
read,write) - Kopiera den publika nyckeln och den hemliga nyckeln (visas bara en gång)
- Använd nycklarna i dina API-anrop — se endpoint-sidorna för exempel
Autentisering
Integration API:t använder nyckelpar för server-till-server-kommunikation. Du skapar API-nycklar i organisatörspanelen under Indstillinger → API-nøgler.
Varje anrop kräver två HTTP-headers:
| Header | Format | Beskrivelse |
|---|---|---|
| X-API-Key | ticsie_pk_xxx... | Din publika nyckel. Används för att identifiera din organisation. |
| X-API-Secret | ticsie_sk_xxx... | Din hemliga nyckel. Visas bara en gång vid skapandet — spara den säkert. |
Viktigt: Dela aldrig din hemliga nyckel (X-API-Secret). Lagra den i miljövariabler eller en hemlig hanterare — aldrig i klientkod eller versionshanterade filer.
Tilladelser
Vid skapandet av en API-nyckel väljer du vilka behörigheter den ska ha. Varje endpoint kräver en specifik behörighet:
| Behörighet | Tillåter |
|---|---|
read |
Hämta evenemang och deltagare (GET-anrop) |
write |
Skanna biljetter / checka in deltagare (POST-anrop) |
Begränsningar
API:t tillåter 60 anrop per minut per API-nyckel. Om gränsen överskrids returneras HTTP 429 Too Many Requests.
Svaret innehåller headers som visar din aktuella kvot:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
Retry-After: 34
Felhantering
Alla felmeddelanden returneras som JSON med en felkod:
{
"message": "Ogiltiga API-uppgifter.",
"error_code": "API_KEY_INVALID"
}
| HTTP | error_code | Beskrivelse |
|---|---|---|
| 401 | API_KEY_MISSING | Headers X-API-Key och/eller X-API-Secret saknas. |
| 401 | API_KEY_INVALID | Publika nyckeln hittades inte eller hemliga nyckeln matchar inte. |
| 403 | INSUFFICIENT_PERMISSION | API-nyckeln saknar den behörighet som krävs. |
| 403 | EVENT_ACCESS_DENIED | Evenemanget tillhör inte din organisation. |
| 404 | TICKET_NOT_FOUND | Biljett-UUID:t finns inte i systemet. |
| 422 | EVENT_MISMATCH | Biljetten tillhör ett annat evenemang. |
| 200 | TICKET_ALREADY_USED | Biljetten är redan incheckad. |
| 200 | TICKET_CANCELLED / TICKET_INVALID | Biljetten är makulerad eller ogiltig. |
| 429 | — | Rate limit överskriden. Vänta och försök igen. |
Paginering
Endpoints som returnerar listor är paginerade. Använd ?page=2 för att hämta nästa sida.
{
"data": [...],
"meta": {
"total": 84,
"per_page": 20,
"current_page": 1,
"last_page": 5
}
}