Zum Hauptinhalt springen

Content-Endpunkte

Das Content-Modul verwaltet Website-Seiten, Abschnitte, Elemente, Blöcke, Blogbeiträge, Weiterleitungen, Predigten, Playlists, Streaming-Dienste, Termine, kuratierte Kalender, Dateien, Galerien, Bibelübersetzungen und Versnachschlagewerke, Songs, Arrangements, globale Stile, Stockfotos und Einstellungen. Es ist das größte Modul der API und treibt das CMS, Medien-/Streaming-Funktionen, die Gottesdienstplanung und die Bibel-Funktionen in allen ChurchApps-Anwendungen an.

Basispfad: /content

Seiten (Pages)​

Basispfad: /content/pages

MethodePfadAuthBerechtigungBeschreibung
GET/:churchId/tree?url=&id=Öffentlich—Vollständigen Seitenbaum (Abschnitte, Elemente, Blöcke) anhand von URL oder ID laden. Entfernt interne IDs bei Abruf über URL. URL-basierte Abrufe erzwingen pages.visibility — eine gesperrte Seite liefert { restricted: true, visibility }, sofern das (optionale) JWT die Bedingung nicht erfüllt
GET/public/:churchIdÖffentlich—Öffentliche Seiten auflisten (url, title, metaDescription); nur visibility = everyone
GET/:idJWT—Eine Seite anhand der ID abrufen
GET/JWT—Alle Seiten der Kirche auflisten
POST/duplicate/:idJWTContent.EditEine Seite mit allen Abschnitten und Elementen duplizieren
POST/temp/aiJWTContent.EditEine KI-generierte Seite speichern (Seite, Abschnitte und Elemente in einem Aufruf)
POST/JWTContent.EditSeiten erstellen oder aktualisieren (Batch)
DELETE/:idJWTContent.EditEine Seite löschen

Beispiel: Seitenbaum laden​

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

Abschnitte (Sections)​

Basispfad: /content/sections

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWT—Einen Abschnitt anhand der ID abrufen
POST/duplicate/:id?convertToBlock=JWTContent.EditEinen Abschnitt duplizieren oder in einen wiederverwendbaren Block umwandeln
POST/JWTContent.EditAbschnitte erstellen oder aktualisieren (Batch). Aktualisiert die Sortierreihenfolge automatisch
DELETE/:idJWTContent.EditEinen Abschnitt löschen (aktualisiert die Sortierreihenfolge automatisch)

Elemente (Elements)​

Basispfad: /content/elements

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWT—Ein Element anhand der ID abrufen
POST/duplicate/:idJWTContent.EditEin Element mit allen untergeordneten Elementen duplizieren
POST/JWTContent.EditElemente erstellen oder aktualisieren (Batch). Verwaltet Zeilenspalten und Karussell-Folien automatisch
DELETE/:idJWTContent.EditEin Element löschen

Blöcke (Blocks)​

Basispfad: /content/blocks

Erweitert Standard-CRUD (GET /:id, GET /, POST /, DELETE /:id aus der Basisklasse, mit Content.Edit-Berechtigung für Schreibzugriffe).

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWT—Einen Block anhand der ID abrufen
GET/JWT—Alle Blöcke auflisten
GET/:churchId/tree/:idÖffentlich—Vollständigen Blockbaum mit Abschnitten und Elementen laden
GET/blockType/:blockTypeJWT—Blöcke nach Typ laden (z. B. footerBlock, elementBlock)
GET/public/footer/:churchIdÖffentlich—Footer-Blockbaum einer Kirche laden
POST/JWTContent.EditBlöcke erstellen oder aktualisieren
DELETE/:idJWTContent.EditEinen Block löschen

Basispfad: /content/links

Erweitert Standard-CRUD (GET /:id, GET /, POST /, DELETE /:id aus der Basisklasse, mit Content.Edit-Berechtigung für Schreibzugriffe).

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWT—Einen Link anhand der ID abrufen
GET/JWT—Alle Links auflisten. Optionaler ?category=-Filter. Sortiert nach dem Speichern automatisch
GET/church/:churchId/filtered?category=JWT—Links gefiltert nach Sichtbarkeit laden (everyone, visitors, members, staff, groups)
GET/church/:churchId?category=Öffentlich—Links einer Kirche nach Kategorie laden (öffentlich)
POST/JWTContent.EditLinks erstellen oder aktualisieren (Batch). Sortiert automatisch nach Kategorie
DELETE/:idJWTContent.EditEinen Link löschen

Globale Stile (Global Styles)​

Basispfad: /content/globalStyles

Erweitert Standard-CRUD (POST /, DELETE /:id aus der Basisklasse, mit Content.Edit-Berechtigung für Schreibzugriffe).

MethodePfadAuthBerechtigungBeschreibung
GET/church/:churchIdÖffentlich—Globale Stile einer Kirche laden (liefert Standardwerte, falls keine gesetzt sind)
GET/JWT—Globale Stile der authentifizierten Kirche laden
POST/JWTContent.EditGlobale Stile erstellen oder aktualisieren
DELETE/:idJWTContent.EditGlobale Stile löschen

Seitenverlauf (Page History)​

Basispfad: /content/pageHistory

MethodePfadAuthBerechtigungBeschreibung
GET/page/:pageIdJWTContent.EditVerlaufseinträge für eine Seite auflisten
GET/block/:blockIdJWTContent.EditVerlaufseinträge für einen Block auflisten
GET/:idJWTContent.EditEinen Verlaufseintrag anhand der ID abrufen
POST/JWTContent.EditEinen Seiten-/Block-Snapshot speichern. Bereinigt periodisch Einträge, die älter als 30 Tage sind
POST/restore/:idJWTContent.EditEine Seite/einen Block aus einem Verlaufs-Snapshot wiederherstellen (löscht den aktuellen Inhalt und erstellt ihn aus dem Snapshot neu)
POST/restoreSnapshotJWTContent.EditAus einem eingebetteten Snapshot-Objekt wiederherstellen. Body: { pageId, blockId, snapshot }

Beiträge (Blog)​

Basispfad: /content/posts

Blogbeiträge sind eigenständige Datensätze: title, slug (eindeutig je Kirche), excerpt, content (Markdown-Text), authorId, photoUrl, publishDate, category und tags. Ein Beitrag ist veröffentlicht, sobald publishDate gesetzt ist und in der Vergangenheit liegt. Lese-Endpunkte reichern jeden Beitrag mit dem aus authorId aufgelösten authorName an. Siehe Website-Builder-Architektur.

MethodePfadAuthBerechtigungBeschreibung
GET/public/:churchId?category=&tag=&page=&pageSize=Öffentlich—Veröffentlichte Beiträge auflisten, paginiert (max. 50 pro Seite)
GET/public/:churchId/categoriesÖffentlich—Eindeutige Kategorien aller veröffentlichten Beiträge
GET/public/:churchId/slug/:slugÖffentlich—Einen veröffentlichten Beitrag anhand des Slugs abrufen
GET/rss/:churchId?siteUrl=Öffentlich—RSS-2.0-Feed veröffentlichter Beiträge (Links werden als {siteUrl}/blog/{slug} gebildet)
GET/:idJWT—Einen Beitrag anhand der ID abrufen
GET/JWT—Alle Beiträge der Kirche auflisten
POST/JWTContent.EditBeiträge erstellen oder aktualisieren (Batch)
DELETE/:idJWTContent.EditEinen Beitrag löschen

Weiterleitungen (Redirects)​

Basispfad: /content/redirects

Kirchenspezifische URL-Weiterleitungen (fromPath → toPath), begrenzt auf 200 pro Kirche. Pfade werden normalisiert (Kleinschreibung, führender Schrägstrich, kein abschließender Schrägstrich), und fromPath ist je Kirche eindeutig. B1App löst diese bei drohenden 404-Fehlern auf und gibt einen HTTP-308-Status aus.

MethodePfadAuthBerechtigungBeschreibung
GET/public/:churchId?path=Öffentlich—Einen Pfad auflösen (oder alle Weiterleitungen auflisten, wenn path weggelassen wird)
GET/:idJWT—Eine Weiterleitung anhand der ID abrufen
GET/JWT—Alle Weiterleitungen der Kirche auflisten
POST/JWTContent.EditWeiterleitungen erstellen oder aktualisieren. Lehnt fromPath = toPath ab und erzwingt die 200-Zeilen-Obergrenze
DELETE/:idJWTContent.EditEine Weiterleitung löschen

Predigten (Sermons)​

Basispfad: /content/sermons

MethodePfadAuthBerechtigungBeschreibung
GET/public/freeshowSampleJWT—Eine Beispiel-FreeShow-Playlist-Struktur abrufen
GET/public/tvWrapper/:churchIdJWT—TV-App-Wrapper mit Predigt-, Lektions- und FreeShow-Quellen abrufen
GET/public/tvFeed/:churchId/:sermonIdÖffentlich—Eine einzelne Predigt als TV-Feed-Playlist abrufen
GET/public/tvFeed/:churchIdÖffentlich—Alle öffentlichen Playlists/Predigten als TV-Feed abrufen
GET/public/:churchIdÖffentlich—Alle öffentlichen Predigten einer Kirche auflisten
GET/timeline?sermonIds=JWT—Zeitleistendaten für Predigten laden
GET/lookup?videoType=&videoData=Öffentlich—Predigt-Metadaten von YouTube oder Vimeo nachschlagen
GET/socialSuggestions?youtubeVideoId=JWT—KI-Vorschläge für Social-Media-Beiträge anhand der Predigt-Untertitel erzeugen
GET/outline?url=&title=&author=JWT—KI-generierte Lektionsgliederung aus einer URL erzeugen
GET/youtubeImport/:channelIdJWT—Videos von einem YouTube-Kanal importieren
GET/vimeoImport/:channelIdJWT—Videos von einem Vimeo-Kanal importieren
GET/:idJWT—Eine Predigt anhand der ID abrufen
GET/JWT—Alle Predigten auflisten
POST/JWTStreamingServices.EditPredigten erstellen oder aktualisieren (Batch, unterstützt Base64-Thumbnail-Upload)
DELETE/:idJWTStreamingServices.EditEine Predigt löschen

Beispiel: Eine YouTube-Predigt nachschlagen​

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

Playlists​

Basispfad: /content/playlists

Erweitert Standard-CRUD (GET /:id, GET /, DELETE /:id aus der Basisklasse, mit StreamingServices.Edit-Berechtigung für Schreibzugriffe).

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWT—Eine Playlist anhand der ID abrufen
GET/JWT—Alle Playlists auflisten
GET/public/:churchIdÖffentlich—Alle öffentlichen Playlists einer Kirche auflisten
POST/JWTStreamingServices.EditPlaylists erstellen oder aktualisieren (Batch, unterstützt Base64-Thumbnail-Upload)
DELETE/:idJWTStreamingServices.EditEine Playlist löschen

Streaming-Dienste (Streaming Services)​

Basispfad: /content/streamingServices

MethodePfadAuthBerechtigungBeschreibung
GET/:id/hostChatJWTChat.HostVerschlüsselte Host-Chatraum-ID für einen Dienst abrufen
GET/JWT—Alle Streaming-Dienste auflisten. Bereinigt automatisch abgelaufene, nicht wiederkehrende Dienste und führt wiederkehrende Dienste weiter
POST/JWTStreamingServices.EditStreaming-Dienste erstellen oder aktualisieren (Batch)
DELETE/:idJWTStreamingServices.EditEinen Streaming-Dienst löschen (löscht auch blockierte IPs)

Termine (Events)​

Basispfad: /content/events

MethodePfadAuthBerechtigungBeschreibung
GET/timeline/group/:groupId?eventIds=JWT—Zeitleisten-Termine für eine Gruppe laden
GET/timeline?eventIds=JWT—Zeitleisten-Termine für die Gruppen des aktuellen Benutzers laden
GET/subscribe?churchId=&groupId=&curatedCalendarId=Öffentlich—Termine als ICS-Kalender-Feed abonnieren
GET/group/:groupIdJWT—Termine für eine Gruppe abrufen (inklusive Ausnahmedaten)
GET/public/group/:churchId/:groupIdÖffentlich—Öffentliche Termine für eine Gruppe abrufen
GET/:idJWT—Einen Termin anhand der ID abrufen
POST/JWT—Termine erstellen oder aktualisieren (Batch)
DELETE/:idJWTContent.EditEinen Termin löschen

Termin-Ausnahmen (Event Exceptions)​

Basispfad: /content/eventExceptions

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWT—Eine Terminausnahme anhand der ID abrufen
POST/JWTContent.EditTerminausnahmen erstellen oder aktualisieren (Batch)
DELETE/:idJWTContent.EditEine Terminausnahme löschen

Kuratierte Kalender (Curated Calendars)​

Basispfad: /content/curatedCalendars

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWT—Einen kuratierten Kalender anhand der ID abrufen
GET/JWT—Alle kuratierten Kalender auflisten
POST/JWTContent.EditKuratierte Kalender erstellen oder aktualisieren (Batch)
DELETE/:idJWTContent.EditEinen kuratierten Kalender löschen

Kuratierte Termine (Curated Events)​

Basispfad: /content/curatedEvents

MethodePfadAuthBerechtigungBeschreibung
GET/calendar/:curatedCalendarId?withoutEventsJWT—Kuratierte Termine für einen Kalender abrufen (inklusive Termindetails und Ausnahmedaten, sofern ?withoutEvents nicht gesetzt ist)
GET/public/calendar/:churchId/:curatedCalendarIdÖffentlich—Öffentliche kuratierte Termine für einen Kalender abrufen
GET/:idJWT—Einen kuratierten Termin anhand der ID abrufen
GET/JWT—Alle kuratierten Termine auflisten
POST/JWTContent.EditKuratierte Termine erstellen oder aktualisieren. Unterstützt ein eventIds-Array, um bestimmte Gruppentermine hinzuzufügen
DELETE/:idJWTContent.EditEinen kuratierten Termin löschen
DELETE/calendar/:curatedCalendarId/event/:eventIdJWTContent.EditEinen bestimmten Termin aus einem kuratierten Kalender entfernen
DELETE/calendar/:curatedCalendarId/group/:groupIdJWTContent.EditAlle Termine einer Gruppe aus einem kuratierten Kalender entfernen

Dateien (Files)​

Basispfad: /content/files

MethodePfadAuthBerechtigungBeschreibung
GET/:contentType/:contentIdJWT—Dateien nach Content-Typ und Content-ID abrufen
GET/JWT—Alle Dateien für die Kirchen-Website auflisten
GET/:idJWT—Eine Datei anhand der ID abrufen
POST/JWTContent.Edit*Dateien hochladen (Base64). *Auch erlaubt, wenn der Benutzer Mitglied der Gruppe ist, die contentId entspricht
POST/postUrlJWTContent.Edit*Eine vorsignierte S3-Upload-URL abrufen. *Auch für Gruppenmitglieder erlaubt. Max. 100 MB pro Content-Element
DELETE/:idJWTContent.Edit*Eine Datei löschen und aus dem Speicher entfernen. *Auch für Gruppenmitglieder erlaubt

Basispfad: /content/gallery

MethodePfadAuthBerechtigungBeschreibung
GET/stock/:folderÖffentlich—Stockfotos in einem Ordner auflisten
GET/:folderJWTContent.EditGaleriebilder in einem Ordner auflisten
POST/requestUploadJWTContent.EditEine vorsignierte S3-Upload-URL für ein Galeriebild abrufen
DELETE/:folder/:imageJWTContent.EditEin Galeriebild löschen

Bibeln (Bibles)​

Basispfad: /content/bibles

Alle Bibel-Endpunkte sind öffentlich (keine Authentifizierung erforderlich). Die Daten werden aus externen Quellen bezogen und lokal zwischengespeichert.

MethodePfadAuthBerechtigungBeschreibung
GET/Öffentlich—Alle Bibelübersetzungen auflisten (ruft von der Quelle ab, falls der Cache leer ist)
GET/stats?startDate=&endDate=Öffentlich—Bibel-Nachschlagestatistiken für einen Datumsbereich abrufen
GET/availableTranslations/:sourceÖffentlich—Verfügbare Übersetzungen einer Quelle auflisten (z. B. api.bible)
GET/updateTranslationsÖffentlich—Alle Übersetzungen aus allen Quellen synchronisieren
GET/updateTranslations/:sourceÖffentlich—Übersetzungen aus einer bestimmten Quelle synchronisieren
GET/updateCopyrightsÖffentlich—Copyright-Informationen für Übersetzungen aktualisieren, denen diese fehlen
GET/:translationKey/updateCopyrightÖffentlich—Copyright für eine bestimmte Übersetzung aktualisieren
GET/:translationKey/search?query=&limit=Öffentlich—Verse in einer Übersetzung durchsuchen
GET/:translationKey/booksÖffentlich—Bücher einer Übersetzung abrufen (wird lokal zwischengespeichert)
GET/:translationKey/:bookKey/chaptersÖffentlich—Kapitel eines Buches abrufen (wird lokal zwischengespeichert)
GET/:translationKey/chapters/:chapterKey/versesÖffentlich—Verse eines Kapitels abrufen (wird lokal zwischengespeichert)
GET/:translationKey/verses/:startVerseKey-:endVerseKeyÖffentlich—Verstext für einen Bereich abrufen. Protokolliert Nachschlagevorgänge. Manche Übersetzungen umgehen aus Lizenzgründen das Caching

Beispiel: Verstext abrufen​

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

Songs​

Basispfad: /content/songs

MethodePfadAuthBerechtigungBeschreibung
GET/search?q=JWT—Songs anhand einer Suchanfrage durchsuchen
GET/:idJWT—Einen Song anhand der ID abrufen
GET/JWTContent.EditAlle Songs auflisten
POST/JWTContent.EditSongs erstellen oder aktualisieren (Batch)
POST/importJWT—Songs aus FreeShow importieren (Batch)
DELETE/:idJWTContent.EditEinen Song löschen

Song-Details (Song Details)​

Basispfad: /content/songDetails

Song-Details sind global (nicht kirchenspezifisch). Sie repräsentieren kanonische Song-Metadaten, die kirchenübergreifend gemeinsam genutzt werden.

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWT—Ein Song-Detail anhand der ID abrufen (global)
GET/JWT—Song-Details für die Kirche auflisten
POST/createJWT—Ein Song-Detail aus einer PraiseCharts-ID erstellen (liefert das vorhandene, falls bereits erstellt). Ruft Metadaten automatisch von PraiseCharts und MusicBrainz ab
POST/JWT—Song-Details erstellen oder aktualisieren (Batch)

Basispfad: /content/songDetailLinks

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWT—Einen Song-Detail-Link anhand der ID abrufen
GET/songDetail/:songDetailIdJWT—Alle Links für ein Song-Detail abrufen
POST/JWT—Song-Detail-Links erstellen oder aktualisieren (Batch). Ruft bei Verknüpfung automatisch MusicBrainz-Daten ab
DELETE/:idJWT—Einen Song-Detail-Link löschen

Arrangements​

Basispfad: /content/arrangements

MethodePfadAuthBerechtigungBeschreibung
GET/:idJWT—Ein Arrangement anhand der ID abrufen
GET/song/:songIdJWTContent.EditArrangements für einen Song abrufen
GET/songDetail/:songDetailIdJWTContent.EditArrangements für ein Song-Detail abrufen
GET/JWTContent.EditAlle Arrangements auflisten
POST/JWTContent.EditArrangements erstellen oder aktualisieren (Batch)
POST/freeShow/missingJWT—FreeShow-IDs finden, die in der Kirche nicht existieren. Body: { freeShowIds: string[] }
DELETE/:idJWTContent.EditEin Arrangement löschen (löscht auch Tonarten; löscht den Song, falls keine Arrangements mehr verbleiben)

Arrangement-Tonarten (Arrangement Keys)​

Basispfad: /content/arrangementKeys

MethodePfadAuthBerechtigungBeschreibung
GET/presenter/:churchId/:idÖffentlich—Arrangement-Tonart mit vollständigen Songdaten für die Präsentationsansicht abrufen
GET/:idJWT—Eine Arrangement-Tonart anhand der ID abrufen
GET/arrangement/:arrangementIdJWTContent.EditTonarten für ein Arrangement abrufen
GET/JWTContent.EditAlle Arrangement-Tonarten auflisten
POST/JWTContent.EditArrangement-Tonarten erstellen oder aktualisieren (Batch)
DELETE/:idJWTContent.EditEine Arrangement-Tonart löschen

Einstellungen (Settings)​

Basispfad: /content/settings

MethodePfadAuthBerechtigungBeschreibung
GET/myJWT—Einstellungen des aktuellen Benutzers abrufen
GET/JWTSettings.EditAlle Einstellungen der Kirche abrufen
GET/public/:churchIdÖffentlich—Öffentliche Einstellungen einer Kirche abrufen (als Schlüssel-Wert-Paare geliefert)
POST/myJWT—Einstellungen auf Benutzerebene speichern (unterstützt Base64-Bild-Upload)
POST/JWTSettings.EditEinstellungen auf Kirchenebene speichern (unterstützt Base64-Bild-Upload)
DELETE/my/:idJWT—Eine Benutzereinstellung löschen

Vorschau (Preview)​

Basispfad: /content/preview

MethodePfadAuthBerechtigungBeschreibung
GET/data/:keyÖffentlich—Streaming-Vorschaudaten einer Kirche anhand des Subdomain-Schlüssels laden (Tabs, Links, Dienste, Predigten)

Galerie (Stockfotos)​

Basispfad: /content/stock

MethodePfadAuthBerechtigungBeschreibung
POST/searchÖffentlich—Pexels-Stockfotos durchsuchen. Body: { term: "church" }

PraiseCharts​

Basispfad: /content/praiseCharts

Integration mit PraiseCharts zur Entdeckung von Gottesdienstliedern und für Notenblatt-Downloads.

MethodePfadAuthBerechtigungBeschreibung
GET/raw/:idJWT—Rohdaten von PraiseCharts für einen Song abrufen
GET/hasAccountJWT—Prüfen, ob der Benutzer ein verknüpftes PraiseCharts-Konto hat
GET/search?q=JWT—Den PraiseCharts-Katalog durchsuchen
GET/products/:id?keys=JWT—Produkte für einen Song abrufen (aus der Bibliothek, falls authentifiziert, andernfalls aus dem Katalog)
GET/arrangement/raw/:id?keys=JWT—Rohe Arrangement-Daten aus der Bibliothek abrufen
GET/download?skus=&keys=&file_name=JWT—Eine Datei von PraiseCharts herunterladen (PDF oder ZIP). Liefert { redirectUrl }
GET/authUrl?returnUrl=Öffentlich—OAuth-Autorisierungs-URL für PraiseCharts abrufen
GET/access?verifier=&token=&secret=JWT—OAuth-Verifier gegen ein Zugriffstoken eintauschen und in den Benutzereinstellungen speichern
GET/libraryJWT—Die PraiseCharts-Bibliothek des Benutzers durchsuchen

Support​

Basispfad: /content/support

MethodePfadAuthBerechtigungBeschreibung
POST/createAudioÖffentlich—SSML mittels AWS Polly in MP3-Audio umwandeln. Body: { ssml: "<speak>...</speak>" }

Verwandte Seiten​