Aloitus
Pika-aloitus
Luo avain, tee ensimmäinen kutsusi ja listaa esittelytapahtuman Beacon Summitin osallistujat viidessä minuutissa.
1. Luo avain
Avaa työtilassa Integraatiot › API & MCP ja valitse Uusi avain. Anna avaimelle nimi, jonka tunnistat vielä puolen vuoden päästä ("Osallistujasynkronointi CRM:ään"), valitse pohjaksi Koontinäyttö, rastita Osallistujat: Luku ja Henkilötiedot ja jätä voimassaoloajaksi 90 päivää.
Avain näytetään vain kerran. Kopioi se heti: AttendBeacon säilyttää siitä vain tiivisteen, joten kadonnut avain peruutetaan ja korvataan, sitä ei voi hakea jälkikäteen. Säilytä avain siellä, missä koodisi säilyttää salaisuudet, ei koskaan itse koodissa.
export ATTENDBEACON_KEY="abk_k7m2qx9vtw4p_..."$env:ATTENDBEACON_KEY = "abk_k7m2qx9vtw4p_..."2. Tarkista avain
GET /me vastaa avaimen työtilalla, sen käyttöoikeuksilla, vanhenemisajalla ja kutsurajoituksella. Mikä tahansa toimiva avain voi kutsua sitä, joten se on ensimmäinen asia, jonka liitin tai komentosarja kysyy.
curl https://attendbeacon.com/api/v1/me \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/me", {
headers: { Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}` }
});
console.log(await response.json());using System.Net.Http.Headers;
using System.Net.Http.Json;
using System.Text.Json;
using var client = new HttpClient { BaseAddress = new Uri("https://attendbeacon.com/api/v1/") };
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
Console.WriteLine(await client.GetStringAsync("me"));import os
import requests
response = requests.get(
"https://attendbeacon.com/api/v1/me",
headers={"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"},
)
print(response.json())$headers = @{ Authorization = "Bearer $env:ATTENDBEACON_KEY" }
Invoke-RestMethod -Uri "https://attendbeacon.com/api/v1/me" -Headers $headers{
"workspaceId": "3d9a5c1e-7b2f-4e8a-a6d4-0c1b9e7f5a23",
"workspaceName": "Beacon Events",
"keyName": "Attendee sync for the CRM",
"keyPrefix": "abk_k7m2qx9vtw4p",
"scopes": ["events:read", "tickets:read", "orders:read", "attendees:read", "checkins:read", "program:read", "people:read"],
"expiresUtc": "2027-01-12T09:00:00.000Z",
"rateLimit": { "perMinute": 120, "windowSeconds": 60 }
}401 ja "code": "invalidKey" tarkoittavat, että avain ei tullut perille tai se on kirjoitettu väärin; keyExpired ja keyRevoked tarkoittavat sitä, miltä ne kuulostavat. Virheet luettelee kaikki koodit.
3. Etsi tapahtuma
GET /events listaa työtilan tapahtumat, kunkin tunnisteineen. Beacon Summitin tunniste on b3ac0000-0000-4000-8000-000000000001.
curl "https://attendbeacon.com/api/v1/events?status=published" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const events = await fetch("https://attendbeacon.com/api/v1/events?status=published", {
headers: { Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}` }
}).then((response) => response.json());
for (const event of events.data) console.log(event.eventId, event.name, event.startDate);var events = await client.GetFromJsonAsync<JsonElement>("events?status=published");
foreach (var ev in events.GetProperty("data").EnumerateArray())
Console.WriteLine($"{ev.GetProperty("eventId")} {ev.GetProperty("name")} {ev.GetProperty("startDate")}");events = requests.get(
"https://attendbeacon.com/api/v1/events",
params={"status": "published"},
headers={"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"},
).json()
for event in events["data"]:
print(event["eventId"], event["name"], event["startDate"])$events = Invoke-RestMethod -Uri "https://attendbeacon.com/api/v1/events?status=published" -Headers $headers
$events.data | Select-Object eventId, name, startDate4. Listaa osallistujat
GET /events/{eventId}/attendees vastaa sivullisella osallistujia, vanhin muutos ensin, ja antaa nextCursor-arvon seuraavaa sivua varten. Kun avaimella on Henkilötiedot, näet nimet, osoitteet ja vastaukset; ilman sitä jokainen osallistuja on tunniste, jolla on lippu ja tila.
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees?limit=2" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const url = "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees?limit=2";
const page = await fetch(url, { headers: { Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}` } }).then((r) => r.json());
for (const attendee of page.data) console.log(attendee.firstName, attendee.lastName, attendee.ticketTypeName);var page = await client.GetFromJsonAsync<JsonElement>("events/b3ac0000-0000-4000-8000-000000000001/attendees?limit=2");
foreach (var attendee in page.GetProperty("data").EnumerateArray())
Console.WriteLine($"{attendee.GetProperty("firstName")} {attendee.GetProperty("lastName")}: {attendee.GetProperty("ticketTypeName")}");page = requests.get(
"https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees",
params={"limit": 2},
headers={"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"},
).json()
for attendee in page["data"]:
print(attendee["firstName"], attendee["lastName"], attendee["ticketTypeName"])$page = Invoke-RestMethod -Uri "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/attendees?limit=2" -Headers $headers
$page.data | Select-Object firstName, lastName, ticketTypeName, status{
"data": [
{
"attendeeId": "b3ac0008-0000-4000-8000-000000000000",
"orderReference": "DEMOAA",
"ticketTypeName": "Conference pass",
"firstName": "Emma",
"lastName": "Bakker",
"email": "emma.bakker0@example.com",
"company": "Contoso",
"answers": { "dietary": "none", "terms": true, "photos": true },
"status": "active",
"orderStatus": "paid",
"valid": true,
"checkedInUtc": null,
"updatedUtc": "2026-10-14T21:40:48.226Z",
"personalData": "included"
}
],
"hasMore": true,
"nextCursor": "YzE6MDYzOTI3NjEwODQ4MjgyMDAwMHxiM2Fj..."
}Lähetä nextCursor takaisin cursor-parametrina, kunnes se on null, niin olet lukenut jokaisen osallistujan kerran. Sivutus ja synkronointi näyttää silmukan ja sen, miten haet vain edellisen ajon jälkeen muuttuneet tiedot.
Mitä seuraavaksi
- Tunnistautuminen ja käyttöoikeudet: mitä käyttöoikeuksia avain tarvitsee mihinkin.
- Webhookit: saat tiedon heti, kun joku ilmoittautuu, ilman kyselemistä.
- API-viiteopas: jokainen toiminto ja Kokeile-painike, joka lähettää pyynnön avaimellasi.
- AttendBeacon tekoälyavustajan kanssa: sama avain Claudessa, ChatGPT:ssä tai Copilotissa.