Verbinde einen Assistenten mit deinem SocialBlaze-Arbeitsbereich. Lies gespeicherte Beiträge und Berichte, bereite Entwürfe vor und plane Beiträge mit den von dir gewählten Berechtigungen.
Dein bestehender SocialBlaze-Tarif und deine Berechtigungen gelten weiterhin
BEGINNE MIT EINER REIN LESENDEN ANFRAGE
„Zeige meine verbundenen Kanäle und die nächsten 10 geplanten Beiträge.“
S
Arbeite mit deinen gespeicherten SocialBlaze-Daten.
Halte die Beiträge der einzelnen Kanäle getrennt. Prüfe jeweils Status, Text, Medien und geplantes Datum.
Du entscheidest, auf welche Konten und Aktionen dein Assistent zugreifen darf.
HIER STARTEN / MCP
In drei Schritten verbinden.
Mit MCP kann ein kompatibler KI-Client SocialBlaze-Tools nutzen. Du musst kein GraphQL schreiben, um über die benannten Tools Beiträge zu lesen, Entwürfe zu erstellen oder Veröffentlichungen zu planen.
01
Verbinde deine Kanäle
Melde dich bei SocialBlaze an und verbinde die gewünschten Netzwerke. Ein Assistent sieht nur die Kanäle, die zu seinem Zugriff gehören.
Gib die folgende Server-URL in den Einstellungen deines Clients für benutzerdefinierte Remote-MCP-Verbindungen ein. Wähle OAuth, wenn der Client den Autorisierungsablauf von SocialBlaze unterstützt.
03
Autorisieren, dann lesen
Melde dich an, prüfe die angeforderten Aktionen und wähle Kanäle aus. Beginne mit get_account oder list_channels. Prüfe die von deinem Client angeforderten Berechtigungen. Wenn eine Veröffentlichung angefordert wird, ist dafür eine ausdrückliche Zustimmung erforderlich. Für rein lesenden Zugriff muss der Client ausschließlich Leseberechtigungen anfordern; Analysen benötigen eine separate Berechtigung.
URL des Remote-MCP-Servers
https://backend.socialblaze.ai/api/developer/mcp
OAuth in einem kompatiblen Client
Nutze den Anmelde- und Zustimmungsablauf im Browser. Für eine OAuth-Verbindung musst du keinen Entwickler-API-Schlüssel erstellen oder einfügen. Beachte die Kanalauswahl der bestehenden Verbindung.
Client-Funktionen und Kontoverfügbarkeit können variieren. Eine benutzerdefinierte MCP-Verbindung bedeutet nicht, dass ein Connector im jeweiligen Marktplatz gelistet ist. Für eine persönliche Server-App verwende den API-Schnellstart; für andere Nutzer verwende die Registrierung einer OAuth-App.
Mit Claude verbinden
Öffne Anpassen > Konnektoren, wähle Add und dann Add custom connector. Nenne den Connector SocialBlaze, füge die obige MCP-Server-URL ein und fahre fort.
Prüfe die erkannten Authentifizierungseinstellungen. Wähle Sign in now und unter OAuth client die Option Register automatically. SocialBlaze nutzt die automatische Registrierung statt der veröffentlichten Identität von Claude. Melde dich bei SocialBlaze an, prüfe die angeforderten Berechtigungen, wähle Kanäle aus und schließe mit Add ab. Für diese OAuth-Verbindung brauchst du keinen API-Schlüssel.
Öffne in einem neuen Chat +, dann Connectors, und aktiviere SocialBlaze. Wenn Claude meldet, dass dieser Server bereits verbunden ist, verwende den bestehenden Eintrag unter Yours, statt einen weiteren Connector anzulegen.
Prüfe, ob der Kanal in SocialBlaze freigeschaltet und zugänglich ist. Verbinde SocialBlaze dann aus deiner KI-App erneut, prüfe die angeforderten Berechtigungen und wähle den fehlenden Kanal aus. Ein hinzugefügter oder freigeschalteter Kanal wird nicht automatisch Teil einer bestehenden KI-Verbindung; deren Aktualisierung behält die Kanalauswahl bei. Behalte deine bestehende Verbindung, bis die neue funktioniert. Du musst Instagram oder Facebook nicht erneut verbinden, um nur die Kanalauswahl deiner KI-Verbindung zu ändern.
Wenn du Analyseberechtigungen hast und der Kanal sichtbar ist, aber kein gespeicherter Bericht vorliegt, ist das ein separates Problem der Datenverfügbarkeit. Eine geänderte Kanalauswahl erfasst oder aktualisiert keine Analysedaten.
Probiere hilfreiche, klar begrenzte Anfragen aus
„Zeige meine nächsten 10 geplanten Beiträge. Behalte jedes Kanalziel als eigenen Beitrag bei.“
„Speichere dies als Entwurf. Veröffentliche es nicht.“
„Lies meinen gespeicherten Leistungsbericht für diesen Zeitraum. Sage mir, was nicht verfügbar ist.“
Halte bei „den letzten 10 veröffentlichten Beiträgen“ jeden zurückgegebenen Kanalbeitrag getrennt, auch wenn Texte oder Artikellinks übereinstimmen. Die Ergebnisse umfassen die von dir autorisierten Kanäle, nicht unbedingt dein gesamtes Konto. Ein fehlender gespeicherter Bericht oder eine unbekannte Kennzahl bedeutet nicht null; das Lesen eines Berichts aktualisiert kein Netzwerk. Beitragsvorschaukarten befinden sich in der Vorschauphase. In ChatGPT kann die erste Anzeige fehlschlagen; wähle Try again, um die Karten zu laden. Wenn ein Bild nicht geladen werden kann, öffne den gespeicherten Beitrag in SocialBlaze. Die Verfügbarkeit in anderen KI-Apps variiert. Extern gehostete Bilder können nicht verfügbar sein; eine Vorschau repariert ihre Quelle nicht. Geplante oder angenommene Beiträge sind keine bestätigten Veröffentlichungen; prüfe den zurückgegebenen Status, bevor du Erfolg meldest.
Der Dienststatus hat eine eigene Seite.
Aktuelle Nachweise zu Kerndiensten, API und MCP sowie zur Netzwerkveröffentlichung findest du auf der Dienststatusseite.
Verfolge, woran wir arbeiten.
Bereits veröffentlichte Funktionen, laufende Verbesserungen und geplante Entwicklungen findest du auf der Roadmap-Seite.
01 / MIT DER ENTWICKLUNG BEGINNEN
Erstelle deine erste API-Anfrage.
Melde dich bei deinem SocialBlaze-Konto an, öffne die Entwicklerkonsole und erstelle einen Schlüssel. Wähle die Kanäle und Berechtigungen, die deine Integration benötigt. Kopiere das Geheimnis einmal und speichere es auf deinem Server.
Ein Entwicklerschlüssel ist von deiner Website-Anmeldung getrennt. Halte ihn aus öffentlichem JavaScript, URLs und der Versionsverwaltung fern. Für die Veröffentlichung ist eine separate Zustimmung erforderlich.
Deine Kanäle lesen
curl -A 'SocialBlazeDeveloperClient/0.1 (+https://socialblaze.ai/api)' 'https://backend.socialblaze.ai/api/developer/graphql' \
-H "Authorization: Bearer $SOCIALBLAZE_API_KEY" \
-H 'Content-Type: application/json' \
--data '{"query":"{ channels { id name service connected } }"}'
Die zurückgegebenen Kanal-IDs gehören zu deinem ausgewählten Zugriff. Verwende diese IDs beim Erstellen von Beiträgen. Die Konsole enthält einen ausführbaren Explorer, der seine Zugangsdaten während der Sitzung im Arbeitsspeicher hält.
02 / VOM INHALT ZUM KANAL
Entwerfen. Prüfen. Planen. Veröffentlichen.
Mit echten Beiträgen arbeiten
Erstelle Entwürfe, lies Versionen und Medien, bearbeite zukünftige Beiträge und storniere sichere lokale Planungen.
Deine echte Warteschlange nutzen
Veröffentliche sofort, wähle ein Datum, füge Beiträge zur Warteschlange hinzu oder priorisiere sie. Verschiebe einen zukünftigen Beitrag an den Anfang oder ans Ende.
Angenommen bedeutet nicht zugestellt. Lies post.allowedActions für Hinweise zum lokalen Bearbeiten und Stornieren innerhalb deiner Berechtigungen; jede Mutation prüft die aktuelle Version und den Veröffentlichungsstatus erneut. Lies jede zurückgegebene Beitrags-ID, um Status, Veröffentlichungs-URL und Fehlerdetails zu prüfen. Ein gemischter ungültiger Stapel speichert nichts. Wiederhole einen Schreibvorgang mit unklarem Ergebnis niemals mit einem neuen Anfrageschlüssel.
Bewahre contentItemId von createPost oder createThread auf. Beim Löschen eines Ziels kann der zugehörige Quellentwurf erhalten bleiben. Um die vollständige lokale Inhaltsgruppe zu entfernen, lies die aktuelle Version des Inhaltselements und verwende deleteContentItem; bestätige anschließend, dass die Gruppe und ihre Beiträge nicht mehr vorhanden sind.
Ein Datum oder eine Warteschlangenposition wählen
Nutze mode: schedule mit einem ausdrücklich zukünftigen dueAt für einen festen Zeitpunkt. Verwende addToQueue oder prioritize ohne Datum für die Platzierung in der nativen Kanalwarteschlange. Warteschlangenaktionen erfordern die Funktion für intelligente Warteschlangen in deinem Tarif und eine Veröffentlichungsberechtigung. Um einen bestehenden zukünftigen Beitrag zu verschieben, verwende movePostInQueue oder das benannte MCP-Tool move_post_in_queue mit der neuesten Version und einem stabilen Anfrageschlüssel.
Das Verschieben in der Warteschlange kann die Fälligkeit anderer Beiträge ändern. Lies danach die geplanten Beiträge des Kanals und ihre Versionen erneut. Wenn ein geeigneter, über die Warteschlange erstellter Beitrag ans Ende verschoben wird, kann die sicher zugeordnete Warteschlange in ihren bestehenden Zeitfenstern zusammenrücken; ein Beitrag mit festem Datum wird nicht allein durch einen gemeinsamen Zeitstempel Teil dieser Warteschlange. Unterschiedliche Eigentümer, ein unsicherer Veröffentlichungsstatus oder belegte feste Zeitfenster können eine Neuordnung verhindern. Die zurückgegebene Annahme ist kein Zustellnachweis.
Einen bestehenden Beitrag ans Ende seiner Warteschlange verschieben
mutation MoveInQueue($id: ID!, $version: String!, $key: String!) {
movePostInQueue(id: $id, version: $version, requestKey: $key,
position: "bottom") { id version deleted }
}
# Read the post's current version first. Use "top" for priority placement.
# Then read this channel's scheduled posts again to check actual due times.
Zugestellte Beiträge lesen, ohne Kanäle zusammenzufassen
Lies jeden Netzwerkbeitrag einzeln und behalte seine ID, seinen Kanal und die zurückgegebene URL bei. Die standardmäßige absteigende Sortierung nach Datensatz-ID entspricht dem Website-Feed innerhalb der für die Zugangsdaten autorisierten Kanäle. Eine Freigabe ausgewählter Kanäle zeigt nicht jeden Kanal des Arbeitsbereichs. Für eine Chronologie anhand geeigneter erfasster Zustellnachweise fordere sort: [{field: publishedAt, direction: desc}] und optional publishedAfter/publishedBefore an. Lies die nullable Felder publishedAt und publishedAtBasis. native_terminal_delivery_observed ist der Zeitpunkt der ersten lokalen Abschlussbestätigung, kein unabhängig bestätigter ursprünglicher Veröffentlichungszeitpunkt beim Anbieter; geplante, erstellte und bearbeitete Daten ersetzen niemals einen unbekannten Veröffentlichungszeitpunkt. Unbekannte Zeiten stehen zuletzt und können keine vollständige chronologische Aussage zu den letzten zehn Beiträgen begründen. Setze Cursor zurück, wenn sich Filter oder Sortierung ändern.
Zehn zugestellte Datensätze in Website-Reihenfolge lesen
query {
posts(first: 10, status: "delivered") {
nodes { id channelId text publishedUrl publishedAt publishedAtBasis }
pageInfo { endCursor hasNextPage }
}
}
# Default order matches the website feed's descending record IDs.
# For known recorded publication times, use sort:[{field:publishedAt,direction:desc}].
Beitragslisten filtern und paginieren
Lasse statuses weg, um den Status nicht einzuschränken. Ein ausdrücklich leeres statuses: [] wählt keine Beiträge aus; GraphQL statuses: null lässt den Filter ebenfalls uneingeschränkt. Wenn du einen einzelnen status mit statuses angibst, bilden ihre Werte eine gemeinsame Auswahl; ein einzelner Status gilt also auch neben einem leeren Array. Diese Regeln gelten auch für die zugehörige Beitragsanzahl. Bei dueAt in aufsteigender Reihenfolge stehen Beiträge ohne geplantes Datum zuerst, bei absteigender Reihenfolge zuletzt. publishedAt lässt unbekannte Zeiten in beiden Richtungen zuletzt stehen. Verwende dueAtPresence: present für ausschließlich geplante Daten. Fahre mit dem zurückgegebenen pageInfo.endCursor fort; beginne erneut ohne after bei geänderten Filtern, anderer Sortierung oder geändertem ausgewähltem Zugriff sowie bei Ablehnung eines Cursors. Ein vor der Aktualisierung der Fälligkeitsreihenfolge gespeicherter Cursor kann nicht für eine Sortierung mit dueAt in aufsteigender Reihenfolge wiederverwendet werden.
Bilder, Videos und Dokumente
Füge JPEG-, PNG- oder WebP-Bilder innerhalb des Limits jedes Ziels oder ein MP4/MOV-Video hinzu. Standardbeiträge erlauben bis zu 10 Bilder auf Facebook, Instagram, Tumblr und WordPress; 20 auf LinkedIn und Threads; 35 auf TikTok; 4 auf Bluesky, Mastodon und Google Business Profile; und 1 auf Pinterest. YouTube erfordert ein Video. Tumblr akzeptiert ein H.264-MP4/MOV-Video mit bis zu zehn Minuten Länge innerhalb desselben Importlimits von 50 MB. Ein gemeinsamer Beitrag muss zu jedem ausgewählten Ziel passen. Gruppen aus mehreren Beiträgen und Threads behalten ein Gesamtlimit von acht Anhängen pro Anfrage. Bilder können eine separate geschützte thumbnailUrl für ihre SocialBlaze-Vorschau enthalten; sie ersetzt nicht das an ein Netzwerk gesendete Bild. Bilder akzeptieren außerdem eine separate geschützte animatedThumbnail: eine öffentliche GIF- oder WebP-Vorschau mit bis zu 1 MiB. Statische und animierte Vorschauen verwenden jeweils ihr eigenes Importkontingent und behalten separate URLs. Das Originalbild muss weiterhin die Bildregeln des Ziels erfüllen. Beim Lesen von Medien werden beide URLs zurückgegeben; isAnimated bleibt null, bis die Animation gemessen wurde; eine Vorschau-URL belegt daher nicht, dass das Originalbild animiert ist. LinkedIn akzeptiert auch ein PDF mit Titel und einer optionalen HTTPS-thumbnailUrl für die SocialBlaze-Vorschau. Vorschaubilder sind validierte JPEG-, PNG- oder WebP-Dateien mit maximal 1 MB; LinkedIn rendert seine eigenen Dokumentseiten. Bilder sind auf jeweils 8 MB, Videos auf 50 MB und PDFs auf 20 MB begrenzt. Kanalspezifische Validierung gilt weiterhin; prüfe configuration und channel.capabilities.
Gespeicherte PDF-Medien stellen die nullable Felder numPages (gemessene Seitenzahl) und filesize (Bytes aus dem validierten Import) bereit. Bei älteren Medien oder einer nicht verfügbaren Seitenzahl bleibt der Wert null, niemals eine erfundene Null; eine gemessene Größe kann auch bei unbekannter Seitenzahl verfügbar sein. Diese Werte beschreiben das gespeicherte importierte PDF, keine vom Anbieter gerenderte Kopie. Ihr Lesen lädt die Datei nicht erneut herunter und ergänzt keine älteren Medien nachträglich. Die benannten MCP-Tools get_post und list_posts enthalten die Felder. Verwende beim unveränderlichen Node-Client 0.1.14 eine ausdrückliche GraphQL-Auswahl, wenn du diese neueren Felder benötigst.
Gemessene Metadaten eines gespeicherten PDFs lesen
query SavedDocument($postId: ID!) {
post(id: $postId) {
id version
assets { type title mimeType numPages filesize }
}
}
Einen Beitrag mit Medien und ohne Text planen
Für ein unterstütztes Ziel akzeptieren createPost und das benannte Tool create_post als Wert text: "" mit gültigen Bildern oder einem Video. Leerer Text ohne Medien wird abgelehnt. Erforderliche Titel, netzwerkspezifische Optionen und Medienlimits gelten weiterhin; ein Beispiel für einen reinen Textentwurf zeigt diesen Ablauf nicht. In einer interaktiven Veröffentlichungsverbindung kann die vorbereitete Karte auch eine leere Bildunterschrift mit Medien beibehalten: Prüfe die ausgewählten Konten und Inhalte, bevor du Schedule oder Post wählst.
Ein Video ohne Text planen
mutation ScheduleVideo($key: String!, $channel: ID!, $url: String!,
$when: String!) {
createPost(requestKey: $key, channelIds: [$channel], text: "",
video: {url: $url}, mode: schedule, dueAt: $when) {
contentItemId accepted published posts { id channelId status dueAt version }
}
}
# Use a direct public HTTPS MP4/MOV URL and an eligible video channel.
# Choose a future ISO 8601 time with an explicit UTC offset.
# Check that channel's required publishing options before submitting.
Gemeinsam bearbeiten und eine Prüfung anfordern
Für einen einfachen, integrationseigenen Einzelkanalentwurf auf einem Kanal mit Freigabepflicht verwende updatePost mit approvalChange: request oder revert. Das benannte MCP-Tool edit_post unterstützt diese Optionen ohne Text. Gib die neueste Version, einen stabilen Anfrageschlüssel und drafts:write und posts:review an. Inhalt und Anhänge ändern sich atomar mit der Prüfanfrage. Eine Freigabe allein veröffentlicht nichts; reiche den unveränderten freigegebenen Entwurf anschließend ausdrücklich ein. Geänderte freigegebene Inhalte benötigen eine erneute Prüfung.
Eine zukünftige Veröffentlichungsmethode ändern
Nutze updatePost(publishingMethod: automatic) oder reminder oder das benannte Tool edit_post, um einen sicheren zukünftigen Beitrag unter Beibehaltung seiner ID umzustellen. Gib seine aktuelle Version und einen stabilen Anfrageschlüssel an. Dies erfordert sowohl Entwurfs- als auch Veröffentlichungsberechtigungen. Automatische Beiträge müssen eine zukünftige Planung haben; Erinnerungen müssen in der Warteschlange stehen und noch nicht versendet worden sein. Beiträge mit Veröffentlichungsversuchen, Prüfanforderungen oder Thread-Zugehörigkeit können nicht umgewandelt werden. Eine Erinnerung benötigt ein aktives mobiles Benachrichtigungsgerät mit angemeldetem Nutzer. Die Umwandlung prüft Ziel, Tarif, Medien und aktuellen Zugriff erneut; sie bestätigt keine Netzwerkzustellung.
Die Quelle im Composer nachverfolgen
createDraft, createPost, createThread und jeder createContentItemVariants als Eintrag akzeptieren das nullable Feld source, eine vom Aufrufer angegebene Tracking-Bezeichnung mit bis zu 250 Zeichen. Entsprechende benannte MCP-Erstellungstools unterstützen dies ebenfalls, einschließlich Prüfbeiträgen. Ein Thread verwendet dieselbe Bezeichnung für alle Einträge; Varianten können separate Bezeichnungen haben. Lies sie über post.provenance.composerSource und composerSourceBasis; die benannten get_post und Node getPost enthalten Herkunftsangaben. Gewöhnliche Listenabfragen enthalten diese ebenfalls; Listen mit gespeicherten Kennzahlen lassen Herkunftsangaben und Metadaten animierter Vorschauen aus, um dasselbe Abfragebudget einzuhalten. Lies einzelne Beiträge, wenn du beides benötigst. Weglassen oder null beim Erstellen lässt die Bezeichnung unbekannt. Entwurfs- und zukünftige Beitragsänderungen akzeptieren sie ebenfalls: Weglassen behält sie bei, null löscht sie. Diese Bezeichnung verändert weder den erfassten Erstellungsweg noch Berechtigungen und beweist keine KI-Urheberschaft.
KI-Unterstützung deklarieren
Änderungen an Entwürfen und zukünftigen Beiträgen akzeptieren das nullable Feld aiAssisted, einschließlich der benannten MCP-Tools edit_post. False bleibt false, null löscht die Deklaration des Aufrufers und Weglassen behält sie bei. Dies ändert weder den Erstellungsweg noch erkennt es, wer den Text verfasst hat. Verwende bei einer unveränderten Wiederholung die neueste Version und denselben Anfrageschlüssel.
Regeln für jedes Format
Lies configuration.services.contentRules oder channel.capabilities.contentRules für jedes automatische Beitragsformat und jeden Anhangstyp. Die Regeln umfassen die Zählweise für Text und Titel, Anhangszahlen, zulässige Dateitypen und Bytelimits, erforderliche Kanaloptionen und die Unterstützung erster Kommentare. Dieser Katalog beschreibt die Validierung durch SocialBlaze. Dein Tarif, aktuelle Berechtigungen, Abmessungen und Anbieterprüfungen gelten weiterhin; er bestätigt keine Zustellung. Reels benötigen ein Video, automatische Stories ein Bild oder Video.
Kanalmetadaten und Erwähnungen
Lies Mitgliedschaftszahlen des Arbeitsbereichs und native Tariflimits über account.organizations. Kanäle enthalten Ziel-IDs des Anbieters, sichere Profil-URLs, Netzwerksymbole und Veröffentlichungsfunktionen. Paginiere große Auswahlen mit channels(first, afterId); MCP list_channels liefert Paginierungsmetadaten.
Beitrags- und Bibliotheksmedien liefern gespeicherte Werte für mimeType, width und height bei bekannten Werten; unbekannte Werte bleiben null. Zum Lesen ist kein Mediendownload erforderlich. Strukturierte Erwähnungen von Facebook-Seiten und auf LinkedIn verwenden channelOptions.mentions mit Start- und Längenangaben in Unicode-Codepoints sowie einer passenden Bezeichnung. Lies post.annotations für validierte Erwähnungen und unveränderte Links. Ungültige oder überlappende Bereiche werden abgelehnt; geänderte Beitragstexte müssen aktualisierte Erwähnungspositionen enthalten.
Erfasste Herkunft und Kontostatus
Lies post.provenance für den erfassten Erstellungsweg und optional die vom Aufrufer deklarierte KI-Unterstützung. Setze aiAssisted ausdrücklich, wenn bekannt; Unbekanntes bleibt null. Eine Anfrage über einen KI-Client beweist nicht, dass KI den Beitragstext geschrieben hat. Die Video-Kennzeichnung beim Anbieter verwendet ihre separate Kanaleinstellung.
account.preferences liefert deine gespeicherten Codes für Kalender- und Zeitanzeige, sofern bekannt. Kanalabfragen unterscheiden queuePaused, workspacePublishingPaused und credentialsExpired; das Pausieren der Veröffentlichung bedeutet nicht automatisch, dass die Anbieter-Zugangsdaten abgelaufen sind.
Textzählung in den Netzwerken
Bluesky verwendet kompakte sichtbare URL-Bezeichnungen und behält die vollständigen Ziele in Link-Facets mit UTF-8-Byteindizes bei. Gespeicherte Beitragstexte behalten ihre ursprünglichen URLs. Mastodon verwendet die konfigurierten Instanzmetadaten sowie die offiziellen Regeln für Grapheme, reservierte URLs und entfernte Erwähnungen; Inhaltswarnungen zählen wörtlich. Lies textLimitsBasis, textLimitsMetadataAvailable und charactersReservedPerUrl in den Veröffentlichungsfunktionen, um aktuelle Instanzmetadaten vom konservativen Ersatzwert zu unterscheiden. Metadatenabfragen sind begrenzt und werden zwischengespeichert.
TikTok-Fotos, Videos und Zustellung
Fototexte erlauben 4,000 UTF-16-Einheiten mit einem optionalen Titel von bis zu 90 Einheiten. Videotexte erlauben 2,200 Einheiten. Setze channelOptions.isAiGenerated für die Video-Kennzeichnung ausdrücklich; true wird bei Fotos abgelehnt. Zukünftige Änderungen an Videometadaten behalten ein ausdrückliches false bei. Lies tiktokPostingChoices(channelId) oder MCP get_tiktok_posting_choices für die tatsächlichen Datenschutzoptionen, Interaktionsbeschränkungen und Videolängen des ausgewählten Creators. Diese Abfragen können einen bis zu 60 Sekunden alten Cache verwenden; bei der Veröffentlichung erfolgt eine erneute Validierung. Wähle Zielgruppe und Zustimmung ausdrücklich. Eine zurückgegebene Veröffentlichungs-ID bestätigt die Annahme: Entwicklerbeiträge bleiben in Verarbeitung, bis ein verifizierter Anbieter-Callback oder eine begrenzte Anbieter-Statusabfrage die Zustellung für denselben ursprünglichen Versuch bestätigt. Die Statusprüfung reicht keine weitere Veröffentlichung ein. Eine öffentliche Beitrags-URL kann unbekannt bleiben.
Erwähnungen in Instagram-Bildern
Setze images[].userTags mit einem öffentlichen handle ohne @ sowie numerischen Koordinaten x/y im Bereich von 0 bis 1. Verwende bis zu zwanzig eindeutige Handles pro Bild. Feed-Bilder und Karussell-Kindelemente unterstützen positionierte Erwähnungen; Karussell-Elternelemente und automatische Stories nicht. Entferne positionierte Erwähnungen, bevor du eine automatische Story planst. Diese Felder gelten nur für Instagram; ungültige oder doppelte Handles und Koordinaten werden abgelehnt. Bibliotheksvorlagen behalten Bilderwähnungen bei der Wiederverwendung bei. Es handelt sich nicht um interne Inhaltstags.
Erinnerungen für manuelle Veröffentlichungen
Setze publishingMethod: reminder für deine ausgewählten Kanäle. Jeder erhält eine eigene Erinnerung. Aktiviere zuerst Benachrichtigungen in der angemeldeten SocialBlaze-Smartphone-App. Die Erinnerung hält einen vorbereiteten Entwurf bereit und öffnet dessen Inhalt zur Fälligkeit; sie veröffentlicht niemals automatisch. Unterstützt werden ein ausdrückliches Datum, der nächste manuelle Warteschlangenplatz und Priorität. changeReminder plant sie neu, storniert sie oder erfasst deine eigene Veröffentlichungsbestätigung. Bei Instagram-Erinnerungen kann stickerFields Musik, Produkte, Text, Themen und andere Hinweise zur Fertigstellung mit jeweils bis zu 2,000 Zeichen enthalten. Der angemeldete Erinnerungsbildschirm zeigt sie an und kopiert sie. Ergänze diese Details selbst in Instagram; automatische Veröffentlichung lehnt ausgefüllte Fertigstellungsfelder ab. Eine gesendete Benachrichtigung oder manuelle Bestätigung ist kein Netzwerk-Zustellnachweis. Eine Mehrkanalanfrage teilt importierte Medien und speichert entweder die gesamte Gruppe oder nichts. Das Löschen ihres Inhaltselements storniert alle ausstehenden Erinnerungen. Setze für eine Teamprüfung außerdem requestApproval: true mit posts:review und ausdrücklicher Zustimmung zu posts:publish. Die Erinnerung wartet auf die native Freigabe, bleibt vor automatischer Veröffentlichung geschützt und wird storniert, wenn die Prüfung zurückgezogen wird oder die Freigabe veraltet.
YouTube-Videoeinstellungen
Wähle privacy und madeForKids ausdrücklich. Frage configuration.youtubeCategories für Kategorie-IDs des Anbieters ab und setze categoryId bei Bedarf. Die optionalen Werte embeddable, license (youtube oder creativeCommon), notifySubscribers und isAiGenerated werden an den nativen YouTube-Upload übergeben. Ausdrückliche false-Werte bleiben erhalten. Du kannst diese Einstellungen bei einem zukünftigen Beitrag über updatePost.channelOptions bearbeiten, ohne sein Video zu ersetzen. Die KI-Kennzeichnung bezieht sich auf realistisch veränderte oder synthetische Inhalte; beachte die Kennzeichnungsanforderungen von YouTube.
Videocover
Setze für ein einzelnes Instagram-, TikTok- oder Pinterest-Video thumbnailOffset in den Kanaloptionen auf den Millisekundenversatz des Cover-Frames. Er muss innerhalb der importierten Videodauer liegen. Bei einem sicheren zukünftigen Beitrag kann updatePost bei einem bestehenden mandanteneigenen Import das Cover ändern oder das Video ersetzen und sein Cover in derselben Anfrage wählen. Bestehende native Beiträge können diese Bearbeitung nutzen, wenn ihre Medien ein unterstützter mandanteneigener Import sind; beliebige externe Video-URLs erlauben keine reine Cover-Änderung. Weggelassene Medien und Planungsangaben behalten das gespeicherte Medium und die Zeit bei. Verwende nach einer unklaren Antwort denselben Anfrageschlüssel erneut. Pinterest erhält den Frame-Versatz in ganzen Sekunden und akzeptiert ein importiertes MP4/MOV-Video mit bis zu 50 MB; das Video wird hochgeladen und verarbeitet, bevor der Pin erstellt wird. Instagram Reels akzeptieren außerdem shareToFeed, einschließlich eines ausdrücklichen false. Andere Kanäle und Instagram Stories lehnen diese Optionen ab.
Änderungen an zukünftigen Beiträgen benötigen die aktuelle Beitragsversion und einen mehr als zwei Minuten entfernten Termin. Beiträge in laufender Verarbeitung und zugestellte Beiträge können nicht geändert werden. Eine Änderung der Feed-Freigabe eines Reels behält Video und Cover bei, wenn diese Felder fehlen. Bearbeite bei Pinterest channelOptions.destinationUrl zum Ändern des Ziellinks; ein ausdrückliches null löscht den gespeicherten Link. Beitragsabfragen liefern diesen Wert sowohl in destinationUrl als auch in den Kanaloptionen. Diese Änderungen veröffentlichen nicht sofort.
Linkkarten
Gib für Standardbeiträge auf Facebook, LinkedIn, Bluesky oder Threads ohne andere Anhänge linkUrl in den Kanaloptionen an. LinkedIn und Bluesky akzeptieren außerdem linkTitle und linkDescription. Facebook und Threads verwenden die Vorschau der Zielwebsite. LinkedIn und Bluesky akzeptieren außerdem linkThumbnailUrl zusammen mit der Link-URL: eine direkte öffentliche JPEG-, PNG- oder WebP-Datei mit bis zu 1,000,000 Bytes, mit acht unterschiedlichen Vorschauen pro Anfrage. Sie wird geschützt importiert und beim Anbieter hochgeladen; ein Uploadfehler stoppt den Vorgang vor der Veröffentlichung. Speichere eine neue Vorschau vor dem Einreichen im Entwurf. Null löscht eine gespeicherte Vorschau. HTTPS-Links dürfen keine Zugangsdaten enthalten. Es erfolgt kein serverseitiges Scraping. Bearbeite zukünftige Karten mit updatePost.channelOptions; ein ausdrückliches null für linkUrl löscht die Karte samt Titel und Beschreibung. Das Löschen und gleichzeitige Ersetzen von Medien in derselben Anfrage ist atomar. Entwurfsoptionen führen ausdrücklich geänderte Felder zusammen; eine leere Liste setzt jede Auswahl zurück.
Orte und Threads-Themen
Instagram-Feed-/Reel- und Threads-Beiträge akzeptieren eine numerische Anbieter-ID als locationId und optional locationName. Instagram-Karussell-Kindelemente erhalten die Markierung nicht. Automatische Instagram Stories lehnen diese Option ab. Threads akzeptiert außerdem ein topic mit bis zu 50 UTF-16-Einheiten, ohne kaufmännisches Und oder Punkt. Weggelassene Optionen bleiben bei zukünftigen Änderungen erhalten; null löscht sie.
Inhaltswarnungen und KI-Kennzeichnung
Mastodon akzeptiert spoilerText; die Warnung wird wörtlich gezählt und teilt sich mit dem vorbereiteten Beitragstext das konfigurierte Zeichenkontingent der Instanz. Die Zählregeln der Instanz für URLs und entfernte Erwähnungen gelten für den Beitragstext, nicht für die Warnung. Verwende null, um eine gespeicherte Warnung zu löschen. Instagram, YouTube und TikTok-Video akzeptieren isAiGenerated. Instagram sendet dies nur im übergeordneten Mediencontainer. Nicht unterstützte Netzwerkoptionen werden abgelehnt, bevor Beiträge gespeichert werden.
Erste Kommentare
Erste Kommentare haben separate UTF-16-Limits: Facebook 5,000, Instagram 2,200, LinkedIn 1,250 und Threads 500. Lies maxFirstCommentLength und firstCommentLengthUnit in der Kanalfunktion. Emoji können als zwei Einheiten zählen. Nicht unterstützte Ziele und Stories lehnen Kommentare ab; Text wird niemals stillschweigend gekürzt. Bestehende Tarifberechtigungen gelten weiterhin.
Textlimits
Die meisten Entwickler-Beitragstexte verwenden UTF-16-Einheiten, wobei viele Emoji als zwei zählen. LinkedIn-HTTP(S)-URLs zählen als 24 Einheiten; logische Zeilenumbrüche auf Instagram als zwei. Facebook-Texte erlauben 5,000, Instagram 2,196; Pinterest- und YouTube-Titel erlauben 100. Google Business behält sein natives Limit von 1,500 bei. Mastodon verwendet begrenzte Instanzmetadaten mit einem konfigurierten konservativen Ersatzwert; die Funktionsfelder geben die aktuelle Grundlage und Metadatenverfügbarkeit an. Bluesky zählt Grapheme nach kompakten sichtbaren Linkbezeichnungen und behält vollständige URL-Ziele in Link-Facets bei. Ursprünglich gespeicherte Beitragstexte bleiben unverändert. Lies die Kanalfunktionen für das aktuelle Limit und die Zähleinheit.
Google Business-Beiträge
Nutze channelOptions.businessPost für Standardupdates, Veranstaltungen und Angebote. Veranstaltungen und Angebote benötigen einen Titel sowie lokale Start- und Enddaten. Optionale zusammengehörige Uhrzeiten verwenden HH:mm; ohne beide gilt der gesamte lokale Tag. Die UTC-Veröffentlichungsplanung bleibt separat. Standardupdates und Veranstaltungen unterstützen Aktionsschaltflächen; Angebote verwenden Gutschein, Einlöselink und Bedingungen. Anrufschaltflächen verwenden die geschäftliche Telefonnummer ohne Aktions-URL. Andere Schaltflächen benötigen HTTPS-URLs. Diese Optionen erfordern automatische Veröffentlichung, behalten die bestehenden Kurztext- und Bildlimits bei und bedeuten niemals eine bestätigte Anbieterzustellung.
Instagram-Audio
Durchsuche lizenzierte Musik und Originalsounds über die Audiokatalog-Abfragen. Facebook Login ist erforderlich. Gib für ein Reel mit einem einzelnen Video eine Audio-ID und optionale Lautstärken in den Kanaloptionen an. Vorschauen laufen ab; Berechtigungsfehler und unvollständige Ergebnisse werden ausdrücklich angezeigt. Gespeicherte Entwurfsoptionen bleiben beim späteren Einreichen erhalten.
Geordnete Threads
Bluesky, Mastodon und Threads unterstützen 2–25 Einträge. Antworten warten auf die bestätigte Zustellung des übergeordneten Beitrags. Das Neuplanen oder Stornieren des Stammbeitrags hält seine sicheren zukünftigen Antworten zusammen. Bluesky- und Threads-Einträge akzeptieren außerdem linkUrl; Bluesky akzeptiert linkTitle, linkDescription und eine geschützte linkThumbnailUrl. Karten können nicht mit anderen Medien kombiniert werden; Threads verwendet die Vorschau der Zielwebsite. Mastodon lehnt Karten ab. Threads erlauben acht Anhänge über die gesamte Anfrage und höchstens 100 Zielbeiträge.
Einen Thread planen
mutation {
createThread(requestKey: "launch-thread-001", channelIds: ["YOUR_CHANNEL_ID"],
mode: schedule, dueAt: "2026-11-01T14:00:00+00:00",
entries: [{text: "First part"}, {text: "The follow-up"}]) {
contentItemId accepted posts { id status thread { rootPostId parentPostId position total } }
}
}
Anhänge eines zukünftigen Threads bearbeiten
Nutze updateContentItem.threadEntries oder das benannte Tool edit_content_item zum Ersetzen oder Löschen von Anhängen und Linkoptionen für den gesamten bestehenden Thread. Gib jeden Eintrag in Reihenfolge, seinen Text, die aktuelle Gruppenversion und einen stabilen Anfrageschlüssel an. Weggelassene Anhänge bleiben unverändert; images: [] oder clearMedia: true entfernt sie. Gemeinsame Uploads werden pro Eintrag kanalübergreifend einmal importiert. Für jedes Ziel darf noch kein Versuch und keine Veröffentlichung erfolgt sein; sein Termin muss mehr als zwei Minuten in der Zukunft liegen. Die gesamte Änderung wird atomar gespeichert. Behalte dieselbe Eintragszahl bei und ändere die Planung separat; Größenänderungen und kombinierte Medien-/Planungsänderungen werden nicht unterstützt.
Inhaltsgruppenfilter
Filtere contentItems nach draftContent oder postContent und sortiere nach createdAt und updatedAt. Die Suche ist standardmäßig auf deine Integration begrenzt. Ein ausdrückliches discovery: workspace erfordert ein separat genehmigtes content:read zusammen mit posts:read; bestehende Zugangsdaten erhalten dies nicht automatisch. Damit werden auch Gruppen gelesen, die unter deinen nativen Arbeitsbereichsberechtigungen und ausgewählten Kanälen sichtbar sind. Gruppen mit einem nicht zugänglichen Ziel werden einschließlich ihres gemeinsamen Texts und ihrer Medien ausgeschlossen. Prüfe managedByCurrentIntegration; integrationsübergreifende Gruppenänderungen bleiben blockiert, während einzelne Beitragsänderungen ihre separaten Autorisierungsprüfungen behalten. Cursor sind an Suchbereich, Filter, Reihenfolge und Kanalzugriff gebunden; setze die Paginierung bei Änderungen zurück. SDK0.1.14 bietet contentItems(options) und contentItem(id, options) als Lesehilfen.
Teamprüfung
Nutze posts:review und requestApproval: true zum Erstellen von Beiträgen mit ausgesetzter Veröffentlichung. requestPostApproval sendet einen bestehenden unveröffentlichten Beitrag zur Prüfung. withdrawPostApproval setzt ihn nur dann auf einen Entwurf zurück, wenn deine nativen Freigabeberechtigungen dies erlauben. Eine Prüfberechtigung gewährt niemals automatische Veröffentlichung.
EINE KAMPAGNE / VERSCHIEDENE KANÄLE
Passe jedes Ziel an.
Nutze createContentItemVariants für kanalspezifische Texte, Titel, Anhänge, native Optionen oder Zeitpläne. Gib unterschiedliche ausgewählte Kanal-IDs in posts an. Die Gruppe unterstützt bis zu 25 Ziele und insgesamt acht Anhänge innerhalb deiner bestehenden Medien- und Veröffentlichungslimits. Identische Medieneinträge teilen sich einen geschützten Import.
Unabhängige Kanalvarianten erstellen
mutation Campaign($key: String!, $posts: [ContentVariantInput!]!) {
createContentItemVariants(requestKey: $key, title: "Product launch", posts: $posts) {
contentItemId accepted published
posts { id channelId text title status isDraft publishingMethod
manualReminder { state providerDeliveryConfirmed } dueAt version }
}
}
# Each posts entry supplies its own channelId, text, optional media,
# channelOptions, mode and dueAt. Read real channel IDs first.
Validierung und Speicherung sind atomar: Eine fehlgeschlagene Variante speichert keine Teilkampagne. Jeder Eintrag verwendet standardmäßig die Warteschlange oder seinen angegebenen Termin. Verwende mode: publishNow nur für ein beabsichtigtes sofortiges Einreichen. Setze requestApproval: true für eine ausgesetzte Teamprüfung. Die Annahme ist weiterhin keine bestätigte Zustellung.
Lies contentItem.hasChannelVariants und die Gruppenversion; lies anschließend einzelne Beitrags-IDs für vollständige Details. Bearbeite einen einzelnen Beitrag, um unterschiedliche Texte beizubehalten. Eine Gruppenänderung an Text oder Medien wendet dieselbe Änderung bewusst auf jedes sichere zukünftige Ziel an. Gruppen- und Einzelversionen unterscheiden sich.
Einen bestehenden Entwurf in Kanalbeiträge umwandeln
Lies einen integrationseigenen, noch nicht eingereichten Entwurf ohne Kanal und seine aktuelle Gruppenversion. Rufe promoteContentItemDraft mit einer nicht leeren posts als Liste an, um dasselbe Inhaltselement in unterschiedliche Kanalbeiträge umzuwandeln. Jeder Eintrag enthält seine eigene Kanal-ID, ausdrücklichen Text und optional Medien, native Optionen und einen Zeitplan. Quelltext und Anhänge bleiben gespeichert; fehlende Medien eines Eintrags werden nicht daraus übernommen.
Einen Entwurf in Kanalvarianten umwandeln
mutation Promote($id: ID!, $version: String!, $key: String!,
$posts: [ContentVariantInput!]!) {
promoteContentItemDraft(id: $id, version: $version, requestKey: $key,
posts: $posts) {
contentItemId accepted published
posts { id channelId text status isDraft publishingMethod
manualReminder { state providerDeliveryConfirmed } dueAt version }
}
}
# Each entry needs its channelId and explicit text, plus any media/options.
# Read the existing draft's ID/version first; do not mix posts and channelIds.
Verwende entweder kanalbezogene posts oder die bestehende gemeinsame channelIds Form. Kombiniere sie nicht miteinander und mische Eintragsoptionen nicht mit Planungsoptionen auf oberster Ebene. Ein fehlgeschlagenes Ziel speichert keine teilweise Umwandlung. Verwende für eine unveränderte Wiederholung denselben Anfrageschlüssel; ein eingereichter Entwurf kann nicht unter einem neuen Schlüssel erneut umgewandelt werden. Eine Prüfanfrage benötigt drafts:write und posts:review; automatisches Einreichen benötigt posts:publish. Native Teamfreigaberegeln gelten weiterhin. Einträge verwenden ContentVariantInput. Jeder Eintrag akzeptiert das nullable Feld aiAssisted: false bleibt false, null oder Weglassen lässt die Unterstützung unbekannt, und geänderter Eintragstext übernimmt niemals die Deklaration des ursprünglichen Entwurfs. Jedes Ziel kann ein Entwurf bleiben, automatisch veröffentlicht werden oder eine manuelle Erinnerung nutzen. Behalte contentItemId für das vollständige Bereinigen der Gruppe bei.
Automatische URL-Kürzung nach Workflow
Die Kürzung erfolgt vor dem endgültigen Speichern über die konfigurierten Connectoren des Autors. Einstellungen werden niemals stillschweigend deaktiviert. Die Unterstützung hängt von Workflow, Anhang und nativen Kanaloptionen ab; nicht unterstützte Kombinationen liefern einen Fehler mit Handlungshinweis.
Arbeitsablauf
Veröffentlichte Unterstützung
Automatische Umwandlung
Veröffentliche sofort, plane, nutze die Warteschlange oder priorisiere mit dem unterstützten nativen Text-/Medienprofil. Native Kanallimits, Zeitvorgaben und aktuelle Berechtigungen gelten weiterhin.
Anhänge
Bilder und Karussells innerhalb nativer Limits, unterstützte Einzelvideos und LinkedIn-PDF-Workflows. Datenschutz- und Zustimmungsoptionen für YouTube/TikTok müssen angegeben werden, wo erforderlich; sie werden niemals abgeleitet.
Gespeicherte Zielentwürfe
Gespeicherte Texte, Bilder oder Videos bleiben inaktiv, auch bei gespeicherter Prüfung. Unterschiedliche Gruppen können verschiedene gespeicherte Medien neben automatischen und manuellen Einträgen beibehalten. Speichern erfordert keine erneute Veröffentlichungsanmeldung.
Ein bestehendes Ziel aktivieren
Verwende dieselbe ID mit den aktuell gespeicherten Inhalten und Medien sowie einem neu gewählten Modus und Datum. Unterstützte gespeicherte native Optionen, genehmigte Umwandlungen und ausdrückliche Prüfungen werden weiterhin unabhängig validiert.
Story- und Reel-Untertypen
Facebook-/Instagram-Stories behalten das native Profil mit einem einzelnen Medium und ohne ersten Kommentar bei. Reels benötigen ein Video. Untertypen bleiben erhalten; Bilder werden nicht in Reels umgewandelt.
Prüfen
Es gelten die aktuelle native Eigentümer-/Team-/Kanalrichtlinie und die Empfängeranforderungen. Kundenprüfungen durch Manager erfordern das native Empfänger-Stringformat; die Prüfung durch Inhaltsplaner in bereitgestellten Teams unterstützt unter der aktuellen nativen Team-/Kanal-Empfängerrichtlinie auch Kanäle mit Kundenfreigabe; Aufrufer können Empfänger nicht selbst auswählen. Nicht unterstützte ältere Rollenkombinationen werden weiterhin abgelehnt. Eine neue Prüfung unter derselben ID lässt den Zeitplan inaktiv; gespeicherte Prüfungen bleiben inaktiv. Eine Freigabe allein veröffentlicht nichts.
Gemischte Gruppen
Kombiniere gespeicherte, automatische und manuelle Erinnerungsziele aus dem grundlegenden nativen Text-/Medienkatalog. Jeder Eintrag kann den implementierten nativen Optionskatalog unter den Validatoren seiner Veröffentlichungsart verwenden, einschließlich unterstützter Metadaten, Vorschauen und strukturierter Erwähnungen. Automatisches Instagram-Audio nutzt abgesicherte Katalogabfragen; gespeichertes/manuelles Audio bleibt ohne Katalogabfrage oder Veröffentlichungs-OAuth inaktiv, bis eine spätere automatische/native Aktion erfolgt. Erforderliche YouTube-/TikTok-Optionen bleiben ausdrücklich anzugeben; unbekannte Optionen und nicht unterstützte Kombinationen werden weiterhin abgelehnt.
Warteschlange und Priorität
Automatische Einträge verwenden native Terminreservierung. Manuelle Einträge behalten den nativen Erinnerungsrhythmus und Verschiebungen bei, mit den aktuellen Anforderungen an angemeldete Geräte und Konfiguration.
Native Website
Teilen, reines Neuplanen und das eigenständige Klonen abgeschlossener Beiträge verwenden native Berechtigungen und die Einstellungen des ursprünglichen Autors. Der bisherige Verlauf bleibt erhalten; automatische Veröffentlichung benötigt weiterhin eine aktuelle Freigabe und Anmeldung.
Kanaloptionen und Metadaten
Unterstützte native Metadaten, Vorschau-/Audio-/Cover-Abfragen und strukturierte Facebook-/LinkedIn-Erwähnungen folgen ihrem validierten Workflow. Metadaten-URLs bleiben unverändert; undurchsichtige ältere Erwähnungsfelder werden nicht als strukturierte Optionen behandelt.
Bestehende UTM-Auswahlen
Bestehende dauerhaft gespeicherte UTM-Auswahlen des Erstellers behalten die native Reihenfolge bei, einschließlich Factory-Umwandlung bei deaktivierter Kürzung. Es wird keine neue öffentliche UTM-Auswahl bereitgestellt.
Das grundlegende Textprofil umfasst Facebook, Bluesky, LinkedIn, Threads, Tumblr, Google Business Profile, Mastodon und WordPress. Bildprofile innerhalb nativer Limits umfassen auch Instagram und Pinterest; Videoprofile umfassen das nativ unterstützte YouTube/TikTok und andere validierte Dienste. Einheitliche geplante Umwandlungen und bestehende gespeicherte/native Übergänge haben separate validierte Optionskataloge; die obigen Regeln für gemischte Gruppen erlauben keine beliebigen Optionen. Ausdrücklich gespeicherte Datenschutz-/Zustimmungsangaben und die aktuelle native Validierung bleiben erforderlich. Speichern aktiviert niemals Arbeit, und Prüfung gewährt niemals Veröffentlichung. Lies allowedActions und aktuelle Versionen; ziehe ausstehende Prüfungen vor dem Löschen zurück, wenn diese Aktion angeboten wird. Die Annahme der Vorbereitung und die Kürzung bestätigen keine Netzwerkzustellung.
Ein Ziel vor dem Planen speichern
Setze saveToDraft: true bei einem Eintrag, um einen kanalgebundenen Entwurf zu speichern. Dies benötigt drafts:write, ohne Veröffentlichungsberechtigung oder erneute Veröffentlichungsanmeldung. Speichern allein erstellt weder einen Veröffentlichungszeitplan noch eine Smartphone-Erinnerung. Modus- und Datumswerte eines gespeicherten Eintrags planen ihn nicht und werden nicht zu wiederverwendbaren Planungsanweisungen; wähle einen neuen Modus und ein neues Datum, wenn du ihn später ausdrücklich planst. Null wird nicht akzeptiert für saveToDraft.
Lies die Ziel-ID und ihre neueste Version und verwende dann armDestinationDraft oder das benannte Tool arm_destination_draft zum Planen desselben Beitrags. Das benannte Tool nennt die ID postId. Wähle publishNow, schedule mit dueAt, addToQueue oder prioritize. Wenn du den Modus weglässt, wählt ein angegebenes Datum die Planung; andernfalls wird die Warteschlange verwendet. Automatische Veröffentlichung prüft aktuelle Veröffentlichungsberechtigung, Kanalzugriff, Medien, Freigabeanforderungen und Anmeldestatus erneut.
Das gespeicherte Ziel planen
mutation ScheduleSavedDraft($id: ID!, $version: String!, $key: String!,
$when: String!) {
armDestinationDraft(id: $id, version: $version, requestKey: $key,
mode: schedule, dueAt: $when) {
id version deleted
}
}
# Use the destination post ID and its latest version, not the group ID.
# Then read the post to check publishing state; this is not a delivery receipt.
Ein zukünftiges Ziel zum Entwurf zurücksetzen
Bei einem vom Eigentümer verwalteten automatischen Ziel, dessen Veröffentlichung noch nicht begonnen hat, kann updatePost(saveToDraft: true) mit derselben Ziel-ID, Quellgruppe und denselben Anhängen dessen einzelne zukünftige Planung deaktivieren. Gib die aktuelle Version und einen stabilen Anfrageschlüssel an und verfüge sowohl über Veröffentlichungs- als auch Entwurfsberechtigungen. Der Termin muss mehr als zwei Minuten entfernt sein. Setze es zuerst zurück und bearbeite dann den aktuellen Entwurf separat; Prüf-, Erinnerungs-, Thread- und bereits versuchte Veröffentlichungszustände behalten ihre eigenen Abläufe. Aktiviere den Entwurf ausdrücklich erneut, wenn er bereit ist.
Einen gespeicherten Entwurf prüfen
Kombiniere auf einem Kanal mit Freigabepflicht saveToDraft: true mit requestApproval: true. Dies benötigt Entwurfs- und Prüfberechtigungen. Der Entwurf bleibt nach der Freigabe inaktiv: Plane anschließend die unveränderte freigegebene Version ausdrücklich. Eine Bearbeitung erfordert eine neue Freigabe. Wenn du dagegen beim ausdrücklichen Planen eines automatischen Beitrags eine Prüfung anforderst, wird dieser Zeitplan bis zur Freigabe ausgesetzt.
Manuelle Veröffentlichung ausdrücklich wählen
Setze bei einem Eintrag publishingMethod: reminder für eine Veröffentlichung, die jemand auf seinem Smartphone abschließt. Ein gespeicherter Entwurf behält diese Auswahl bei, ohne ein Gerät zu benötigen. Wenn du ihn später planst, bleibt die gespeicherte Auswahl bei weggelassener Veröffentlichungsmethode erhalten; eine ausdrückliche Methode wählt diese erneut. Null wird nicht akzeptiert. Das Planen einer Erinnerung benötigt Entwurfs- und Veröffentlichungsberechtigungen, ein aktives angemeldetes Benachrichtigungsgerät und jede erforderliche Freigabe. publishNow stellt eine sofort fällige Erinnerung in die Warteschlange; es veröffentlicht nicht automatisch im Netzwerk.
Lies isDraft, publishingMethod und manualReminder.state gemeinsam. Ein Eintrag mit ausstehender gespeicherter Prüfung bleibt ein Entwurf, und eine gespeicherte Erinnerungsoption hat noch keine aktive Erinnerung. providerDeliveryConfirmed: false ist kein Beleg für eine Netzwerkzustellung. Gemischte Gruppen können gespeicherte, geplante und Erinnerungseinträge enthalten; ihre Aktionen pro Beitrag bleiben getrennt. Verwende edit_post mit draft: true zum Bearbeiten eines sicheren gespeicherten Ziels und das kanonische deleteContentItem oder delete_content_item zum Bereinigen der gesamten Gruppe. Ziehe ausstehende Prüfungen zuerst zurück. Eine beanspruchte oder unklare Veröffentlichung erfordert einen Abgleich statt blindes Löschen.
Benannte Tools für KI-Clients
get_publishing_configuration und get_channel zeigen die tatsächlichen Medien- und Zustimmungsanforderungen. Verwende list_content_items, get_content_item, create_content_item_draft, promote_content_item_draft und create_content_item_variants ohne selbst GraphQL zu schreiben. Tools zum Bearbeiten, Löschen und Zuordnen behalten dieselben Berechtigungs-, Versions- und Wiederholungsprüfungen.
03 / DEINE BESTEHENDE BIBLIOTHEK
Verwende deine gespeicherten Inhalte erneut.
Durchsuche, erstelle und bearbeite Vorlagen in deiner tatsächlichen SocialBlaze-Inhaltsbibliothek. Verwende Text-, Bild-, Video- und PDF-Vorlagen in Entwürfen erneut. Das Bearbeiten benötigt die aktuelle Version. Beim Entfernen einer Vorlage bleiben gemeinsam genutzte hochgeladene Dateien erhalten.
Bibliotheksvorlagen durchsuchen
query {
libraryItems(first: 20) {
nodes { id title text description emoji visibility version assets { type url title altText } }
pageInfo { endCursor hasNextPage }
}
}
Nutze createDraftFromLibraryItem mit ID, Version, Anfrageschlüssel und ausgewählten Kanälen. Der Bibliothekszugriff folgt deinem aktuellen Tarif und deinen Teamberechtigungen.
Vorlagen akzeptieren eine optionale Beschreibung mit bis zu 1,000 Zeichen, Emoji mit bis zu 32 Zeichen und die Sichtbarkeit: internal für deinen Arbeitsbereich oder private für ihren Ersteller. Bestehende Vorlagen und eine weggelassene Sichtbarkeit bleiben intern. Nur der Ersteller kann eine gemeinsame Vorlage privat machen; private Vorlagen sind für andere Mitglieder in der API, nativen Bibliothek und bei mobilen Abfragen verborgen. Filtere libraryItems(visibility: private) oder internal. Es gibt keinen öffentlich kuratierten Vorlagenkatalog. Null löscht Beschreibung oder Emoji; weggelassene Felder bleiben bei Änderungen erhalten. Native Änderungen behalten diese Optionen bei.
04 / DATEN FÜR DEINE TOOLS
Erstelle den Bericht, den du brauchst.
Ausdrückliche TikTok-Anbieterabfragen erfassen nur öffentliche Videos. enumerationComplete beschreibt diese Quellenerfassung; complete bleibt false, weil Fotos und private Videos ausgeschlossen sind. Lies basis und note in Berichten, aggregierten Referenzen und der Ranking-Abdeckung, bevor du Summen oder leere Ergebnisse interpretierst.
Gewöhnliche Kanalberichte, einzelne Beitragskennzahlen, Rankings und aggregierte Abfragen verwenden ausschließlich vorhandene SocialBlaze-Website-Daten und gespeicherte Momentaufnahmen. Eine Leseanfrage kontaktiert keinen Anbieter, plant keine Erfassung und aktualisiert keine fehlenden Daten. Verfügbare Kennzahlen unterscheiden sich nach Netzwerk; nicht verfügbare Werte bleiben unbekannt, niemals als Zahlenwert null.
Eine bestehende Leistungs-Momentaufnahme lesen
query Report($channel: ID!, $start: String!, $end: String!, $report: ID,
$first: Int = 20, $after: String) {
channelReport(channelId: $channel, startDate: $start,
endDate: $end, reportId: $report) {
id state complete basis note enumerationComplete metricsUpdatedAt expiresAt errorCode
metrics { key value status basis }
posts(first: $first, after: $after) { nodes { externalId text publishedAt publicationDate publicationTimeBasis
metrics { key value status } }
pageInfo { endCursor hasNextPage } }
}
}
Lies readMode, storedAnalytics und verfügbare gespeicherte Zeiträume, wenn kein normalisierter Bericht verfügbar ist. Native Abschnitte behalten ihre ursprünglichen Bezeichnungen und Messgrundlagen. Der Aktualisierungszeitstempel einer Zeile beweist nicht, dass jede Kennzahl zu diesem Zeitpunkt erfasst wurde. Fehlende Daten bleiben nicht verfügbar; der Ablauf eines Veröffentlichungstokens allein verhindert keinen autorisierten historischen Lesezugriff. Zeiträume bleiben durch die verfügbare Kontohistorie begrenzt. Prüfe complete, den Status jeder Kennzahl als status und ihre Grundlage als basis vor der Interpretation von Summen. Jeder Kanalbericht und jede aggregierte Referenz benennt seinen Netzwerkdienst. Das aggregierte Feld metricsUpdatedAt ist der neueste bekannte beitragende Zeitstempel; oldestMetricsUpdatedAt gibt den ältesten beitragenden Zeitpunkt an und bleibt null, wenn bei einer bereiten Quelle die Aktualität unbekannt ist.
Optionale LinkedIn-Videostatistiken enthalten pro Beitrag eindeutige viewers und totalTimeWatched in Minuten. Eindeutige Zuschauer werden niemals über Beiträge hinweg summiert. Instagram follows ist eine zugeordnete Anzahl für geeignete Feed-Beiträge und Stories, nicht für Reels oder das Netto-Followerwachstum. Diese Werte hängen von Anbieterzugriff und Verfügbarkeit ab; nicht verfügbare Werte bleiben null. Für Instagram wird keine Wiedergabezeit-Einheit abgeleitet.
Die Erfassung von LinkedIn-Berichten ist begrenzt. Wenn das Seitenlimit erreicht wird oder kein sicheres Fortfahren möglich ist, können nutzbare erfasste Zeilen mit teilweiser Abdeckung zurückgegeben werden. Ihre Summen beschreiben nur diese erfasste Teilmenge, niemals alle Beiträge des Kontos. Lies den Berichtshinweis und den Erfassungsstatus, bevor du Kanäle vergleichst.
Leistungszeilen können publicationDate und publicationTimeBasis getrennt von publishedAt anzeigen. Ein historischer nativer Kalendertag mit unbekannter Zeitzone behält publishedAt: null; erfinde keinen Veröffentlichungszeitpunkt um Mitternacht UTC. Halte einzelne Netzwerkbeiträge getrennt, statt Beiträge mit demselben Artikellink zusammenzufassen.
Gespeicherte Analyseabschnitte der Website lesen
Nutze storedChannelAnalytics oder das benannte MCP-Tool get_stored_channel_analytics mit analytics:read, einem autorisierten Kanal und genauen Start-/Enddaten. Jeder Abschnitt benennt Quelle, Verfügbarkeit und Datumsgrundlage. availableRanges listet gespeicherte Zeiträume auf; es ersetzt nicht die von dir angeforderten Daten durch einen davon. Ein nicht verfügbarer oder zu großer Rohabschnitt beweist nicht, dass keine Beiträge vorhanden sind; prüfe seinen Fehlercode und die paginierte channelReport als Projektion.
Bei TikTok, Pinterest, Tumblr und WordPress kann der Abschnitt report eine bereits gespeicherte ausdrückliche Erfassung anzeigen, gekennzeichnet als saved_developer_report. Das sind gespeicherte Berichtsdaten, kein Beleg dafür, dass eine native Website-Erfassung sie erzeugt hat. Ohne passenden gespeicherten Bericht sind sie nicht verfügbar; die Leseanfrage erfasst keinen. Ein Bericht kann bereit sein, während complete oder enumerationComplete false ist. Behalte beim Berichten der Ergebnisse die teilweise Abdeckung und nicht verfügbare Kennzahlen bei.
Gespeicherte native Analysen und Abschnittsherkunft lesen
query StoredAnalytics($channel: ID!, $start: String!, $end: String!) {
storedChannelAnalytics(channelId: $channel, startDate: $start, endDate: $end) {
channelId service state complete basis note errorCode
metricsUpdatedAt recordUpdatedAt freshness
availableRanges { startDate endDate recordUpdatedAt }
sections { name available source data rangeBasis startDate endDate
metricsUpdatedAt recordUpdatedAt freshness errorCode note }
}
}
# This reads saved data only. Use actual channel IDs and the requested dates.
# availableRanges does not silently replace a missing requested date range.
Behalte für die Paginierung normalisierter Berichte die zurückgegebene Berichts-ID, den Kanal und die Daten zusammen und übergib posts.pageInfo.endCursor als nächstes after. Beginne beim Wechsel von Momentaufnahmen ohne Cursor. Eine einzelne gespeicherte Beitragskennzahl und ein unvollständiger Kanalbericht können unterschiedliche Abdeckung haben; gib für jedes Ergebnis dessen eigenen Status und Grundlage an.
Neue Anbieterdaten nur auf Anfrage erfassen
Verwende ausdrücklich die Mutation refreshChannelReport oder das benannte MCP-Tool refresh_channel_report erst, wenn der Nutzer darum bittet, neue Anbieterdaten zu erfassen. Die Erfassung kann aktuelle Analyseberechtigungen beim Anbieter benötigen und verbraucht das separate Aktualisierungsbudget. Sie kann den Status queued zurückgeben; frage dieselbe zurückgegebene Berichts-ID und dieselben Daten mit channelReport ab. Gewöhnliche Leseanfragen melden sich niemals an, verbinden keine Konten erneut und starten diesen Vorgang nicht automatisch.
Ausdrücklich einen neuen Anbieterbericht erfassen
mutation CollectNewReport($channel: ID!, $start: String!, $end: String!) {
refreshChannelReport(channelId: $channel, startDate: $start, endDate: $end) {
id channelId state complete errorCode
}
}
# Only run after an explicit request to collect new provider data.
# If queued, poll channelReport using the returned report ID and dates.
Gespeicherte Kennzahlen beim Lesen von Beiträgen einbeziehen
Setze includeMetrics: true bei post oder posts oder beim benannten MCP-Tool get_post und list_posts. Gib metricSnapshots mit einer Kanal-ID, Berichts-ID und passenden Start-/Enddaten für jeden Kanal an. Die Berechtigungen posts:read und analytics:read sind erforderlich. Dies liest nur bestehende Momentaufnahmen; es kontaktiert niemals ein Netzwerk und startet keine Berichtserfassung. Lies metricsState, metricsErrorCode, den Status und die Grundlage jeder Kennzahl sowie metricsUpdatedAt. Fehlende oder nicht verfügbare Kennzahlen bleiben null. Gespeicherte Historie kann veraltet sein; behalte die Veraltet- und Aktualitätsindikatoren des zugehörigen Berichts bei, statt sie als neu erfasst zu behandeln. Lasse die Option für gewöhnliche Beitragsabfragen weg; normale Auswahl- und Komplexitätslimits gelten.
Beim benannten MCP-Tool list_posts mit includeMetrics: true mit der vollständigen Standardauswahl und einer festgelegten Momentaufnahme liefert das Weglassen von first aktuell höchstens 18 Zeilen innerhalb des standardmäßigen Komplexitätslimits von 1,000 Punkten. Weitere Momentaufnahmen können diesen Standardwert senken. Ein ausdrücklich angegebenes first wird niemals stillschweigend reduziert: 19 vollständige Zeilen mit einer Momentaufnahme überschreiten dieses Limit. Gewöhnliche Beitragslisten verwenden weiterhin standardmäßig 20; eine Auswahl weniger Felder kann größere Seiten erlauben. Folge pageInfo.endCursor zur Fortsetzung der Abfrage, statt anzunehmen, dass eine Antwort jeden Beitrag enthält. Diese automatische Seitenanpassung gehört zum benannten Tool; eine ausdrückliche GraphQL-Abfrage muss eine zur Auswahl passende Seitengröße wählen.
Kennzahlen aus einer bestehenden Momentaufnahme lesen
query SavedPostMetrics($id: ID!, $pins: [PostMetricSnapshotInput!]!) {
post(id: $id, includeMetrics: true, metricSnapshots: $pins) {
id metricsState metricsErrorCode metricsUpdatedAt
metrics { name value unit status basis comparisonBasis }
}
}
# pins: [{channelId: YOUR_CHANNEL_ID, reportId: EXISTING_REPORT_ID,
# startDate: MATCHING_START_DATE, endDate: MATCHING_END_DATE}]
# Supply these as JSON variables, using the snapshot's actual IDs and dates.
Lokale Veröffentlichungsdatensätze zählen
publishingActivity zählt aufbewahrte automatische Beitragsdatensätze nach dem ursprünglichen Erstellungsdatum in deiner gewählten Zeitzone. Jedes Ziel und jeder Thread-Eintrag zählt separat. Aggregierte Zählungen enthalten soft-gelöschte Datensätze, schließen Entwürfe und manuelle Erinnerungen aus und können endgültig gelöschte Datensätze oder reine Anbieterhistorie nicht wiederherstellen. Native Entwürfe können nach dem Einreichen ältere Erstellungsdaten behalten. Dies sind keine exakten historischen Einreichungs- oder Veröffentlichungsdaten; currentlyDelivered beschreibt den aktuellen Status dieser Datensätze. Halte die zurückgegebene Grundlage und den Hinweis sichtbar.
recordedCommitEvents zählt aufbewahrte native Versuche separat nach dem erfassten Bestätigungsdatum des Anbieters, unabhängig vom ursprünglichen Erstellungsdatum. Eine beabsichtigte erneute Veröffentlichung zählt erneut. Die Annahme kann vor Verarbeitung oder Zustellung erfolgen; dies sind daher keine Zustellzahlen. Halte commitEventBasis, commitEventCountUnit, commitEventNote und das auf false gesetzte Flag commitEventHistoryComplete sichtbar.
publishedActivity zählt aufbewahrte, aktuell zugestellte Zieldatensätze, deren geeignete nativ erfasste Zustellzeit in den angeforderten Kalenderzeitraum und die Zeitzone fällt. Es verwendet dieselben Zeitstempelregeln wie das nullable Feld post.publishedAt; Erstellungs-, Bearbeitungs-, Planungs- und Bestätigungsdaten ersetzen diese niemals. Jeder Netzwerkziel-/Thread-Datensatz zählt separat, einschließlich aggregierter soft-gelöschter Datensätze. Bewahre die Angaben zu rangeStartUtc, rangeEndUtcExclusive, basis, countUnit und complete: false. unknownTimeExcluded zählt alle ausgewählten aufbewahrten zugestellten Datensätze mit unbekannten Zeiten, nicht unbekannte diesem Monat zugeordnete Beiträge. Endgültig gelöschte, überschriebene und reine Anbieterhistorie bleiben außerhalb dieser Teilmenge bekannter Zeiten.
Verwende das benannte MCP-Tool get_published_activity, Node publishedActivity oder CLI tools call get_published_activity. Dies liest lokale Datensätze ohne Anbietererfassung. Auf dem ursprünglichen Erstellungszeitpunkt basierende publishingActivity und bestätigungsbasierte recordedCommitEvents behalten ihre getrennten Bedeutungen.
Erfasste Leistung bewerten
rankedPosts benötigt eine ausdrückliche Kennzahl und entweder die Grundlage lifetime oder period_total als Grundlage. Unbekannte Werte und inkompatible Grundlagen werden ausgeschlossen; null als Zahlenwert bleibt ein echter Messwert. Die Abdeckung je Netzwerk unterscheidet vollständige, teilweise, wartende und nicht verfügbare Quellen. Verwende Berichts-IDs für stabile Vergleiche erneut. Jedes Ergebnis benennt seine Kennzahleneinheit; Interaktionsraten verwenden Prozenteinheiten und behalten ihre Vergleichsgrundlage. Unterschiedliche bekannte Ratenformeln werden nicht gemeinsam bewertet, und Raten werden niemals summiert. Die eindeutige LinkedIn-Reichweite wird nicht über Beiträge hinweg summiert. Facebook-Like-Reaktionen sind von Gesamtreaktionen getrennt, wenn der Anbieter sie zurückgibt; fehlende Werte bleiben null. Leistung beweist nicht, dass der Text das Ergebnis verursacht hat.
Zurückgegebene Beiträge nach einer gewählten Kennzahl bewerten
Die benannten MCP-Tools sind get_publishing_activity und rank_posts. SDK-Methoden sind publishingActivity und rankPosts.
05 / FÜR ANDERE NUTZER ENTWICKELN
Mit OAuth verbinden.
Registriere einen öffentlichen PKCE-Client oder eine vertrauliche Server-App in der Konsole. Registriere exakte Callback-URLs, wähle Berechtigungsbereiche und gib die Datenschutz-URL deiner App an. Jeder Kunde wählt seine Kanäle und kann deine App trennen.
Erzeuge einen zufälligen Verifier und seine S256-Challenge. Bewahre einen zufälligen State-Wert auf, um den Callback zu verifizieren.
Öffne /api/developer/oauth/authorize mit Client-ID, registrierter Redirect-URI, Berechtigungsbereichen, State, Challenge, code_challenge_method=S256 und der angeforderten Ressource.
Tausche den zurückgegebenen Code bei /api/developer/oauth/token unter Angabe des ursprünglichen Verifiers und der Ressource aus. Vertrauliche Clients authentifizieren sich zusätzlich mit ihrem Geheimnis.
Speichere Zugangsdaten sicher. Zugriffstoken gelten eine Stunde; Aktualisierungstoken rotieren und laufen nach 30 Tagen ab. Verwende ein ersetztes Aktualisierungstoken niemals erneut.
Ressourcen sind https://backend.socialblaze.ai/api/developer oder die zugehörigen Endpunkte /graphql oder /mcp . Bestehende KI-Connector-Token verwenden eine separate Audience.
Verwende eine benutzerdefinierte Remote-MCP-Verbindung in einem kompatiblen Assistenten oder Entwicklerclient. Der Endpunkt ist https://backend.socialblaze.ai/api/developer/mcp. Nutze die OAuth-Anmeldung, wenn dein Client sie unterstützt; dafür ist kein Entwicklerschlüssel erforderlich. Verwende einen Entwicklerschlüssel mit begrenzten Berechtigungen nur in Clients, die sichere Bearer-Authentifizierung unterstützen.
Die Syntax der Client-Konfiguration variiert. Tools werden nach den gewährten Berechtigungsbereichen gefiltert. Verfügbare Tools umfassen Konto-/Kanalabfragen, Entwürfe, Veröffentlichung, Threads, Prüfung, Vorlagen und Berichte. Schemaressourcen und generische GraphQL-Tools verwenden dieselben Berechtigungen und Kontingente. Eine Auflistung hier bedeutet nicht, dass ein Connector im Marktplatz gelistet ist.
Diese Beispiele verwenden den Entwickler-MCP-Endpunkt und seinen aktuellen Toolkatalog mit begrenzten Berechtigungen. Eine interaktive SocialBlaze-Veröffentlichungsverbindung kann andere Tools und Kontoauswahlen bereitstellen. Wenn ein benanntes Tool fehlt, prüfe deine Verbindung und Berechtigungen; eine Veröffentlichungsverbindung bedeutet nicht automatisch Berichtszugriff.
Generische MCP-Anfrage- und Ergebnisformate
Übergib bei einem initialisierten MCP-Client das gezeigte Objekt {name, arguments} als Parameter von tools/call . execute_query benötigt eine wahrheitsgemäße summary mit höchstens 500 Zeichen und query; execute_mutation benötigt summary und mutation. Variablen und Operationsname sind optional. Die Kontoabfrage benötigt accounts:read; das Erstellen eines Entwurfs benötigt drafts:write.
{
"name": "execute_mutation",
"arguments": {
"summary": "Save an unpublished text draft.",
"mutation": "mutation SaveDraft($key: String!) { createDraft(requestKey: $key, text: \"Draft for review\") { postId version published } }",
"variables": {
"key": "my-draft-001"
},
"operationName": "SaveDraft"
}
}
MCP-Aufrufergebnisse können isError setzen und structuredContent.error oder Validierungsdetails bereitstellen; eine GraphQL-Antwort kann außerdem errors oder ein typisiertes MutationError enthalten. Rohes JSON-RPC enthält das Toolergebnis unter result und kann ein übergeordnetes error haben. Prüfe auch den zurückgegebenen Inhalt: HTTP 200 allein bedeutet keinen Erfolg.
Einen bestehenden Entwurf bearbeiten und anschließend lesen
Lies zuerst die aktuelle Entwurfs-ID und Version. Ersetze die Beispielplatzhalter durch tatsächliche Werte aus get_post ; übermittle die Platzhalter nicht unverändert. Die Bearbeitung eines eigenen Entwurfs verwendet edit_post mit draft: true, ausdrücklichen Text, einen stabilen Anfrageschlüssel und drafts:write. Lasse saveToDraft, mode und dueAt bei dieser Entwurfsbearbeitung weg. Sie liefert postId und version. Der Beitragseditor für zukünftige Planungen liefert dagegen id, version und deleted. Wähle nur Felder für diese Operation aus; lies Text und Medien separat über get_post mit posts:read.
Lasse bei einem integrationseigenen, nicht eingereichten und ungeplanten Entwurf draft weg und setze saveToDraft: true. Gib seine aktuelle ID/Version, einen stabilen Anfrageschlüssel, drafts:write und Ersatzmedien an; lasse mode und dueAt weg. Kombiniere nicht draft: true mit saveToDraft: true. Dieser Beitragseditor-Endpunkt liefert id, version und deleted, nicht postId. Das LinkedIn-PDF-Beispiel ersetzt die Anhangsliste durch ein Dokument. Ersetze alle Platzhalter, einschließlich URL/Titel, und behalte deinen gewünschten Beitragstext bei. Lies den Beitrag erneut, um seine Medien und seinen Entwurfsstatus zu bestätigen. Diese Bearbeitung reicht den Entwurf weder ein noch plant oder veröffentlicht sie ihn.
Einen LinkedIn-Entwurfsanhang durch ein PDF ersetzen
Füge einen MCP-Client-Schritt hinzu, wähle HTTP Streamable und verwende https://backend.socialblaze.ai/api/developer/mcp. Wähle Bearer Auth und speichere deinen Schlüssel mit begrenzten Berechtigungen in einem n8n-Zugangsdatenobjekt. Wähle ein Tool und verwende dann JSON-Eingaben für verschachtelte Parameter. Beginne mit get_account oder einer Entwurfsmutation; behalte bei der Wiederholung eines Ereignisses denselben Anfrageschlüssel bei.
Füge in deinen App-Verbindungen MCP Client by Zapier hinzu. Gib den obigen Endpunkt ein und wähle Streamable HTTP und OAuth. Melde dich bei SocialBlaze an, prüfe die angeforderten Berechtigungen und wähle Kanäle aus. Verwende ein rein lesendes Tool für Berichte oder Run Tool für eine autorisierte Entwurfsaktion. Aktiviere die Fehlerbehandlung und prüfe die zurückgegebenen strukturierten Daten, bevor du einen weiteren Schritt startest.
Einige Zapier-MCP-Client-Editoren senden Array-Text als Strings. channelIds benötigt ein echtes Array. Wenn der Editor es in einen String umwandelt, verwende execute_mutation mit einem einzelnen GraphQL-Mutationsstring, der das Literal channelIds: ["YOUR_CHANNEL_ID"] enthält. Beginne mit einem zukünftigen Termin, behalte seinen Anfrageschlüssel bei und prüfe Fehler, bevor du fortfährst.
Diese verwenden die generischen MCP-Clients der Plattformen. Client-Kontoverfügbarkeit und Anbietergebühren sind von den SocialBlaze-API-Limits getrennt.
Automatische Veröffentlichung ist eine ausdrückliche Berechtigung. Verwende reine Prüfberechtigungen, wenn ein Assistent Arbeit vorbereiten, aber nicht veröffentlichen soll.
07 / PLANBARE NUTZUNG
Limits für deine Planung.
Aktuelle Kontingente der Entwicklervorschau, gemeinsam für einen Arbeitsbereich
Ressource
Kontingent
API-Arbeitseinheiten
60/Minute · 500/Tag · 7,500/Monat
Importierte Medien
100 MB/Tag · 1 GB/Monat
Berichtsaktualisierungen
20/Tag · 500/Monat
Über die API erstellte Beiträge
25/Kanal/Tag
Abfrage-/Anfragegröße
16 KB Abfrage · 32 KB JSON-Body
UTC-Zeitfenster werden über alle Schlüssel und autorisierten Apps gemeinsam genutzt. Mehr Schlüssel vervielfachen die Kontingente nicht. Berechnet werden nur die ausgewählte Operation und erreichbare Fragmente: eine Einheit je 25 Komplexitätspunkte, aufgerundet und mindestens eine, plus zwei für Mutationen. Antwortheader und MCP-Metadaten geben die berechneten Arbeitseinheiten und Kostengrundlage an. Dies ist eine anfängliche konservative Regelung; Anbieteraktualisierungen und Medien behalten separate Budgets. Zwischengespeicherte Leseanfragen verursachen weiterhin lokale Abfragearbeit. Website-Veröffentlichung und Netzwerk-/Anbieterlimits sind separat.
401: Zugangsdaten abgelaufen, widerrufen oder ungültig.
403: fehlender Berechtigungsbereich, Kanalzugriff oder fehlende Teamberechtigung.
409: veraltete Version, geänderte Wiederholungseingabe oder unsicherer Veröffentlichungsstatus.
422: prüfe die Validierungsdetails, einschließlich channels.ID.
429: folge Retry-After; verwende denselben Mutationsschlüssel erneut.
GraphQL kann Fehler mit HTTP 200 zurückgeben. Prüfe immer errors. Jede Mutation hat außerdem eine Variante mit try , beispielsweise tryCreateDraft, mit einem typisierten Erfolgswert result oder MutationError. Wähle __typename und beim Fehler die Felder code, httpStatus, message, fields und retryAfterSeconds. Ein typisierter Fehler kann in data mit HTTP 200 erscheinen; prüfe daher auch dieses Ergebnis.
MCP-Aufrufer müssen außerdem isError und structuredContent prüfen: Fehler können als GraphQL errors, als typisiertes MutationError, error oder validation in den Details auftreten, selbst wenn die Transportanfrage erfolgreich ist. Wenn verfügbar, enthält _meta enthält httpStatus, chargedWorkUnits, verbleibende Kontingente und retryAfterSeconds. Ein Client, der Metadaten ausblendet, beweist nicht, dass ein Aufruf kostenlos war. Behebe Berechtigungs- oder Validierungsfehler vor einer Wiederholung. Behalte bei einem Schreibvorgang mit unklarem Ergebnis den ursprünglichen Anfrageschlüssel und unveränderte Eingaben bei; lies den gespeicherten Beitragsstatus, statt eine weitere Veröffentlichung zu erstellen.
Dies sind Vorschau-Limits, keine Zusage, dass ein Anbieter dieselbe Menge erlaubt.
08 / DEINE ARBEIT AUTOMATISIEREN
Beginne mit einem kleinen Workflow.
Berichtsbot für Freitag
Starte einen wöchentlichen Timer, lies zugestellte Beiträge und bestehende Leistungs-Momentaufnahmen für die Woche und sende den Bericht anschließend über deine eigene Slack-Verbindung.
Vom Formular zum Entwurf
Verwende einen Zapier-Webhook oder einen n8n-HTTP-Request-Knoten zum Aufrufen von createDraft. Speichere die Zugangsdaten im Geheimnisspeicher der Plattform und behalte eine stabile Ereignis-ID als requestKey bei.
Von der Bibliothek zur Kampagne
Wähle eine gespeicherte Vorlage, erstelle daraus einen Entwurf und sende ihn zur Prüfung. Plane erst, wenn die Freigabeanforderungen erfüllt sind.
Individuelle Berichte
Übernimm Kennzahlen ausgewählter Kanäle in dein eigenes Dashboard. Verwende beim Polling dieselben Momentaufnahme-IDs und behalte unbekannte oder unvollständige Werte bei.
Einen n8n-Workflow importieren
Lade einen Workflow herunter, wähle Import from File in n8n, bearbeite seine Eingaben und verknüpfe dann deine eigenen Bearer-Auth-Zugangsdaten mit dem MCP-Client-Schritt. Jeder beginnt mit einem manuellen Auslöser und bleibt nach dem Import inaktiv. Schlüssel gehören in n8n-Zugangsdaten, niemals in das JSON.
Mit n8n 2.43.5 importiert; MCP-Knotenaufrufe wurden gegen eine isolierte API-Testumgebung geprüft. Die gehostete Ausführung mit deinen eigenen Zugangsdaten ist eine separate Prüfung. Diese verwenden generische MCP-Clients und bedeuten weder eine im Marktplatz gelistete App noch eine veröffentlichte Zapier-Vorlage. Behalte die Autorisierung externer Nachrichten in deinem eigenen Workflow.
09 / DER TATSÄCHLICHE VERTRAG
Lies das aktuelle Schema.
Die Referenz wird aus den implementierten GraphQL-Typen erzeugt. Authentifizierte Introspektion und der Explorer liefern den bereitgestellten Vertrag. SocialBlaze verwendet eigene Kennungen und ein eigenes Schema.
Gib deinem Programmierassistenten den KI-lesbaren API-Leitfaden für die richtigen Endpunkte, Berechtigungen, Versionen und Wiederholungsregeln.
Serverseitiger Node-Client
Das versionierte Paket enthält TypeScript-Deklarationen und einen Kommandozeilenclient. Installiere die heruntergeladene Datei mit npm install ./socialblaze-developer-client-0.1.14.tgz. Halte deinen Schlüssel in einer Server-Umgebungsvariablen.
Verwende benannte Beitrags- und Entwurfsbefehle, tools list, tools describe NAME, tools call NAME, schema describe TYPE und doctor. Übergib JSON direkt, aus einer Datei oder über stdin. --dry-run prüft grundlegende angegebene Eingaberegeln, ohne das Tool aufzurufen; die Toolermittlung verbraucht weiterhin Kontingent und bestätigt weder Anbietervalidierung noch Zustellung. Die CLI wiederholt Schreibvorgänge niemals automatisch.
Beitragsabfragen unterstützen die Filter postTypes und dueAtPresence für gespeicherte native Formate und das Vorhandensein eines geplanten Datums. Setze den Cursor zurück, wenn sich Filter ändern. Diese Filter aktivieren keine zusätzlichen Veröffentlichungsformate.
Das benannte Tool list_channels unterstützt Seiten mit 1–100 Einträgen, standardmäßig 20, mit afterId. Wähle für größere Seiten kleinere Feldmengen; normale Komplexitäts- und Arbeitskontingente gelten. Formatfilter umfassen zusätzlich Google Business event, offer und whats_new auf Grundlage gespeicherter nativer Metadaten. Diese überschneiden sich bewusst mit der gewöhnlichen Beitragskategorie und aktivieren keine neuen Veröffentlichungsformate.
Node getPost und contentItem liefern Medien-URLs, einschließlich statischer und animierter Vorschauen. Node listPosts behält seine kompakte Projektion ohne Medien bei; verwende eine Einzelabfrage oder eine ausdrückliche GraphQL-Auswahl. Node getPost enthält isDraft , behält jedoch eine kompakte Projektion ohne Veröffentlichungsmethode oder Status manueller Erinnerungen bei. Verwende das benannte Tool get_post oder eine ausdrückliche GraphQL-Abfrage für diese Felder; der generische Client und die CLI können die neuen Entwurfsoperationen ohne Änderungen am unveränderlichen SDK-Paket übertragen.
Antwortfelder auswählen
Benannte CLI-Aufrufe akzeptieren --fields 'id,text' und gleichrangige Gruppen wie --fields 'nodes.{id,text},pageInfo.endCursor'. Pfade beziehen sich auf das benannte Ergebnis. Der Server erstellt eine kleinere GraphQL-Auswahl und validiert sie vor der Ausführung. Die Berechnung berücksichtigt diese Auswahl. Behalte IDs und Versionen beim Nachverfolgen von Schreibvorgängen sowie Berichtsgrundlage, Hinweise und Abdeckung bei. all stellt die Standardauswahl des Tools wieder her, nicht jedes Schemafeld. Benannte MCP-Tools akzeptieren denselben String für fields . Metadaten zur Kanalpaginierung bleiben verfügbar, wenn die angezeigten Felder keine IDs enthalten. Generische Abfragebefehle verwenden ihr ausdrückliches Dokument.
CLI-Einrichtung und Agentenanleitung
socialblaze init schreibt lokale Standardwerte; config path und config get --all zeigen sie an. Zugangsdaten über Umgebungsvariablen werden empfohlen. Nur ein ausdrückliches init --save-token speichert ein Token in einer unverschlüsselten globalen Datei außerhalb des aktuellen Projekts. Repository-Konfiguration unterstützt nur Zeitzone und Timeout und kann weder Zugangsdaten bereitstellen noch deren Ursprung umleiten. Die Konfigurationsausgabe maskiert gespeicherte Schlüssel; lokales Entfernen widerruft den Serverschlüssel nicht.
context --list listet die mitgelieferten Agententhemen auf; context gibt den Skill und die Berichtsanleitung offline aus. completion bash, zsh, fish oder powershell gibt ein Skript zur Shell-Vervollständigung aus. Verwende socialblaze install claude oder install codex für eine ausdrückliche verwaltete Offline-Skill-Installation; uninstall claude oder uninstall codex macht eine unveränderte Installation rückgängig. Angepasste oder verknüpfte Ordner bleiben erhalten. Paketinstallation und init installieren keine Skills und ändern keine Shell-Profile. Vorschläge decken statische Befehlsgruppen ab. Version 0.1.5 korrigiert verschachtelte zsh-Vervollständigung. Statische Befehlsvorschläge werden in tatsächlichen Offline-Laufzeiten von bash, zsh ZLE und fish geprüft; die PowerShell-Ausgabe wird vom Parser geprüft. Diese Prüfungen führen keine Remote-Tools aus und autorisieren keine Veröffentlichung.
Lies den mitgelieferten Agenten-Skill. Er wahrt deine Autorisierung und unterscheidet lokale Datensatzzahlen, erfasste Rankings und unvollständige Anbieterhistorie. Lies für diese Workflows die verknüpfte Berichtsreferenz.
Brauchst du Hilfe bei einer bestimmten Anfrage? Sende eine E-Mail an [email protected] mit Operationsname, Status und sicherem Fehlercode. Gib niemals deinen Schlüssel, Aktualisierungstoken oder Zugangsdaten sozialer Netzwerke an.
Dass du dich für die kostenlose Social-Media-Vorlage von SocialBlaze entschieden hast. Wir leiten dich zu Canva weiter, damit du deinen Beitrag gestalten kannst.
Deine Kanäle.
Dein KI-Assistent.
Verbinde einen Assistenten mit deinem SocialBlaze-Arbeitsbereich. Lies gespeicherte Beiträge und Berichte, bereite Entwürfe vor und plane Beiträge mit den von dir gewählten Berechtigungen.
Halte die Beiträge der einzelnen Kanäle getrennt. Prüfe jeweils Status, Text, Medien und geplantes Datum.
In drei Schritten verbinden.
Mit MCP kann ein kompatibler KI-Client SocialBlaze-Tools nutzen. Du musst kein GraphQL schreiben, um über die benannten Tools Beiträge zu lesen, Entwürfe zu erstellen oder Veröffentlichungen zu planen.
Verbinde deine Kanäle
Melde dich bei SocialBlaze an und verbinde die gewünschten Netzwerke. Ein Assistent sieht nur die Kanäle, die zu seinem Zugriff gehören.
Deine Kanäle verwaltenMCP-Server hinzufügen
Gib die folgende Server-URL in den Einstellungen deines Clients für benutzerdefinierte Remote-MCP-Verbindungen ein. Wähle OAuth, wenn der Client den Autorisierungsablauf von SocialBlaze unterstützt.
Autorisieren, dann lesen
Melde dich an, prüfe die angeforderten Aktionen und wähle Kanäle aus. Beginne mit
get_accountoderlist_channels. Prüfe die von deinem Client angeforderten Berechtigungen. Wenn eine Veröffentlichung angefordert wird, ist dafür eine ausdrückliche Zustimmung erforderlich. Für rein lesenden Zugriff muss der Client ausschließlich Leseberechtigungen anfordern; Analysen benötigen eine separate Berechtigung.OAuth in einem kompatiblen Client
Nutze den Anmelde- und Zustimmungsablauf im Browser. Für eine OAuth-Verbindung musst du keinen Entwickler-API-Schlüssel erstellen oder einfügen. Beachte die Kanalauswahl der bestehenden Verbindung.
Client-Funktionen und Kontoverfügbarkeit können variieren. Eine benutzerdefinierte MCP-Verbindung bedeutet nicht, dass ein Connector im jeweiligen Marktplatz gelistet ist. Für eine persönliche Server-App verwende den API-Schnellstart; für andere Nutzer verwende die Registrierung einer OAuth-App.
Mit Claude verbinden
Arbeitsbereichsadministratoren müssen den Connector möglicherweise zuerst hinzufügen. Lies den Leitfaden für benutzerdefinierte Claude-Connectoren für aktuelle Ansichten und Kontovoraussetzungen.
Ein verbundener Kanal fehlt in meiner KI
Prüfe, ob der Kanal in SocialBlaze freigeschaltet und zugänglich ist. Verbinde SocialBlaze dann aus deiner KI-App erneut, prüfe die angeforderten Berechtigungen und wähle den fehlenden Kanal aus. Ein hinzugefügter oder freigeschalteter Kanal wird nicht automatisch Teil einer bestehenden KI-Verbindung; deren Aktualisierung behält die Kanalauswahl bei. Behalte deine bestehende Verbindung, bis die neue funktioniert. Du musst Instagram oder Facebook nicht erneut verbinden, um nur die Kanalauswahl deiner KI-Verbindung zu ändern.
Wenn du Analyseberechtigungen hast und der Kanal sichtbar ist, aber kein gespeicherter Bericht vorliegt, ist das ein separates Problem der Datenverfügbarkeit. Eine geänderte Kanalauswahl erfasst oder aktualisiert keine Analysedaten.
Probiere hilfreiche, klar begrenzte Anfragen aus
„Zeige meine nächsten 10 geplanten Beiträge. Behalte jedes Kanalziel als eigenen Beitrag bei.“
„Speichere dies als Entwurf. Veröffentliche es nicht.“
„Lies meinen gespeicherten Leistungsbericht für diesen Zeitraum. Sage mir, was nicht verfügbar ist.“
Halte bei „den letzten 10 veröffentlichten Beiträgen“ jeden zurückgegebenen Kanalbeitrag getrennt, auch wenn Texte oder Artikellinks übereinstimmen. Die Ergebnisse umfassen die von dir autorisierten Kanäle, nicht unbedingt dein gesamtes Konto. Ein fehlender gespeicherter Bericht oder eine unbekannte Kennzahl bedeutet nicht null; das Lesen eines Berichts aktualisiert kein Netzwerk. Beitragsvorschaukarten befinden sich in der Vorschauphase. In ChatGPT kann die erste Anzeige fehlschlagen; wähle Try again, um die Karten zu laden. Wenn ein Bild nicht geladen werden kann, öffne den gespeicherten Beitrag in SocialBlaze. Die Verfügbarkeit in anderen KI-Apps variiert. Extern gehostete Bilder können nicht verfügbar sein; eine Vorschau repariert ihre Quelle nicht. Geplante oder angenommene Beiträge sind keine bestätigten Veröffentlichungen; prüfe den zurückgegebenen Status, bevor du Erfolg meldest.
Der Dienststatus hat eine eigene Seite.
Aktuelle Nachweise zu Kerndiensten, API und MCP sowie zur Netzwerkveröffentlichung findest du auf der Dienststatusseite.
Verfolge, woran wir arbeiten.
Bereits veröffentlichte Funktionen, laufende Verbesserungen und geplante Entwicklungen findest du auf der Roadmap-Seite.
Erstelle deine erste API-Anfrage.
Melde dich bei deinem SocialBlaze-Konto an, öffne die Entwicklerkonsole und erstelle einen Schlüssel. Wähle die Kanäle und Berechtigungen, die deine Integration benötigt. Kopiere das Geheimnis einmal und speichere es auf deinem Server.
Ein Entwicklerschlüssel ist von deiner Website-Anmeldung getrennt. Halte ihn aus öffentlichem JavaScript, URLs und der Versionsverwaltung fern. Für die Veröffentlichung ist eine separate Zustimmung erforderlich.
Die zurückgegebenen Kanal-IDs gehören zu deinem ausgewählten Zugriff. Verwende diese IDs beim Erstellen von Beiträgen. Die Konsole enthält einen ausführbaren Explorer, der seine Zugangsdaten während der Sitzung im Arbeitsspeicher hält.
Entwerfen. Prüfen. Planen. Veröffentlichen.
Mit echten Beiträgen arbeiten
Erstelle Entwürfe, lies Versionen und Medien, bearbeite zukünftige Beiträge und storniere sichere lokale Planungen.
Deine echte Warteschlange nutzen
Veröffentliche sofort, wähle ein Datum, füge Beiträge zur Warteschlange hinzu oder priorisiere sie. Verschiebe einen zukünftigen Beitrag an den Anfang oder ans Ende.
Angenommen bedeutet nicht zugestellt. Lies
post.allowedActionsfür Hinweise zum lokalen Bearbeiten und Stornieren innerhalb deiner Berechtigungen; jede Mutation prüft die aktuelle Version und den Veröffentlichungsstatus erneut. Lies jede zurückgegebene Beitrags-ID, um Status, Veröffentlichungs-URL und Fehlerdetails zu prüfen. Ein gemischter ungültiger Stapel speichert nichts. Wiederhole einen Schreibvorgang mit unklarem Ergebnis niemals mit einem neuen Anfrageschlüssel.Bewahre
contentItemIdvoncreatePostodercreateThreadauf. Beim Löschen eines Ziels kann der zugehörige Quellentwurf erhalten bleiben. Um die vollständige lokale Inhaltsgruppe zu entfernen, lies die aktuelle Version des Inhaltselements und verwendedeleteContentItem; bestätige anschließend, dass die Gruppe und ihre Beiträge nicht mehr vorhanden sind.Ein Datum oder eine Warteschlangenposition wählen
Nutze
mode: schedulemit einem ausdrücklich zukünftigendueAtfür einen festen Zeitpunkt. VerwendeaddToQueueoderprioritizeohne Datum für die Platzierung in der nativen Kanalwarteschlange. Warteschlangenaktionen erfordern die Funktion für intelligente Warteschlangen in deinem Tarif und eine Veröffentlichungsberechtigung. Um einen bestehenden zukünftigen Beitrag zu verschieben, verwendemovePostInQueueoder das benannte MCP-Toolmove_post_in_queuemit der neuesten Version und einem stabilen Anfrageschlüssel.Das Verschieben in der Warteschlange kann die Fälligkeit anderer Beiträge ändern. Lies danach die geplanten Beiträge des Kanals und ihre Versionen erneut. Wenn ein geeigneter, über die Warteschlange erstellter Beitrag ans Ende verschoben wird, kann die sicher zugeordnete Warteschlange in ihren bestehenden Zeitfenstern zusammenrücken; ein Beitrag mit festem Datum wird nicht allein durch einen gemeinsamen Zeitstempel Teil dieser Warteschlange. Unterschiedliche Eigentümer, ein unsicherer Veröffentlichungsstatus oder belegte feste Zeitfenster können eine Neuordnung verhindern. Die zurückgegebene Annahme ist kein Zustellnachweis.
Zugestellte Beiträge lesen, ohne Kanäle zusammenzufassen
Lies jeden Netzwerkbeitrag einzeln und behalte seine ID, seinen Kanal und die zurückgegebene URL bei. Die standardmäßige absteigende Sortierung nach Datensatz-ID entspricht dem Website-Feed innerhalb der für die Zugangsdaten autorisierten Kanäle. Eine Freigabe ausgewählter Kanäle zeigt nicht jeden Kanal des Arbeitsbereichs. Für eine Chronologie anhand geeigneter erfasster Zustellnachweise fordere
sort: [{field: publishedAt, direction: desc}]und optionalpublishedAfter/publishedBeforean. Lies die nullable FelderpublishedAtundpublishedAtBasis.native_terminal_delivery_observedist der Zeitpunkt der ersten lokalen Abschlussbestätigung, kein unabhängig bestätigter ursprünglicher Veröffentlichungszeitpunkt beim Anbieter; geplante, erstellte und bearbeitete Daten ersetzen niemals einen unbekannten Veröffentlichungszeitpunkt. Unbekannte Zeiten stehen zuletzt und können keine vollständige chronologische Aussage zu den letzten zehn Beiträgen begründen. Setze Cursor zurück, wenn sich Filter oder Sortierung ändern.Beitragslisten filtern und paginieren
Lasse
statusesweg, um den Status nicht einzuschränken. Ein ausdrücklich leeresstatuses: []wählt keine Beiträge aus; GraphQLstatuses: nulllässt den Filter ebenfalls uneingeschränkt. Wenn du einen einzelnenstatusmitstatusesangibst, bilden ihre Werte eine gemeinsame Auswahl; ein einzelner Status gilt also auch neben einem leeren Array. Diese Regeln gelten auch für die zugehörige Beitragsanzahl. BeidueAtin aufsteigender Reihenfolge stehen Beiträge ohne geplantes Datum zuerst, bei absteigender Reihenfolge zuletzt.publishedAtlässt unbekannte Zeiten in beiden Richtungen zuletzt stehen. VerwendedueAtPresence: presentfür ausschließlich geplante Daten. Fahre mit dem zurückgegebenenpageInfo.endCursorfort; beginne erneut ohneafterbei geänderten Filtern, anderer Sortierung oder geändertem ausgewähltem Zugriff sowie bei Ablehnung eines Cursors. Ein vor der Aktualisierung der Fälligkeitsreihenfolge gespeicherter Cursor kann nicht für eine Sortierung mitdueAtin aufsteigender Reihenfolge wiederverwendet werden.Bilder, Videos und Dokumente
Füge JPEG-, PNG- oder WebP-Bilder innerhalb des Limits jedes Ziels oder ein MP4/MOV-Video hinzu. Standardbeiträge erlauben bis zu 10 Bilder auf Facebook, Instagram, Tumblr und WordPress; 20 auf LinkedIn und Threads; 35 auf TikTok; 4 auf Bluesky, Mastodon und Google Business Profile; und 1 auf Pinterest. YouTube erfordert ein Video. Tumblr akzeptiert ein H.264-MP4/MOV-Video mit bis zu zehn Minuten Länge innerhalb desselben Importlimits von 50 MB. Ein gemeinsamer Beitrag muss zu jedem ausgewählten Ziel passen. Gruppen aus mehreren Beiträgen und Threads behalten ein Gesamtlimit von acht Anhängen pro Anfrage. Bilder können eine separate geschützte
thumbnailUrlfür ihre SocialBlaze-Vorschau enthalten; sie ersetzt nicht das an ein Netzwerk gesendete Bild. Bilder akzeptieren außerdem eine separate geschützteanimatedThumbnail: eine öffentliche GIF- oder WebP-Vorschau mit bis zu 1 MiB. Statische und animierte Vorschauen verwenden jeweils ihr eigenes Importkontingent und behalten separate URLs. Das Originalbild muss weiterhin die Bildregeln des Ziels erfüllen. Beim Lesen von Medien werden beide URLs zurückgegeben;isAnimatedbleibt null, bis die Animation gemessen wurde; eine Vorschau-URL belegt daher nicht, dass das Originalbild animiert ist. LinkedIn akzeptiert auch ein PDF mit Titel und einer optionalen HTTPS-thumbnailUrl für die SocialBlaze-Vorschau. Vorschaubilder sind validierte JPEG-, PNG- oder WebP-Dateien mit maximal 1 MB; LinkedIn rendert seine eigenen Dokumentseiten. Bilder sind auf jeweils 8 MB, Videos auf 50 MB und PDFs auf 20 MB begrenzt. Kanalspezifische Validierung gilt weiterhin; prüfeconfigurationundchannel.capabilities.Gespeicherte PDF-Medien stellen die nullable Felder
numPages(gemessene Seitenzahl) undfilesize(Bytes aus dem validierten Import) bereit. Bei älteren Medien oder einer nicht verfügbaren Seitenzahl bleibt der Wertnull, niemals eine erfundene Null; eine gemessene Größe kann auch bei unbekannter Seitenzahl verfügbar sein. Diese Werte beschreiben das gespeicherte importierte PDF, keine vom Anbieter gerenderte Kopie. Ihr Lesen lädt die Datei nicht erneut herunter und ergänzt keine älteren Medien nachträglich. Die benannten MCP-Toolsget_postundlist_postsenthalten die Felder. Verwende beim unveränderlichen Node-Client 0.1.14 eine ausdrückliche GraphQL-Auswahl, wenn du diese neueren Felder benötigst.Einen Beitrag mit Medien und ohne Text planen
Für ein unterstütztes Ziel akzeptieren
createPostund das benannte Toolcreate_postals Werttext: ""mit gültigen Bildern oder einem Video. Leerer Text ohne Medien wird abgelehnt. Erforderliche Titel, netzwerkspezifische Optionen und Medienlimits gelten weiterhin; ein Beispiel für einen reinen Textentwurf zeigt diesen Ablauf nicht. In einer interaktiven Veröffentlichungsverbindung kann die vorbereitete Karte auch eine leere Bildunterschrift mit Medien beibehalten: Prüfe die ausgewählten Konten und Inhalte, bevor du Schedule oder Post wählst.Gemeinsam bearbeiten und eine Prüfung anfordern
Für einen einfachen, integrationseigenen Einzelkanalentwurf auf einem Kanal mit Freigabepflicht verwende
updatePostmitapprovalChange: requestoderrevert. Das benannte MCP-Tooledit_postunterstützt diese Optionen ohne Text. Gib die neueste Version, einen stabilen Anfrageschlüssel unddrafts:writeundposts:reviewan. Inhalt und Anhänge ändern sich atomar mit der Prüfanfrage. Eine Freigabe allein veröffentlicht nichts; reiche den unveränderten freigegebenen Entwurf anschließend ausdrücklich ein. Geänderte freigegebene Inhalte benötigen eine erneute Prüfung.Eine zukünftige Veröffentlichungsmethode ändern
Nutze
updatePost(publishingMethod: automatic)oderreminderoder das benannte Tooledit_post, um einen sicheren zukünftigen Beitrag unter Beibehaltung seiner ID umzustellen. Gib seine aktuelle Version und einen stabilen Anfrageschlüssel an. Dies erfordert sowohl Entwurfs- als auch Veröffentlichungsberechtigungen. Automatische Beiträge müssen eine zukünftige Planung haben; Erinnerungen müssen in der Warteschlange stehen und noch nicht versendet worden sein. Beiträge mit Veröffentlichungsversuchen, Prüfanforderungen oder Thread-Zugehörigkeit können nicht umgewandelt werden. Eine Erinnerung benötigt ein aktives mobiles Benachrichtigungsgerät mit angemeldetem Nutzer. Die Umwandlung prüft Ziel, Tarif, Medien und aktuellen Zugriff erneut; sie bestätigt keine Netzwerkzustellung.Die Quelle im Composer nachverfolgen
createDraft,createPost,createThreadund jedercreateContentItemVariantsals Eintrag akzeptieren das nullable Feldsource, eine vom Aufrufer angegebene Tracking-Bezeichnung mit bis zu 250 Zeichen. Entsprechende benannte MCP-Erstellungstools unterstützen dies ebenfalls, einschließlich Prüfbeiträgen. Ein Thread verwendet dieselbe Bezeichnung für alle Einträge; Varianten können separate Bezeichnungen haben. Lies sie überpost.provenance.composerSourceundcomposerSourceBasis; die benanntenget_postund NodegetPostenthalten Herkunftsangaben. Gewöhnliche Listenabfragen enthalten diese ebenfalls; Listen mit gespeicherten Kennzahlen lassen Herkunftsangaben und Metadaten animierter Vorschauen aus, um dasselbe Abfragebudget einzuhalten. Lies einzelne Beiträge, wenn du beides benötigst. Weglassen oder null beim Erstellen lässt die Bezeichnung unbekannt. Entwurfs- und zukünftige Beitragsänderungen akzeptieren sie ebenfalls: Weglassen behält sie bei, null löscht sie. Diese Bezeichnung verändert weder den erfassten Erstellungsweg noch Berechtigungen und beweist keine KI-Urheberschaft.KI-Unterstützung deklarieren
Änderungen an Entwürfen und zukünftigen Beiträgen akzeptieren das nullable Feld
aiAssisted, einschließlich der benannten MCP-Toolsedit_post. False bleibt false, null löscht die Deklaration des Aufrufers und Weglassen behält sie bei. Dies ändert weder den Erstellungsweg noch erkennt es, wer den Text verfasst hat. Verwende bei einer unveränderten Wiederholung die neueste Version und denselben Anfrageschlüssel.Regeln für jedes Format
Lies
configuration.services.contentRulesoderchannel.capabilities.contentRulesfür jedes automatische Beitragsformat und jeden Anhangstyp. Die Regeln umfassen die Zählweise für Text und Titel, Anhangszahlen, zulässige Dateitypen und Bytelimits, erforderliche Kanaloptionen und die Unterstützung erster Kommentare. Dieser Katalog beschreibt die Validierung durch SocialBlaze. Dein Tarif, aktuelle Berechtigungen, Abmessungen und Anbieterprüfungen gelten weiterhin; er bestätigt keine Zustellung. Reels benötigen ein Video, automatische Stories ein Bild oder Video.Kanalmetadaten und Erwähnungen
Lies Mitgliedschaftszahlen des Arbeitsbereichs und native Tariflimits über
account.organizations. Kanäle enthalten Ziel-IDs des Anbieters, sichere Profil-URLs, Netzwerksymbole und Veröffentlichungsfunktionen. Paginiere große Auswahlen mitchannels(first, afterId); MCPlist_channelsliefert Paginierungsmetadaten.Beitrags- und Bibliotheksmedien liefern gespeicherte Werte für
mimeType,widthundheightbei bekannten Werten; unbekannte Werte bleiben null. Zum Lesen ist kein Mediendownload erforderlich. Strukturierte Erwähnungen von Facebook-Seiten und auf LinkedIn verwendenchannelOptions.mentionsmit Start- und Längenangaben in Unicode-Codepoints sowie einer passenden Bezeichnung. Liespost.annotationsfür validierte Erwähnungen und unveränderte Links. Ungültige oder überlappende Bereiche werden abgelehnt; geänderte Beitragstexte müssen aktualisierte Erwähnungspositionen enthalten.Erfasste Herkunft und Kontostatus
Lies
post.provenancefür den erfassten Erstellungsweg und optional die vom Aufrufer deklarierte KI-Unterstützung. SetzeaiAssistedausdrücklich, wenn bekannt; Unbekanntes bleibt null. Eine Anfrage über einen KI-Client beweist nicht, dass KI den Beitragstext geschrieben hat. Die Video-Kennzeichnung beim Anbieter verwendet ihre separate Kanaleinstellung.account.preferencesliefert deine gespeicherten Codes für Kalender- und Zeitanzeige, sofern bekannt. Kanalabfragen unterscheidenqueuePaused,workspacePublishingPausedundcredentialsExpired; das Pausieren der Veröffentlichung bedeutet nicht automatisch, dass die Anbieter-Zugangsdaten abgelaufen sind.Textzählung in den Netzwerken
Bluesky verwendet kompakte sichtbare URL-Bezeichnungen und behält die vollständigen Ziele in Link-Facets mit UTF-8-Byteindizes bei. Gespeicherte Beitragstexte behalten ihre ursprünglichen URLs. Mastodon verwendet die konfigurierten Instanzmetadaten sowie die offiziellen Regeln für Grapheme, reservierte URLs und entfernte Erwähnungen; Inhaltswarnungen zählen wörtlich. Lies
textLimitsBasis,textLimitsMetadataAvailableundcharactersReservedPerUrlin den Veröffentlichungsfunktionen, um aktuelle Instanzmetadaten vom konservativen Ersatzwert zu unterscheiden. Metadatenabfragen sind begrenzt und werden zwischengespeichert.TikTok-Fotos, Videos und Zustellung
Fototexte erlauben 4,000 UTF-16-Einheiten mit einem optionalen Titel von bis zu 90 Einheiten. Videotexte erlauben 2,200 Einheiten. Setze
channelOptions.isAiGeneratedfür die Video-Kennzeichnung ausdrücklich; true wird bei Fotos abgelehnt. Zukünftige Änderungen an Videometadaten behalten ein ausdrückliches false bei. LiestiktokPostingChoices(channelId)oder MCPget_tiktok_posting_choicesfür die tatsächlichen Datenschutzoptionen, Interaktionsbeschränkungen und Videolängen des ausgewählten Creators. Diese Abfragen können einen bis zu 60 Sekunden alten Cache verwenden; bei der Veröffentlichung erfolgt eine erneute Validierung. Wähle Zielgruppe und Zustimmung ausdrücklich. Eine zurückgegebene Veröffentlichungs-ID bestätigt die Annahme: Entwicklerbeiträge bleiben in Verarbeitung, bis ein verifizierter Anbieter-Callback oder eine begrenzte Anbieter-Statusabfrage die Zustellung für denselben ursprünglichen Versuch bestätigt. Die Statusprüfung reicht keine weitere Veröffentlichung ein. Eine öffentliche Beitrags-URL kann unbekannt bleiben.Erwähnungen in Instagram-Bildern
Setze
images[].userTagsmit einem öffentlichenhandleohne @ sowie numerischen Koordinatenx/yim Bereich von 0 bis 1. Verwende bis zu zwanzig eindeutige Handles pro Bild. Feed-Bilder und Karussell-Kindelemente unterstützen positionierte Erwähnungen; Karussell-Elternelemente und automatische Stories nicht. Entferne positionierte Erwähnungen, bevor du eine automatische Story planst. Diese Felder gelten nur für Instagram; ungültige oder doppelte Handles und Koordinaten werden abgelehnt. Bibliotheksvorlagen behalten Bilderwähnungen bei der Wiederverwendung bei. Es handelt sich nicht um interne Inhaltstags.Erinnerungen für manuelle Veröffentlichungen
Setze
publishingMethod: reminderfür deine ausgewählten Kanäle. Jeder erhält eine eigene Erinnerung. Aktiviere zuerst Benachrichtigungen in der angemeldeten SocialBlaze-Smartphone-App. Die Erinnerung hält einen vorbereiteten Entwurf bereit und öffnet dessen Inhalt zur Fälligkeit; sie veröffentlicht niemals automatisch. Unterstützt werden ein ausdrückliches Datum, der nächste manuelle Warteschlangenplatz und Priorität.changeReminderplant sie neu, storniert sie oder erfasst deine eigene Veröffentlichungsbestätigung. Bei Instagram-Erinnerungen kannstickerFieldsMusik, Produkte, Text, Themen und andere Hinweise zur Fertigstellung mit jeweils bis zu 2,000 Zeichen enthalten. Der angemeldete Erinnerungsbildschirm zeigt sie an und kopiert sie. Ergänze diese Details selbst in Instagram; automatische Veröffentlichung lehnt ausgefüllte Fertigstellungsfelder ab. Eine gesendete Benachrichtigung oder manuelle Bestätigung ist kein Netzwerk-Zustellnachweis. Eine Mehrkanalanfrage teilt importierte Medien und speichert entweder die gesamte Gruppe oder nichts. Das Löschen ihres Inhaltselements storniert alle ausstehenden Erinnerungen. Setze für eine Teamprüfung außerdem requestApproval: true mit posts:review und ausdrücklicher Zustimmung zu posts:publish. Die Erinnerung wartet auf die native Freigabe, bleibt vor automatischer Veröffentlichung geschützt und wird storniert, wenn die Prüfung zurückgezogen wird oder die Freigabe veraltet.YouTube-Videoeinstellungen
Wähle
privacyundmadeForKidsausdrücklich. Frageconfiguration.youtubeCategoriesfür Kategorie-IDs des Anbieters ab und setzecategoryIdbei Bedarf. Die optionalen Werteembeddable,license(youtube oder creativeCommon),notifySubscribersundisAiGeneratedwerden an den nativen YouTube-Upload übergeben. Ausdrückliche false-Werte bleiben erhalten. Du kannst diese Einstellungen bei einem zukünftigen Beitrag überupdatePost.channelOptionsbearbeiten, ohne sein Video zu ersetzen. Die KI-Kennzeichnung bezieht sich auf realistisch veränderte oder synthetische Inhalte; beachte die Kennzeichnungsanforderungen von YouTube.Videocover
Setze für ein einzelnes Instagram-, TikTok- oder Pinterest-Video
thumbnailOffsetin den Kanaloptionen auf den Millisekundenversatz des Cover-Frames. Er muss innerhalb der importierten Videodauer liegen. Bei einem sicheren zukünftigen Beitrag kannupdatePostbei einem bestehenden mandanteneigenen Import das Cover ändern oder das Video ersetzen und sein Cover in derselben Anfrage wählen. Bestehende native Beiträge können diese Bearbeitung nutzen, wenn ihre Medien ein unterstützter mandanteneigener Import sind; beliebige externe Video-URLs erlauben keine reine Cover-Änderung. Weggelassene Medien und Planungsangaben behalten das gespeicherte Medium und die Zeit bei. Verwende nach einer unklaren Antwort denselben Anfrageschlüssel erneut. Pinterest erhält den Frame-Versatz in ganzen Sekunden und akzeptiert ein importiertes MP4/MOV-Video mit bis zu 50 MB; das Video wird hochgeladen und verarbeitet, bevor der Pin erstellt wird. Instagram Reels akzeptieren außerdemshareToFeed, einschließlich eines ausdrücklichen false. Andere Kanäle und Instagram Stories lehnen diese Optionen ab.Änderungen an zukünftigen Beiträgen benötigen die aktuelle Beitragsversion und einen mehr als zwei Minuten entfernten Termin. Beiträge in laufender Verarbeitung und zugestellte Beiträge können nicht geändert werden. Eine Änderung der Feed-Freigabe eines Reels behält Video und Cover bei, wenn diese Felder fehlen. Bearbeite bei Pinterest
channelOptions.destinationUrlzum Ändern des Ziellinks; ein ausdrückliches null löscht den gespeicherten Link. Beitragsabfragen liefern diesen Wert sowohl indestinationUrlals auch in den Kanaloptionen. Diese Änderungen veröffentlichen nicht sofort.Linkkarten
Gib für Standardbeiträge auf Facebook, LinkedIn, Bluesky oder Threads ohne andere Anhänge
linkUrlin den Kanaloptionen an. LinkedIn und Bluesky akzeptieren außerdemlinkTitleundlinkDescription. Facebook und Threads verwenden die Vorschau der Zielwebsite. LinkedIn und Bluesky akzeptieren außerdemlinkThumbnailUrlzusammen mit der Link-URL: eine direkte öffentliche JPEG-, PNG- oder WebP-Datei mit bis zu 1,000,000 Bytes, mit acht unterschiedlichen Vorschauen pro Anfrage. Sie wird geschützt importiert und beim Anbieter hochgeladen; ein Uploadfehler stoppt den Vorgang vor der Veröffentlichung. Speichere eine neue Vorschau vor dem Einreichen im Entwurf. Null löscht eine gespeicherte Vorschau. HTTPS-Links dürfen keine Zugangsdaten enthalten. Es erfolgt kein serverseitiges Scraping. Bearbeite zukünftige Karten mitupdatePost.channelOptions; ein ausdrückliches null fürlinkUrllöscht die Karte samt Titel und Beschreibung. Das Löschen und gleichzeitige Ersetzen von Medien in derselben Anfrage ist atomar. Entwurfsoptionen führen ausdrücklich geänderte Felder zusammen; eine leere Liste setzt jede Auswahl zurück.Orte und Threads-Themen
Instagram-Feed-/Reel- und Threads-Beiträge akzeptieren eine numerische Anbieter-ID als
locationIdund optionallocationName. Instagram-Karussell-Kindelemente erhalten die Markierung nicht. Automatische Instagram Stories lehnen diese Option ab. Threads akzeptiert außerdem eintopicmit bis zu 50 UTF-16-Einheiten, ohne kaufmännisches Und oder Punkt. Weggelassene Optionen bleiben bei zukünftigen Änderungen erhalten; null löscht sie.Inhaltswarnungen und KI-Kennzeichnung
Mastodon akzeptiert
spoilerText; die Warnung wird wörtlich gezählt und teilt sich mit dem vorbereiteten Beitragstext das konfigurierte Zeichenkontingent der Instanz. Die Zählregeln der Instanz für URLs und entfernte Erwähnungen gelten für den Beitragstext, nicht für die Warnung. Verwende null, um eine gespeicherte Warnung zu löschen. Instagram, YouTube und TikTok-Video akzeptierenisAiGenerated. Instagram sendet dies nur im übergeordneten Mediencontainer. Nicht unterstützte Netzwerkoptionen werden abgelehnt, bevor Beiträge gespeichert werden.Erste Kommentare
Erste Kommentare haben separate UTF-16-Limits: Facebook 5,000, Instagram 2,200, LinkedIn 1,250 und Threads 500. Lies
maxFirstCommentLengthundfirstCommentLengthUnitin der Kanalfunktion. Emoji können als zwei Einheiten zählen. Nicht unterstützte Ziele und Stories lehnen Kommentare ab; Text wird niemals stillschweigend gekürzt. Bestehende Tarifberechtigungen gelten weiterhin.Textlimits
Die meisten Entwickler-Beitragstexte verwenden UTF-16-Einheiten, wobei viele Emoji als zwei zählen. LinkedIn-HTTP(S)-URLs zählen als 24 Einheiten; logische Zeilenumbrüche auf Instagram als zwei. Facebook-Texte erlauben 5,000, Instagram 2,196; Pinterest- und YouTube-Titel erlauben 100. Google Business behält sein natives Limit von 1,500 bei. Mastodon verwendet begrenzte Instanzmetadaten mit einem konfigurierten konservativen Ersatzwert; die Funktionsfelder geben die aktuelle Grundlage und Metadatenverfügbarkeit an. Bluesky zählt Grapheme nach kompakten sichtbaren Linkbezeichnungen und behält vollständige URL-Ziele in Link-Facets bei. Ursprünglich gespeicherte Beitragstexte bleiben unverändert. Lies die Kanalfunktionen für das aktuelle Limit und die Zähleinheit.
Google Business-Beiträge
Nutze
channelOptions.businessPostfür Standardupdates, Veranstaltungen und Angebote. Veranstaltungen und Angebote benötigen einen Titel sowie lokale Start- und Enddaten. Optionale zusammengehörige Uhrzeiten verwendenHH:mm; ohne beide gilt der gesamte lokale Tag. Die UTC-Veröffentlichungsplanung bleibt separat. Standardupdates und Veranstaltungen unterstützen Aktionsschaltflächen; Angebote verwenden Gutschein, Einlöselink und Bedingungen. Anrufschaltflächen verwenden die geschäftliche Telefonnummer ohne Aktions-URL. Andere Schaltflächen benötigen HTTPS-URLs. Diese Optionen erfordern automatische Veröffentlichung, behalten die bestehenden Kurztext- und Bildlimits bei und bedeuten niemals eine bestätigte Anbieterzustellung.Instagram-Audio
Durchsuche lizenzierte Musik und Originalsounds über die Audiokatalog-Abfragen. Facebook Login ist erforderlich. Gib für ein Reel mit einem einzelnen Video eine Audio-ID und optionale Lautstärken in den Kanaloptionen an. Vorschauen laufen ab; Berechtigungsfehler und unvollständige Ergebnisse werden ausdrücklich angezeigt. Gespeicherte Entwurfsoptionen bleiben beim späteren Einreichen erhalten.
Geordnete Threads
Bluesky, Mastodon und Threads unterstützen 2–25 Einträge. Antworten warten auf die bestätigte Zustellung des übergeordneten Beitrags. Das Neuplanen oder Stornieren des Stammbeitrags hält seine sicheren zukünftigen Antworten zusammen. Bluesky- und Threads-Einträge akzeptieren außerdem linkUrl; Bluesky akzeptiert linkTitle, linkDescription und eine geschützte linkThumbnailUrl. Karten können nicht mit anderen Medien kombiniert werden; Threads verwendet die Vorschau der Zielwebsite. Mastodon lehnt Karten ab. Threads erlauben acht Anhänge über die gesamte Anfrage und höchstens 100 Zielbeiträge.
Anhänge eines zukünftigen Threads bearbeiten
Nutze
updateContentItem.threadEntriesoder das benannte Tooledit_content_itemzum Ersetzen oder Löschen von Anhängen und Linkoptionen für den gesamten bestehenden Thread. Gib jeden Eintrag in Reihenfolge, seinen Text, die aktuelle Gruppenversion und einen stabilen Anfrageschlüssel an. Weggelassene Anhänge bleiben unverändert;images: []oderclearMedia: trueentfernt sie. Gemeinsame Uploads werden pro Eintrag kanalübergreifend einmal importiert. Für jedes Ziel darf noch kein Versuch und keine Veröffentlichung erfolgt sein; sein Termin muss mehr als zwei Minuten in der Zukunft liegen. Die gesamte Änderung wird atomar gespeichert. Behalte dieselbe Eintragszahl bei und ändere die Planung separat; Größenänderungen und kombinierte Medien-/Planungsänderungen werden nicht unterstützt.Inhaltsgruppenfilter
Filtere
contentItemsnachdraftContentoderpostContentund sortiere nach createdAt und updatedAt. Die Suche ist standardmäßig auf deine Integration begrenzt. Ein ausdrücklichesdiscovery: workspaceerfordert ein separat genehmigtescontent:readzusammen mitposts:read; bestehende Zugangsdaten erhalten dies nicht automatisch. Damit werden auch Gruppen gelesen, die unter deinen nativen Arbeitsbereichsberechtigungen und ausgewählten Kanälen sichtbar sind. Gruppen mit einem nicht zugänglichen Ziel werden einschließlich ihres gemeinsamen Texts und ihrer Medien ausgeschlossen. PrüfemanagedByCurrentIntegration; integrationsübergreifende Gruppenänderungen bleiben blockiert, während einzelne Beitragsänderungen ihre separaten Autorisierungsprüfungen behalten. Cursor sind an Suchbereich, Filter, Reihenfolge und Kanalzugriff gebunden; setze die Paginierung bei Änderungen zurück. SDK0.1.14 bietetcontentItems(options)undcontentItem(id, options)als Lesehilfen.Teamprüfung
Nutze
posts:reviewundrequestApproval: truezum Erstellen von Beiträgen mit ausgesetzter Veröffentlichung.requestPostApprovalsendet einen bestehenden unveröffentlichten Beitrag zur Prüfung.withdrawPostApprovalsetzt ihn nur dann auf einen Entwurf zurück, wenn deine nativen Freigabeberechtigungen dies erlauben. Eine Prüfberechtigung gewährt niemals automatische Veröffentlichung.Passe jedes Ziel an.
Nutze
createContentItemVariantsfür kanalspezifische Texte, Titel, Anhänge, native Optionen oder Zeitpläne. Gib unterschiedliche ausgewählte Kanal-IDs inpostsan. Die Gruppe unterstützt bis zu 25 Ziele und insgesamt acht Anhänge innerhalb deiner bestehenden Medien- und Veröffentlichungslimits. Identische Medieneinträge teilen sich einen geschützten Import.Validierung und Speicherung sind atomar: Eine fehlgeschlagene Variante speichert keine Teilkampagne. Jeder Eintrag verwendet standardmäßig die Warteschlange oder seinen angegebenen Termin. Verwende
mode: publishNownur für ein beabsichtigtes sofortiges Einreichen. SetzerequestApproval: truefür eine ausgesetzte Teamprüfung. Die Annahme ist weiterhin keine bestätigte Zustellung.Lies
contentItem.hasChannelVariantsund die Gruppenversion; lies anschließend einzelne Beitrags-IDs für vollständige Details. Bearbeite einen einzelnen Beitrag, um unterschiedliche Texte beizubehalten. Eine Gruppenänderung an Text oder Medien wendet dieselbe Änderung bewusst auf jedes sichere zukünftige Ziel an. Gruppen- und Einzelversionen unterscheiden sich.Einen bestehenden Entwurf in Kanalbeiträge umwandeln
Lies einen integrationseigenen, noch nicht eingereichten Entwurf ohne Kanal und seine aktuelle Gruppenversion. Rufe
promoteContentItemDraftmit einer nicht leerenpostsals Liste an, um dasselbe Inhaltselement in unterschiedliche Kanalbeiträge umzuwandeln. Jeder Eintrag enthält seine eigene Kanal-ID, ausdrücklichen Text und optional Medien, native Optionen und einen Zeitplan. Quelltext und Anhänge bleiben gespeichert; fehlende Medien eines Eintrags werden nicht daraus übernommen.Verwende entweder kanalbezogene
postsoder die bestehende gemeinsamechannelIdsForm. Kombiniere sie nicht miteinander und mische Eintragsoptionen nicht mit Planungsoptionen auf oberster Ebene. Ein fehlgeschlagenes Ziel speichert keine teilweise Umwandlung. Verwende für eine unveränderte Wiederholung denselben Anfrageschlüssel; ein eingereichter Entwurf kann nicht unter einem neuen Schlüssel erneut umgewandelt werden. Eine Prüfanfrage benötigtdrafts:writeundposts:review; automatisches Einreichen benötigtposts:publish. Native Teamfreigaberegeln gelten weiterhin. Einträge verwendenContentVariantInput. Jeder Eintrag akzeptiert das nullable FeldaiAssisted: false bleibt false, null oder Weglassen lässt die Unterstützung unbekannt, und geänderter Eintragstext übernimmt niemals die Deklaration des ursprünglichen Entwurfs. Jedes Ziel kann ein Entwurf bleiben, automatisch veröffentlicht werden oder eine manuelle Erinnerung nutzen. BehaltecontentItemIdfür das vollständige Bereinigen der Gruppe bei.Automatische URL-Kürzung nach Workflow
Die Kürzung erfolgt vor dem endgültigen Speichern über die konfigurierten Connectoren des Autors. Einstellungen werden niemals stillschweigend deaktiviert. Die Unterstützung hängt von Workflow, Anhang und nativen Kanaloptionen ab; nicht unterstützte Kombinationen liefern einen Fehler mit Handlungshinweis.
Das grundlegende Textprofil umfasst Facebook, Bluesky, LinkedIn, Threads, Tumblr, Google Business Profile, Mastodon und WordPress. Bildprofile innerhalb nativer Limits umfassen auch Instagram und Pinterest; Videoprofile umfassen das nativ unterstützte YouTube/TikTok und andere validierte Dienste. Einheitliche geplante Umwandlungen und bestehende gespeicherte/native Übergänge haben separate validierte Optionskataloge; die obigen Regeln für gemischte Gruppen erlauben keine beliebigen Optionen. Ausdrücklich gespeicherte Datenschutz-/Zustimmungsangaben und die aktuelle native Validierung bleiben erforderlich. Speichern aktiviert niemals Arbeit, und Prüfung gewährt niemals Veröffentlichung. Lies
allowedActionsund aktuelle Versionen; ziehe ausstehende Prüfungen vor dem Löschen zurück, wenn diese Aktion angeboten wird. Die Annahme der Vorbereitung und die Kürzung bestätigen keine Netzwerkzustellung.Ein Ziel vor dem Planen speichern
Setze
saveToDraft: truebei einem Eintrag, um einen kanalgebundenen Entwurf zu speichern. Dies benötigtdrafts:write, ohne Veröffentlichungsberechtigung oder erneute Veröffentlichungsanmeldung. Speichern allein erstellt weder einen Veröffentlichungszeitplan noch eine Smartphone-Erinnerung. Modus- und Datumswerte eines gespeicherten Eintrags planen ihn nicht und werden nicht zu wiederverwendbaren Planungsanweisungen; wähle einen neuen Modus und ein neues Datum, wenn du ihn später ausdrücklich planst. Null wird nicht akzeptiert fürsaveToDraft.Lies die Ziel-ID und ihre neueste Version und verwende dann
armDestinationDraftoder das benannte Toolarm_destination_draftzum Planen desselben Beitrags. Das benannte Tool nennt die IDpostId. WählepublishNow,schedulemitdueAt,addToQueueoderprioritize. Wenn du den Modus weglässt, wählt ein angegebenes Datum die Planung; andernfalls wird die Warteschlange verwendet. Automatische Veröffentlichung prüft aktuelle Veröffentlichungsberechtigung, Kanalzugriff, Medien, Freigabeanforderungen und Anmeldestatus erneut.Ein zukünftiges Ziel zum Entwurf zurücksetzen
Bei einem vom Eigentümer verwalteten automatischen Ziel, dessen Veröffentlichung noch nicht begonnen hat, kann
updatePost(saveToDraft: true)mit derselben Ziel-ID, Quellgruppe und denselben Anhängen dessen einzelne zukünftige Planung deaktivieren. Gib die aktuelle Version und einen stabilen Anfrageschlüssel an und verfüge sowohl über Veröffentlichungs- als auch Entwurfsberechtigungen. Der Termin muss mehr als zwei Minuten entfernt sein. Setze es zuerst zurück und bearbeite dann den aktuellen Entwurf separat; Prüf-, Erinnerungs-, Thread- und bereits versuchte Veröffentlichungszustände behalten ihre eigenen Abläufe. Aktiviere den Entwurf ausdrücklich erneut, wenn er bereit ist.Einen gespeicherten Entwurf prüfen
Kombiniere auf einem Kanal mit Freigabepflicht
saveToDraft: truemitrequestApproval: true. Dies benötigt Entwurfs- und Prüfberechtigungen. Der Entwurf bleibt nach der Freigabe inaktiv: Plane anschließend die unveränderte freigegebene Version ausdrücklich. Eine Bearbeitung erfordert eine neue Freigabe. Wenn du dagegen beim ausdrücklichen Planen eines automatischen Beitrags eine Prüfung anforderst, wird dieser Zeitplan bis zur Freigabe ausgesetzt.Manuelle Veröffentlichung ausdrücklich wählen
Setze bei einem Eintrag
publishingMethod: reminderfür eine Veröffentlichung, die jemand auf seinem Smartphone abschließt. Ein gespeicherter Entwurf behält diese Auswahl bei, ohne ein Gerät zu benötigen. Wenn du ihn später planst, bleibt die gespeicherte Auswahl bei weggelassener Veröffentlichungsmethode erhalten; eine ausdrückliche Methode wählt diese erneut. Null wird nicht akzeptiert. Das Planen einer Erinnerung benötigt Entwurfs- und Veröffentlichungsberechtigungen, ein aktives angemeldetes Benachrichtigungsgerät und jede erforderliche Freigabe.publishNowstellt eine sofort fällige Erinnerung in die Warteschlange; es veröffentlicht nicht automatisch im Netzwerk.Lies
isDraft,publishingMethodundmanualReminder.stategemeinsam. Ein Eintrag mit ausstehender gespeicherter Prüfung bleibt ein Entwurf, und eine gespeicherte Erinnerungsoption hat noch keine aktive Erinnerung.providerDeliveryConfirmed: falseist kein Beleg für eine Netzwerkzustellung. Gemischte Gruppen können gespeicherte, geplante und Erinnerungseinträge enthalten; ihre Aktionen pro Beitrag bleiben getrennt. Verwendeedit_postmitdraft: truezum Bearbeiten eines sicheren gespeicherten Ziels und das kanonischedeleteContentItemoderdelete_content_itemzum Bereinigen der gesamten Gruppe. Ziehe ausstehende Prüfungen zuerst zurück. Eine beanspruchte oder unklare Veröffentlichung erfordert einen Abgleich statt blindes Löschen.Benannte Tools für KI-Clients
get_publishing_configurationundget_channelzeigen die tatsächlichen Medien- und Zustimmungsanforderungen. Verwendelist_content_items,get_content_item,create_content_item_draft,promote_content_item_draftundcreate_content_item_variantsohne selbst GraphQL zu schreiben. Tools zum Bearbeiten, Löschen und Zuordnen behalten dieselben Berechtigungs-, Versions- und Wiederholungsprüfungen.Verwende deine gespeicherten Inhalte erneut.
Durchsuche, erstelle und bearbeite Vorlagen in deiner tatsächlichen SocialBlaze-Inhaltsbibliothek. Verwende Text-, Bild-, Video- und PDF-Vorlagen in Entwürfen erneut. Das Bearbeiten benötigt die aktuelle Version. Beim Entfernen einer Vorlage bleiben gemeinsam genutzte hochgeladene Dateien erhalten.
Nutze
createDraftFromLibraryItemmit ID, Version, Anfrageschlüssel und ausgewählten Kanälen. Der Bibliothekszugriff folgt deinem aktuellen Tarif und deinen Teamberechtigungen.Vorlagen akzeptieren eine optionale Beschreibung mit bis zu 1,000 Zeichen, Emoji mit bis zu 32 Zeichen und die Sichtbarkeit:
internalfür deinen Arbeitsbereich oderprivatefür ihren Ersteller. Bestehende Vorlagen und eine weggelassene Sichtbarkeit bleiben intern. Nur der Ersteller kann eine gemeinsame Vorlage privat machen; private Vorlagen sind für andere Mitglieder in der API, nativen Bibliothek und bei mobilen Abfragen verborgen. FilterelibraryItems(visibility: private)oderinternal. Es gibt keinen öffentlich kuratierten Vorlagenkatalog. Null löscht Beschreibung oder Emoji; weggelassene Felder bleiben bei Änderungen erhalten. Native Änderungen behalten diese Optionen bei.Erstelle den Bericht, den du brauchst.
Ausdrückliche TikTok-Anbieterabfragen erfassen nur öffentliche Videos.
enumerationCompletebeschreibt diese Quellenerfassung;completebleibt false, weil Fotos und private Videos ausgeschlossen sind. Liesbasisundnotein Berichten, aggregierten Referenzen und der Ranking-Abdeckung, bevor du Summen oder leere Ergebnisse interpretierst.Gewöhnliche Kanalberichte, einzelne Beitragskennzahlen, Rankings und aggregierte Abfragen verwenden ausschließlich vorhandene SocialBlaze-Website-Daten und gespeicherte Momentaufnahmen. Eine Leseanfrage kontaktiert keinen Anbieter, plant keine Erfassung und aktualisiert keine fehlenden Daten. Verfügbare Kennzahlen unterscheiden sich nach Netzwerk; nicht verfügbare Werte bleiben unbekannt, niemals als Zahlenwert null.
Lies
readMode,storedAnalyticsund verfügbare gespeicherte Zeiträume, wenn kein normalisierter Bericht verfügbar ist. Native Abschnitte behalten ihre ursprünglichen Bezeichnungen und Messgrundlagen. Der Aktualisierungszeitstempel einer Zeile beweist nicht, dass jede Kennzahl zu diesem Zeitpunkt erfasst wurde. Fehlende Daten bleiben nicht verfügbar; der Ablauf eines Veröffentlichungstokens allein verhindert keinen autorisierten historischen Lesezugriff. Zeiträume bleiben durch die verfügbare Kontohistorie begrenzt. Prüfecomplete, den Status jeder Kennzahl alsstatusund ihre Grundlage alsbasisvor der Interpretation von Summen. Jeder Kanalbericht und jede aggregierte Referenz benennt seinen Netzwerkdienst. Das aggregierte FeldmetricsUpdatedAtist der neueste bekannte beitragende Zeitstempel;oldestMetricsUpdatedAtgibt den ältesten beitragenden Zeitpunkt an und bleibt null, wenn bei einer bereiten Quelle die Aktualität unbekannt ist.Optionale LinkedIn-Videostatistiken enthalten pro Beitrag eindeutige
viewersundtotalTimeWatchedin Minuten. Eindeutige Zuschauer werden niemals über Beiträge hinweg summiert. Instagramfollowsist eine zugeordnete Anzahl für geeignete Feed-Beiträge und Stories, nicht für Reels oder das Netto-Followerwachstum. Diese Werte hängen von Anbieterzugriff und Verfügbarkeit ab; nicht verfügbare Werte bleiben null. Für Instagram wird keine Wiedergabezeit-Einheit abgeleitet.Die Erfassung von LinkedIn-Berichten ist begrenzt. Wenn das Seitenlimit erreicht wird oder kein sicheres Fortfahren möglich ist, können nutzbare erfasste Zeilen mit teilweiser Abdeckung zurückgegeben werden. Ihre Summen beschreiben nur diese erfasste Teilmenge, niemals alle Beiträge des Kontos. Lies den Berichtshinweis und den Erfassungsstatus, bevor du Kanäle vergleichst.
Leistungszeilen können
publicationDateundpublicationTimeBasisgetrennt vonpublishedAtanzeigen. Ein historischer nativer Kalendertag mit unbekannter Zeitzone behältpublishedAt: null; erfinde keinen Veröffentlichungszeitpunkt um Mitternacht UTC. Halte einzelne Netzwerkbeiträge getrennt, statt Beiträge mit demselben Artikellink zusammenzufassen.Gespeicherte Analyseabschnitte der Website lesen
Nutze
storedChannelAnalyticsoder das benannte MCP-Toolget_stored_channel_analyticsmitanalytics:read, einem autorisierten Kanal und genauen Start-/Enddaten. Jeder Abschnitt benennt Quelle, Verfügbarkeit und Datumsgrundlage.availableRangeslistet gespeicherte Zeiträume auf; es ersetzt nicht die von dir angeforderten Daten durch einen davon. Ein nicht verfügbarer oder zu großer Rohabschnitt beweist nicht, dass keine Beiträge vorhanden sind; prüfe seinen Fehlercode und die paginiertechannelReportals Projektion.Bei TikTok, Pinterest, Tumblr und WordPress kann der Abschnitt
reporteine bereits gespeicherte ausdrückliche Erfassung anzeigen, gekennzeichnet alssaved_developer_report. Das sind gespeicherte Berichtsdaten, kein Beleg dafür, dass eine native Website-Erfassung sie erzeugt hat. Ohne passenden gespeicherten Bericht sind sie nicht verfügbar; die Leseanfrage erfasst keinen. Ein Bericht kann bereit sein, währendcompleteoderenumerationCompletefalse ist. Behalte beim Berichten der Ergebnisse die teilweise Abdeckung und nicht verfügbare Kennzahlen bei.Behalte für die Paginierung normalisierter Berichte die zurückgegebene Berichts-ID, den Kanal und die Daten zusammen und übergib
posts.pageInfo.endCursorals nächstesafter. Beginne beim Wechsel von Momentaufnahmen ohne Cursor. Eine einzelne gespeicherte Beitragskennzahl und ein unvollständiger Kanalbericht können unterschiedliche Abdeckung haben; gib für jedes Ergebnis dessen eigenen Status und Grundlage an.Neue Anbieterdaten nur auf Anfrage erfassen
Verwende ausdrücklich die Mutation
refreshChannelReportoder das benannte MCP-Toolrefresh_channel_reporterst, wenn der Nutzer darum bittet, neue Anbieterdaten zu erfassen. Die Erfassung kann aktuelle Analyseberechtigungen beim Anbieter benötigen und verbraucht das separate Aktualisierungsbudget. Sie kann den Status queued zurückgeben; frage dieselbe zurückgegebene Berichts-ID und dieselben Daten mitchannelReportab. Gewöhnliche Leseanfragen melden sich niemals an, verbinden keine Konten erneut und starten diesen Vorgang nicht automatisch.Gespeicherte Kennzahlen beim Lesen von Beiträgen einbeziehen
Setze
includeMetrics: truebeipostoderpostsoder beim benannten MCP-Toolget_postundlist_posts. GibmetricSnapshotsmit einer Kanal-ID, Berichts-ID und passenden Start-/Enddaten für jeden Kanal an. Die Berechtigungenposts:readundanalytics:readsind erforderlich. Dies liest nur bestehende Momentaufnahmen; es kontaktiert niemals ein Netzwerk und startet keine Berichtserfassung. LiesmetricsState,metricsErrorCode, den Status und die Grundlage jeder Kennzahl sowiemetricsUpdatedAt. Fehlende oder nicht verfügbare Kennzahlen bleiben null. Gespeicherte Historie kann veraltet sein; behalte die Veraltet- und Aktualitätsindikatoren des zugehörigen Berichts bei, statt sie als neu erfasst zu behandeln. Lasse die Option für gewöhnliche Beitragsabfragen weg; normale Auswahl- und Komplexitätslimits gelten.Beim benannten MCP-Tool
list_postsmitincludeMetrics: truemit der vollständigen Standardauswahl und einer festgelegten Momentaufnahme liefert das Weglassen vonfirstaktuell höchstens 18 Zeilen innerhalb des standardmäßigen Komplexitätslimits von 1,000 Punkten. Weitere Momentaufnahmen können diesen Standardwert senken. Ein ausdrücklich angegebenesfirstwird niemals stillschweigend reduziert: 19 vollständige Zeilen mit einer Momentaufnahme überschreiten dieses Limit. Gewöhnliche Beitragslisten verwenden weiterhin standardmäßig 20; eine Auswahl weniger Felder kann größere Seiten erlauben. FolgepageInfo.endCursorzur Fortsetzung der Abfrage, statt anzunehmen, dass eine Antwort jeden Beitrag enthält. Diese automatische Seitenanpassung gehört zum benannten Tool; eine ausdrückliche GraphQL-Abfrage muss eine zur Auswahl passende Seitengröße wählen.Lokale Veröffentlichungsdatensätze zählen
publishingActivityzählt aufbewahrte automatische Beitragsdatensätze nach dem ursprünglichen Erstellungsdatum in deiner gewählten Zeitzone. Jedes Ziel und jeder Thread-Eintrag zählt separat. Aggregierte Zählungen enthalten soft-gelöschte Datensätze, schließen Entwürfe und manuelle Erinnerungen aus und können endgültig gelöschte Datensätze oder reine Anbieterhistorie nicht wiederherstellen. Native Entwürfe können nach dem Einreichen ältere Erstellungsdaten behalten. Dies sind keine exakten historischen Einreichungs- oder Veröffentlichungsdaten;currentlyDeliveredbeschreibt den aktuellen Status dieser Datensätze. Halte die zurückgegebene Grundlage und den Hinweis sichtbar.recordedCommitEventszählt aufbewahrte native Versuche separat nach dem erfassten Bestätigungsdatum des Anbieters, unabhängig vom ursprünglichen Erstellungsdatum. Eine beabsichtigte erneute Veröffentlichung zählt erneut. Die Annahme kann vor Verarbeitung oder Zustellung erfolgen; dies sind daher keine Zustellzahlen. HaltecommitEventBasis,commitEventCountUnit,commitEventNoteund das auf false gesetzte FlagcommitEventHistoryCompletesichtbar.Bekannte erfasste Veröffentlichungszeiten zählen
publishedActivityzählt aufbewahrte, aktuell zugestellte Zieldatensätze, deren geeignete nativ erfasste Zustellzeit in den angeforderten Kalenderzeitraum und die Zeitzone fällt. Es verwendet dieselben Zeitstempelregeln wie das nullable Feldpost.publishedAt; Erstellungs-, Bearbeitungs-, Planungs- und Bestätigungsdaten ersetzen diese niemals. Jeder Netzwerkziel-/Thread-Datensatz zählt separat, einschließlich aggregierter soft-gelöschter Datensätze. Bewahre die Angaben zurangeStartUtc,rangeEndUtcExclusive,basis,countUnitundcomplete: false.unknownTimeExcludedzählt alle ausgewählten aufbewahrten zugestellten Datensätze mit unbekannten Zeiten, nicht unbekannte diesem Monat zugeordnete Beiträge. Endgültig gelöschte, überschriebene und reine Anbieterhistorie bleiben außerhalb dieser Teilmenge bekannter Zeiten.Verwende das benannte MCP-Tool
get_published_activity, NodepublishedActivityoder CLItools call get_published_activity. Dies liest lokale Datensätze ohne Anbietererfassung. Auf dem ursprünglichen Erstellungszeitpunkt basierendepublishingActivityund bestätigungsbasierterecordedCommitEventsbehalten ihre getrennten Bedeutungen.Erfasste Leistung bewerten
rankedPostsbenötigt eine ausdrückliche Kennzahl und entweder die Grundlagelifetimeoderperiod_totalals Grundlage. Unbekannte Werte und inkompatible Grundlagen werden ausgeschlossen; null als Zahlenwert bleibt ein echter Messwert. Die Abdeckung je Netzwerk unterscheidet vollständige, teilweise, wartende und nicht verfügbare Quellen. Verwende Berichts-IDs für stabile Vergleiche erneut. Jedes Ergebnis benennt seine Kennzahleneinheit; Interaktionsraten verwenden Prozenteinheiten und behalten ihre Vergleichsgrundlage. Unterschiedliche bekannte Ratenformeln werden nicht gemeinsam bewertet, und Raten werden niemals summiert. Die eindeutige LinkedIn-Reichweite wird nicht über Beiträge hinweg summiert. Facebook-Like-Reaktionen sind von Gesamtreaktionen getrennt, wenn der Anbieter sie zurückgibt; fehlende Werte bleiben null. Leistung beweist nicht, dass der Text das Ergebnis verursacht hat.Die benannten MCP-Tools sind
get_publishing_activityundrank_posts. SDK-Methoden sindpublishingActivityundrankPosts.Mit OAuth verbinden.
Registriere einen öffentlichen PKCE-Client oder eine vertrauliche Server-App in der Konsole. Registriere exakte Callback-URLs, wähle Berechtigungsbereiche und gib die Datenschutz-URL deiner App an. Jeder Kunde wählt seine Kanäle und kann deine App trennen.
/api/developer/oauth/authorizemit Client-ID, registrierter Redirect-URI, Berechtigungsbereichen, State, Challenge,code_challenge_method=S256und der angeforderten Ressource./api/developer/oauth/tokenunter Angabe des ursprünglichen Verifiers und der Ressource aus. Vertrauliche Clients authentifizieren sich zusätzlich mit ihrem Geheimnis.Ressourcen sind
OAuth-Discovery-Metadatenhttps://backend.socialblaze.ai/api/developeroder die zugehörigen Endpunkte/graphqloder/mcp. Bestehende KI-Connector-Token verwenden eine separate Audience.Mach dein Konto zugänglich.
Verwende eine benutzerdefinierte Remote-MCP-Verbindung in einem kompatiblen Assistenten oder Entwicklerclient. Der Endpunkt ist
https://backend.socialblaze.ai/api/developer/mcp. Nutze die OAuth-Anmeldung, wenn dein Client sie unterstützt; dafür ist kein Entwicklerschlüssel erforderlich. Verwende einen Entwicklerschlüssel mit begrenzten Berechtigungen nur in Clients, die sichere Bearer-Authentifizierung unterstützen.Die Syntax der Client-Konfiguration variiert. Tools werden nach den gewährten Berechtigungsbereichen gefiltert. Verfügbare Tools umfassen Konto-/Kanalabfragen, Entwürfe, Veröffentlichung, Threads, Prüfung, Vorlagen und Berichte. Schemaressourcen und generische GraphQL-Tools verwenden dieselben Berechtigungen und Kontingente. Eine Auflistung hier bedeutet nicht, dass ein Connector im Marktplatz gelistet ist.
Diese Beispiele verwenden den Entwickler-MCP-Endpunkt und seinen aktuellen Toolkatalog mit begrenzten Berechtigungen. Eine interaktive SocialBlaze-Veröffentlichungsverbindung kann andere Tools und Kontoauswahlen bereitstellen. Wenn ein benanntes Tool fehlt, prüfe deine Verbindung und Berechtigungen; eine Veröffentlichungsverbindung bedeutet nicht automatisch Berichtszugriff.
Generische MCP-Anfrage- und Ergebnisformate
Übergib bei einem initialisierten MCP-Client das gezeigte Objekt
{name, arguments}als Parameter vontools/call.execute_querybenötigt eine wahrheitsgemäßesummarymit höchstens 500 Zeichen undquery;execute_mutationbenötigtsummaryundmutation. Variablen und Operationsname sind optional. Die Kontoabfrage benötigtaccounts:read; das Erstellen eines Entwurfs benötigtdrafts:write.MCP-Aufrufergebnisse können
isErrorsetzen undstructuredContent.erroroder Validierungsdetails bereitstellen; eine GraphQL-Antwort kann außerdemerrorsoder ein typisiertesMutationErrorenthalten. Rohes JSON-RPC enthält das Toolergebnis unterresultund kann ein übergeordneteserrorhaben. Prüfe auch den zurückgegebenen Inhalt: HTTP 200 allein bedeutet keinen Erfolg.Einen bestehenden Entwurf bearbeiten und anschließend lesen
Lies zuerst die aktuelle Entwurfs-ID und Version. Ersetze die Beispielplatzhalter durch tatsächliche Werte aus
get_post; übermittle die Platzhalter nicht unverändert. Die Bearbeitung eines eigenen Entwurfs verwendetedit_postmitdraft: true, ausdrücklichen Text, einen stabilen Anfrageschlüssel unddrafts:write. LassesaveToDraft,modeunddueAtbei dieser Entwurfsbearbeitung weg. Sie liefertpostIdundversion. Der Beitragseditor für zukünftige Planungen liefert dagegenid,versionunddeleted. Wähle nur Felder für diese Operation aus; lies Text und Medien separat überget_postmitposts:read.Medien eines gespeicherten Entwurfs ersetzen
Lasse bei einem integrationseigenen, nicht eingereichten und ungeplanten Entwurf
draftweg und setzesaveToDraft: true. Gib seine aktuelle ID/Version, einen stabilen Anfrageschlüssel,drafts:writeund Ersatzmedien an; lassemodeunddueAtweg. Kombiniere nichtdraft: truemitsaveToDraft: true. Dieser Beitragseditor-Endpunkt liefertid,versionunddeleted, nichtpostId. Das LinkedIn-PDF-Beispiel ersetzt die Anhangsliste durch ein Dokument. Ersetze alle Platzhalter, einschließlich URL/Titel, und behalte deinen gewünschten Beitragstext bei. Lies den Beitrag erneut, um seine Medien und seinen Entwurfsstatus zu bestätigen. Diese Bearbeitung reicht den Entwurf weder ein noch plant oder veröffentlicht sie ihn.n8n
Füge einen MCP-Client-Schritt hinzu, wähle HTTP Streamable und verwende
Dokumentation zum n8n MCP Clienthttps://backend.socialblaze.ai/api/developer/mcp. Wähle Bearer Auth und speichere deinen Schlüssel mit begrenzten Berechtigungen in einem n8n-Zugangsdatenobjekt. Wähle ein Tool und verwende dann JSON-Eingaben für verschachtelte Parameter. Beginne mitget_accountoder einer Entwurfsmutation; behalte bei der Wiederholung eines Ereignisses denselben Anfrageschlüssel bei.Zapier
Füge in deinen App-Verbindungen MCP Client by Zapier hinzu. Gib den obigen Endpunkt ein und wähle Streamable HTTP und OAuth. Melde dich bei SocialBlaze an, prüfe die angeforderten Berechtigungen und wähle Kanäle aus. Verwende ein rein lesendes Tool für Berichte oder Run Tool für eine autorisierte Entwurfsaktion. Aktiviere die Fehlerbehandlung und prüfe die zurückgegebenen strukturierten Daten, bevor du einen weiteren Schritt startest.
Einige Zapier-MCP-Client-Editoren senden Array-Text als Strings.
Einrichtung des Zapier MCP ClientchannelIdsbenötigt ein echtes Array. Wenn der Editor es in einen String umwandelt, verwendeexecute_mutationmit einem einzelnen GraphQL-Mutationsstring, der das LiteralchannelIds: ["YOUR_CHANNEL_ID"]enthält. Beginne mit einem zukünftigen Termin, behalte seinen Anfrageschlüssel bei und prüfe Fehler, bevor du fortfährst.Diese verwenden die generischen MCP-Clients der Plattformen. Client-Kontoverfügbarkeit und Anbietergebühren sind von den SocialBlaze-API-Limits getrennt.
Automatische Veröffentlichung ist eine ausdrückliche Berechtigung. Verwende reine Prüfberechtigungen, wenn ein Assistent Arbeit vorbereiten, aber nicht veröffentlichen soll.
Limits für deine Planung.
UTC-Zeitfenster werden über alle Schlüssel und autorisierten Apps gemeinsam genutzt. Mehr Schlüssel vervielfachen die Kontingente nicht. Berechnet werden nur die ausgewählte Operation und erreichbare Fragmente: eine Einheit je 25 Komplexitätspunkte, aufgerundet und mindestens eine, plus zwei für Mutationen. Antwortheader und MCP-Metadaten geben die berechneten Arbeitseinheiten und Kostengrundlage an. Dies ist eine anfängliche konservative Regelung; Anbieteraktualisierungen und Medien behalten separate Budgets. Zwischengespeicherte Leseanfragen verursachen weiterhin lokale Abfragearbeit. Website-Veröffentlichung und Netzwerk-/Anbieterlimits sind separat.
channels.ID.Retry-After; verwende denselben Mutationsschlüssel erneut.GraphQL kann Fehler mit HTTP 200 zurückgeben. Prüfe immer
errors. Jede Mutation hat außerdem eine Variante mittry, beispielsweisetryCreateDraft, mit einem typisierten ErfolgswertresultoderMutationError. Wähle__typenameund beim Fehler die Feldercode,httpStatus,message,fieldsundretryAfterSeconds. Ein typisierter Fehler kann indatamit HTTP 200 erscheinen; prüfe daher auch dieses Ergebnis.MCP-Aufrufer müssen außerdem
isErrorundstructuredContentprüfen: Fehler können als GraphQLerrors, als typisiertesMutationError,errorodervalidationin den Details auftreten, selbst wenn die Transportanfrage erfolgreich ist. Wenn verfügbar, enthält_metaenthälthttpStatus,chargedWorkUnits, verbleibende Kontingente undretryAfterSeconds. Ein Client, der Metadaten ausblendet, beweist nicht, dass ein Aufruf kostenlos war. Behebe Berechtigungs- oder Validierungsfehler vor einer Wiederholung. Behalte bei einem Schreibvorgang mit unklarem Ergebnis den ursprünglichen Anfrageschlüssel und unveränderte Eingaben bei; lies den gespeicherten Beitragsstatus, statt eine weitere Veröffentlichung zu erstellen.Dies sind Vorschau-Limits, keine Zusage, dass ein Anbieter dieselbe Menge erlaubt.
Beginne mit einem kleinen Workflow.
Berichtsbot für Freitag
Starte einen wöchentlichen Timer, lies zugestellte Beiträge und bestehende Leistungs-Momentaufnahmen für die Woche und sende den Bericht anschließend über deine eigene Slack-Verbindung.
Vom Formular zum Entwurf
Verwende einen Zapier-Webhook oder einen n8n-HTTP-Request-Knoten zum Aufrufen von
createDraft. Speichere die Zugangsdaten im Geheimnisspeicher der Plattform und behalte eine stabile Ereignis-ID als requestKey bei.Von der Bibliothek zur Kampagne
Wähle eine gespeicherte Vorlage, erstelle daraus einen Entwurf und sende ihn zur Prüfung. Plane erst, wenn die Freigabeanforderungen erfüllt sind.
Individuelle Berichte
Übernimm Kennzahlen ausgewählter Kanäle in dein eigenes Dashboard. Verwende beim Polling dieselben Momentaufnahme-IDs und behalte unbekannte oder unvollständige Werte bei.
Einen n8n-Workflow importieren
Lade einen Workflow herunter, wähle Import from File in n8n, bearbeite seine Eingaben und verknüpfe dann deine eigenen Bearer-Auth-Zugangsdaten mit dem MCP-Client-Schritt. Jeder beginnt mit einem manuellen Auslöser und bleibt nach dem Import inaktiv. Schlüssel gehören in n8n-Zugangsdaten, niemals in das JSON.
Mit n8n 2.43.5 importiert; MCP-Knotenaufrufe wurden gegen eine isolierte API-Testumgebung geprüft. Die gehostete Ausführung mit deinen eigenen Zugangsdaten ist eine separate Prüfung. Diese verwenden generische MCP-Clients und bedeuten weder eine im Marktplatz gelistete App noch eine veröffentlichte Zapier-Vorlage. Behalte die Autorisierung externer Nachrichten in deinem eigenen Workflow.
Lies das aktuelle Schema.
Die Referenz wird aus den implementierten GraphQL-Typen erzeugt. Authentifizierte Introspektion und der Explorer liefern den bereitgestellten Vertrag. SocialBlaze verwendet eigene Kennungen und ein eigenes Schema.
GraphQL-Schema herunterladenGib deinem Programmierassistenten den KI-lesbaren API-Leitfaden für die richtigen Endpunkte, Berechtigungen, Versionen und Wiederholungsregeln.
Serverseitiger Node-Client
Das versionierte Paket enthält TypeScript-Deklarationen und einen Kommandozeilenclient. Installiere die heruntergeladene Datei mit
npm install ./socialblaze-developer-client-0.1.14.tgz. Halte deinen Schlüssel in einer Server-Umgebungsvariablen.Verwende benannte Beitrags- und Entwurfsbefehle,
tools list,tools describe NAME,tools call NAME,schema describe TYPEunddoctor. Übergib JSON direkt, aus einer Datei oder über stdin.--dry-runprüft grundlegende angegebene Eingaberegeln, ohne das Tool aufzurufen; die Toolermittlung verbraucht weiterhin Kontingent und bestätigt weder Anbietervalidierung noch Zustellung. Die CLI wiederholt Schreibvorgänge niemals automatisch.Beitragsabfragen unterstützen die Filter
postTypesunddueAtPresencefür gespeicherte native Formate und das Vorhandensein eines geplanten Datums. Setze den Cursor zurück, wenn sich Filter ändern. Diese Filter aktivieren keine zusätzlichen Veröffentlichungsformate.Das benannte Tool
list_channelsunterstützt Seiten mit 1–100 Einträgen, standardmäßig 20, mitafterId. Wähle für größere Seiten kleinere Feldmengen; normale Komplexitäts- und Arbeitskontingente gelten. Formatfilter umfassen zusätzlich Google Businessevent,offerundwhats_newauf Grundlage gespeicherter nativer Metadaten. Diese überschneiden sich bewusst mit der gewöhnlichen Beitragskategorie und aktivieren keine neuen Veröffentlichungsformate.Node
getPostundcontentItemliefern Medien-URLs, einschließlich statischer und animierter Vorschauen. NodelistPostsbehält seine kompakte Projektion ohne Medien bei; verwende eine Einzelabfrage oder eine ausdrückliche GraphQL-Auswahl. NodegetPostenthältisDraft, behält jedoch eine kompakte Projektion ohne Veröffentlichungsmethode oder Status manueller Erinnerungen bei. Verwende das benannte Toolget_postoder eine ausdrückliche GraphQL-Abfrage für diese Felder; der generische Client und die CLI können die neuen Entwurfsoperationen ohne Änderungen am unveränderlichen SDK-Paket übertragen.Antwortfelder auswählen
Benannte CLI-Aufrufe akzeptieren
--fields 'id,text'und gleichrangige Gruppen wie--fields 'nodes.{id,text},pageInfo.endCursor'. Pfade beziehen sich auf das benannte Ergebnis. Der Server erstellt eine kleinere GraphQL-Auswahl und validiert sie vor der Ausführung. Die Berechnung berücksichtigt diese Auswahl. Behalte IDs und Versionen beim Nachverfolgen von Schreibvorgängen sowie Berichtsgrundlage, Hinweise und Abdeckung bei.allstellt die Standardauswahl des Tools wieder her, nicht jedes Schemafeld. Benannte MCP-Tools akzeptieren denselben String fürfields. Metadaten zur Kanalpaginierung bleiben verfügbar, wenn die angezeigten Felder keine IDs enthalten. Generische Abfragebefehle verwenden ihr ausdrückliches Dokument.CLI-Einrichtung und Agentenanleitung
socialblaze initschreibt lokale Standardwerte;config pathundconfig get --allzeigen sie an. Zugangsdaten über Umgebungsvariablen werden empfohlen. Nur ein ausdrücklichesinit --save-tokenspeichert ein Token in einer unverschlüsselten globalen Datei außerhalb des aktuellen Projekts. Repository-Konfiguration unterstützt nur Zeitzone und Timeout und kann weder Zugangsdaten bereitstellen noch deren Ursprung umleiten. Die Konfigurationsausgabe maskiert gespeicherte Schlüssel; lokales Entfernen widerruft den Serverschlüssel nicht.context --listlistet die mitgelieferten Agententhemen auf;contextgibt den Skill und die Berichtsanleitung offline aus.completion bash,zsh,fishoderpowershellgibt ein Skript zur Shell-Vervollständigung aus. Verwendesocialblaze install claudeoderinstall codexfür eine ausdrückliche verwaltete Offline-Skill-Installation;uninstall claudeoderuninstall codexmacht eine unveränderte Installation rückgängig. Angepasste oder verknüpfte Ordner bleiben erhalten. Paketinstallation und init installieren keine Skills und ändern keine Shell-Profile. Vorschläge decken statische Befehlsgruppen ab. Version 0.1.5 korrigiert verschachtelte zsh-Vervollständigung. Statische Befehlsvorschläge werden in tatsächlichen Offline-Laufzeiten von bash, zsh ZLE und fish geprüft; die PowerShell-Ausgabe wird vom Parser geprüft. Diese Prüfungen führen keine Remote-Tools aus und autorisieren keine Veröffentlichung.Lies den mitgelieferten Agenten-Skill. Er wahrt deine Autorisierung und unterscheidet lokale Datensatzzahlen, erfasste Rankings und unvollständige Anbieterhistorie. Lies für diese Workflows die verknüpfte Berichtsreferenz.
Node-Client 0.1.14 herunterladenBrauchst du Hilfe bei einer bestimmten Anfrage? Sende eine E-Mail an [email protected] mit Operationsname, Status und sicherem Fehlercode. Gib niemals deinen Schlüssel, Aktualisierungstoken oder Zugangsdaten sozialer Netzwerke an.