Ticsie
Evenemang Arrangörer Logga in Registrera

Språk

Tema

POST

/events/{id}/scan

Skanna en biljett och checka in deltagaren. Kräver write-behörighet.

https://ticsie.nu/api/v1/integration/events/{id}/scan

URL-parametrar

Parameter Typ Beskrivning
id integer Evenemangets ID

Request body (JSON)

Fält Typ Obligatorisk Beskrivning
uuid string (UUID) Ja Biljettens unika UUID (från QR-koden)
mode string Nej checkin (standard) eller checkout

Exempelanrop

curl -X POST "https://ticsie.nu/api/v1/integration/events/42/scan" \
  -H "X-API-Key: ticsie_pk_your_public_key" \
  -H "X-API-Secret: ticsie_sk_your_secret_key" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"}'
$response = Http::withHeaders([
    'X-API-Key'    => 'ticsie_pk_your_public_key',
    'X-API-Secret' => 'ticsie_sk_your_secret_key',
    'Accept'       => 'application/json',
])->post('https://ticsie.nu/api/v1/integration/events/42/scan', [
    'uuid' => 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
]);

$result = $response->json();
const response = await fetch(
  "https://ticsie.nu/api/v1/integration/events/42/scan",
  {
    method: "POST",
    headers: {
      "X-API-Key": "ticsie_pk_your_public_key",
      "X-API-Secret": "ticsie_sk_your_secret_key",
      "Accept": "application/json",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      uuid: "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    }),
  }
);

const result = await response.json();
import requests

response = requests.post(
    "https://ticsie.nu/api/v1/integration/events/42/scan",
    json={"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"},
    headers={
        "X-API-Key": "ticsie_pk_your_public_key",
        "X-API-Secret": "ticsie_sk_your_secret_key",
        "Accept": "application/json",
    },
)

result = response.json()
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "ticsie_pk_your_public_key");
client.DefaultRequestHeaders.Add("X-API-Secret", "ticsie_sk_your_secret_key");
client.DefaultRequestHeaders.Add("Accept", "application/json");

var content = new StringContent(
    JsonSerializer.Serialize(new {
        uuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    }),
    Encoding.UTF8,
    "application/json"
);

var response = await client.PostAsync(
    "https://ticsie.nu/api/v1/integration/events/42/scan",
    content
);

var json = await response.Content.ReadAsStringAsync();
require "net/http"
require "json"

uri = URI("https://ticsie.nu/api/v1/integration/events/42/scan")
request = Net::HTTP::Post.new(uri)
request["X-API-Key"] = "ticsie_pk_your_public_key"
request["X-API-Secret"] = "ticsie_sk_your_secret_key"
request["Accept"] = "application/json"
request["Content-Type"] = "application/json"
request.body = { uuid: "a1b2c3d4-e5f6-7890-abcd-ef1234567890" }.to_json

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end

result = JSON.parse(response.body)

Exempelsvar — Lyckad incheckning 200 OK

{
    "status": "success",
    "message": "Incheckning godkänd! Välkommen, Anna Andersson.",
    "attendee_name": "Anna Andersson",
    "ticket_type": "Ordinarie",
    "seat_label": null
}

Exempelsvar — Redan incheckad 200

{
    "status": "already_used",
    "message": "Biljetten har redan checkats in kl. 18:32",
    "error_code": "TICKET_ALREADY_USED",
    "checked_in_at": "2025-07-15T18:32:15.000000Z"
}

Exempelsvar — Ogiltig biljett 200

{
    "status": "invalid",
    "message": "Biljetten är ogiltig (status: cancelled).",
    "error_code": "TICKET_CANCELLED"
}

Exempelsvar — Biljett saknas 404

{
    "status": "error",
    "message": "Biljetten hittades inte.",
    "error_code": "TICKET_NOT_FOUND"
}