Vai al contenuto principale

Endpoint Content

Il modulo Content gestisce le pagine del sito web, le sezioni, gli elementi, i blocchi, le prediche, le playlist, i servizi di streaming, gli eventi, i calendari curati, i file, le gallerie, le traduzioni bibliche e la ricerca dei versetti, i canti, gli arrangiamenti, gli stili globali, le foto stock e le impostazioni. È il modulo più grande dell'API e alimenta il CMS, i media/streaming, la pianificazione del culto e le funzionalità bibliche in tutte le applicazioni ChurchApps.

Percorso base: /content

Pagine

Percorso base: /content/pages

MetodoPercorsoAuthPermessoDescrizione
GET/:churchId/tree?url=&id=PubblicoCarica l'albero completo della pagina (sezioni, elementi, blocchi) per URL o ID. Rimuove gli ID interni quando recuperato per URL
GET/:idJWTOttieni una pagina per ID
GET/JWTElenca tutte le pagine della chiesa
POST/duplicate/:idJWTContent.EditDuplica una pagina con tutte le sezioni e gli elementi
POST/temp/aiJWTContent.EditSalva una pagina generata dall'IA (pagina, sezioni ed elementi in una sola chiamata)
POST/JWTContent.EditCrea o aggiorna pagine (batch)
DELETE/:idJWTContent.EditElimina una pagina

Esempio: Carica Albero della Pagina

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

Sezioni

Percorso base: /content/sections

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTOttieni una sezione per ID
POST/duplicate/:id?convertToBlock=JWTContent.EditDuplica una sezione o convertila in un blocco riutilizzabile
POST/JWTContent.EditCrea o aggiorna sezioni (batch). Aggiorna automaticamente l'ordine di ordinamento
DELETE/:idJWTContent.EditElimina una sezione (aggiorna automaticamente l'ordine di ordinamento)

Elementi

Percorso base: /content/elements

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTOttieni un elemento per ID
POST/duplicate/:idJWTContent.EditDuplica un elemento con tutti i figli
POST/JWTContent.EditCrea o aggiorna elementi (batch). Gestisce automaticamente le colonne delle righe e le slide del carosello
DELETE/:idJWTContent.EditElimina un elemento

Blocchi

Percorso base: /content/blocks

Estende il CRUD standard (GET /:id, GET /, POST /, DELETE /:id dalla classe base con permesso Content.Edit per le scritture).

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTOttieni un blocco per ID
GET/JWTElenca tutti i blocchi
GET/:churchId/tree/:idPubblicoCarica l'albero completo del blocco con sezioni ed elementi
GET/blockType/:blockTypeJWTCarica i blocchi per tipo (es. footerBlock, elementBlock)
GET/public/footer/:churchIdPubblicoCarica l'albero del blocco footer per una chiesa
POST/JWTContent.EditCrea o aggiorna blocchi
DELETE/:idJWTContent.EditElimina un blocco

Percorso base: /content/links

Estende il CRUD standard (GET /:id, GET /, POST /, DELETE /:id dalla classe base con permesso Content.Edit per le scritture).

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTOttieni un link per ID
GET/JWTElenca tutti i link. Filtro opzionale ?category=. Ordinamento automatico dopo il salvataggio
GET/church/:churchId/filtered?category=JWTCarica i link filtrati per visibilità (tutti, visitatori, membri, staff, gruppi)
GET/church/:churchId?category=PubblicoCarica i link per una chiesa per categoria (pubblico)
POST/JWTContent.EditCrea o aggiorna link (batch). Ordinamento automatico per categoria
DELETE/:idJWTContent.EditElimina un link

Stili Globali

Percorso base: /content/globalStyles

Estende il CRUD standard (POST /, DELETE /:id dalla classe base con permesso Content.Edit per le scritture).

MetodoPercorsoAuthPermessoDescrizione
GET/church/:churchIdPubblicoCarica gli stili globali per una chiesa (restituisce i valori predefiniti se non impostati)
GET/JWTCarica gli stili globali per la chiesa autenticata
POST/JWTContent.EditCrea o aggiorna gli stili globali
DELETE/:idJWTContent.EditElimina gli stili globali

Cronologia Pagine

Percorso base: /content/pageHistory

MetodoPercorsoAuthPermessoDescrizione
GET/page/:pageIdJWTContent.EditElenca le voci della cronologia per una pagina
GET/block/:blockIdJWTContent.EditElenca le voci della cronologia per un blocco
GET/:idJWTContent.EditOttieni una voce della cronologia per ID
POST/JWTContent.EditSalva un'istantanea della pagina/blocco. Pulisce periodicamente le voci più vecchie di 30 giorni
POST/restore/:idJWTContent.EditRipristina una pagina/blocco da un'istantanea della cronologia (elimina il contenuto attuale e lo ricrea dall'istantanea)
POST/restoreSnapshotJWTContent.EditRipristina da un oggetto istantanea inline. Body: { pageId, blockId, snapshot }

Prediche

Percorso base: /content/sermons

MetodoPercorsoAuthPermessoDescrizione
GET/public/freeshowSampleJWTOttieni un esempio di struttura playlist FreeShow
GET/public/tvWrapper/:churchIdJWTOttieni il wrapper dell'app TV con sorgenti prediche, lezioni e FreeShow
GET/public/tvFeed/:churchId/:sermonIdPubblicoOttieni una singola predica come playlist del feed TV
GET/public/tvFeed/:churchIdPubblicoOttieni tutte le playlist/prediche pubbliche come feed TV
GET/public/:churchIdPubblicoElenca tutte le prediche pubbliche per una chiesa
GET/timeline?sermonIds=JWTCarica i dati della timeline per le prediche
GET/lookup?videoType=&videoData=PubblicoCerca i metadati della predica da YouTube o Vimeo
GET/socialSuggestions?youtubeVideoId=JWTGenera suggerimenti IA per post sui social media dai sottotitoli della predica
GET/outline?url=&title=&author=JWTGenera uno schema di lezione IA da un URL
GET/youtubeImport/:channelIdJWTImporta video da un canale YouTube
GET/vimeoImport/:channelIdJWTImporta video da un canale Vimeo
GET/:idJWTOttieni una predica per ID
GET/JWTElenca tutte le prediche
POST/JWTStreamingServices.EditCrea o aggiorna prediche (batch, supporta caricamento miniature in base64)
DELETE/:idJWTStreamingServices.EditElimina una predica

Esempio: Cerca una Predica su YouTube

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"
}

Playlist

Percorso base: /content/playlists

Estende il CRUD standard (GET /:id, GET /, DELETE /:id dalla classe base con permesso StreamingServices.Edit per le scritture).

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTOttieni una playlist per ID
GET/JWTElenca tutte le playlist
GET/public/:churchIdPubblicoElenca tutte le playlist pubbliche per una chiesa
POST/JWTStreamingServices.EditCrea o aggiorna playlist (batch, supporta caricamento miniature in base64)
DELETE/:idJWTStreamingServices.EditElimina una playlist

Servizi di Streaming

Percorso base: /content/streamingServices

MetodoPercorsoAuthPermessoDescrizione
GET/:id/hostChatJWTChat.HostOttieni l'ID criptato della chat room dell'host per un servizio
GET/JWTElenca tutti i servizi di streaming. Pulisce automaticamente i servizi non ricorrenti scaduti e avanza quelli ricorrenti
POST/JWTStreamingServices.EditCrea o aggiorna servizi di streaming (batch)
DELETE/:idJWTStreamingServices.EditElimina un servizio di streaming (cancella anche gli IP bloccati)

Eventi

Percorso base: /content/events

MetodoPercorsoAuthPermessoDescrizione
GET/timeline/group/:groupId?eventIds=JWTCarica gli eventi della timeline per un gruppo
GET/timeline?eventIds=JWTCarica gli eventi della timeline per i gruppi dell'utente corrente
GET/subscribe?churchId=&groupId=&curatedCalendarId=PubblicoIscriviti agli eventi come feed calendario ICS
GET/group/:groupIdJWTOttieni gli eventi per un gruppo (include le date di eccezione)
GET/public/group/:churchId/:groupIdPubblicoOttieni gli eventi pubblici per un gruppo
GET/:idJWTOttieni un evento per ID
POST/JWTCrea o aggiorna eventi (batch)
DELETE/:idJWTContent.EditElimina un evento

Eccezioni Eventi

Percorso base: /content/eventExceptions

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTOttieni un'eccezione evento per ID
POST/JWTContent.EditCrea o aggiorna eccezioni eventi (batch)
DELETE/:idJWTContent.EditElimina un'eccezione evento

Calendari Curati

Percorso base: /content/curatedCalendars

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTOttieni un calendario curato per ID
GET/JWTElenca tutti i calendari curati
POST/JWTContent.EditCrea o aggiorna calendari curati (batch)
DELETE/:idJWTContent.EditElimina un calendario curato

Eventi Curati

Percorso base: /content/curatedEvents

MetodoPercorsoAuthPermessoDescrizione
GET/calendar/:curatedCalendarId?withoutEventsJWTOttieni gli eventi curati per un calendario (include dettagli evento e date di eccezione a meno che ?withoutEvents sia impostato)
GET/public/calendar/:churchId/:curatedCalendarIdPubblicoOttieni gli eventi curati pubblici per un calendario
GET/:idJWTOttieni un evento curato per ID
GET/JWTElenca tutti gli eventi curati
POST/JWTContent.EditCrea o aggiorna eventi curati. Supporta l'array eventIds per aggiungere eventi specifici del gruppo
DELETE/:idJWTContent.EditElimina un evento curato
DELETE/calendar/:curatedCalendarId/event/:eventIdJWTContent.EditRimuovi un evento specifico da un calendario curato
DELETE/calendar/:curatedCalendarId/group/:groupIdJWTContent.EditRimuovi tutti gli eventi di un gruppo da un calendario curato

File

Percorso base: /content/files

MetodoPercorsoAuthPermessoDescrizione
GET/:contentType/:contentIdJWTOttieni i file per tipo di contenuto e ID contenuto
GET/JWTElenca tutti i file per il sito web della chiesa
GET/:idJWTOttieni un file per ID
POST/JWTContent.Edit*Carica file (base64). *Consentito anche se l'utente è membro del gruppo corrispondente a contentId
POST/postUrlJWTContent.Edit*Ottieni un URL di caricamento S3 pre-firmato. *Consentito anche per i membri del gruppo. Massimo 100MB per elemento di contenuto
DELETE/:idJWTContent.Edit*Elimina un file e rimuovilo dallo storage. *Consentito anche per i membri del gruppo

Galleria

Percorso base: /content/gallery

MetodoPercorsoAuthPermessoDescrizione
GET/stock/:folderPubblicoElenca le foto stock in una cartella
GET/:folderJWTContent.EditElenca le immagini della galleria in una cartella
POST/requestUploadJWTContent.EditOttieni un URL di caricamento S3 pre-firmato per un'immagine della galleria
DELETE/:folder/:imageJWTContent.EditElimina un'immagine della galleria

Bibbie

Percorso base: /content/bibles

Tutti gli endpoint delle Bibbie sono pubblici (nessuna autenticazione richiesta). I dati vengono recuperati da fonti esterne e memorizzati nella cache locale.

MetodoPercorsoAuthPermessoDescrizione
GET/PubblicoElenca tutte le traduzioni bibliche (recupera dalla fonte se la cache è vuota)
GET/stats?startDate=&endDate=PubblicoOttieni le statistiche di ricerca biblica per un intervallo di date
GET/availableTranslations/:sourcePubblicoElenca le traduzioni disponibili da una fonte (es. api.bible)
GET/updateTranslationsPubblicoSincronizza tutte le traduzioni da tutte le fonti
GET/updateTranslations/:sourcePubblicoSincronizza le traduzioni da una fonte specifica
GET/updateCopyrightsPubblicoAggiorna le informazioni sul copyright per le traduzioni che ne sono prive
GET/:translationKey/updateCopyrightPubblicoAggiorna il copyright per una traduzione specifica
GET/:translationKey/search?query=&limit=PubblicoCerca versetti in una traduzione
GET/:translationKey/booksPubblicoOttieni i libri per una traduzione (memorizzati nella cache locale)
GET/:translationKey/:bookKey/chaptersPubblicoOttieni i capitoli per un libro (memorizzati nella cache locale)
GET/:translationKey/chapters/:chapterKey/versesPubblicoOttieni i versetti per un capitolo (memorizzati nella cache locale)
GET/:translationKey/verses/:startVerseKey-:endVerseKeyPubblicoOttieni il testo dei versetti per un intervallo. Registra le ricerche. Alcune traduzioni bypassano la cache per motivi di licenza

Esempio: Ottieni il Testo del Versetto

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 }
]

Canti

Percorso base: /content/songs

MetodoPercorsoAuthPermessoDescrizione
GET/search?q=JWTCerca canti per query
GET/:idJWTOttieni un canto per ID
GET/JWTContent.EditElenca tutti i canti
POST/JWTContent.EditCrea o aggiorna canti (batch)
POST/importJWTImporta canti da FreeShow (batch)
DELETE/:idJWTContent.EditElimina un canto

Dettagli Canto

Percorso base: /content/songDetails

I dettagli dei canti sono globali (non legati alla chiesa). Rappresentano i metadati canonici dei canti condivisi tra le chiese.

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTOttieni un dettaglio del canto per ID (globale)
GET/JWTElenca i dettagli dei canti per la chiesa
POST/createJWTCrea un dettaglio del canto dall'ID PraiseCharts (restituisce quello esistente se già creato). Recupera automaticamente i metadati da PraiseCharts e MusicBrainz
POST/JWTCrea o aggiorna dettagli dei canti (batch)

Percorso base: /content/songDetailLinks

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTOttieni un link dettaglio canto per ID
GET/songDetail/:songDetailIdJWTOttieni tutti i link per un dettaglio del canto
POST/JWTCrea o aggiorna link dettagli canto (batch). Recupera automaticamente i dati MusicBrainz se collegato
DELETE/:idJWTElimina un link dettaglio canto

Arrangiamenti

Percorso base: /content/arrangements

MetodoPercorsoAuthPermessoDescrizione
GET/:idJWTOttieni un arrangiamento per ID
GET/song/:songIdJWTContent.EditOttieni gli arrangiamenti per un canto
GET/songDetail/:songDetailIdJWTContent.EditOttieni gli arrangiamenti per un dettaglio del canto
GET/JWTContent.EditElenca tutti gli arrangiamenti
POST/JWTContent.EditCrea o aggiorna arrangiamenti (batch)
POST/freeShow/missingJWTTrova gli ID FreeShow che non esistono nella chiesa. Body: { freeShowIds: string[] }
DELETE/:idJWTContent.EditElimina un arrangiamento (elimina anche le chiavi; elimina il canto se non rimangono arrangiamenti)

Chiavi Arrangiamento

Percorso base: /content/arrangementKeys

MetodoPercorsoAuthPermessoDescrizione
GET/presenter/:churchId/:idPubblicoOttieni la chiave dell'arrangiamento con i dati completi del canto per la vista presentatore
GET/:idJWTOttieni una chiave dell'arrangiamento per ID
GET/arrangement/:arrangementIdJWTContent.EditOttieni le chiavi per un arrangiamento
GET/JWTContent.EditElenca tutte le chiavi degli arrangiamenti
POST/JWTContent.EditCrea o aggiorna chiavi degli arrangiamenti (batch)
DELETE/:idJWTContent.EditElimina una chiave dell'arrangiamento

Impostazioni

Percorso base: /content/settings

MetodoPercorsoAuthPermessoDescrizione
GET/myJWTOttieni le impostazioni dell'utente corrente
GET/JWTSettings.EditOttieni tutte le impostazioni per la chiesa
GET/public/:churchIdPubblicoOttieni le impostazioni pubbliche per una chiesa (restituite come coppie chiave-valore)
GET/imports?playlistId=&channelId=&type=JWTSettings.EditOttieni le impostazioni di importazione automatica (ID canale YouTube/Vimeo)
POST/myJWTSalva le impostazioni a livello utente (supporta caricamento immagini in base64)
POST/JWTSettings.EditSalva le impostazioni a livello chiesa (supporta caricamento immagini in base64)
DELETE/my/:idJWTElimina un'impostazione utente

Anteprima

Percorso base: /content/preview

MetodoPercorsoAuthPermessoDescrizione
GET/data/:keyPubblicoCarica i dati di anteprima streaming per una chiesa per chiave sottodominio (schede, link, servizi, prediche)

Galleria (Foto Stock)

Percorso base: /content/stock

MetodoPercorsoAuthPermessoDescrizione
POST/searchPubblicoCerca foto stock Pexels. Body: { term: "church" }

PraiseCharts

Percorso base: /content/praiseCharts

Integrazione con PraiseCharts per la scoperta di canti di culto e il download di spartiti.

MetodoPercorsoAuthPermessoDescrizione
GET/raw/:idJWTOttieni i dati grezzi PraiseCharts per un canto
GET/hasAccountJWTVerifica se l'utente ha un account PraiseCharts collegato
GET/search?q=JWTCerca nel catalogo PraiseCharts
GET/products/:id?keys=JWTOttieni i prodotti per un canto (dalla libreria se autenticato, altrimenti dal catalogo)
GET/arrangement/raw/:id?keys=JWTOttieni i dati grezzi dell'arrangiamento dalla libreria
GET/download?skus=&keys=&file_name=JWTScarica un file da PraiseCharts (PDF o ZIP). Restituisce { redirectUrl }
GET/authUrl?returnUrl=PubblicoOttieni l'URL di autorizzazione OAuth per PraiseCharts
GET/access?verifier=&token=&secret=JWTScambia il verificatore OAuth per il token di accesso e salvalo nelle impostazioni utente
GET/libraryJWTSfoglia la libreria PraiseCharts dell'utente

Supporto

Percorso base: /content/support

MetodoPercorsoAuthPermessoDescrizione
POST/createAudioPubblicoConverti SSML in audio MP3 utilizzando AWS Polly. Body: { ssml: "<speak>...</speak>" }

Pagine Correlate