Appearance
Koble til backend
Lumi API godtar widget-svar direkte fra nettleseren via en API-nøkkel — du trenger ingen backend-ruting eller token exchange.
1. Opprett API-nøkler
Bruk CLI-verktøyet for å generere din første sk_-nøkkel (admin):
sh
java -jar lumi-api.jar generate-key --type sk --team mitt-team --app adminDeretter bruker du sk_-nøkkelen til å opprette en pk_-nøkkel (public) via API-et:
sh
curl -X POST https://lumi.din-bedrift.no/api/v1/admin/api-keys \
-H "Authorization: Bearer lumi_sk_live_..." \
-H "Content-Type: application/json" \
-d '{"keyType": "pk", "appName": "min-web-app", "allowedOrigins": ["https://app.din-bedrift.no"]}'Responsen inneholder den fullstendige pk_-nøkkelen. Lagre den — den vises kun en gang.
2. Konfigurer transport i widgeten
tsx
const transport: LumiSurveyTransport = {
async submit(submission) {
await fetch("https://lumi.din-bedrift.no/api/v1/submission", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Api-Key": "lumi_pk_live_...",
},
body: JSON.stringify(submission.transportPayload),
});
},
};3. Miljøvariabler for Lumi API
Sett disse miljøvariablene for Lumi API (Docker Compose / Helm):
| Variabel | Beskrivelse | Eksempel |
|---|---|---|
DB_HOST | Database-host | db |
DB_PORT | Database-port | 5432 |
DB_DATABASE | Databasenavn | lumi |
DB_USERNAME | Database-bruker | lumi |
DB_PASSWORD | Database-passord | ***** |
DB_JDBC_URL | Full JDBC URL (valgfritt, overstyrer host/port/database) | jdbc:postgresql://db:5432/lumi |
AUTH_PROVIDER | Auth-modus for dashboard | oidc eller local |
Se Miljøer for fullstendig oversikt over deployment-oppsett.
Sjekkliste
- [ ] Lumi API kjører (Docker Compose / Helm)
- [ ]
sk_-nøkkel generert via CLI - [ ]
pk_-nøkkel opprettet via admin-API - [ ]
X-Api-Key-header satt itransport.submit - [ ] Verifiser innsending i dashboardet
Storage-strategi
Widgeten kan huske at brukeren har lukket surveyen, slik at den ikke dukker opp igjen på en gitt periode (cooldown). Velg strategi basert på flate:
| Flate | Strategi | Merknad |
|---|---|---|
| Generell | localStorage | Standard for de fleste apper |
| Ingen persistering | none | Surveyen vises hver gang |
tsx
<LumiSurveyDock behavior={{ storageStrategy: "localStorage" }} />Se Lagring for detaljer om cooldown, dismissal-logikk og alle tilgjengelige strategier.
Videre lesing
- Surveytyper — velg riktig type for ditt bruksområde
- Spørsmålstyper — rating, tekst, radio og flervalg
- Betinget synlighet — vis spørsmål basert på tidligere svar
- Context og tags — legg til metadata for filtrering i dashboardet
