venue

Bygg på Venue-API:et

Venue CMS är API-först. Allt som administrationsgränssnittet kan läsa kan din webbplats också läsa — evenemang och kalendrar, artistprofiler, platser, sidor och produkter — via ett REST-API och två TypeScript-SDK:er. Du behöver inte vår frontend för att använda vår backend.

Kom igång

Installera @venuecms/sdk-next, lägg din site key och API-nyckel i miljövariablerna och hämta publicerat innehåll. Biblioteket läser båda vid uppstart och signerar varje anrop åt dig. Det här är en komplett evenemangslista:

VENUE_SITE_KEY=your-site-key
VENUE_API_KEY=your-api-key
import { getEvents } from "@venuecms/sdk-next";

const { data } = await getEvents({ upcoming: true, dir: "asc" });

for (const event of data?.records ?? []) {
  console.log(event.slug, event.startDate, event.location?.city);
}

OpenAPI-specifikation

Det fullständiga, maskinläsbara kontraktet — varje endpoint, parameter och svarsformat, inklusive de autentiserade skrivoperationer som administrationsgränssnittet självt använder. Generera en typad klient från det i valfritt språk.

Visa OpenAPI-dokumentet

Publika endpoints

Den läsbara ytan som en publik webbplats byggs av. Varje anrop är en GET autentiserad med en bearer-token, där site key identifierar din organisation, och varje anrop länkar till sin referenssida. Specifikationen ovan är fortfarande den kompletta listan.

Referens
Dokumentation för REST-API:et
Autentisering
Authorization: Bearer <api-key>
EndpointReturnerarSDK
GET /siteSite settings, locales and themegetSite()
GET /eventsPublished events, paginatedgetEvents()
GET /events/datesYears and dates that have events, for calendar UIgetEventDates()
GET /events/{slug}A single eventgetEvent()
GET /newsNews and blog postsgetNews()
GET /news/datesYears and dates that have news posts, for archive UIgetNewsDates()
GET /news/{slug}A single news postgetNewsArticle()
GET /pagesPublished pagesgetPages()
GET /pages/{slug}A single page with its content treegetPage()
GET /profilesArtist and staff profilesgetProfiles()
GET /profiles/{slug}A single profilegetProfile()
GET /profiles/{slug}/eventsEvents for one artistgetProfileEvents()
GET /profiles/{slug}/productsMerchandise and releases for one artistgetProfileProducts()
GET /productsMerchandise and releasesgetProducts()
GET /products/{slug}A single productgetProduct()
GET /searchFull-text searchsearchSite()
GET /tagsTag taxonomygetTags()

SDK:er

Två publicerade paket, båda typade och båda genererade från specifikationen ovan, så att inget av dem kan glida ifrån API:et. Välj Next.js-biblioteket om du inte bygger utanför Next.js.

  • @venuecms/sdk-next

    A library optimised for Next.js. It bundles @venuecms/sdk, so there is nothing else to install, and adds React server components for rendering Venue content.

    npm install @venuecms/sdk-next

    https://docs.venuecms.com/developers/sdk-next

  • @venuecms/sdk

    The TypeScript client for the Venue API, for builds outside Next.js. Runs in any fetch-capable runtime.

    npm install @venuecms/sdk

    https://docs.venuecms.com/developers/sdk

Startmall

template-minimal är en fungerande Next.js-webbplats för en konsertlokal — evenemang, artistprofiler, sidor och lokalisering är redan kopplade till SDK:et. Det är den snabbaste korrekta utgångspunkten för ett nytt bygge.

git clone https://github.com/venuecms/template-minimal.git

Visa på GitHub

Fullständig dokumentation

Guider, referens och båda SDK:erna i sin helhet. Varje dokumentationssida serverar även Markdown om du lägger till .md i URL:en, och hela materialet finns tillgängligt i en enda förfrågan för språkmodeller.

Läs dokumentationen

llms.txt — plattformen som ett maskinläsbart index