Deltagar-API
Hämta incheckade deltagare eller checka in personer direkt från en integration. API:t aktiveras separat för varje sida i superadmin.
API-nyckel
Välj Aktivera API eller Ny API-nyckel vid rätt sida i superadmin. Nyckeln visas en gång. När du byter nyckel slutar den gamla fungera direkt; uppdatera därför nyckeln i din integration. Stäng av API återkallar åtkomsten.
Skicka nyckeln i Authorization: Bearer …. Den ger rätt att läsa och checka in deltagare för den aktuella sidan, inklusive kontaktfält och alla sparade frågesvar. Använd nyckeln på din server, aldrig i en publik webbsidas kod eller i URL:en.
Exemplen använder Koppars. Byt värdnamn om du arbetar med en annan sida. Sätt miljövariabeln ARHAR_API_KEY till din aktuella nyckel innan du kör exemplen.
Hämta deltagare
curl 'https://koppars.arhar.se/api/v1/participants?limit=100&after_id=0' \
-H "Authorization: Bearer $ARHAR_API_KEY"
Svaret innehåller kvarvarande incheckningar i stigande id-ordning:
{
"unit": "koppars",
"participants": [{
"id": 123,
"name": "Anna Andersson",
"role": "Projektledare",
"email": "anna@example.se",
"phone": "",
"link": "",
"linkedin": "",
"photo_filename": "",
"custom_answers": [],
"created_at": "2026-10-01T08:30:00Z"
}],
"count": 1,
"next_after_id": 123,
"has_more": false
}
limit är 1–500, standard 100. after_id är minst 0, standard 0. Skicka föregående next_after_id i nästa anrop. Fortsätt direkt om has_more är true, annars spara markören och hämta senare. count är antalet i just det svaret.
Checka in en person
curl 'https://koppars.arhar.se/api/v1/participants' \
-H "Authorization: Bearer $ARHAR_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"name":"Anna Andersson","role":"Projektledare","email":"anna@example.se"}'
HTTP 201 betyder att personen är incheckad och syns i deltagarlistan. Svaret innehåller unit och participant, med samma deltagarfält som ovan och det nya id:t.
Varje lyckat POST skapar en ny incheckning. Upprepa inte automatiskt ett anrop om svaret tappas; kontrollera listan först för att undvika dubbletter. API-incheckning sätter ingen personlig deltagarcookie.
Fält och egna frågor
| Fält | Innehåll |
|---|---|
name | Namn, alltid obligatoriskt. |
role | Sysselsättning/företag. Obligatoriskt som standard. |
email, phone | E-post och telefon. |
link, linkedin | Webbadress och LinkedIn-profil. För LinkedIn går både användarnamn (t.ex. anna-andersson) och fullständig profillänk bra. |
q_… | Egna frågesvar som text, med frågans id som fältnamn. |
photo | Bildfil i multipart/form-data. |
Eventets inställningar styr vilka fält som används och är obligatoriska. Avstängda fält sparas inte. Textfält och frågesvar får vara högst 2 000 tecken.
Hämta definitionerna från https://koppars.arhar.se/api/settings. custom_questions och field_config är JSON-kodade strängar och behöver parsas. fields anger aktiva kontaktfält. Skicka frågans id som ett toppnivåfält, till exempel:
{
"name": "Anna Andersson",
"role": "Projektledare",
"q_topic": "Automation"
}
q_topic är ett exempel; använd id:t från ditt event. I svaren är custom_answers en lista med id, label och value.
Checka in med foto
curl 'https://koppars.arhar.se/api/v1/participants' \
-H "Authorization: Bearer $ARHAR_API_KEY" \
-F 'name=Anna Andersson' \
-F 'role=Projektledare' \
-F 'photo=@portratt.jpg'
Använd multipart/form-data för bilder och lägg till eventets övriga obligatoriska fält. Om foto är obligatoriskt räcker inte ett JSON-anrop.
Svarskoder
| Kod | Betydelse |
|---|---|
| 200 | Deltagarlistan hämtades. |
| 201 | Personen checkades in. |
| 400 | Felaktiga parametrar, ogiltig bild eller saknade obligatoriska fält. Läs error i svaret. |
| 401 | Saknad eller felaktig nyckel. Kontrollera om den har bytts. |
| 403 | API:t är avstängt för sidan. |
| 404 | Sidan saknas eller är inaktiverad. |
| 413 | Anropet eller uppladdningen är för stor. |
| 429 | Sidans dagstak för incheckningar är nått. |
Tidsstämplar anges i UTC. API-svaren använder Cache-Control: no-store.