Hopp til hovedinnhold

Innholds-endepunkter

Content-modulen administrerer nettstedsider, seksjoner, elementer, blokker, blogginnlegg, omdirigeringer, prekener, spillelister, strømmetjenester, arrangementer, kuraterte kalendere, filer, gallerier, bibeloversettelser og versoppslag, sanger, arrangementer (musikk), globale stiler, arkivbilder og innstillinger. Det er den største modulen i API-et og driver CMS-en, media-/strømmefunksjoner, gudstjenesteplanlegging og bibelfunksjoner på tvers av alle ChurchApps-applikasjoner.

Basissti: /content

Sider​

Basissti: /content/pages

MetodeStiAuthTillatelseBeskrivelse
GET/:churchId/tree?url=&id=Public—Last hele sidetreet (seksjoner, elementer, blokker) etter URL eller ID. Fjerner interne ID-er ved henting via URL. URL-baserte hentinger håndhever pages.visibility — en beskyttet side returnerer { restricted: true, visibility } med mindre den (valgfrie) JWT-en oppfyller sperren
GET/public/:churchIdPublic—List offentlige sider (url, title, metaDescription); kun visibility = everyone
GET/:idJWT—Hent en side etter ID
GET/JWT—List alle sider for kirken
POST/duplicate/:idJWTContent.EditDupliser en side med alle seksjoner og elementer
POST/temp/aiJWTContent.EditLagre en AI-generert side (side, seksjoner og elementer i ett kall)
POST/JWTContent.EditOpprett eller oppdater sider (batch)
DELETE/:idJWTContent.EditSlett en side

Eksempel: Last sidetre​

GET /content/pages/abc-church-id/tree?url=/about
{
"name": "About",
"url": "/about",
"sections": [
{
"background": "#FFFFFF",
"textColor": "dark",
"elements": [
{ "elementType": "textWithPhoto", "answers": { "text": "Welcome" } }
]
}
]
}

Seksjoner​

Basissti: /content/sections

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWT—Hent en seksjon etter ID
POST/duplicate/:id?convertToBlock=JWTContent.EditDupliser en seksjon, eller konverter den til en gjenbrukbar blokk
POST/JWTContent.EditOpprett eller oppdater seksjoner (batch). Oppdaterer sorteringsrekkefølge automatisk
DELETE/:idJWTContent.EditSlett en seksjon (oppdaterer sorteringsrekkefølge automatisk)

Elementer​

Basissti: /content/elements

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWT—Hent et element etter ID
POST/duplicate/:idJWTContent.EditDupliser et element med alle underelementer
POST/JWTContent.EditOpprett eller oppdater elementer (batch). Administrerer automatisk radkolonner og karusell-lysbilder
DELETE/:idJWTContent.EditSlett et element

Blokker​

Basissti: /content/blocks

Utvider standard CRUD (GET /:id, GET /, POST /, DELETE /:id fra basisklassen med Content.Edit-tillatelse for skriving).

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWT—Hent en blokk etter ID
GET/JWT—List alle blokker
GET/:churchId/tree/:idPublic—Last hele blokktreet med seksjoner og elementer
GET/blockType/:blockTypeJWT—Last blokker etter type (f.eks. footerBlock, elementBlock)
GET/public/footer/:churchIdPublic—Last footer-blokktreet for en kirke
POST/JWTContent.EditOpprett eller oppdater blokker
DELETE/:idJWTContent.EditSlett en blokk

Lenker​

Basissti: /content/links

Utvider standard CRUD (GET /:id, GET /, POST /, DELETE /:id fra basisklassen med Content.Edit-tillatelse for skriving).

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWT—Hent en lenke etter ID
GET/JWT—List alle lenker. Valgfritt ?category=-filter. Sorterer automatisk etter lagring
GET/church/:churchId/filtered?category=JWT—Last lenker filtrert etter synlighet (alle, besøkende, medlemmer, stab, grupper)
GET/church/:churchId?category=Public—Last lenker for en kirke etter kategori (offentlig)
POST/JWTContent.EditOpprett eller oppdater lenker (batch). Sorterer automatisk etter kategori
DELETE/:idJWTContent.EditSlett en lenke

Globale stiler​

Basissti: /content/globalStyles

Utvider standard CRUD (POST /, DELETE /:id fra basisklassen med Content.Edit-tillatelse for skriving).

MetodeStiAuthTillatelseBeskrivelse
GET/church/:churchIdPublic—Last globale stiler for en kirke (returnerer standardverdier hvis ingen er satt)
GET/JWT—Last globale stiler for den autentiserte kirken
POST/JWTContent.EditOpprett eller oppdater globale stiler
DELETE/:idJWTContent.EditSlett globale stiler

Sidehistorikk​

Basissti: /content/pageHistory

MetodeStiAuthTillatelseBeskrivelse
GET/page/:pageIdJWTContent.EditList historikkoppføringer for en side
GET/block/:blockIdJWTContent.EditList historikkoppføringer for en blokk
GET/:idJWTContent.EditHent en historikkoppføring etter ID
POST/JWTContent.EditLagre et side-/blokk-øyeblikksbilde. Rydder periodisk opp oppføringer eldre enn 30 dager
POST/restore/:idJWTContent.EditGjenopprett en side/blokk fra et historikk-øyeblikksbilde (sletter gjeldende innhold og gjenskaper fra øyeblikksbildet)
POST/restoreSnapshotJWTContent.EditGjenopprett fra et innebygd øyeblikksbilde-objekt. Body: { pageId, blockId, snapshot }

Innlegg (blogg)​

Basissti: /content/posts

Blogginnlegg er frittstående rader: title, slug (unik per kirke), excerpt, content (markdown-brødtekst), authorId, photoUrl, publishDate, category, og tags. Et innlegg publiseres når publishDate er satt og ligger i fortiden. Lese-endepunkter beriker hvert innlegg med authorName løst fra authorId. Se Nettstedbyggerens arkitektur.

MetodeStiAuthTillatelseBeskrivelse
GET/public/:churchId?category=&tag=&page=&pageSize=Public—List publiserte innlegg, paginert (maks 50 per side)
GET/public/:churchId/categoriesPublic—Distinkte kategorier på tvers av publiserte innlegg
GET/public/:churchId/slug/:slugPublic—Hent et publisert innlegg etter slug
GET/rss/:churchId?siteUrl=Public—RSS 2.0-feed av publiserte innlegg (lenker bygget som {siteUrl}/blog/{slug})
GET/:idJWT—Hent et innlegg etter ID
GET/JWT—List alle innlegg for kirken
POST/JWTContent.EditOpprett eller oppdater innlegg (batch)
DELETE/:idJWTContent.EditSlett et innlegg

Omdirigeringer​

Basissti: /content/redirects

Kirke-spesifikke URL-omdirigeringer (fromPath → toPath), begrenset til 200 per kirke. Stier normaliseres (små bokstaver, innledende skråstrek, ingen avsluttende skråstrek), og fromPath er unik per kirke. B1App løser disse på det som ellers ville vært 404-er, og utsteder en HTTP 308.

MetodeStiAuthTillatelseBeskrivelse
GET/public/:churchId?path=Public—Løs opp en sti (eller list alle omdirigeringer når path utelates)
GET/:idJWT—Hent en omdirigering etter ID
GET/JWT—List alle omdirigeringer for kirken
POST/JWTContent.EditOpprett eller oppdater omdirigeringer. Avviser fromPath = toPath og håndhever 200-rads-grensen
DELETE/:idJWTContent.EditSlett en omdirigering

Prekener​

Basissti: /content/sermons

MetodeStiAuthTillatelseBeskrivelse
GET/public/freeshowSampleJWT—Hent en eksempel-FreeShow-spilleliste-struktur
GET/public/tvWrapper/:churchIdJWT—Hent TV-app-innpakning med preken-, leksjons- og FreeShow-kilder
GET/public/tvFeed/:churchId/:sermonIdPublic—Hent en enkelt preken som en TV-feed-spilleliste
GET/public/tvFeed/:churchIdPublic—Hent alle offentlige spillelister/prekener som en TV-feed
GET/public/:churchIdPublic—List alle offentlige prekener for en kirke
GET/timeline?sermonIds=JWT—Last tidslinjedata for prekener
GET/lookup?videoType=&videoData=Public—Slå opp prekenmetadata fra YouTube eller Vimeo
GET/socialSuggestions?youtubeVideoId=JWT—Generer AI-forslag til innlegg for sosiale medier fra prekenens undertekster
GET/outline?url=&title=&author=JWT—Generer AI-leksjonsdisposisjon fra en URL
GET/youtubeImport/:channelIdJWT—Importer videoer fra en YouTube-kanal
GET/vimeoImport/:channelIdJWT—Importer videoer fra en Vimeo-kanal
GET/:idJWT—Hent en preken etter ID
GET/JWT—List alle prekener
POST/JWTStreamingServices.EditOpprett eller oppdater prekener (batch, støtter base64-miniatyrbildeopplasting)
DELETE/:idJWTStreamingServices.EditSlett en preken

Eksempel: Slå opp en YouTube-preken​

GET /content/sermons/lookup?videoType=youtube&videoData=dQw4w9WgXcQ
{
"title": "Sunday Service - Faith in Action",
"description": "Pastor John speaks about faith...",
"thumbnail": "https://img.youtube.com/vi/dQw4w9WgXcQ/default.jpg",
"duration": 2400,
"publishDate": "2025-01-15T10:00:00Z"
}

Spillelister​

Basissti: /content/playlists

Utvider standard CRUD (GET /:id, GET /, DELETE /:id fra basisklassen med StreamingServices.Edit-tillatelse for skriving).

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWT—Hent en spilleliste etter ID
GET/JWT—List alle spillelister
GET/public/:churchIdPublic—List alle offentlige spillelister for en kirke
POST/JWTStreamingServices.EditOpprett eller oppdater spillelister (batch, støtter base64-miniatyrbildeopplasting)
DELETE/:idJWTStreamingServices.EditSlett en spilleliste

Strømmetjenester​

Basissti: /content/streamingServices

MetodeStiAuthTillatelseBeskrivelse
GET/:id/hostChatJWTChat.HostHent kryptert vertschat-rom-ID for en tjeneste
GET/JWT—List alle strømmetjenester. Rydder automatisk opp utløpte, ikke-gjentakende tjenester og fremskrider gjentakende
POST/JWTStreamingServices.EditOpprett eller oppdater strømmetjenester (batch)
DELETE/:idJWTStreamingServices.EditSlett en strømmetjeneste (fjerner også blokkerte IP-er)

Arrangementer​

Basissti: /content/events

MetodeStiAuthTillatelseBeskrivelse
GET/timeline/group/:groupId?eventIds=JWT—Last tidslinjearrangementer for en gruppe
GET/timeline?eventIds=JWT—Last tidslinjearrangementer for gjeldende brukers grupper
GET/subscribe?churchId=&groupId=&curatedCalendarId=Public—Abonner på arrangementer som en ICS-kalenderfeed
GET/group/:groupIdJWT—Hent arrangementer for en gruppe (inkluderer unntaksdatoer)
GET/public/group/:churchId/:groupIdPublic—Hent offentlige arrangementer for en gruppe
GET/:idJWT—Hent et arrangement etter ID
POST/JWT—Opprett eller oppdater arrangementer (batch)
DELETE/:idJWTContent.EditSlett et arrangement

Arrangements-unntak​

Basissti: /content/eventExceptions

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWT—Hent et arrangementsunntak etter ID
POST/JWTContent.EditOpprett eller oppdater arrangementsunntak (batch)
DELETE/:idJWTContent.EditSlett et arrangementsunntak

Kuraterte kalendere​

Basissti: /content/curatedCalendars

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWT—Hent en kuratert kalender etter ID
GET/JWT—List alle kuraterte kalendere
POST/JWTContent.EditOpprett eller oppdater kuraterte kalendere (batch)
DELETE/:idJWTContent.EditSlett en kuratert kalender

Kuraterte arrangementer​

Basissti: /content/curatedEvents

MetodeStiAuthTillatelseBeskrivelse
GET/calendar/:curatedCalendarId?withoutEventsJWT—Hent kuraterte arrangementer for en kalender (inkluderer arrangementsdetaljer og unntaksdatoer med mindre ?withoutEvents er satt)
GET/public/calendar/:churchId/:curatedCalendarIdPublic—Hent offentlige kuraterte arrangementer for en kalender
GET/:idJWT—Hent et kuratert arrangement etter ID
GET/JWT—List alle kuraterte arrangementer
POST/JWTContent.EditOpprett eller oppdater kuraterte arrangementer. Støtter eventIds-array for å legge til spesifikke gruppearrangementer
DELETE/:idJWTContent.EditSlett et kuratert arrangement
DELETE/calendar/:curatedCalendarId/event/:eventIdJWTContent.EditFjern et bestemt arrangement fra en kuratert kalender
DELETE/calendar/:curatedCalendarId/group/:groupIdJWTContent.EditFjern alle arrangementer for en gruppe fra en kuratert kalender

Filer​

Basissti: /content/files

MetodeStiAuthTillatelseBeskrivelse
GET/:contentType/:contentIdJWT—Hent filer etter innholdstype og innholds-ID
GET/JWT—List alle filer for kirkens nettsted
GET/:idJWT—Hent en fil etter ID
POST/JWTContent.Edit*Last opp filer (base64). *Også tillatt hvis brukeren er medlem av gruppen som samsvarer med contentId
POST/postUrlJWTContent.Edit*Hent en forhåndssignert S3-opplastings-URL. *Også tillatt for gruppemedlemmer. Maks 100 MB per innholdselement
DELETE/:idJWTContent.Edit*Slett en fil og fjern den fra lagring. *Også tillatt for gruppemedlemmer

Galleri​

Basissti: /content/gallery

MetodeStiAuthTillatelseBeskrivelse
GET/stock/:folderPublic—List arkivbilder i en mappe
GET/:folderJWTContent.EditList galleribilder i en mappe
POST/requestUploadJWTContent.EditHent en forhåndssignert S3-opplastings-URL for et galleribilde
DELETE/:folder/:imageJWTContent.EditSlett et galleribilde

Bibler​

Basissti: /content/bibles

Alle bibel-endepunkter er offentlige (ingen autentisering kreves). Data hentes fra eksterne kilder og caches lokalt.

MetodeStiAuthTillatelseBeskrivelse
GET/Public—List alle bibeloversettelser (henter fra kilde hvis cachen er tom)
GET/stats?startDate=&endDate=Public—Hent statistikk over bibeloppslag for et datointervall
GET/availableTranslations/:sourcePublic—List tilgjengelige oversettelser fra en kilde (f.eks. api.bible)
GET/updateTranslationsPublic—Synkroniser alle oversettelser fra alle kilder
GET/updateTranslations/:sourcePublic—Synkroniser oversettelser fra en bestemt kilde
GET/updateCopyrightsPublic—Oppdater opphavsrettsinformasjon for oversettelser som mangler det
GET/:translationKey/updateCopyrightPublic—Oppdater opphavsrett for en bestemt oversettelse
GET/:translationKey/search?query=&limit=Public—Søk i vers i en oversettelse
GET/:translationKey/booksPublic—Hent bøker for en oversettelse (caches lokalt)
GET/:translationKey/:bookKey/chaptersPublic—Hent kapitler for en bok (caches lokalt)
GET/:translationKey/chapters/:chapterKey/versesPublic—Hent vers for et kapittel (caches lokalt)
GET/:translationKey/verses/:startVerseKey-:endVerseKeyPublic—Hent verstekst for et intervall. Logger oppslag. Enkelte oversettelser omgår caching av lisensårsaker

Eksempel: Hent verstekst​

GET /content/bibles/de4e12af7f28f599-02/verses/GEN.1.1-GEN.1.3
[
{ "verseKey": "GEN.1.1", "content": "In the beginning God created the heavens and the earth.", "bookKey": "GEN", "chapterNumber": 1, "verseNumber": 1 },
{ "verseKey": "GEN.1.2", "content": "Now the earth was formless and empty...", "bookKey": "GEN", "chapterNumber": 1, "verseNumber": 2 },
{ "verseKey": "GEN.1.3", "content": "And God said, \"Let there be light,\" and there was light.", "bookKey": "GEN", "chapterNumber": 1, "verseNumber": 3 }
]

Sanger​

Basissti: /content/songs

MetodeStiAuthTillatelseBeskrivelse
GET/search?q=JWT—Søk sanger etter spørring
GET/:idJWT—Hent en sang etter ID
GET/JWTContent.EditList alle sanger
POST/JWTContent.EditOpprett eller oppdater sanger (batch)
POST/importJWT—Importer sanger fra FreeShow (batch)
DELETE/:idJWTContent.EditSlett en sang

Sangdetaljer​

Basissti: /content/songDetails

Sangdetaljer er globale (ikke kirkespesifikke). Disse representerer kanonisk sangmetadata delt på tvers av kirker.

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWT—Hent en sangdetalj etter ID (global)
GET/JWT—List sangdetaljer for kirken
POST/createJWT—Opprett en sangdetalj fra en PraiseCharts-ID (returnerer eksisterende hvis allerede opprettet). Henter automatisk metadata fra PraiseCharts og MusicBrainz
POST/JWT—Opprett eller oppdater sangdetaljer (batch)

Sangdetalj-lenker​

Basissti: /content/songDetailLinks

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWT—Hent en sangdetalj-lenke etter ID
GET/songDetail/:songDetailIdJWT—Hent alle lenker for en sangdetalj
POST/JWT—Opprett eller oppdater sangdetalj-lenker (batch). Henter automatisk MusicBrainz-data hvis lenket
DELETE/:idJWT—Slett en sangdetalj-lenke

Arrangementer (musikk)​

Basissti: /content/arrangements

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWT—Hent et arrangement etter ID
GET/song/:songIdJWTContent.EditHent arrangementer for en sang
GET/songDetail/:songDetailIdJWTContent.EditHent arrangementer for en sangdetalj
GET/JWTContent.EditList alle arrangementer
POST/JWTContent.EditOpprett eller oppdater arrangementer (batch)
POST/freeShow/missingJWT—Finn FreeShow-ID-er som ikke finnes i kirken. Body: { freeShowIds: string[] }
DELETE/:idJWTContent.EditSlett et arrangement (sletter også toneart-nøkler; sletter sangen hvis ingen arrangementer gjenstår)

Arrangement-tonearter​

Basissti: /content/arrangementKeys

MetodeStiAuthTillatelseBeskrivelse
GET/presenter/:churchId/:idPublic—Hent en arrangement-toneart med fullstendige sangdata for presentasjonsvisning
GET/:idJWT—Hent en arrangement-toneart etter ID
GET/arrangement/:arrangementIdJWTContent.EditHent tonearter for et arrangement
GET/JWTContent.EditList alle arrangement-tonearter
POST/JWTContent.EditOpprett eller oppdater arrangement-tonearter (batch)
DELETE/:idJWTContent.EditSlett en arrangement-toneart

Innstillinger​

Basissti: /content/settings

MetodeStiAuthTillatelseBeskrivelse
GET/myJWT—Hent gjeldende brukers innstillinger
GET/JWTSettings.EditHent alle innstillinger for kirken
GET/public/:churchIdPublic—Hent offentlige innstillinger for en kirke (returneres som nøkkel-verdi-par)
POST/myJWT—Lagre brukerspesifikke innstillinger (støtter base64-bildeopplasting)
POST/JWTSettings.EditLagre kirkespesifikke innstillinger (støtter base64-bildeopplasting)
DELETE/my/:idJWT—Slett en brukerinnstilling

Forhåndsvisning​

Basissti: /content/preview

MetodeStiAuthTillatelseBeskrivelse
GET/data/:keyPublic—Last strømme-forhåndsvisningsdata for en kirke etter underdomene-nøkkel (faner, lenker, tjenester, prekener)

Galleri (arkivbilder)​

Basissti: /content/stock

MetodeStiAuthTillatelseBeskrivelse
POST/searchPublic—Søk Pexels arkivbilder. Body: { term: "church" }

PraiseCharts​

Basissti: /content/praiseCharts

Integrasjon med PraiseCharts for oppdagelse av lovsanger og nedlasting av noter.

MetodeStiAuthTillatelseBeskrivelse
GET/raw/:idJWT—Hent rå PraiseCharts-data for en sang
GET/hasAccountJWT—Sjekk om brukeren har en koblet PraiseCharts-konto
GET/search?q=JWT—Søk i PraiseCharts-katalogen
GET/products/:id?keys=JWT—Hent produkter for en sang (fra bibliotek hvis autentisert, ellers katalog)
GET/arrangement/raw/:id?keys=JWT—Hent rå arrangementdata fra bibliotek
GET/download?skus=&keys=&file_name=JWT—Last ned en fil fra PraiseCharts (PDF eller ZIP). Returnerer { redirectUrl }
GET/authUrl?returnUrl=Public—Hent OAuth-autorisasjons-URL for PraiseCharts
GET/access?verifier=&token=&secret=JWT—Bytt OAuth-verifikator mot tilgangstoken og lagre til brukerinnstillinger
GET/libraryJWT—Bla gjennom brukerens PraiseCharts-bibliotek

Support​

Basissti: /content/support

MetodeStiAuthTillatelseBeskrivelse
POST/createAudioPublic—Konverter SSML til MP3-lyd ved hjelp av AWS Polly. Body: { ssml: "<speak>...</speak>" }

Relaterte sider​