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=PublicLast 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/:churchIdPublicList offentlige sider (url, title, metaDescription); kun visibility = everyone
GET/:idJWTHent en side etter ID
GET/JWTList 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/:idJWTHent 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/:idJWTHent 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/:idJWTHent en blokk etter ID
GET/JWTList alle blokker
GET/:churchId/tree/:idPublicLast hele blokktreet med seksjoner og elementer
GET/blockType/:blockTypeJWTLast blokker etter type (f.eks. footerBlock, elementBlock)
GET/public/footer/:churchIdPublicLast 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/:idJWTHent en lenke etter ID
GET/JWTList alle lenker. Valgfritt ?category=-filter. Sorterer automatisk etter lagring
GET/church/:churchId/filtered?category=JWTLast lenker filtrert etter synlighet (alle, besøkende, medlemmer, stab, grupper)
GET/church/:churchId?category=PublicLast 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/:churchIdPublicLast globale stiler for en kirke (returnerer standardverdier hvis ingen er satt)
GET/JWTLast 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=PublicList publiserte innlegg, paginert (maks 50 per side)
GET/public/:churchId/categoriesPublicDistinkte kategorier på tvers av publiserte innlegg
GET/public/:churchId/slug/:slugPublicHent et publisert innlegg etter slug
GET/rss/:churchId?siteUrl=PublicRSS 2.0-feed av publiserte innlegg (lenker bygget som {siteUrl}/blog/{slug})
GET/:idJWTHent et innlegg etter ID
GET/JWTList alle innlegg for kirken
POST/JWTContent.EditOpprett eller oppdater innlegg (batch)
DELETE/:idJWTContent.EditSlett et innlegg

Omdirigeringer

Basissti: /content/redirects

Kirke-spesifikke URL-omdirigeringer (fromPathtoPath), 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=PublicLøs opp en sti (eller list alle omdirigeringer når path utelates)
GET/:idJWTHent en omdirigering etter ID
GET/JWTList 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/freeshowSampleJWTHent en eksempel-FreeShow-spilleliste-struktur
GET/public/tvWrapper/:churchIdJWTHent TV-app-innpakning med preken-, leksjons- og FreeShow-kilder
GET/public/tvFeed/:churchId/:sermonIdPublicHent en enkelt preken som en TV-feed-spilleliste
GET/public/tvFeed/:churchIdPublicHent alle offentlige spillelister/prekener som en TV-feed
GET/public/:churchIdPublicList alle offentlige prekener for en kirke
GET/timeline?sermonIds=JWTLast tidslinjedata for prekener
GET/lookup?videoType=&videoData=PublicSlå opp prekenmetadata fra YouTube eller Vimeo
GET/socialSuggestions?youtubeVideoId=JWTGenerer AI-forslag til innlegg for sosiale medier fra prekenens undertekster
GET/outline?url=&title=&author=JWTGenerer AI-leksjonsdisposisjon fra en URL
GET/youtubeImport/:channelIdJWTImporter videoer fra en YouTube-kanal
GET/vimeoImport/:channelIdJWTImporter videoer fra en Vimeo-kanal
GET/:idJWTHent en preken etter ID
GET/JWTList 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/:idJWTHent en spilleliste etter ID
GET/JWTList alle spillelister
GET/public/:churchIdPublicList 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/JWTList 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=JWTLast tidslinjearrangementer for en gruppe
GET/timeline?eventIds=JWTLast tidslinjearrangementer for gjeldende brukers grupper
GET/subscribe?churchId=&groupId=&curatedCalendarId=PublicAbonner på arrangementer som en ICS-kalenderfeed
GET/group/:groupIdJWTHent arrangementer for en gruppe (inkluderer unntaksdatoer)
GET/public/group/:churchId/:groupIdPublicHent offentlige arrangementer for en gruppe
GET/:idJWTHent et arrangement etter ID
POST/JWTOpprett eller oppdater arrangementer (batch)
DELETE/:idJWTContent.EditSlett et arrangement

Arrangements-unntak

Basissti: /content/eventExceptions

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

Kuraterte kalendere

Basissti: /content/curatedCalendars

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWTHent en kuratert kalender etter ID
GET/JWTList 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?withoutEventsJWTHent kuraterte arrangementer for en kalender (inkluderer arrangementsdetaljer og unntaksdatoer med mindre ?withoutEvents er satt)
GET/public/calendar/:churchId/:curatedCalendarIdPublicHent offentlige kuraterte arrangementer for en kalender
GET/:idJWTHent et kuratert arrangement etter ID
GET/JWTList 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/:contentIdJWTHent filer etter innholdstype og innholds-ID
GET/JWTList alle filer for kirkens nettsted
GET/:idJWTHent 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/:folderPublicList 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/PublicList alle bibeloversettelser (henter fra kilde hvis cachen er tom)
GET/stats?startDate=&endDate=PublicHent statistikk over bibeloppslag for et datointervall
GET/availableTranslations/:sourcePublicList tilgjengelige oversettelser fra en kilde (f.eks. api.bible)
GET/updateTranslationsPublicSynkroniser alle oversettelser fra alle kilder
GET/updateTranslations/:sourcePublicSynkroniser oversettelser fra en bestemt kilde
GET/updateCopyrightsPublicOppdater opphavsrettsinformasjon for oversettelser som mangler det
GET/:translationKey/updateCopyrightPublicOppdater opphavsrett for en bestemt oversettelse
GET/:translationKey/search?query=&limit=PublicSøk i vers i en oversettelse
GET/:translationKey/booksPublicHent bøker for en oversettelse (caches lokalt)
GET/:translationKey/:bookKey/chaptersPublicHent kapitler for en bok (caches lokalt)
GET/:translationKey/chapters/:chapterKey/versesPublicHent vers for et kapittel (caches lokalt)
GET/:translationKey/verses/:startVerseKey-:endVerseKeyPublicHent 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=JWTSøk sanger etter spørring
GET/:idJWTHent en sang etter ID
GET/JWTContent.EditList alle sanger
POST/JWTContent.EditOpprett eller oppdater sanger (batch)
POST/importJWTImporter 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/:idJWTHent en sangdetalj etter ID (global)
GET/JWTList sangdetaljer for kirken
POST/createJWTOpprett en sangdetalj fra en PraiseCharts-ID (returnerer eksisterende hvis allerede opprettet). Henter automatisk metadata fra PraiseCharts og MusicBrainz
POST/JWTOpprett eller oppdater sangdetaljer (batch)

Sangdetalj-lenker

Basissti: /content/songDetailLinks

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWTHent en sangdetalj-lenke etter ID
GET/songDetail/:songDetailIdJWTHent alle lenker for en sangdetalj
POST/JWTOpprett eller oppdater sangdetalj-lenker (batch). Henter automatisk MusicBrainz-data hvis lenket
DELETE/:idJWTSlett en sangdetalj-lenke

Arrangementer (musikk)

Basissti: /content/arrangements

MetodeStiAuthTillatelseBeskrivelse
GET/:idJWTHent 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/missingJWTFinn 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/:idPublicHent en arrangement-toneart med fullstendige sangdata for presentasjonsvisning
GET/:idJWTHent 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/myJWTHent gjeldende brukers innstillinger
GET/JWTSettings.EditHent alle innstillinger for kirken
GET/public/:churchIdPublicHent offentlige innstillinger for en kirke (returneres som nøkkel-verdi-par)
POST/myJWTLagre brukerspesifikke innstillinger (støtter base64-bildeopplasting)
POST/JWTSettings.EditLagre kirkespesifikke innstillinger (støtter base64-bildeopplasting)
DELETE/my/:idJWTSlett en brukerinnstilling

Forhåndsvisning

Basissti: /content/preview

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

Galleri (arkivbilder)

Basissti: /content/stock

MetodeStiAuthTillatelseBeskrivelse
POST/searchPublicSøk Pexels arkivbilder. Body: { term: "church" }

PraiseCharts

Basissti: /content/praiseCharts

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

MetodeStiAuthTillatelseBeskrivelse
GET/raw/:idJWTHent rå PraiseCharts-data for en sang
GET/hasAccountJWTSjekk om brukeren har en koblet PraiseCharts-konto
GET/search?q=JWTSøk i PraiseCharts-katalogen
GET/products/:id?keys=JWTHent produkter for en sang (fra bibliotek hvis autentisert, ellers katalog)
GET/arrangement/raw/:id?keys=JWTHent rå arrangementdata fra bibliotek
GET/download?skus=&keys=&file_name=JWTLast ned en fil fra PraiseCharts (PDF eller ZIP). Returnerer { redirectUrl }
GET/authUrl?returnUrl=PublicHent OAuth-autorisasjons-URL for PraiseCharts
GET/access?verifier=&token=&secret=JWTBytt OAuth-verifikator mot tilgangstoken og lagre til brukerinnstillinger
GET/libraryJWTBla gjennom brukerens PraiseCharts-bibliotek

Support

Basissti: /content/support

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

Relaterte sider