Vai al contenuto principale

Formato Open Lesson

Il Formato Open Lesson e uno schema JSON standardizzato che consente ai fornitori di contenuti di terze parti di pubblicare materiale didattico per Lessons.church. Qualsiasi organizzazione che ospita un feed in questo formato puo essere aggiunta come fornitore esterno, rendendo i suoi contenuti navigabili e riproducibili insieme alla libreria integrata.

Come funziona

Un fornitore ospita due tipi di endpoint:

  1. Provider Tree -- Un singolo URL che restituisce il catalogo completo di programmi, studi, lezioni e ambienti. Ogni ambiente include un URL di feed che punta al contenuto dettagliato della lezione.
  2. Venue Feed -- Un URL per ogni ambiente, che restituisce il contenuto completo della lezione (sezioni, azioni e file multimediali).

Quando una chiesa aggiunge l'URL del vostro fornitore in Lessons.church, la piattaforma recupera il vostro albero per scoprire i contenuti disponibili, quindi recupera i singoli feed dell'ambiente su richiesta.

Provider Tree

L'URL del vostro fornitore deve restituire un oggetto JSON con questa struttura:

{
"programs": [
{
"id": "program-1",
"name": "Vangelo di Marco",
"slug": "gospel-of-mark",
"image": "https://example.com/images/mark.jpg",
"about": "Uno studio di 12 settimane attraverso il Vangelo di Marco.",
"studies": [
{
"id": "study-1",
"name": "L'Inizio",
"slug": "the-beginning",
"image": "https://example.com/images/study1.jpg",
"lessons": [
{
"id": "lesson-1",
"name": "Il Battesimo di Gesu",
"slug": "baptism-of-jesus",
"title": "Il Battesimo di Gesu",
"image": "https://example.com/images/lesson1.jpg",
"description": "Un'introduzione al ministero di Gesu.",
"venues": [
{
"id": "venue-1",
"name": "Bambini",
"apiUrl": "https://example.com/feed/venues/venue-1"
},
{
"id": "venue-2",
"name": "Adulti",
"apiUrl": "https://example.com/feed/venues/venue-2"
}
]
}
]
}
]
}
]
}

Campi del Provider Tree

CampoTipoDescrizione
programs[].idstringIdentificatore univoco del programma
programs[].namestringNome visualizzato
programs[].slugstringNome adatto per URL
programs[].imagestringURL dell'immagine del programma (opzionale)
programs[].aboutstringDescrizione (opzionale)
studies[].idstringIdentificatore univoco dello studio
studies[].namestringNome visualizzato
studies[].slugstringNome adatto per URL
studies[].imagestringURL dell'immagine dello studio (opzionale)
lessons[].idstringIdentificatore univoco della lezione
lessons[].namestringNome visualizzato
lessons[].slugstringNome adatto per URL
lessons[].titlestringTitolo completo
lessons[].imagestringURL dell'immagine della lezione (opzionale)
lessons[].descriptionstringRiassunto della lezione (opzionale)
venues[].idstringIdentificatore univoco dell'ambiente
venues[].namestringNome dell'ambiente (es. "Bambini", "Adulti", "Giovani")
venues[].apiUrlstringURL che restituisce il feed dell'ambiente (vedi sotto)

Gli ambienti rappresentano diverse versioni della stessa lezione adattate per diversi tipi di pubblico (gruppi di eta, contesti, ecc.).

Venue Feed

L'URL apiUrl di ogni ambiente deve restituire un oggetto JSON che corrisponda a questo schema:

{
"id": "venue-1",
"name": "Bambini",
"lessonId": "lesson-1",
"lessonName": "Il Battesimo di Gesu",
"lessonImage": "https://example.com/images/lesson1.jpg",
"lessonDescription": "Un'introduzione al ministero di Gesu.",
"studyName": "L'Inizio",
"studySlug": "the-beginning",
"programName": "Vangelo di Marco",
"programSlug": "gospel-of-mark",
"programAbout": "Uno studio di 12 settimane attraverso il Vangelo di Marco.",
"downloads": [],
"sections": [
{
"id": "section-1",
"name": "Discussione iniziale",
"sort": 1,
"materials": "Lavagna e pennarelli",
"actions": [
{
"id": "action-1",
"actionType": "text",
"content": "**Versetto chiave:** Marco 1:9-11",
"sort": 1
},
{
"id": "action-2",
"actionType": "question",
"content": "Cosa sai del battesimo?",
"sort": 2,
"role": "Leader"
},
{
"id": "action-3",
"actionType": "play",
"content": "Video introduttivo",
"sort": 3,
"files": [
{
"id": "file-1",
"name": "intro-video.mp4",
"url": "https://example.com/media/intro.mp4",
"streamUrl": "https://vimeo.com/123456789",
"fileType": "video/mp4",
"seconds": 180,
"bytes": 52428800,
"thumbnail": "https://example.com/media/intro-thumb.jpg",
"loop": false
}
]
}
]
}
]
}

Campi del Venue Feed

Oggetto radice

CampoTipoDescrizione
idstringIdentificatore dell'ambiente
namestringNome dell'ambiente
lessonIdstringIdentificatore della lezione
lessonNamestringNome visualizzato della lezione
lessonImagestringURL dell'immagine della lezione
lessonDescriptionstringRiassunto della lezione
studyNamestringNome dello studio principale
studySlugstringSlug dello studio principale
programNamestringNome del programma principale
programSlugstringSlug del programma principale
programAboutstringDescrizione del programma
downloadsarrayPacchetti di file scaricabili
sectionsarraySezioni della lezione ordinate

Sezione

CampoTipoDescrizione
idstringIdentificatore della sezione
namestringTitolo della sezione
sortnumberOrdine di visualizzazione
materialsstringMateriali o note di preparazione (opzionale)
actionsarrayAzioni ordinate all'interno di questa sezione

Azione

CampoTipoDescrizione
idstringIdentificatore dell'azione
actionTypestringUno di: play, text, question, quote, subhead
contentstringContenuto testuale o etichetta del media
sortnumberOrdine di visualizzazione
rolestringNome del ruolo, es. "Leader", "Bambini" (opzionale)
roleIdstringIdentificatore del ruolo (opzionale)
filesarrayFile multimediali per azioni play (opzionale)

File

CampoTipoDescrizione
idstringIdentificatore del file
namestringNome del file
urlstringURL di download diretto
streamUrlstringURL di streaming, es. collegamento Vimeo (opzionale)
fileTypestringTipo MIME (es. video/mp4, image/jpeg)
secondsnumberDurata in secondi per audio/video (opzionale)
bytesnumberDimensione del file in byte (opzionale)
thumbnailstringURL dell'immagine in miniatura (opzionale)
loopbooleanSe il media deve ripetersi in loop (opzionale, predefinito false)

Download

CampoTipoDescrizione
namestringNome del pacchetto di download (es. "Materiali stampabili")
filesarrayFile in questo pacchetto di download (stessi campi del File sopra)

Tipi di azione

TipoScopo
playRiproduzione di media -- video, audio o presentazione. Deve includere files.
textContenuto testuale statico. Supporta grassetto nello stile markdown (**text**).
questionDomanda di discussione o riflessione per il pubblico.
quoteUna citazione in evidenza o brano biblico.
subheadUn'intestazione o divisore all'interno di una sezione.
Suggerimento

Per vedere un esempio funzionante del feed in azione, potete visualizzare l'albero dei contenuti di Lessons.church integrato su https://api.lessons.church/lessons/public/tree e recuperare qualsiasi URL di feed dell'ambiente da esso.