Guider & API

Dokumentasjon

Lær hvordan du bruker kartleditoren, animatoren og API-et.

API-referanse

Eksporter prosjektdata og integrer med spillmotoren eller byggepipelinen din.

Autentisering

Alle API-forespørsler krever et Bearer-token i Authorization-headeren:

Authorization: Bearer <token>

Opprett et token i Innstillinger > API-nøkler. Nøkler er organisasjonsomfattende - én nøkkel gir tilgang til alle prosjekter i den organisasjonen.

Feilresponser
  • 401 - manglende, ugyldig, tilbakekalt eller utløpt token
  • 403 - token tilhører en annen organisasjon
  • 404 - prosjekt-ID finnes ikke

Basis-URL

Alle endepunkter har prefikset:

https://longlost.no/api/v1/share/:project_id

project_id er en UUID som finnes i prosjektets URL eller innstillingsside.

Endepunkter

GET

/info

Returnerer prosjektmetadata.

// Response { "id": "uuid", "name": "My Project", "description": "A cool game level", "type": "editor" | "animator", "updated_at": "2026-01-25T12:00:00Z" }
GET

/hash

Returnerer en innholdshash for endringsdeteksjon. Sammenlign med din lagrede verdi for å sjekke for endringer.

// Response { "hash": "a1b2c3d4e5f6...", "updated_at": "2026-01-25T12:00:00Z" }
GET

/changes

Åpner en Server-Sent Events (SSE)-strøm for sanntidsvarsler om endringer.

Parameter Type Beskrivelse
once string Hvis "true", sender første hendelse og lukker deretter.

Hendelsestyper:

  • ready - sendes umiddelbart med gjeldende hash
  • changed - sendes når prosjekt-hashen endres
  • deleted - sendes når prosjektet fjernes
GET

/download

Laster ned hele prosjektet som et ZIP-arkiv.

Parameter Type Beskrivelse
hash string Valgfritt. Returnerer 304 hvis prosjekt-hashen matcher.
GET

/manifest

Returnerer et per-fil manifest med innholdshash og størrelser for inkrementell synkronisering.

// Response { "project_hash": "abc123...", "files": { "path/to/file.json": { "hash": "def456...", "size": 1234 } } }
POST

/sync

Send dine lokale fil-hasher og motta kun det som er endret, lagt til eller slettet.

// Request body { "files": { "path/to/file.json": "your_local_hash" } }
// Response { "project_hash": "abc123...", "changed": [ {"path": "maps/level1.json", "hash": "...", "content": "<base64>"} ], "added": [ {"path": "maps/level2.json", "hash": "...", "content": "<base64>"} ], "deleted": ["maps/old_level.json"], "images": ["resources/tilesets/forest.png"] }
  • changed / added - inkluderer sti, ny hash og base64-kodet innhold
  • deleted - matrise med stier som ikke lenger eksisterer
  • images - binære ressurser som er endret; hent via /resource
GET

/resource

Laster ned en individuell binær ressurs som et tileset-bilde.

Parameter Type Beskrivelse
path string Påkrevd. Ressurssti, må være under resources/.

Støtter If-None-Match for ETag-caching. Returnerer 304 hvis uendret.

Typisk arbeidsflyt

1

Poll /hash periodisk, eller koble til /changes SSE for sanntidsvarsler.

2

Når en endring oppdages, kall /manifest for å få gjeldende filliste.

3

Kall /sync med dine lokale hasher for å motta kun det som er endret.

4

Hent nye eller oppdaterte bilder via /resource.

Enklere alternativ: Kall /download for en full ZIP-eksport når en endring oppdages - ingen manifest eller synkronisering nødvendig.