Naar hoofdinhoud gaan

Open Lesson Format

The Open Lesson Format is een gestandaardiseerd JSON-schema dat inhoudsaanbieders van derden in staat stelt om onderwijs voor Lessons.church uit te geven. Elke organisatie die een feed in dit formaat host, kan als externe provider worden toegevoegd, waardoor hun inhoud naast de ingebouwde bibliotheek kan worden doorbladerd en afgespeeld.

Hoe Het Werkt

Een provider host twee soorten eindpunten:

  1. Provider Tree -- Een enkele URL die de volledige katalogus van programma's, studies, lessen en plaatsen retourneert. Elke plaats bevat een feed-URL die naar de gedetailleerde lesseninhoud wijst.
  2. Venue Feed -- Eén URL per plaats, die de volledige lesseninhoud retourneert (secties, acties en mediabestanden).

Wanneer een kerk uw provider-URL in Lessons.church toevoegt, haalt het platform uw boom op om beschikbare inhoud te ontdekken, en haalt vervolgens afzonderlijke venuefeed's op aanvraag op.

Provider Tree

Uw provider-URL moet een JSON-object met deze structuur retourneren:

{
"programs": [
{
"id": "program-1",
"name": "Gospel of Mark",
"slug": "gospel-of-mark",
"image": "https://example.com/images/mark.jpg",
"about": "A 12-week study through the Gospel of Mark.",
"studies": [
{
"id": "study-1",
"name": "The Beginning",
"slug": "the-beginning",
"image": "https://example.com/images/study1.jpg",
"lessons": [
{
"id": "lesson-1",
"name": "The Baptism of Jesus",
"slug": "baptism-of-jesus",
"title": "The Baptism of Jesus",
"image": "https://example.com/images/lesson1.jpg",
"description": "An introduction to Jesus' ministry.",
"venues": [
{
"id": "venue-1",
"name": "Kids",
"apiUrl": "https://example.com/feed/venues/venue-1"
},
{
"id": "venue-2",
"name": "Adults",
"apiUrl": "https://example.com/feed/venues/venue-2"
}
]
}
]
}
]
}
]
}

Tree Fields

FieldTypeDescription
programs[].idstringUnieke programma-ID
programs[].namestringWeergavenaam
programs[].slugstringURL-vriendelijke naam
programs[].imagestringProgramma-afbeelding-URL (optioneel)
programs[].aboutstringBeschrijving (optioneel)
studies[].idstringUnieke studie-ID
studies[].namestringWeergavenaam
studies[].slugstringURL-vriendelijke naam
studies[].imagestringStudie-afbeelding-URL (optioneel)
lessons[].idstringUnieke les-ID
lessons[].namestringWeergavenaam
lessons[].slugstringURL-vriendelijke naam
lessons[].titlestringVolledige titel
lessons[].imagestringLes-afbeelding-URL (optioneel)
lessons[].descriptionstringLesbeschrijving (optioneel)
venues[].idstringUnieke plaats-ID
venues[].namestringPlaats-naam (bijv. "Kids", "Adults", "Youth")
venues[].apiUrlstringURL die de plaats feed retourneert (zie hieronder)

Venues vertegenwoordigen verschillende versies van dezelfde les op maat van verschillende doelgroepen (leeftijdsgroepen, instellingen, enz.).

Venue Feed

De apiUrl van elke plaats moet een JSON-object retourneren dat overeenkomt met dit schema:

{
"id": "venue-1",
"name": "Kids",
"lessonId": "lesson-1",
"lessonName": "The Baptism of Jesus",
"lessonImage": "https://example.com/images/lesson1.jpg",
"lessonDescription": "An introduction to Jesus' ministry.",
"studyName": "The Beginning",
"studySlug": "the-beginning",
"programName": "Gospel of Mark",
"programSlug": "gospel-of-mark",
"programAbout": "A 12-week study through the Gospel of Mark.",
"downloads": [],
"sections": [
{
"id": "section-1",
"name": "Opening Discussion",
"sort": 1,
"materials": "Whiteboard and markers",
"actions": [
{
"id": "action-1",
"actionType": "text",
"content": "**Key Verse:** Mark 1:9-11",
"sort": 1
},
{
"id": "action-2",
"actionType": "question",
"content": "What do you know about baptism?",
"sort": 2,
"role": "Leader"
},
{
"id": "action-3",
"actionType": "play",
"content": "Intro Video",
"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
}
]
}
]
}
]
}

Venue Feed Fields

Root Object

FieldTypeDescription
idstringPlaats-ID
namestringPlaats-naam
lessonIdstringLes-ID
lessonNamestringLes-weergavenaam
lessonImagestringLes-afbeelding-URL
lessonDescriptionstringLesbeschrijving
studyNamestringBovenliggende studie-naam
studySlugstringBovenliggende studie slug
programNamestringBovenliggend programmanaam
programSlugstringBovenliggend programma slug
programAboutstringProgramma-beschrijving
downloadsarrayDownloadbare bestandsbundels
sectionsarrayGeordende lessecties

Section

FieldTypeDescription
idstringSectie-ID
namestringSectietitel
sortnumberWeergavevolgorde
materialsstringMaterialen of voorbereiding-aantekeningen (optioneel)
actionsarrayGeordende acties in dit gedeelte

Action

FieldTypeDescription
idstringActie-ID
actionTypestringEen van: play, text, question, quote, subhead
contentstringTekstinhoud of medialabel
sortnumberWeergavevolgorde
rolestringRolnaam, bijv. "Leader", "Kids" (optioneel)
roleIdstringRol-ID (optioneel)
filesarrayMediabestanden voor play-acties (optioneel)

File

FieldTypeDescription
idstringBestand-ID
namestringBestandsnaam
urlstringDirecte download-URL
streamUrlstringStreaming-URL, bijv. Vimeo link (optioneel)
fileTypestringMIME-type (bijv. video/mp4, image/jpeg)
secondsnumberDuur in seconden voor audio/video (optioneel)
bytesnumberBestandsgrootte in bytes (optioneel)
thumbnailstringMiniatuurafbeelding-URL (optioneel)
loopbooleanOf media moet lussen (optioneel, standaard onwaar)

Download

FieldTypeDescription
namestringDownload-bundelnaam (bijv. "Printable Materials")
filesarrayBestanden in deze download-bundel (dezelfde velden als File hierboven)

Action Types

TypePurpose
playMedia afspelen -- video, audio of diashow. Moet files bevatten.
textStatische tekstinhoud. Ondersteunt markdown-stijl vet (**text**).
questionDiscussie of reflectievraag voor het publiek.
quoteEen gemarkeerde citaat of Schrifturengedeelte.
subheadEen kop of scheidslijn binnen een sectie.
tip

Ga naar https://api.lessons.church/lessons/public/tree om een werkend voorbeeld van de feed in actie te zien en haal een willekeurige plaats feed URL ervan op.