Verbind een assistent met je SocialBlaze-werkruimte. Lees opgeslagen berichten en rapporten, bereid concepten voor en plan berichten met de rechten die jij kiest.
Je bestaande SocialBlaze-abonnement en rechten gelden
BEGIN MET EEN ALLEEN-LEZEN-VERZOEK
“Toon mijn verbonden kanalen en de volgende 10 ingeplande berichten.”
S
Werk met je opgeslagen SocialBlaze-gegevens.
Houd het bericht van elk kanaal apart. Controleer de status, het bijschrift, de bestanden en de geplande datum.
Jij kiest tot welke accounts en acties je assistent toegang krijgt.
BEGIN HIER / MCP
Verbinden in drie stappen.
Met MCP kan een compatibele AI-client SocialBlaze-tools gebruiken. Je hoeft geen GraphQL te schrijven om via de benoemde tools berichten te lezen, concepten te maken of publicaties in te plannen.
01
Koppel je kanalen
Meld je aan bij SocialBlaze en verbind de netwerken die je wilt gebruiken. Een assistent ziet alleen de kanalen waartoe die toegang heeft.
Voer de onderstaande server-URL in bij de instellingen voor een aangepaste externe MCP-verbinding van je client. Kies OAuth als de client de autorisatiestroom van SocialBlaze ondersteunt.
03
Autoriseren en vervolgens lezen
Meld je aan, bekijk de gevraagde acties en selecteer kanalen. Begin met get_account of list_channels. Controleer de gevraagde rechten. Publicatie vereist expliciete toestemming. Voor alleen lezen moet de client alleen-lezen-scopes aanvragen; statistieken vereisen een apart recht.
URL van externe MCP-server
https://backend.socialblaze.ai/api/developer/mcp
OAuth in een compatibele client
Gebruik de aanmeldings- en toestemmingsstroom in de browser. Voor een OAuth-verbinding hoef je geen ontwikkelaars-API-sleutel te maken of te plakken. Houd rekening met de kanaalselectie van de bestaande verbinding.
Clientfuncties en accountbeschikbaarheid verschillen. Een aangepaste MCP-verbinding betekent niet dat er een connector in een marketplace staat. Gebruik voor een persoonlijke serverapp de API-snelstart; gebruik voor andere gebruikers OAuth-appregistratie.
Verbinden met Claude
Open Aanpassen > Connectors, kies Toevoegen en vervolgens Aangepaste connector toevoegen. Noem deze SocialBlaze, plak de MCP-server-URL hierboven en ga verder.
Controleer de gedetecteerde authenticatie-instellingen. Kies Sign in now en vervolgens onder OAuth client de optie Register automatically. SocialBlaze gebruikt automatische registratie, niet de gepubliceerde identiteit van Claude. Meld je aan bij SocialBlaze, bekijk de gevraagde rechten, selecteer kanalen en sluit af met Add. Voor deze OAuth-verbinding is geen API-sleutel nodig.
Open in een nieuwe chat +, vervolgens Connectors en schakel SocialBlaze in. Als Claude zegt dat deze server al is verbonden, gebruik dan de bestaande vermelding onder Yours in plaats van nog een connector te maken.
Controleer of het kanaal ontgrendeld en toegankelijk is in SocialBlaze. Verbind SocialBlaze vervolgens opnieuw vanuit je AI-app, bekijk de gevraagde rechten en selecteer het ontbrekende kanaal. Een kanaal toevoegen of ontgrendelen voegt het niet toe aan een bestaande AI-verbinding; het vernieuwen van die verbinding behoudt de kanaalselectie. Bewaar je bestaande verbinding totdat opnieuw verbinden werkt. Je hoeft Instagram of Facebook niet opnieuw te verbinden om alleen de kanaalselectie van je AI-verbinding te wijzigen.
Als je analyserechten hebt en het kanaal zichtbaar is, maar er geen opgeslagen rapport beschikbaar is, is dat een afzonderlijk probleem met de beschikbaarheid van gegevens. Een wijziging van de kanaalselectie verzamelt of vernieuwt geen analyses.
Probeer nuttige, begrensde verzoeken
“Toon mijn volgende 10 ingeplande berichten. Houd elke kanaalbestemming als een afzonderlijk bericht.”
“Sla dit op als concept. Publiceer het niet.”
“Lees mijn opgeslagen prestatierapport voor deze datums. Vertel me wat niet beschikbaar is.”
Houd bij de “laatste 10 gepubliceerde berichten” elk teruggegeven kanaalbericht apart, ook als bijschriften of artikellinks overeenkomen. Resultaten omvatten de kanalen waarvoor je toestemming gaf, niet noodzakelijk je hele account. Een ontbrekend opgeslagen rapport of onbekende statistiek is niet nul; een rapport lezen vernieuwt geen netwerkgegevens. Berichtvoorbeeldkaarten zijn beschikbaar als preview. In ChatGPT kan de eerste weergave mislukken; kies Opnieuw proberen om de kaarten te laden. Kan een afbeelding niet laden, open het opgeslagen bericht dan in SocialBlaze. Beschikbaarheid in andere AI-apps verschilt. Extern gehoste afbeeldingen kunnen onbeschikbaar zijn; een voorbeeld herstelt de bron niet. Ingeplande of geaccepteerde berichten zijn geen bevestigde publicaties; controleer de teruggegeven status voordat je succes meldt.
De servicestatus heeft een eigen plek.
Bekijk de huidige statusbewijzen voor kernservices, API en MCP en publicatie op netwerken op de Servicestatuspagina.
Volg wat we bouwen.
Bekijk opgeleverd werk, huidige verbeteringen en geplande ontwikkelingen op de Roadmappagina.
01 / BEGIN MET BOUWEN
Maak je eerste API-verzoek.
Meld je aan bij je SocialBlaze-account, open de ontwikkelaarsconsole en maak een sleutel. Kies de kanalen en rechten die je integratie nodig heeft. Kopieer het geheim één keer en bewaar het op je server.
Een ontwikkelaarssleutel staat los van je websiteaanmelding. Houd deze uit openbare JavaScript, URL's en versiebeheer. Publicatie vereist aparte toestemming.
Je kanalen lezen
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 } }"}'
De teruggegeven kanaal-ID's horen bij je geselecteerde toegang. Gebruik die ID's bij het maken van berichten. De console bevat een uitvoerbare explorer die de inloggegevens voor die sessie in het geheugen bewaart.
02 / CONTENT NAAR KANALEN
Concept. Beoordeling. Planning. Publicatie.
Werken met echte berichten
Maak concepten, lees versies en bestanden, bewerk toekomstige berichten en annuleer veilige lokale planningen.
Je echte wachtrij gebruiken
Publiceer nu, kies een datum, voeg toe aan de wachtrij of geef voorrang. Verplaats een toekomstig bericht naar boven of beneden.
Geaccepteerd betekent niet afgeleverd. Lees post.allowedActions voor instructies voor lokaal bewerken en annuleren binnen je rechten; elke mutatie controleert opnieuw de huidige versie en publicatiestatus. Lees elke teruggegeven bericht-ID om de status, gepubliceerde URL en foutdetails te controleren. Een gemengde ongeldige batch slaat niets op. Probeer een onzekere schrijfactie nooit opnieuw met een nieuwe verzoeksleutel.
Behoud contentItemId van createPost of createThread. Eén bestemming verwijderen kan het bronconcept behouden. Lees voor verwijdering van de hele lokale contentgroep de huidige content-itemversie en gebruik deleteContentItem; controleer daarna of groep en berichten afwezig zijn.
Een datum of positie in de wachtrij kiezen
Gebruik mode: schedule met een expliciete toekomstige dueAt voor een vast tijdstip. Gebruik addToQueue of prioritize zonder datum voor plaatsing in de native kanaalwachtrij. Wachtrijacties vereisen de functie voor slimme wachtrijen van je abonnement en publicatierechten. Gebruik voor het verplaatsen van een bestaand toekomstig bericht movePostInQueue of benoemde MCP move_post_in_queue met de nieuwste versie en een stabiele verzoeksleutel.
Verplaatsingen in de wachtrij kunnen de publicatietijden van andere berichten wijzigen. Lees na een verplaatsing de ingeplande berichten van het kanaal en hun versies opnieuw. Een geschikt, via de wachtrij gemaakt bericht onderaan plaatsen kan de veilig beheerde wachtrij samenvoegen binnen de bestaande tijdvakken; een bericht met een vaste datum wordt niet automatisch onderdeel van die wachtrij doordat het dezelfde tijdstempel heeft. Gemengd eigenaarschap, een onveilige publicatiestatus of bezette vaste tijdvakken kunnen herschikken verhinderen. De teruggegeven acceptatie is geen publicatiebewijs.
Een bestaand bericht onderaan de wachtrij plaatsen
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.
Gepubliceerde berichten lezen zonder kanalen samen te voegen
Lees elk netwerkbericht afzonderlijk en behoud de ID, het kanaal en de teruggegeven URL. De standaardvolgorde met aflopende record-ID's komt overeen met de websitefeed binnen de kanalen waarvoor de inloggegevens toegang geven. Toegang tot geselecteerde kanalen maakt niet alle kanalen in de werkruimte zichtbaar. Vraag voor een chronologische volgorde op basis van geschikte geregistreerde publicatiebewijzen sort: [{field: publishedAt, direction: desc}] en optionele publishedAfter/publishedBefore. Lees de nullable publishedAt en publishedAtBasis. native_terminal_delivery_observed is het tijdstip van de eerste lokale eindbevestiging, geen onafhankelijk geverifieerd oorspronkelijk publicatiemoment van de provider; geplande, aanmaak- en bewerkingsdatums vullen nooit een onbekende publicatietijd in. Onbekende tijden worden achteraan gesorteerd en kunnen geen volledige chronologische claim over de laatste tien onderbouwen. Stel cursors opnieuw in wanneer filters of sortering veranderen.
Tien gepubliceerde records in websitevolgorde lezen
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}].
Berichtenlijsten filteren en pagineren
Gebruik geen statuses om de status onbeperkt te laten. Een expliciete lege statuses: [] selecteert geen berichten; GraphQL statuses: null laat het filter eveneens onbeperkt. Combineer je het enkelvoudige veld status met statuses, vormen hun waarden één selectie. Een enkelvoudige status geldt dus ook naast een lege array. Dezelfde regels gelden voor het aantal bijpassende berichten. Bij dueAt oplopend komen berichten zonder geplande datum eerst; aflopend staan ze achteraan. publishedAt houdt onbekende tijden in beide richtingen achteraan. Gebruik dueAtPresence: present wanneer je alleen geplande datums wilt. Ga verder met de teruggegeven pageInfo.endCursor; begin opnieuw zonder after wanneer filters, sortering of geselecteerde toegang veranderen, of wanneer een cursor wordt geweigerd. Een cursor die vóór de update van de sortering op publicatiedatum is opgeslagen, kan niet opnieuw worden gebruikt voor een sortering met dueAt oplopend.
Afbeeldingen, video en documenten
Voeg JPEG-, PNG- of WebP-afbeeldingen toe binnen de limiet van elke bestemming, of één MP4/MOV-video. Standaardberichten ondersteunen maximaal 10 afbeeldingen op Facebook, Instagram, Tumblr en WordPress; 20 op LinkedIn en Threads; 35 op TikTok; 4 op Bluesky, Mastodon en Google Business Profile; en 1 op Pinterest. YouTube vereist video. Tumblr ondersteunt één H.264 MP4/MOV-video van maximaal tien minuten, binnen dezelfde importlimiet van 50 MB. Een gedeeld bericht moet aan de eisen van alle geselecteerde bestemmingen voldoen. Groepen met meerdere berichten en threads behouden een totaal van acht bijlagen per verzoek. Afbeeldingen kunnen een afzonderlijke beschermde thumbnailUrl bevatten voor hun SocialBlaze-voorbeeld; dit vervangt niet de afbeelding die naar een netwerk wordt verstuurd. Afbeeldingen accepteren ook een afzonderlijke beschermde animatedThumbnail: een openbare GIF- of WebP-preview tot 1 MiB. Statische en geanimeerde previews gebruiken elk hun eigen importquota en behouden aparte URL's. De oorspronkelijke afbeelding moet aan de bestemmingsregels voldoen. Bestandslezingen tonen beide URL's; isAnimated blijft null totdat animatie is gemeten; een voorbeeld-URL bewijst dus niet dat de oorspronkelijke afbeelding geanimeerd is. LinkedIn accepteert ook één PDF met een titel en een optionele HTTPS-thumbnailUrl voor het SocialBlaze-voorbeeld. Voorbeeldafbeeldingen zijn gevalideerde JPEG-, PNG- of WebP-bestanden van maximaal 1 MB; LinkedIn rendert eigen documentpagina's. Afbeeldingen zijn beperkt tot 8 MB per stuk, video's tot 50 MB en PDF's tot 20 MB. Kanaalspecifieke validatie blijft gelden; vraag configuration en channel.capabilities.
Opgeslagen PDF-bestanden bieden nullable numPages (gemeten paginatal) en filesize (bytes uit de gevalideerde import). Bij oudere bestanden of een onbekend paginatal blijft de waarde null, nooit een verzonnen nul; een gemeten bestandsgrootte kan beschikbaar zijn als het paginatal onbekend is. De waarden beschrijven de opgeslagen geïmporteerde PDF, niet een door de provider gerenderde kopie. Lezen downloadt het bestand niet opnieuw en vult oudere bestanden niet aan. De MCP-tools get_post en list_posts bevatten de velden. Gebruik voor de onveranderlijke Node 0.1.14-client een expliciete GraphQL-selectie wanneer je deze nieuwere velden nodig hebt.
Gemeten metadata van een opgeslagen PDF lezen
query SavedDocument($postId: ID!) {
post(id: $postId) {
id version
assets { type title mimeType numPages filesize }
}
}
Een bericht met media en zonder bijschrift inplannen
Voor een ondersteunde bestemming: createPost en benoemde create_post accepteren text: "" met geldige afbeeldingen of één video. Lege tekst zonder media wordt geweigerd. Vereiste titels, netwerkspecifieke keuzes en medialimieten blijven gelden; een conceptvoorbeeld met alleen tekst demonstreert deze procedure niet. In een interactieve publicatieverbinding kan de voorbereide kaart ook een leeg bijschrift met media behouden: controleer de geselecteerde accounts en content voordat je Inplannen of Plaatsen kiest.
Eén video zonder bijschrift inplannen
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.
Bewerken en tegelijk een beoordeling aanvragen
Gebruik voor een eenvoudig concept van de integratie voor één kanaal dat goedkeuring vereist updatePost met approvalChange: request of revert. De MCP-tool edit_post ondersteunt deze keuzes zonder tekst. Geef de nieuwste versie, een stabiele verzoeksleutel, drafts:write en posts:review. Content en bijlagen veranderen atomair met het beoordelingsverzoek. Goedkeuring publiceert niets: dien daarna het ongewijzigde goedgekeurde concept expliciet in. Gewijzigde content moet opnieuw worden beoordeeld.
Een toekomstige publicatiemethode wijzigen
Gebruik updatePost(publishingMethod: automatic) of reminder, of de tool edit_post, om één veilig wijzigbaar toekomstig bericht om te zetten met behoud van ID. Geef de huidige versie en een stabiele aanvraagsleutel mee. Dit vereist rechten voor concepten én publicatie. Automatische berichten moeten één toekomstige planning hebben; herinneringen moeten in de wachtrij staan en nog niet verstuurd zijn. Berichten met publicatiepogingen, beoordelingsvereisten of threadlidmaatschap kunnen niet worden omgezet. Een herinnering vereist een actief aangemeld mobiel apparaat met meldingen. De omzetting controleert bestemming, abonnement, media en toegang opnieuw; ze bevestigt geen aflevering op het netwerk.
De bron van de berichteditor bijhouden
createDraft, createPost, createThread en elk onderdeel van createContentItemVariants accepteren nullable source, een door de aanroeper opgegeven trackinglabel van maximaal 250 tekens. De bijbehorende MCP-aanmaaktools ondersteunen dit, ook voor berichten ter beoordeling. Een thread deelt het label tussen alle onderdelen; varianten kunnen aparte labels hebben. Lees het via post.provenance.composerSource en composerSourceBasis; de tool get_post en Node getPost bevatten herkomstinformatie. Gewone lijstopvragingen bevatten die ook; lijsten met opgeslagen statistieken laten herkomst en metadata van geanimeerde voorbeelden weg om binnen hetzelfde querybudget te blijven. Lees afzonderlijke berichten om beide samen op te halen. Weglaten of null bij het aanmaken laat het label onbekend. Concepten en toekomstige berichten accepteren het ook bij bewerking: weglaten behoudt het label en null wist het. Dit label verandert het geregistreerde aanmaaktransport niet, verleent geen rechten en bewijst geen AI-auteurschap.
AI-ondersteuning vermelden
Bewerkingen van concepten en toekomstige berichten accepteren nullable aiAssisted, waaronder de MCP-tool edit_post. False blijft false, null wist de verklaring en weglaten behoudt deze. Dit verandert het aanmaaktransport niet en stelt niet vast wie de tekst schreef. Gebruik de nieuwste versie en dezelfde sleutel voor een ongewijzigde herhaling.
Regels per formaat
Lees configuration.services.contentRules of channel.capabilities.contentRules voor elk automatisch berichtformaat en bijlagetype. Regels omvatten het tellen van bijschriften en titels, aantallen bijlagen, toegestane bestandstypen en bytelimieten, vereiste kanaalkeuzes en ondersteuning voor eerste reacties. Deze catalogus beschrijft SocialBlaze-validatie. Je abonnement, huidige rechten, afmetingen en providercontroles blijven gelden; de catalogus bevestigt geen publicatie. Reels vereisen één video; automatische Stories vereisen één afbeelding of video.
Kanaalmetadata en vermeldingen
Lees de aantallen werkruimteleden en native abonnementslimieten via account.organizations. Kanalen bevatten bestemmings-ID's van providers, veilige profiel-URL's, netwerkpictogrammen en publicatiemogelijkheden. Verdeel grote selecties in pagina's met channels(first, afterId); MCP list_channels geeft pagineringsmetadata terug.
Bestanden bij berichten en in de bibliotheek geven de volgende opgeslagen waarden terug: mimeType, width en height wanneer bekend; onbekende waarden blijven null. Je hoeft geen media te downloaden om ze te lezen. Gestructureerde Facebook-pagina- en LinkedIn-vermeldingen gebruiken channelOptions.mentions met start- en lengte-offsets in Unicode-codepunten en een overeenkomend label. Lees post.annotations voor gevalideerde vermeldingen en letterlijke links. Ongeldige of overlappende bereiken worden geweigerd; gewijzigde bijschriften moeten bijgewerkte vermeldingsposities bevatten.
Geregistreerde herkomst en accountstatus
Lees post.provenance voor geregistreerd aanmaaktransport en optionele, door de aanroeper opgegeven AI-ondersteuning. Stel aiAssisted expliciet in wanneer bekend; onbekend blijft null. Een verzoek via een AI-client bewijst niet dat AI het bijschrift schreef. De videovermelding van de provider gebruikt een afzonderlijke kanaalinstelling.
account.preferences geeft je opgeslagen codes voor kalender- en tijdweergave terug wanneer die bekend zijn. Kanaalopvragingen onderscheiden queuePaused, workspacePublishingPaused en credentialsExpired; publicatie pauzeren betekent niet automatisch dat de providercredential is verlopen.
Tekst tellen per netwerk
Bluesky gebruikt compacte zichtbare URL-labels en bewaart de volledige bestemmingen in linkfacetten met UTF-8-byte-indexen. Opgeslagen bijschriften behouden hun oorspronkelijke URL's. Mastodon gebruikt de geconfigureerde instantiemetadata en officiële regels voor grafemen, gereserveerde URL-lengtes en externe vermeldingen; inhoudswaarschuwingen tellen letterlijk mee. Lees textLimitsBasis, textLimitsMetadataAvailable en charactersReservedPerUrl in de publicatiecapaciteiten om huidige instantiemetadata te onderscheiden van de conservatieve terugvalwaarde. Metadata-opvragingen zijn begrensd en gecachet.
TikTok-foto's, video en publicatie
Fotobijschriften staan 4.000 UTF-16-eenheden toe met een optionele titel van maximaal 90 eenheden. Videobijschriften staan 2.200 eenheden toe. Stel channelOptions.isAiGenerated expliciet in voor videovermelding; true wordt voor foto's geweigerd. Toekomstige bewerkingen van videometadata behouden een expliciete false. Lees tiktokPostingChoices(channelId) of MCP get_tiktok_posting_choices voor de daadwerkelijke privacykeuzes, interactiebeperkingen en videoduur van de geselecteerde maker. Deze leesacties kunnen een cache van maximaal 60 seconden oud gebruiken; bij publicatie worden ze opnieuw gevalideerd. Kies de doelgroep en toestemming expliciet. Een teruggegeven publicatie-ID bevestigt acceptatie: ontwikkelaarsberichten blijven in verwerking totdat een geverifieerde providercallback of begrensde providerstatusopvraag de publicatie van dezelfde oorspronkelijke poging bevestigt. Statusverificatie dient geen nieuwe publicatie in. Een openbare bericht-URL kan onbekend blijven.
Vermeldingen in Instagram-afbeeldingen
Gebruik images[].userTags met een openbare handle zonder @ en numeriek x/y als posities van 0 tot 1. Gebruik maximaal twintig unieke gebruikersnamen per afbeelding. Feedafbeeldingen en carrouselonderdelen ondersteunen gepositioneerde vermeldingen; bovenliggende carrousels en automatische Stories niet. Verwijder gepositioneerde vermeldingen voordat je een automatische Story inplant. Deze velden zijn uitsluitend voor Instagram; ongeldige of dubbele gebruikersnamen en coördinaten worden geweigerd. Bibliotheeksjablonen behouden afbeeldingsvermeldingen bij hergebruik. Het zijn geen interne contenttags.
Herinneringen voor handmatige publicatie
Gebruik publishingMethod: reminder voor je geselecteerde kanalen. Elk kanaal krijgt een eigen herinnering. Schakel eerst meldingen in de SocialBlaze-telefoonapp in terwijl je bent aangemeld. De herinnering bewaart een voorbereid concept en opent de content wanneer het tijd is; ze publiceert nooit automatisch. Een expliciete datum, het volgende handmatige wachtrijtijdvak en prioriteit worden ondersteund. changeReminder plant deze opnieuw in of annuleert deze, of registreert je eigen publicatiebevestiging. Voor Instagram-herinneringen: stickerFields kunnen muziek, producten, tekst, onderwerpen en andere afwerkingsinstructies bevatten, elk maximaal 2.000 tekens. Het herinneringsscherm waarin je bent aangemeld toont en kopieert ze. Voeg deze details zelf toe in Instagram; automatisch publiceren weigert ingevulde afwerkingsvelden. Een verstuurde melding of handmatige bevestiging is geen publicatiebewijs van het netwerk. Een verzoek voor meerdere kanalen deelt geïmporteerde media en slaat de hele groep op of niets. Het verwijderen van het contentitem annuleert alle openstaande herinneringen. Stel voor teambeoordeling ook requestApproval: true in met posts:review en expliciete toestemming voor posts:publish. De herinnering wacht op native goedkeuring, blijft beschermd tegen automatische publicatie en wordt geannuleerd als de beoordeling wordt ingetrokken of de goedkeuring veroudert.
YouTube-video-instellingen
Kies privacy en madeForKids expliciet. Vraag configuration.youtubeCategories voor providercategorie-ID's en stel categoryId in wanneer nodig. Optionele embeddable, license (youtube of creativeCommon), notifySubscribers en isAiGenerated bereiken de native YouTube-upload. Expliciete false-waarden blijven behouden. Je kunt deze instellingen op een toekomstig bericht bewerken via updatePost.channelOptions zonder de video te vervangen. AI-vermelding verwijst naar realistisch gewijzigde of synthetische content; volg de vermeldingsvereisten van YouTube.
Videocovers
Stel voor één Instagram-, TikTok- of Pinterest-video thumbnailOffset in de kanaalopties in op de offset van het coverframe in milliseconden. Deze moet binnen de duur van de geïmporteerde video liggen. Voor een veilig toekomstig bericht: updatePost kan de cover van een bestaande import van de tenant wijzigen of in hetzelfde verzoek de video vervangen en de cover kiezen. Bestaande native berichten kunnen deze bewerking gebruiken wanneer hun media een ondersteunde import van de tenant zijn; willekeurige externe video-URL's komen niet in aanmerking voor een bewerking van alleen de cover. Weggelaten media en planning behouden het opgeslagen bestand en tijdstip. Hergebruik dezelfde verzoeksleutel na een onzekere respons. Pinterest ontvangt de frame-offset in hele seconden en accepteert één geïmporteerde MP4/MOV-video van maximaal 50 MB; de video wordt geüpload en verwerkt voordat de Pin wordt gemaakt. Instagram Reels accepteren ook shareToFeed, ook een expliciete false. Andere kanalen en Instagram Stories weigeren deze opties.
Bewerkingen van toekomstige berichten vereisen de huidige berichtversie en een publicatiemoment dat meer dan twee minuten in de toekomst ligt. Berichten die worden gepubliceerd of al zijn gepubliceerd, kunnen niet worden gewijzigd. Een wijziging van het delen van een Reel in de feed behoudt de video en cover wanneer die velden worden weggelaten. Bewerk voor Pinterest channelOptions.destinationUrl om de bestemmingslink te wijzigen; een expliciete null wist de opgeslagen link. Berichtopvragingen geven die waarde terug in destinationUrl en de kanaalopties. Deze bewerkingen publiceren niet onmiddellijk.
Linkkaarten
Geef voor standaardberichten op Facebook, LinkedIn, Bluesky of Threads zonder andere bijlagen linkUrl op in de kanaalopties. LinkedIn en Bluesky accepteren ook linkTitle en linkDescription. Facebook en Threads gebruiken de preview van de bestemmingswebsite. LinkedIn en Bluesky accepteren ook linkThumbnailUrl met de link-URL: een directe openbare JPEG, PNG of WebP van maximaal 1.000.000 bytes, met acht verschillende voorbeelden per verzoek. Het bestand wordt via een beschermde import ingelezen en naar de provider geüpload; een mislukte upload stopt vóór publicatie. Sla een nieuw voorbeeld eerst in het concept op voordat je het indient. Null wist een opgeslagen voorbeeld. HTTPS-links mogen geen inloggegevens bevatten. Er vindt geen scraping aan de serverkant plaats. Bewerk toekomstige kaarten met updatePost.channelOptions; een expliciete null voor linkUrl wist de linkkaart en de titel en beschrijving ervan. Wissen en media vervangen in hetzelfde verzoek gebeurt atomair. Conceptopties voegen expliciet gewijzigde velden samen; een lege lijst zet elke keuze terug.
Locaties en Threads-onderwerpen
Instagram-feedberichten, Reels en Threads-berichten accepteren de numerieke providerwaarde locationId en optionele locationName. Onderdelen van Instagramcarrousels krijgen de tag niet. Automatische Instagram Stories weigeren deze optie. Threads accepteert ook een topic van maximaal 50 UTF-16-eenheden, zonder ampersand of punt. Weggelaten keuzes blijven behouden bij toekomstige bewerkingen; null wist ze.
Inhoudswaarschuwingen en AI-vermelding
Mastodon accepteert spoilerText; de waarschuwing telt letterlijk mee en deelt het ingestelde tekenbudget met het voorbereide bijschrift. Regels voor instantie-URL's en externe vermeldingen gelden voor het bijschrift, niet voor de waarschuwing. Null wist een opgeslagen waarschuwing. Instagram-, YouTube- en TikTokvideo's accepteren isAiGenerated. Instagram verstuurt dit alleen op de bovenliggende mediacontainer. Niet-ondersteunde netwerkopties worden geweigerd voordat berichten worden opgeslagen.
Eerste reacties
Eerste reacties hebben afzonderlijke UTF-16-limieten: Facebook 5.000, Instagram 2.200, LinkedIn 1.250 en Threads 500. Lees maxFirstCommentLength en firstCommentLengthUnit uit de kanaalcapaciteit. Emoji kunnen als twee eenheden tellen. Niet-ondersteunde bestemmingen en Stories weigeren reacties; tekst wordt nooit stilzwijgend ingekort. Bestaande abonnementsrechten blijven gelden.
Limieten voor bijschriften
De meeste ontwikkelaarsbijschriften gebruiken UTF-16-eenheden, waarbij veel emoji als twee tellen. LinkedIn-HTTP(S)-URL's tellen als 24 eenheden; logische regeleinden op Instagram tellen als twee. Facebook-bijschriften staan 5.000 toe, Instagram 2.196; Pinterest- en YouTube-titels staan 100 toe. Google Business behoudt de native limiet van 1.500. Mastodon gebruikt begrensde instantiemetadata met een geconfigureerde conservatieve terugvalwaarde; lees de capaciteitsvelden voor de huidige basis en beschikbaarheid van metadata. Bluesky telt grafemen na het inkorten van zichtbare linklabels, terwijl volledige URL-bestemmingen in linkfacetten behouden blijven. Oorspronkelijke opgeslagen bijschriften blijven ongewijzigd. Lees de kanaalcapaciteiten voor de huidige limiet en teleenheid.
Google Business-berichten
Gebruik channelOptions.businessPost voor standaardupdates, evenementen en aanbiedingen. Evenementen en aanbiedingen hebben een titel en lokale begin- en einddatums nodig. Optionele gekoppelde tijden gebruiken HH:mm; beide weglaten omvat de hele lokale dag. Publicatieplanning in UTC blijft apart. Standaardupdates en evenementen ondersteunen actieknoppen; aanbiedingen gebruiken coupon, inwissellink en voorwaarden. Belknoppen gebruiken het bedrijfstelefoonnummer zonder actie-URL. Andere knoppen vereisen HTTPS. Deze opties vereisen automatische publicatie, behouden bestaande samenvattings- en afbeeldingslimieten en bevestigen nooit aflevering door de provider.
Instagram-audio
Blader of zoek via de audiocatalogusquery's naar gelicentieerde muziek en originele geluiden. Facebook Login is vereist. Geef voor een Reel met één video een audio-ID en optionele volumeniveaus op in de kanaalopties. Voorbeelden verlopen; fouten rond toestemming en gedeeltelijke resultaten worden expliciet vermeld. Opgeslagen conceptopties blijven behouden bij latere indiening.
Geordende threads
Bluesky, Mastodon en Threads ondersteunen 2–25 onderdelen. Antwoorden wachten op bevestigde publicatie van het bovenliggende bericht. Bij het verplaatsen of annuleren van het eerste bericht blijven de veilig verplaatsbare toekomstige antwoorden bij elkaar. Onderdelen voor Bluesky en Threads accepteren ook linkUrl; Bluesky accepteert linkTitle, linkDescription en een beschermde linkThumbnailUrl. Linkkaarten kunnen niet met andere media worden gecombineerd; Threads gebruikt het websitevoorbeeld van de bestemming. Mastodon weigert linkkaarten. Threads ondersteunen acht bijlagen per verzoek en maximaal 100 bestemmingsberichten.
Een thread inplannen
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 } }
}
}
Bijlagen in een toekomstige thread bewerken
Gebruik updateContentItem.threadEntries of benoemde edit_content_item om bijlagen en linkkeuzes voor de volledige bestaande thread te vervangen of te wissen. Geef elk onderdeel op volgorde op, met het bijschrift, de huidige groepsversie en een stabiele verzoeksleutel. Weggelaten bijlagen blijven ongewijzigd; images: [] of clearMedia: true verwijdert ze. Gedeelde uploads worden per onderdeel één keer geïmporteerd voor alle kanalen. Voor geen enkele bestemming mag een publicatiepoging zijn gedaan; ze moeten ongepubliceerd zijn en meer dan twee minuten in de toekomst liggen. De hele bewerking wordt atomair opgeslagen. Houd hetzelfde aantal onderdelen en bewerk de planning afzonderlijk; het wijzigen van de groepsomvang en gecombineerde media- en planningsbewerkingen worden niet ondersteund.
Filters voor contentgroepen
Filter contentItems op draftContent of postContent, en sorteer op createdAt en updatedAt. Zoeken is standaard beperkt tot je integratie. Een expliciete discovery: workspace vereist afzonderlijk goedgekeurde content:read plus posts:read; bestaande credentials krijgen dit niet automatisch. Ook groepen binnen je native werkruimterechten en kanaalselectie worden gelezen. Groepen met een ontoegankelijke bestemming zijn uitgesloten, inclusief gedeelde tekst en media. Controleer managedByCurrentIntegration; groepswijzigingen tussen integraties blijven geblokkeerd, terwijl afzonderlijke berichtwijzigingen eigen autorisatiecontroles behouden. Cursors zijn gekoppeld aan zoeken, filters, volgorde en kanaaltoegang: begin opnieuw als die veranderen. SDK0.1.14 biedt contentItems(options) en contentItem(id, options) leeshulpmiddelen.
Teambeoordeling
Gebruik posts:review en requestApproval: true om berichten te maken waarvan publicatie is opgeschort. requestPostApproval stuurt een bestaand ongepubliceerd bericht ter beoordeling. withdrawPostApproval zet het alleen terug naar een concept als je native goedkeuringsrechten dat toestaan. Beoordelingsrechten verlenen nooit automatisch publicatierechten.
ÉÉN CAMPAGNE / AFZONDERLIJKE KANALEN
Pas elke bestemming aan.
Gebruik createContentItemVariants wanneer elk kanaal een ander bijschrift, een andere titel, bijlage, native optie of planning nodig heeft. Geef verschillende geselecteerde kanaal-ID's op in posts. De groep ondersteunt maximaal 25 bestemmingen en acht bijlagen samen, binnen bestaande media- en publicatielimieten. Identieke media delen één beveiligde import.
Onafhankelijke kanaalvarianten maken
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.
Validatie en opslag zijn atomair: één mislukte variant slaat geen gedeeltelijke campagne op. Elk onderdeel gebruikt standaard de wachtrij of de opgegeven planning. Gebruik mode: publishNow alleen voor een bewust onmiddellijke indiening. Stel requestApproval: true voor opgeschorte teambeoordeling. Acceptatie is nog steeds geen bevestigde publicatie.
Lees contentItem.hasChannelVariants en de groepsversie, en lees vervolgens afzonderlijke bericht-ID's voor alle details. Bewerk een afzonderlijk bericht om verschillende bijschriften te behouden. Een tekst- of mediabewerking van een groep past bewust dezelfde wijziging toe op elke veilige toekomstige bestemming. Groepsversies en afzonderlijke versies verschillen.
Een bestaand concept omzetten
Lees een niet-ingediend concept zonder kanaal dat eigendom is van de integratie, samen met de huidige groepsversie. Gebruik promoteContentItemDraft met een niet-lege lijst posts om hetzelfde contentitem om te zetten in afzonderlijke kanaalberichten. Elk onderdeel geeft een eigen kanaal-ID, expliciete tekst en optionele media, native keuzes en planning op. Het bronbijschrift en de bijlagen blijven opgeslagen; weggelaten media van onderdelen nemen die niet over.
Een concept omzetten in kanaalvarianten
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.
Gebruik de vorm per kanaal: posts of de bestaande gedeelde vorm: channelIds . Combineer ze niet en meng keuzes per onderdeel niet met planningsopties op het hoogste niveau. Een mislukte bestemming slaat geen gedeeltelijke omzetting op. Hergebruik dezelfde verzoeksleutel bij een ongewijzigde herhaling; een ingediend concept kan niet opnieuw worden omgezet met een nieuwe sleutel. Een beoordeling aanvragen vereist drafts:write en posts:review; automatisch indienen vereist posts:publish. Native teamgoedkeuringsregels blijven gelden. Onderdelen gebruiken ContentVariantInput. Elk onderdeel accepteert een nullable aiAssisted: false blijft false, null of weglaten laat hulp onbekend en gewijzigde tekst erft nooit de verklaring van het oorspronkelijke concept. Elke bestemming kan concept blijven, automatisch publiceren of een handmatige herinnering gebruiken. Behoud contentItemId om de volledige groep op te ruimen.
Automatisch URL's verkorten per workflow
Verkorten gebeurt vóór het definitief opslaan met de geconfigureerde connectors van de auteur. Instellingen worden nooit stilzwijgend uitgeschakeld. Ondersteuning hangt af van de workflow, bijlage en native kanaalkeuzes; niet-ondersteunde combinaties geven een fout met een concrete vervolgstap.
Werkproces
Beschikbare ondersteuning
Automatische omzetting
Publiceer nu, plan in, plaats in de wachtrij of geef voorrang met het ondersteunde native tekst- en mediaprofiel. Native kanaallimieten, tijdsregels en huidige rechten blijven gelden.
Bijlagen
Afbeeldingen en carrousels binnen de native limieten, ondersteunde losse video's en LinkedIn-PDF-workflows. Vereiste privacy- en toestemmingskeuzes voor YouTube en TikTok moeten worden opgegeven; ze worden nooit afgeleid.
Opgeslagen bestemmingsconcepten
Opgeslagen tekst, afbeeldingen en video blijven niet-geactiveerd, ook bij opgeslagen beoordelingen. Heterogene groepen kunnen verschillende opgeslagen media behouden naast automatische en handmatige onderdelen. Opslaan vereist geen nieuwe aanmelding voor publicatie.
Een bestaande bestemming activeren
Gebruik dezelfde ID met de huidige opgeslagen content en media en een nieuwe modus of datum. Ondersteunde opgeslagen native keuzes, goedgekeurde omzettingen en expliciete beoordeling worden onafhankelijk gevalideerd.
Subtypen voor Stories en Reels
Facebook- en Instagram-Stories behouden het native profiel met één mediabestand en zonder eerste reactie. Reels vereisen video. Subtypen blijven behouden; afbeeldingen worden niet omgezet in Reels.
Controleren
Het huidige native beleid voor eigenaren, teams, kanalen en ontvangers is van toepassing. Klantbeoordeling door managers vereist de native tekenreeksindeling voor ontvangers; beoordeling door contentplanners in ingerichte teams ondersteunt ook kanalen met klantgoedkeuring onder het huidige native team-, kanaal- en ontvangersbeleid; aanroepers kunnen geen ontvangers kiezen. Niet-ondersteunde oude rolcombinaties blijven geweigerd. Een nieuwe beoordeling met dezelfde ID houdt de planning inactief; een opgeslagen beoordeling blijft niet-geactiveerd. Alleen goedkeuring leidt niet tot publicatie.
Heterogene groepen
Combineer opgeslagen bestemmingen, automatische bestemmingen en bestemmingen met handmatige herinneringen uit de native basiscatalogus voor tekst en media. Elk onderdeel kan de geïmplementeerde native optiecatalogus gebruiken, onder de validatieregels voor het publicatietype, inclusief ondersteunde metadata, voorbeelden en gestructureerde vermeldingen. Automatische Instagram-audio gebruikt gecontroleerde cataloguswaarnemingen; opgeslagen of handmatige audio blijft inactief zonder catalogusopvraag of publicatie-OAuth tot een latere automatische of native actie. Vereiste YouTube- en TikTok-keuzes blijven expliciet; onbekende opties en niet-ondersteunde combinaties worden nog steeds geweigerd.
Wachtrij en prioriteit
Automatische onderdelen gebruiken de native reservering van een publicatiemoment. Handmatige onderdelen behouden het native ritme en de verplaatsingen van herinneringen, met de huidige vereisten voor het aangemelde apparaat en de configuratie.
Native website
Delen, uitsluitend opnieuw inplannen en zelfstandig klonen van een afgerond bericht gebruiken native rechten en de instellingen van de oorspronkelijke auteur. De oorspronkelijke geschiedenis blijft behouden; automatisch publiceren vereist nog steeds actuele goedkeuring en aanmelding.
Kanaalkeuzes en metadata
Ondersteunde native metadata, waarnemingen van voorbeelden, audio en covers en gestructureerde Facebook- en LinkedIn-vermeldingen volgen hun gevalideerde workflow. Metadata-URL's blijven letterlijk; ondoorzichtige oude vermeldingsvelden worden niet als gestructureerde keuzes behandeld.
Bestaande UTM-selecties
Bestaande opgeslagen UTM-selecties van de maker behouden de native volgorde, inclusief factory-conversie wanneer verkorten uitstaat. Er wordt geen nieuwe openbare UTM-selector aangeboden.
Het basistekstprofiel omvat Facebook, Bluesky, LinkedIn, Threads, Tumblr, Google Business Profile, Mastodon en WordPress. Afbeeldingsprofielen binnen native limieten omvatten ook Instagram en Pinterest; videoprofielen omvatten native ondersteunde YouTube- en TikTok-opties en andere gevalideerde services. Uniforme ingeplande omzetting en bestaande opgeslagen of native overgangen hebben afzonderlijke gevalideerde keuzecatalogi; de bovenstaande regels voor gemengde groepen staan geen willekeurige opties toe. Expliciet opgeslagen privacy en toestemming en actuele native validatie blijven vereist. Opslaan activeert werk nooit, en beoordeling verleent nooit publicatierechten. Lees allowedActions en huidige versies; trek een lopende beoordeling vóór verwijdering in wanneer die actie beschikbaar is. Acceptatie van de voorbereiding en verkorten bevestigen geen publicatie op het netwerk.
Een bestemming opslaan vóór het inplannen
Gebruik saveToDraft: true op een onderdeel om een kanaalgebonden concept op te slaan. Dit vereist drafts:write, zonder publicatierecht of nieuwe publicatieaanmelding. Alleen opslaan maakt geen planning of telefoonherinnering. Modus en datum van een opgeslagen onderdeel plannen niets en zijn geen herbruikbare instructies; kies later bij expliciet plannen een nieuwe modus en datum. Null is niet toegestaan voor saveToDraft.
Lees de bestemmings-ID en de nieuwste versie en gebruik vervolgens armDestinationDraft of benoemde arm_destination_draft om datzelfde bericht in te plannen. De benoemde tool noemt de ID postId. Kies publishNow, schedule met dueAt, addToQueue of prioritize. Zonder modus kiest een opgegeven datum voor plannen; anders wordt de wachtrij gebruikt. Automatische publicatie controleert opnieuw de huidige rechten, kanaaltoegang, media, goedkeuringen en aanmeldstatus.
De opgeslagen bestemming inplannen
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.
Een toekomstige bestemming terugzetten naar concept
Voor een door de eigenaar beheerde automatische bestemming waarvan de publicatie nog niet is begonnen: updatePost(saveToDraft: true) kan dezelfde bestemmings-ID, brongroep en bijlagen behouden en tegelijk de ene toekomstige planning deactiveren. Geef de huidige versie en een stabiele verzoeksleutel op, met zowel publicatie- als conceptrechten. Het publicatiemoment moet meer dan twee minuten in de toekomst liggen. Zet het eerst terug en bewerk daarna het huidige concept afzonderlijk; beoordelingen, herinneringen, threads en begonnen publicatiepogingen behouden hun eigen procedures. Activeer het concept expliciet opnieuw wanneer het klaar is.
Een opgeslagen concept beoordelen
Combineer op een kanaal dat goedkeuring vereist saveToDraft: true met requestApproval: true. Dit vereist concept- en beoordelingsrechten. Na goedkeuring blijft publicatie uitgeschakeld: plan daarna expliciet de ongewijzigde goedgekeurde versie. Wijzigingen vereisen nieuwe goedkeuring. Een beoordelingsverzoek tijdens expliciet plannen van een automatisch bericht schort de planning juist op tot goedkeuring.
Handmatig publiceren expliciet houden
Gebruik voor een onderdeel publishingMethod: reminder wanneer iemand het publiceren op de telefoon afrondt. Een opgeslagen concept behoudt die keuze zonder een apparaat te vereisen. Wanneer je het later inplant, behoudt een weggelaten publicatiemethode de opgeslagen keuze; een expliciete methode selecteert die methode opnieuw. Null wordt niet geaccepteerd. Een herinnering inplannen vereist concept- en publicatierechten, een actief aangemeld apparaat voor meldingen en eventuele vereiste goedkeuring. publishNow zet een herinnering voor nu in de wachtrij; dit publiceert niet automatisch op het netwerk.
Lees isDraft, publishingMethod en manualReminder.state samen. Een onderdeel met een lopende opgeslagen beoordeling is nog steeds een concept, en een opgeslagen herinneringskeuze heeft nog geen actieve herinnering. providerDeliveryConfirmed: false is geen bewijs van publicatie op het netwerk. Gemengde groepen kunnen opgeslagen, ingeplande en herinneringsonderdelen bevatten; de acties per bericht blijven afzonderlijk. Gebruik edit_post met draft: true om een veilige opgeslagen bestemming te bewerken, en de canonieke deleteContentItem of delete_content_item om de volledige groep op te ruimen. Trek eerst een lopende beoordeling in. Een geclaimde of onzekere publicatie vereist reconciliatie in plaats van blind verwijderen.
Benoemde tools voor AI-clients
get_publishing_configuration en get_channel tonen de daadwerkelijke media- en toestemmingsvereisten. Gebruik list_content_items, get_content_item, create_content_item_draft, promote_content_item_draft en create_content_item_variants zonder GraphQL te schrijven. Tools voor bewerken, verwijderen en koppelen behouden dezelfde controles op rechten, versies en herhaalde pogingen.
03 / JE BESTAANDE BIBLIOTHEEK
Hergebruik je opgeslagen content.
Bekijk, maak en bewerk de sjablonen in je eigen SocialBlaze-contentbibliotheek. Hergebruik tekst-, afbeeldings-, video- en PDF-sjablonen in concepten. Bewerken vereist de huidige versie. Het verwijderen van een sjabloon behoudt gedeelde geüploade bestanden.
Bibliotheeksjablonen bekijken
query {
libraryItems(first: 20) {
nodes { id title text description emoji visibility version assets { type url title altText } }
pageInfo { endCursor hasNextPage }
}
}
Gebruik createDraftFromLibraryItem met de ID, versie, verzoeksleutel en geselecteerde kanalen. Bibliotheektoegang volgt je huidige abonnement en teamrechten.
Sjablonen accepteren een optionele beschrijving (maximaal 1.000 tekens), emoji (maximaal 32 tekens) en zichtbaarheid: internal voor je werkruimte of private voor hun maker. Bestaande sjablonen en weggelaten zichtbaarheid blijven intern. Alleen de maker kan een gedeeld sjabloon privé maken; privésjablonen zijn verborgen voor andere leden in de API, native bibliotheek en mobiele leesacties. Filter libraryItems(visibility: private) of internal. Er is geen openbare samengestelde sjablooncatalogus. Null wist omschrijving of emoji; weggelaten velden blijven bij wijzigingen behouden. Native wijzigingen bewaren deze keuzes.
04 / GEGEVENS VOOR JE TOOLS
Maak het rapport dat je nodig hebt.
Expliciete TikTok-provideropvragingen sommen alleen openbare video's op. enumerationComplete beschrijft het doorlopen van die bron; complete blijft false omdat foto's en privévideo's uitgesloten zijn. Lees basis en note op rapporten, aggregatiereferenties en rangschikkingsdekking voordat je totalen of lege resultaten interpreteert.
Gewone kanaalrapporten, statistieken van afzonderlijke berichten, rangschikkingen en geaggregeerde opvragingen gebruiken uitsluitend bestaande SocialBlaze-websitegegevens en opgeslagen momentopnamen. Een leesactie neemt geen contact op met een provider, zet geen gegevensverzameling in de wachtrij en vernieuwt geen ontbrekende gegevens. Beschikbare statistieken verschillen per netwerk; onbeschikbare waarden blijven onbekend, nooit nul.
Een bestaande prestatiemomentopname lezen
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 } }
}
}
Lees readMode, storedAnalytics en beschikbare opgeslagen datumbereiken wanneer geen genormaliseerd rapport beschikbaar is. Native secties behouden hun oorspronkelijke labels en meetbasis. Een tijdstempel van een rij-update bewijst niet dat elke statistiek toen is verzameld. Ontbrekende gegevens blijven onbeschikbaar; alleen het verlopen van een publicatietoken verhindert geen toegestane historische leesactie. Datumbereiken blijven beperkt tot de beschikbare accountgeschiedenis. Controleer complete, voor elke metriek de status en de bijbehorende basis voordat je totalen interpreteert. Elk kanaalrapport en elke aggregatiereferentie vermeldt de netwerkservice. Geaggregeerde metricsUpdatedAt is de nieuwste bekende bijdragende tijdstempel; oldestMetricsUpdatedAt geeft het oudste bijdragende tijdstip en blijft null wanneer de actualiteit van een beschikbare bron onbekend is.
Optionele LinkedIn-videostatistieken bevatten unieke waarden per bericht voor viewers en totalTimeWatched in minuten. Unieke kijkers worden nooit over berichten heen opgeteld. Instagram follows is een toegeschreven aantal voor geschikte feedberichten en Stories, niet voor Reels of netto volgersgroei. Deze waarden hangen af van providertoegang en beschikbaarheid; onbeschikbare waarden blijven null. Er wordt geen eenheid voor Instagram-kijktijd afgeleid.
Het doorlopen van LinkedIn-rapporten is begrensd. Als de lezer de paginalimiet bereikt of niet veilig verder kan, kunnen bruikbare waargenomen rijen met gedeeltelijke dekking worden teruggegeven. Hun totalen beschrijven alleen die waargenomen subset, nooit alle berichten van het account. Lees de rapportnotitie en opsommingsstatus voordat je kanalen vergelijkt.
Prestatieregels kunnen de volgende waarden tonen: publicationDate en publicationTimeBasis afzonderlijk van publishedAt. Een historische native kalenderdag met onbekende tijdzone behoudt publishedAt: null; verzin geen publicatietijd om middernacht UTC. Houd netwerkberichten gescheiden, ook als ze naar hetzelfde artikel linken.
De opgeslagen analysesecties van de website lezen
Gebruik storedChannelAnalytics of benoemde MCP get_stored_channel_analytics met analytics:read, een toegestaan kanaal en exacte begin- en einddatums. Elke sectie vermeldt bron, beschikbaarheid en datumbasis. availableRanges toont opgeslagen bereiken; het vervangt de gevraagde datums niet door een daarvan. Een onbeschikbare of te grote ruwe sectie bewijst niet dat er geen berichten zijn; controleer de foutcode en de gepagineerde channelReport weergave.
Voor TikTok, Pinterest, Tumblr en WordPress kan de sectie report een al opgeslagen expliciete gegevensverzameling tonen, met het label saved_developer_report. Dit zijn opgeslagen rapportgegevens, geen bewijs van verzameling door de native website. Geen passend opgeslagen rapport betekent niet beschikbaar; de leesactie verzamelt niets. Een rapport kan klaar zijn terwijl complete of enumerationComplete is false. Behoud gedeeltelijke dekking en onbeschikbare statistieken wanneer je resultaten rapporteert.
Opgeslagen native analyses en herkomst per sectie lezen
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.
Houd bij genormaliseerde rapportpaginering de teruggegeven rapport-ID, het kanaal en de datums bij elkaar en geef posts.pageInfo.endCursor als de volgende after. Begin zonder cursor als je van snapshot wisselt. Een opgeslagen berichtmetriek en een onvolledig kanaalrapport kunnen andere dekking hebben; vermeld de eigen status en basis van elk resultaat.
Alleen op verzoek nieuwe providergegevens ophalen
Gebruik de expliciete refreshChannelReport mutatie of benoemde MCP refresh_channel_report alleen nadat de gebruiker vraagt om nieuwe providergegevens op te halen. Verzamelen kan actuele analyserechten bij de provider vereisen en verbruikt het afzonderlijke verversingsbudget. De status kan queued zijn; poll dezelfde teruggegeven rapport-ID en datums met channelReport. Gewone leesacties melden niet aan, verbinden geen accounts opnieuw en starten deze bewerking niet automatisch.
Expliciet een nieuw providerrapport ophalen
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.
Opgeslagen statistieken meenemen bij het lezen van berichten
Gebruik includeMetrics: true op post of posts, of de MCP-tool get_post en list_posts. Geef mee metricSnapshots met een kanaal-ID, rapport-ID en overeenkomende begin- en einddatums voor elk kanaal. Beide posts:read en analytics:read zijn vereist. Dit leest uitsluitend bestaande momentopnamen; het neemt nooit contact op met een netwerk en start geen rapportverzameling. Lees metricsState, metricsErrorCode, de status en basis van elke metriek en metricsUpdatedAt. Ontbrekende of niet-beschikbare metrieken blijven null. Opgeslagen historie kan verouderd zijn; behoud de bijbehorende indicatoren voor ouderdom en actualiteit. Presenteer de gegevens niet als nieuw verzameld. Laat de optie weg bij gewone berichtlezingen; normale selectie- en complexiteitslimieten gelden.
Voor benoemde MCP list_posts met includeMetrics: true, de volledige standaardselectie en één vastgezet snapshot, zonder first geeft momenteel maximaal 18 rijen terug binnen de standaardcomplexiteitslimiet van 1.000 punten. Meer momentopnamen kunnen die standaard verlagen. Een expliciete first wordt nooit stilzwijgend verlaagd: 19 volledige rijen met één momentopname overschrijden die limiet. Gewone berichtenlijsten gebruiken nog steeds standaard 20; minder velden selecteren kan grotere pagina's toelaten. Volg pageInfo.endCursor in plaats van aan te nemen dat één respons alle berichten bevat. Deze automatische paginacorrectie hoort bij de benoemde tool; een expliciete GraphQL-query moet een paginagrootte kiezen die bij de selectie past.
Statistieken uit een bestaande momentopname lezen
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 publicatierecords tellen
publishingActivity telt bewaarde automatische berichtrecords op hun oorspronkelijke aanmaakdatum in de gekozen tijdzone. Elke bestemming en elk threadonderdeel telt afzonderlijk. Geaggregeerde aantallen omvatten soft-deleted records, sluiten concepten en handmatige herinneringen uit en kunnen definitief verwijderde records of uitsluitend bij de provider beschikbare geschiedenis niet herstellen. Native concepten kunnen na indiening oudere aanmaakdatums behouden. Dit zijn geen exacte historische indienings- of publicatiedatums; currentlyDelivered beschrijft de huidige status binnen deze records. Houd de teruggegeven basis en notitie zichtbaar.
recordedCommitEvents telt afzonderlijk bewaarde native pogingen op de geregistreerde datum van providerbevestiging, onafhankelijk van de oorspronkelijke aanmaakdatums. Een bewuste herpublicatie telt opnieuw. Acceptatie kan voorafgaan aan verwerking of publicatie, dus dit zijn geen publicatietotalen. Houd commitEventBasis, commitEventCountUnit, commitEventNote en de vlag met de waarde false: commitEventHistoryComplete zichtbaar.
publishedActivity telt bewaarde bestemmingsrecords die momenteel als gepubliceerd gelden en waarvan de geschikte native geregistreerde publicatietijd binnen het gevraagde kalenderbereik en de tijdzone valt. Dit gebruikt dezelfde tijdstempelregels als het nullable veld post.publishedAt; aanmaak-, wijzigings-, plannings- en bevestigingsdatums vervangen die nooit. Elk bestemmings- of threadrecord telt apart, inclusief geaggregeerde logisch verwijderde records. Behoud rangeStartUtc, rangeEndUtcExclusive, basis, countUnit en complete: false. unknownTimeExcluded telt alle geselecteerde bewaarde gepubliceerde records met onbekende tijden, niet onbekende berichten die aan deze maand zijn toegewezen. Verwijderde, overschreven en uitsluitend bij de provider beschikbare geschiedenis valt buiten deze subset met bekende tijden.
Gebruik benoemde MCP get_published_activity, Node publishedActivity of CLI tools call get_published_activity. Dit leest lokale records zonder providerverzameling. De oorspronkelijke aanmaakcohortwaarde publishingActivity en op bevestiging gebaseerde recordedCommitEvents behouden hun afzonderlijke betekenissen.
Waargenomen prestaties rangschikken
rankedPosts vereist een expliciete statistiek en ofwel lifetime of period_total als basis. Onbekende waarden en onverenigbare meetbases worden uitgesloten; nul blijft een echte score. Dekking per netwerk onderscheidt volledige, gedeeltelijke, ingeplande en onbeschikbare bronnen. Hergebruik rapport-ID's voor stabiele vergelijkingen. Elk resultaat vermeldt de eenheid van de statistiek; betrokkenheidspercentages gebruiken procentuele eenheden en behouden hun vergelijkingsbasis. Verschillende bekende percentageformules worden niet samen gerangschikt en percentages worden nooit opgeteld. Uniek LinkedIn-bereik wordt niet over berichten heen opgeteld. Facebook-vind-ik-leuk-reacties staan los van het totale aantal reacties wanneer de provider ze teruggeeft; ontbrekende waarden blijven null. Prestaties bewijzen niet dat de tekst het resultaat veroorzaakte.
Teruggegeven berichten rangschikken op een gekozen statistiek
Benoemde MCP-tools zijn get_publishing_activity en rank_posts. De SDK-methoden zijn publishingActivity en rankPosts.
05 / BOUW VOOR ANDERE GEBRUIKERS
Verbinden met OAuth.
Registreer een openbare PKCE-client of een vertrouwelijke serverapp in de console. Registreer exacte callback-URL's, kies rechten en geef de privacy-URL van je app op. Elke klant kiest zelf de kanalen en kan je app ontkoppelen.
Genereer een willekeurige verifier en de bijbehorende S256-challenge. Bewaar een willekeurige state-waarde om de callback te verifiëren.
Open /api/developer/oauth/authorize met client-ID, geregistreerde redirect-URI, rechten, state, challenge, code_challenge_method=S256 en de gevraagde resource.
Wissel de teruggegeven code in via /api/developer/oauth/token, inclusief de oorspronkelijke verifier en resource. Vertrouwelijke clients authenticeren zich ook met hun geheim.
Bewaar inloggegevens veilig. Toegangstokens zijn één uur geldig; refreshtokens worden geroteerd en verlopen na 30 dagen. Hergebruik nooit een vervangen refreshtoken.
Resources zijn https://backend.socialblaze.ai/api/developer of de bijbehorende /graphql of /mcp endpoint. Bestaande AI-connectortokens gebruiken een afzonderlijke audience.
Gebruik een aangepaste externe MCP-verbinding in een compatibele assistent of ontwikkelaarsclient. Het endpoint is https://backend.socialblaze.ai/api/developer/mcp. Gebruik OAuth als de client dat ondersteunt; daarvoor is geen ontwikkelaarssleutel nodig. Gebruik een beperkte sleutel alleen bij clients met veilige Bearer-authenticatie.
De configuratiesyntaxis verschilt per client. Tools worden gefilterd op de verleende rechten. Beschikbare tools ondersteunen het lezen van accounts en kanalen, concepten, publiceren, threads, beoordelingen, sjablonen en rapporten. Schemaresources en generieke GraphQL-tools gebruiken dezelfde rechten en quota. Vermelding hier betekent niet dat een connector in een marketplace staat.
Deze voorbeelden gebruiken het ontwikkelaars-MCP-endpoint en de huidige toolcatalogus met beperkte rechten. Een interactieve SocialBlaze-publicatieverbinding kan andere tools en accountselecties bieden. Ontbreekt een benoemde tool, controleer dan welke verbinding en rechten je gebruikt; een publicatieverbinding betekent niet automatisch toegang tot rapporten.
Indelingen van generieke MCP-verzoeken en resultaten
Gebruik voor een geïnitialiseerde MCP-client het getoonde {name, arguments} object voor de tools/call parameters. execute_query vereist een waarheidsgetrouwe summary (maximaal 500 tekens) en query; execute_mutation vereist summary en mutation. Variabelen en bewerkingsnaam zijn optioneel. De accountquery vereist accounts:read; een concept maken vereist 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"
}
}
Resultaten van MCP-aanroepen kunnen een waarde instellen voor isError en bieden structuredContent.error of validatiedetails; een GraphQL-respons kan ook het volgende bevatten: errors of een getypeerde MutationError. Ruwe JSON-RPC bevat het toolresultaat onder result en kan op het hoogste niveau het volgende bevatten: error. Controleer ook de inhoud van het antwoord: HTTP 200 alleen betekent geen succes.
Een bestaand concept bewerken en vervolgens lezen
Lees eerst de huidige concept-ID en versie. Vervang de voorbeeldvelden door echte get_post waarden; verstuur de voorbeeldwaarden niet ongewijzigd. Het bewerken van een eigen concept gebruikt edit_post met draft: true, expliciete tekst, een stabiele aanvraagsleutel en drafts:write. Laat weg saveToDraft, mode en dueAt voor deze conceptbewerking. Dit geeft postId en version. De editor voor toekomstige berichten retourneert daarentegen id, version en deleted. Selecteer alleen velden voor die bewerking; haal tekst en bestanden apart op met get_post met posts:read.
Gebruik bij een concept van de integratie dat nog niet is ingediend of ingepland geen draft en gebruik saveToDraft: true. Geef huidig ID en versie, een stabiele aanvraagsleutel, drafts:write en vervangende media; gebruik geen mode en dueAt. Combineer niet draft: true met saveToDraft: true. Deze berichteditorroute retourneert id, version en deleted, niet postId. Het LinkedIn-PDF-voorbeeld vervangt de bijlagen door één document. Vervang alle tijdelijke waarden, inclusief URL en titel, en behoud het bedoelde bijschrift. Lees het bericht opnieuw om bestanden en conceptstatus te bevestigen. Deze wijziging dient niet in, plant niet en publiceert niet.
Een LinkedIn-conceptbijlage vervangen door een PDF
Voeg een MCP Client-stap toe, kies HTTP Streamable en gebruik https://backend.socialblaze.ai/api/developer/mcp. Kies Bearer Auth en bewaar de beperkte sleutel in een n8n-credential. Kies een tool en gebruik JSON voor geneste parameters. Begin met get_account of een conceptmutatie; behoud dezelfde verzoeksleutel wanneer je een gebeurtenis opnieuw probeert.
Voeg in je appverbindingen MCP Client by Zapier toe. Voer het bovenstaande endpoint in en kies Streamable HTTP en OAuth. Meld je aan bij SocialBlaze, bekijk de gevraagde rechten en selecteer kanalen. Gebruik een alleen-lezen-tool voor rapporten of Run Tool voor een toegestane conceptactie. Schakel foutafhandeling in en controleer de teruggegeven gestructureerde gegevens voordat je een volgende stap start.
Sommige Zapier MCP Client-editors versturen arraytekst als tekenreeksen. channelIds vereist een echte array. Als de editor die afvlakt, gebruik execute_mutation met één GraphQL-mutatietekenreeks die de volgende letterlijke inhoud bevat: channelIds: ["YOUR_CHANNEL_ID"]. Begin met een toekomstige planning, bewaar de sleutel en controleer fouten voordat je verdergaat.
Deze gebruiken de generieke MCP-clients van de platforms. De beschikbaarheid van clientaccounts en providerkosten staan los van de SocialBlaze-API-limieten.
Automatisch publiceren vereist expliciete toestemming. Gebruik uitsluitend beoordelingsrechten als een assistent werk mag voorbereiden zonder het te publiceren.
07 / VOORSPELBAAR GEBRUIK
Limieten waarmee je rekening kunt houden.
Huidige quota voor de ontwikkelaarspreview, gedeeld binnen een werkruimte
Resource
Quota
API-werkeenheden
60/minuut · 500/dag · 7.500/maand
Geïmporteerde media
100 MB/dag · 1 GB/maand
Rapporten vernieuwen
20/dag · 500/maand
Via de API gemaakte berichten
25/kanaal/dag
Omvang van query en verzoek
Query van 16 KB · JSON-body van 32 KB
UTC-tijdvakken worden gedeeld door alle sleutels en geautoriseerde apps. Meer sleutels vermenigvuldigen de quota niet. Alleen de geselecteerde operatie en bereikbare fragmenten worden berekend: één eenheid per 25 complexiteitspunten, naar boven afgerond, met een minimum van één, plus twee voor mutaties. Responsheaders en MCP-metadata vermelden de berekende werkeenheden en kostenbasis. Dit is een aanvankelijk conservatief beleid; providerverversingen en media behouden afzonderlijke budgetten. Gecachete leesacties kosten nog steeds lokaal querywerk. Websitepublicatie en netwerk- of providerlimieten staan hier los van.
401: inloggegeven verlopen, ingetrokken of ongeldig.
403: ontbrekende scope, kanaaltoegang of teamrechten.
409: verouderde versie, gewijzigde invoer bij een herhaalde poging of een onveilige publicatiestatus.
422: controleer de validatiedetails, waaronder channels.ID.
429: volg Retry-After; gebruik dezelfde mutatiesleutel opnieuw.
GraphQL kan fouten teruggeven met HTTP 200. Controleer altijd errors. Elke mutatie heeft ook een try variant, zoals tryCreateDraft, met een getypeerde succeswaarde result of MutationError. Selecteer __typename en het foutveld code, httpStatus, message, fields en retryAfterSeconds. Een getypeerde fout kan verschijnen in data met HTTP 200, dus controleer ook die uitkomst.
MCP-aanroepers moeten ook het volgende controleren: isError en structuredContent: fouten kunnen verschijnen als GraphQL- errors, een getypeerde MutationError, error of validation details, zelfs als het transportverzoek slaagt. Indien beschikbaar: _meta bevat httpStatus, chargedWorkUnits, resterende quota en retryAfterSeconds. Een client die metadata verbergt bewijst niet dat de aanroep gratis was. Los rechten- en validatiefouten op voordat je opnieuw probeert. Houd bij een onzekere schrijfactie dezelfde sleutel en invoer aan; lees de opgeslagen berichtstatus in plaats van een nieuwe publicatie te maken.
Dit zijn previewlimieten, geen belofte dat een provider hetzelfde volume toestaat.
08 / AUTOMATISEER JE WERK
Begin met een kleine workflow.
Rapportagebot voor vrijdag
Start wekelijks een timer, lees de gepubliceerde berichten en bestaande prestatiemomentopnamen van die week en verstuur het rapport via je eigen Slack-verbinding.
Van formulier naar concept
Gebruik een Zapier-webhook of n8n HTTP Request-node voor een aanroep van createDraft. Bewaar de credential in de geheime opslag van het platform en gebruik een stabiel gebeurtenis-ID als requestKey.
Van bibliotheek naar campagne
Kies een opgeslagen sjabloon, maak er een concept van en stuur het ter beoordeling. Plan het pas in wanneer aan de goedkeuringsvereisten is voldaan.
Aangepaste rapportage
Haal statistieken van geselecteerde kanalen op voor je eigen dashboard. Hergebruik momentopname-ID's bij polling en behoud onbekende of onvolledige waarden.
Een n8n-workflow importeren
Download een workflow, kies Import from File in n8n, bewerk de invoer en koppel vervolgens je eigen Bearer Auth-inloggegevens aan de MCP Client-stap. Elke workflow begint met een handmatige trigger en blijft na import inactief. Sleutels horen in de n8n-inloggegevens, nooit in de JSON.
Geïmporteerd met n8n 2.43.5; MCP-nodeaanroepen zijn geverifieerd met een geïsoleerde API-testopstelling. Gehoste uitvoering met je eigen inloggegevens is een afzonderlijke controle. Deze workflows gebruiken generieke MCP-clients en betekenen niet dat er een app in een marketplace of een gepubliceerde Zapier-sjabloon bestaat. Beheer toestemming voor externe berichten in je eigen workflow.
09 / HET WERKELIJKE CONTRACT
Lees het huidige schema.
De referentie wordt gegenereerd uit de geïmplementeerde GraphQL-typen. Geauthenticeerde introspectie en de explorer tonen het geïmplementeerde contract. SocialBlaze gebruikt eigen identificatoren en een eigen schema.
Geef je programmeerassistent de API-gids voor AI zodat die de juiste endpoints, rechten, versies en regels voor herhaalde pogingen kan gebruiken.
Node-client voor de server
Het pakket met versienummer bevat TypeScript-declaraties en een opdrachtregelclient. Installeer het gedownloade bestand met npm install ./socialblaze-developer-client-0.1.14.tgz. Bewaar de sleutel in een omgevingsvariabele op de server.
Gebruik benoemde bericht- en conceptopdrachten, tools list, tools describe NAME, tools call NAME, schema describe TYPE en doctor. Geef JSON rechtstreeks, via een bestand of stdin mee. --dry-run controleert de opgegeven basisregels voor invoer zonder de tool aan te roepen; discovery gebruikt nog steeds quota en bevestigt geen providervalidatie of publicatie. De CLI probeert schrijfacties nooit automatisch opnieuw.
Het lezen van berichten ondersteunt postTypes en dueAtPresence filters voor opgeslagen native formaten en de aanwezigheid van een geplande datum. Stel de cursor opnieuw in wanneer filters veranderen. Deze filters schakelen geen extra publicatieformaten in.
Benoemde list_channels ondersteunt pagina's van 1–100, standaard 20, met afterId. Kies minder velden voor grotere pagina's; normale complexiteits- en werkquota gelden. Formaatfilters omvatten ook Google Business- event, offer en whats_new, op basis van opgeslagen native metadata. Deze overlappen bewust met de gewone berichtcategorie en schakelen geen nieuwe publicatieformaten in.
Node getPost en contentItem geven bestands-URL's terug, inclusief statische en geanimeerde voorbeelden. Node listPosts behoudt de compacte weergave zonder bestanden; gebruik een afzonderlijke leesactie of een expliciete GraphQL-selectie. Node getPost bevat isDraft maar behoudt een compacte weergave zonder publicatiemethode of status van handmatige herinneringen. Gebruik benoemde get_post of een expliciete GraphQL-query voor die velden; de generieke client en CLI kunnen de nieuwe conceptoperaties uitvoeren zonder het onveranderlijke SDK-pakket te wijzigen.
Responsvelden selecteren
Benoemde CLI-aanroepen accepteren --fields 'id,text' en verwante groepen zoals --fields 'nodes.{id,text},pageInfo.endCursor'. Paden zijn relatief aan het genoemde resultaat. De server maakt een kleinere GraphQL-selectie en valideert die vóór uitvoering. De kosten volgen die selectie. Bewaar ID's en versies voor schrijfacties en behoud rapportbasis, opmerkingen en dekking. all herstelt de standaardselectie van de tool, niet elk schemaveld. Benoemde MCP-tools accepteren dezelfde fields tekenreeks. Kanaalpaginering blijft beschikbaar wanneer de getoonde velden geen ID's bevatten. Generieke queryopdrachten gebruiken hun expliciete document.
CLI-installatie en instructies voor agents
socialblaze init schrijft lokale standaardwaarden; config path en config get --all tonen ze. Inloggegevens via omgevingsvariabelen worden aanbevolen. Alleen expliciete init --save-token bewaart een token in een onversleuteld globaal bestand buiten het huidige project. Repositoryconfiguratie ondersteunt alleen tijdzone en time-out en kan geen inloggegevens leveren of de oorsprong daarvan wijzigen. Configuratie-uitvoer maskeert opgeslagen sleutels; lokaal verwijderen trekt de serversleutel niet in.
context --list toont de meegeleverde agentonderwerpen; context toont de skill en rapportage-instructies offline. completion bash, zsh, fish of powershell toont een shellaanvulscript. Gebruik socialblaze install claude of install codex voor een expliciete offline installatie van een beheerde skill; uninstall claude of uninstall codex maakt een ongewijzigde installatie ongedaan. Aangepaste of gekoppelde mappen blijven behouden. Pakketinstallatie en init installeren geen skills en wijzigen geen shellprofielen. Suggesties omvatten statische opdrachtgroepen. Versie 0.1.5 herstelt geneste zsh-aanvulling. Statische opdrachtsuggesties zijn gecontroleerd in echte offline bash-, zsh ZLE- en fish-runtimes; PowerShell-uitvoer is met de parser gecontroleerd. Deze controles gebruiken geen externe tools en geven geen toestemming voor publicatie.
De meegeleverde agentskill lezen. Je autorisatie blijft behouden en lokale aantallen, waargenomen rangschikking en onvolledige providerhistorie blijven onderscheiden. Lees de gekoppelde rapportreferentie voor deze werkwijzen.
Hulp nodig bij een specifiek verzoek? Mail [email protected] met de operatienaam, status en veilige foutcode. Vermeld nooit je sleutel, refreshtoken of inloggegevens voor sociale netwerken.
Je kanalen.
Je AI-assistent.
Verbind een assistent met je SocialBlaze-werkruimte. Lees opgeslagen berichten en rapporten, bereid concepten voor en plan berichten met de rechten die jij kiest.
Houd het bericht van elk kanaal apart. Controleer de status, het bijschrift, de bestanden en de geplande datum.
Verbinden in drie stappen.
Met MCP kan een compatibele AI-client SocialBlaze-tools gebruiken. Je hoeft geen GraphQL te schrijven om via de benoemde tools berichten te lezen, concepten te maken of publicaties in te plannen.
Koppel je kanalen
Meld je aan bij SocialBlaze en verbind de netwerken die je wilt gebruiken. Een assistent ziet alleen de kanalen waartoe die toegang heeft.
Je kanalen beherenVoeg de MCP-server toe
Voer de onderstaande server-URL in bij de instellingen voor een aangepaste externe MCP-verbinding van je client. Kies OAuth als de client de autorisatiestroom van SocialBlaze ondersteunt.
Autoriseren en vervolgens lezen
Meld je aan, bekijk de gevraagde acties en selecteer kanalen. Begin met
get_accountoflist_channels. Controleer de gevraagde rechten. Publicatie vereist expliciete toestemming. Voor alleen lezen moet de client alleen-lezen-scopes aanvragen; statistieken vereisen een apart recht.OAuth in een compatibele client
Gebruik de aanmeldings- en toestemmingsstroom in de browser. Voor een OAuth-verbinding hoef je geen ontwikkelaars-API-sleutel te maken of te plakken. Houd rekening met de kanaalselectie van de bestaande verbinding.
Clientfuncties en accountbeschikbaarheid verschillen. Een aangepaste MCP-verbinding betekent niet dat er een connector in een marketplace staat. Gebruik voor een persoonlijke serverapp de API-snelstart; gebruik voor andere gebruikers OAuth-appregistratie.
Verbinden met Claude
Werkruimtebeheerders moeten mogelijk eerst de connector toevoegen. Zie de Handleiding voor een aangepaste Claude-connector voor de huidige schermen en accountvereisten.
Een gekoppeld kanaal ontbreekt in mijn AI
Controleer of het kanaal ontgrendeld en toegankelijk is in SocialBlaze. Verbind SocialBlaze vervolgens opnieuw vanuit je AI-app, bekijk de gevraagde rechten en selecteer het ontbrekende kanaal. Een kanaal toevoegen of ontgrendelen voegt het niet toe aan een bestaande AI-verbinding; het vernieuwen van die verbinding behoudt de kanaalselectie. Bewaar je bestaande verbinding totdat opnieuw verbinden werkt. Je hoeft Instagram of Facebook niet opnieuw te verbinden om alleen de kanaalselectie van je AI-verbinding te wijzigen.
Als je analyserechten hebt en het kanaal zichtbaar is, maar er geen opgeslagen rapport beschikbaar is, is dat een afzonderlijk probleem met de beschikbaarheid van gegevens. Een wijziging van de kanaalselectie verzamelt of vernieuwt geen analyses.
Probeer nuttige, begrensde verzoeken
“Toon mijn volgende 10 ingeplande berichten. Houd elke kanaalbestemming als een afzonderlijk bericht.”
“Sla dit op als concept. Publiceer het niet.”
“Lees mijn opgeslagen prestatierapport voor deze datums. Vertel me wat niet beschikbaar is.”
Houd bij de “laatste 10 gepubliceerde berichten” elk teruggegeven kanaalbericht apart, ook als bijschriften of artikellinks overeenkomen. Resultaten omvatten de kanalen waarvoor je toestemming gaf, niet noodzakelijk je hele account. Een ontbrekend opgeslagen rapport of onbekende statistiek is niet nul; een rapport lezen vernieuwt geen netwerkgegevens. Berichtvoorbeeldkaarten zijn beschikbaar als preview. In ChatGPT kan de eerste weergave mislukken; kies Opnieuw proberen om de kaarten te laden. Kan een afbeelding niet laden, open het opgeslagen bericht dan in SocialBlaze. Beschikbaarheid in andere AI-apps verschilt. Extern gehoste afbeeldingen kunnen onbeschikbaar zijn; een voorbeeld herstelt de bron niet. Ingeplande of geaccepteerde berichten zijn geen bevestigde publicaties; controleer de teruggegeven status voordat je succes meldt.
De servicestatus heeft een eigen plek.
Bekijk de huidige statusbewijzen voor kernservices, API en MCP en publicatie op netwerken op de Servicestatuspagina.
Volg wat we bouwen.
Bekijk opgeleverd werk, huidige verbeteringen en geplande ontwikkelingen op de Roadmappagina.
Maak je eerste API-verzoek.
Meld je aan bij je SocialBlaze-account, open de ontwikkelaarsconsole en maak een sleutel. Kies de kanalen en rechten die je integratie nodig heeft. Kopieer het geheim één keer en bewaar het op je server.
Een ontwikkelaarssleutel staat los van je websiteaanmelding. Houd deze uit openbare JavaScript, URL's en versiebeheer. Publicatie vereist aparte toestemming.
De teruggegeven kanaal-ID's horen bij je geselecteerde toegang. Gebruik die ID's bij het maken van berichten. De console bevat een uitvoerbare explorer die de inloggegevens voor die sessie in het geheugen bewaart.
Concept. Beoordeling. Planning. Publicatie.
Werken met echte berichten
Maak concepten, lees versies en bestanden, bewerk toekomstige berichten en annuleer veilige lokale planningen.
Je echte wachtrij gebruiken
Publiceer nu, kies een datum, voeg toe aan de wachtrij of geef voorrang. Verplaats een toekomstig bericht naar boven of beneden.
Geaccepteerd betekent niet afgeleverd. Lees
post.allowedActionsvoor instructies voor lokaal bewerken en annuleren binnen je rechten; elke mutatie controleert opnieuw de huidige versie en publicatiestatus. Lees elke teruggegeven bericht-ID om de status, gepubliceerde URL en foutdetails te controleren. Een gemengde ongeldige batch slaat niets op. Probeer een onzekere schrijfactie nooit opnieuw met een nieuwe verzoeksleutel.Behoud
contentItemIdvancreatePostofcreateThread. Eén bestemming verwijderen kan het bronconcept behouden. Lees voor verwijdering van de hele lokale contentgroep de huidige content-itemversie en gebruikdeleteContentItem; controleer daarna of groep en berichten afwezig zijn.Een datum of positie in de wachtrij kiezen
Gebruik
mode: schedulemet een expliciete toekomstigedueAtvoor een vast tijdstip. GebruikaddToQueueofprioritizezonder datum voor plaatsing in de native kanaalwachtrij. Wachtrijacties vereisen de functie voor slimme wachtrijen van je abonnement en publicatierechten. Gebruik voor het verplaatsen van een bestaand toekomstig berichtmovePostInQueueof benoemde MCPmove_post_in_queuemet de nieuwste versie en een stabiele verzoeksleutel.Verplaatsingen in de wachtrij kunnen de publicatietijden van andere berichten wijzigen. Lees na een verplaatsing de ingeplande berichten van het kanaal en hun versies opnieuw. Een geschikt, via de wachtrij gemaakt bericht onderaan plaatsen kan de veilig beheerde wachtrij samenvoegen binnen de bestaande tijdvakken; een bericht met een vaste datum wordt niet automatisch onderdeel van die wachtrij doordat het dezelfde tijdstempel heeft. Gemengd eigenaarschap, een onveilige publicatiestatus of bezette vaste tijdvakken kunnen herschikken verhinderen. De teruggegeven acceptatie is geen publicatiebewijs.
Gepubliceerde berichten lezen zonder kanalen samen te voegen
Lees elk netwerkbericht afzonderlijk en behoud de ID, het kanaal en de teruggegeven URL. De standaardvolgorde met aflopende record-ID's komt overeen met de websitefeed binnen de kanalen waarvoor de inloggegevens toegang geven. Toegang tot geselecteerde kanalen maakt niet alle kanalen in de werkruimte zichtbaar. Vraag voor een chronologische volgorde op basis van geschikte geregistreerde publicatiebewijzen
sort: [{field: publishedAt, direction: desc}]en optionelepublishedAfter/publishedBefore. Lees de nullablepublishedAtenpublishedAtBasis.native_terminal_delivery_observedis het tijdstip van de eerste lokale eindbevestiging, geen onafhankelijk geverifieerd oorspronkelijk publicatiemoment van de provider; geplande, aanmaak- en bewerkingsdatums vullen nooit een onbekende publicatietijd in. Onbekende tijden worden achteraan gesorteerd en kunnen geen volledige chronologische claim over de laatste tien onderbouwen. Stel cursors opnieuw in wanneer filters of sortering veranderen.Berichtenlijsten filteren en pagineren
Gebruik geen
statusesom de status onbeperkt te laten. Een expliciete legestatuses: []selecteert geen berichten; GraphQLstatuses: nulllaat het filter eveneens onbeperkt. Combineer je het enkelvoudige veldstatusmetstatuses, vormen hun waarden één selectie. Een enkelvoudige status geldt dus ook naast een lege array. Dezelfde regels gelden voor het aantal bijpassende berichten. BijdueAtoplopend komen berichten zonder geplande datum eerst; aflopend staan ze achteraan.publishedAthoudt onbekende tijden in beide richtingen achteraan. GebruikdueAtPresence: presentwanneer je alleen geplande datums wilt. Ga verder met de teruggegevenpageInfo.endCursor; begin opnieuw zonderafterwanneer filters, sortering of geselecteerde toegang veranderen, of wanneer een cursor wordt geweigerd. Een cursor die vóór de update van de sortering op publicatiedatum is opgeslagen, kan niet opnieuw worden gebruikt voor een sortering metdueAtoplopend.Afbeeldingen, video en documenten
Voeg JPEG-, PNG- of WebP-afbeeldingen toe binnen de limiet van elke bestemming, of één MP4/MOV-video. Standaardberichten ondersteunen maximaal 10 afbeeldingen op Facebook, Instagram, Tumblr en WordPress; 20 op LinkedIn en Threads; 35 op TikTok; 4 op Bluesky, Mastodon en Google Business Profile; en 1 op Pinterest. YouTube vereist video. Tumblr ondersteunt één H.264 MP4/MOV-video van maximaal tien minuten, binnen dezelfde importlimiet van 50 MB. Een gedeeld bericht moet aan de eisen van alle geselecteerde bestemmingen voldoen. Groepen met meerdere berichten en threads behouden een totaal van acht bijlagen per verzoek. Afbeeldingen kunnen een afzonderlijke beschermde
thumbnailUrlbevatten voor hun SocialBlaze-voorbeeld; dit vervangt niet de afbeelding die naar een netwerk wordt verstuurd. Afbeeldingen accepteren ook een afzonderlijke beschermdeanimatedThumbnail: een openbare GIF- of WebP-preview tot 1 MiB. Statische en geanimeerde previews gebruiken elk hun eigen importquota en behouden aparte URL's. De oorspronkelijke afbeelding moet aan de bestemmingsregels voldoen. Bestandslezingen tonen beide URL's;isAnimatedblijft null totdat animatie is gemeten; een voorbeeld-URL bewijst dus niet dat de oorspronkelijke afbeelding geanimeerd is. LinkedIn accepteert ook één PDF met een titel en een optionele HTTPS-thumbnailUrl voor het SocialBlaze-voorbeeld. Voorbeeldafbeeldingen zijn gevalideerde JPEG-, PNG- of WebP-bestanden van maximaal 1 MB; LinkedIn rendert eigen documentpagina's. Afbeeldingen zijn beperkt tot 8 MB per stuk, video's tot 50 MB en PDF's tot 20 MB. Kanaalspecifieke validatie blijft gelden; vraagconfigurationenchannel.capabilities.Opgeslagen PDF-bestanden bieden nullable
numPages(gemeten paginatal) enfilesize(bytes uit de gevalideerde import). Bij oudere bestanden of een onbekend paginatal blijft de waardenull, nooit een verzonnen nul; een gemeten bestandsgrootte kan beschikbaar zijn als het paginatal onbekend is. De waarden beschrijven de opgeslagen geïmporteerde PDF, niet een door de provider gerenderde kopie. Lezen downloadt het bestand niet opnieuw en vult oudere bestanden niet aan. De MCP-toolsget_postenlist_postsbevatten de velden. Gebruik voor de onveranderlijke Node 0.1.14-client een expliciete GraphQL-selectie wanneer je deze nieuwere velden nodig hebt.Een bericht met media en zonder bijschrift inplannen
Voor een ondersteunde bestemming:
createPosten benoemdecreate_postaccepterentext: ""met geldige afbeeldingen of één video. Lege tekst zonder media wordt geweigerd. Vereiste titels, netwerkspecifieke keuzes en medialimieten blijven gelden; een conceptvoorbeeld met alleen tekst demonstreert deze procedure niet. In een interactieve publicatieverbinding kan de voorbereide kaart ook een leeg bijschrift met media behouden: controleer de geselecteerde accounts en content voordat je Inplannen of Plaatsen kiest.Bewerken en tegelijk een beoordeling aanvragen
Gebruik voor een eenvoudig concept van de integratie voor één kanaal dat goedkeuring vereist
updatePostmetapprovalChange: requestofrevert. De MCP-tooledit_postondersteunt deze keuzes zonder tekst. Geef de nieuwste versie, een stabiele verzoeksleutel,drafts:writeenposts:review. Content en bijlagen veranderen atomair met het beoordelingsverzoek. Goedkeuring publiceert niets: dien daarna het ongewijzigde goedgekeurde concept expliciet in. Gewijzigde content moet opnieuw worden beoordeeld.Een toekomstige publicatiemethode wijzigen
Gebruik
updatePost(publishingMethod: automatic)ofreminder, of de tooledit_post, om één veilig wijzigbaar toekomstig bericht om te zetten met behoud van ID. Geef de huidige versie en een stabiele aanvraagsleutel mee. Dit vereist rechten voor concepten én publicatie. Automatische berichten moeten één toekomstige planning hebben; herinneringen moeten in de wachtrij staan en nog niet verstuurd zijn. Berichten met publicatiepogingen, beoordelingsvereisten of threadlidmaatschap kunnen niet worden omgezet. Een herinnering vereist een actief aangemeld mobiel apparaat met meldingen. De omzetting controleert bestemming, abonnement, media en toegang opnieuw; ze bevestigt geen aflevering op het netwerk.De bron van de berichteditor bijhouden
createDraft,createPost,createThreaden elk onderdeel vancreateContentItemVariantsaccepteren nullablesource, een door de aanroeper opgegeven trackinglabel van maximaal 250 tekens. De bijbehorende MCP-aanmaaktools ondersteunen dit, ook voor berichten ter beoordeling. Een thread deelt het label tussen alle onderdelen; varianten kunnen aparte labels hebben. Lees het viapost.provenance.composerSourceencomposerSourceBasis; de toolget_posten NodegetPostbevatten herkomstinformatie. Gewone lijstopvragingen bevatten die ook; lijsten met opgeslagen statistieken laten herkomst en metadata van geanimeerde voorbeelden weg om binnen hetzelfde querybudget te blijven. Lees afzonderlijke berichten om beide samen op te halen. Weglaten of null bij het aanmaken laat het label onbekend. Concepten en toekomstige berichten accepteren het ook bij bewerking: weglaten behoudt het label en null wist het. Dit label verandert het geregistreerde aanmaaktransport niet, verleent geen rechten en bewijst geen AI-auteurschap.AI-ondersteuning vermelden
Bewerkingen van concepten en toekomstige berichten accepteren nullable
aiAssisted, waaronder de MCP-tooledit_post. False blijft false, null wist de verklaring en weglaten behoudt deze. Dit verandert het aanmaaktransport niet en stelt niet vast wie de tekst schreef. Gebruik de nieuwste versie en dezelfde sleutel voor een ongewijzigde herhaling.Regels per formaat
Lees
configuration.services.contentRulesofchannel.capabilities.contentRulesvoor elk automatisch berichtformaat en bijlagetype. Regels omvatten het tellen van bijschriften en titels, aantallen bijlagen, toegestane bestandstypen en bytelimieten, vereiste kanaalkeuzes en ondersteuning voor eerste reacties. Deze catalogus beschrijft SocialBlaze-validatie. Je abonnement, huidige rechten, afmetingen en providercontroles blijven gelden; de catalogus bevestigt geen publicatie. Reels vereisen één video; automatische Stories vereisen één afbeelding of video.Kanaalmetadata en vermeldingen
Lees de aantallen werkruimteleden en native abonnementslimieten via
account.organizations. Kanalen bevatten bestemmings-ID's van providers, veilige profiel-URL's, netwerkpictogrammen en publicatiemogelijkheden. Verdeel grote selecties in pagina's metchannels(first, afterId); MCPlist_channelsgeeft pagineringsmetadata terug.Bestanden bij berichten en in de bibliotheek geven de volgende opgeslagen waarden terug:
mimeType,widthenheightwanneer bekend; onbekende waarden blijven null. Je hoeft geen media te downloaden om ze te lezen. Gestructureerde Facebook-pagina- en LinkedIn-vermeldingen gebruikenchannelOptions.mentionsmet start- en lengte-offsets in Unicode-codepunten en een overeenkomend label. Leespost.annotationsvoor gevalideerde vermeldingen en letterlijke links. Ongeldige of overlappende bereiken worden geweigerd; gewijzigde bijschriften moeten bijgewerkte vermeldingsposities bevatten.Geregistreerde herkomst en accountstatus
Lees
post.provenancevoor geregistreerd aanmaaktransport en optionele, door de aanroeper opgegeven AI-ondersteuning. StelaiAssistedexpliciet in wanneer bekend; onbekend blijft null. Een verzoek via een AI-client bewijst niet dat AI het bijschrift schreef. De videovermelding van de provider gebruikt een afzonderlijke kanaalinstelling.account.preferencesgeeft je opgeslagen codes voor kalender- en tijdweergave terug wanneer die bekend zijn. Kanaalopvragingen onderscheidenqueuePaused,workspacePublishingPausedencredentialsExpired; publicatie pauzeren betekent niet automatisch dat de providercredential is verlopen.Tekst tellen per netwerk
Bluesky gebruikt compacte zichtbare URL-labels en bewaart de volledige bestemmingen in linkfacetten met UTF-8-byte-indexen. Opgeslagen bijschriften behouden hun oorspronkelijke URL's. Mastodon gebruikt de geconfigureerde instantiemetadata en officiële regels voor grafemen, gereserveerde URL-lengtes en externe vermeldingen; inhoudswaarschuwingen tellen letterlijk mee. Lees
textLimitsBasis,textLimitsMetadataAvailableencharactersReservedPerUrlin de publicatiecapaciteiten om huidige instantiemetadata te onderscheiden van de conservatieve terugvalwaarde. Metadata-opvragingen zijn begrensd en gecachet.TikTok-foto's, video en publicatie
Fotobijschriften staan 4.000 UTF-16-eenheden toe met een optionele titel van maximaal 90 eenheden. Videobijschriften staan 2.200 eenheden toe. Stel
channelOptions.isAiGeneratedexpliciet in voor videovermelding; true wordt voor foto's geweigerd. Toekomstige bewerkingen van videometadata behouden een expliciete false. LeestiktokPostingChoices(channelId)of MCPget_tiktok_posting_choicesvoor de daadwerkelijke privacykeuzes, interactiebeperkingen en videoduur van de geselecteerde maker. Deze leesacties kunnen een cache van maximaal 60 seconden oud gebruiken; bij publicatie worden ze opnieuw gevalideerd. Kies de doelgroep en toestemming expliciet. Een teruggegeven publicatie-ID bevestigt acceptatie: ontwikkelaarsberichten blijven in verwerking totdat een geverifieerde providercallback of begrensde providerstatusopvraag de publicatie van dezelfde oorspronkelijke poging bevestigt. Statusverificatie dient geen nieuwe publicatie in. Een openbare bericht-URL kan onbekend blijven.Vermeldingen in Instagram-afbeeldingen
Gebruik
images[].userTagsmet een openbarehandlezonder @ en numeriekx/yals posities van 0 tot 1. Gebruik maximaal twintig unieke gebruikersnamen per afbeelding. Feedafbeeldingen en carrouselonderdelen ondersteunen gepositioneerde vermeldingen; bovenliggende carrousels en automatische Stories niet. Verwijder gepositioneerde vermeldingen voordat je een automatische Story inplant. Deze velden zijn uitsluitend voor Instagram; ongeldige of dubbele gebruikersnamen en coördinaten worden geweigerd. Bibliotheeksjablonen behouden afbeeldingsvermeldingen bij hergebruik. Het zijn geen interne contenttags.Herinneringen voor handmatige publicatie
Gebruik
publishingMethod: remindervoor je geselecteerde kanalen. Elk kanaal krijgt een eigen herinnering. Schakel eerst meldingen in de SocialBlaze-telefoonapp in terwijl je bent aangemeld. De herinnering bewaart een voorbereid concept en opent de content wanneer het tijd is; ze publiceert nooit automatisch. Een expliciete datum, het volgende handmatige wachtrijtijdvak en prioriteit worden ondersteund.changeReminderplant deze opnieuw in of annuleert deze, of registreert je eigen publicatiebevestiging. Voor Instagram-herinneringen:stickerFieldskunnen muziek, producten, tekst, onderwerpen en andere afwerkingsinstructies bevatten, elk maximaal 2.000 tekens. Het herinneringsscherm waarin je bent aangemeld toont en kopieert ze. Voeg deze details zelf toe in Instagram; automatisch publiceren weigert ingevulde afwerkingsvelden. Een verstuurde melding of handmatige bevestiging is geen publicatiebewijs van het netwerk. Een verzoek voor meerdere kanalen deelt geïmporteerde media en slaat de hele groep op of niets. Het verwijderen van het contentitem annuleert alle openstaande herinneringen. Stel voor teambeoordeling ook requestApproval: true in met posts:review en expliciete toestemming voor posts:publish. De herinnering wacht op native goedkeuring, blijft beschermd tegen automatische publicatie en wordt geannuleerd als de beoordeling wordt ingetrokken of de goedkeuring veroudert.YouTube-video-instellingen
Kies
privacyenmadeForKidsexpliciet. Vraagconfiguration.youtubeCategoriesvoor providercategorie-ID's en stelcategoryIdin wanneer nodig. Optioneleembeddable,license(youtube of creativeCommon),notifySubscribersenisAiGeneratedbereiken de native YouTube-upload. Expliciete false-waarden blijven behouden. Je kunt deze instellingen op een toekomstig bericht bewerken viaupdatePost.channelOptionszonder de video te vervangen. AI-vermelding verwijst naar realistisch gewijzigde of synthetische content; volg de vermeldingsvereisten van YouTube.Videocovers
Stel voor één Instagram-, TikTok- of Pinterest-video
thumbnailOffsetin de kanaalopties in op de offset van het coverframe in milliseconden. Deze moet binnen de duur van de geïmporteerde video liggen. Voor een veilig toekomstig bericht:updatePostkan de cover van een bestaande import van de tenant wijzigen of in hetzelfde verzoek de video vervangen en de cover kiezen. Bestaande native berichten kunnen deze bewerking gebruiken wanneer hun media een ondersteunde import van de tenant zijn; willekeurige externe video-URL's komen niet in aanmerking voor een bewerking van alleen de cover. Weggelaten media en planning behouden het opgeslagen bestand en tijdstip. Hergebruik dezelfde verzoeksleutel na een onzekere respons. Pinterest ontvangt de frame-offset in hele seconden en accepteert één geïmporteerde MP4/MOV-video van maximaal 50 MB; de video wordt geüpload en verwerkt voordat de Pin wordt gemaakt. Instagram Reels accepteren ookshareToFeed, ook een expliciete false. Andere kanalen en Instagram Stories weigeren deze opties.Bewerkingen van toekomstige berichten vereisen de huidige berichtversie en een publicatiemoment dat meer dan twee minuten in de toekomst ligt. Berichten die worden gepubliceerd of al zijn gepubliceerd, kunnen niet worden gewijzigd. Een wijziging van het delen van een Reel in de feed behoudt de video en cover wanneer die velden worden weggelaten. Bewerk voor Pinterest
channelOptions.destinationUrlom de bestemmingslink te wijzigen; een expliciete null wist de opgeslagen link. Berichtopvragingen geven die waarde terug indestinationUrlen de kanaalopties. Deze bewerkingen publiceren niet onmiddellijk.Linkkaarten
Geef voor standaardberichten op Facebook, LinkedIn, Bluesky of Threads zonder andere bijlagen
linkUrlop in de kanaalopties. LinkedIn en Bluesky accepteren ooklinkTitleenlinkDescription. Facebook en Threads gebruiken de preview van de bestemmingswebsite. LinkedIn en Bluesky accepteren ooklinkThumbnailUrlmet de link-URL: een directe openbare JPEG, PNG of WebP van maximaal 1.000.000 bytes, met acht verschillende voorbeelden per verzoek. Het bestand wordt via een beschermde import ingelezen en naar de provider geüpload; een mislukte upload stopt vóór publicatie. Sla een nieuw voorbeeld eerst in het concept op voordat je het indient. Null wist een opgeslagen voorbeeld. HTTPS-links mogen geen inloggegevens bevatten. Er vindt geen scraping aan de serverkant plaats. Bewerk toekomstige kaarten metupdatePost.channelOptions; een expliciete null voorlinkUrlwist de linkkaart en de titel en beschrijving ervan. Wissen en media vervangen in hetzelfde verzoek gebeurt atomair. Conceptopties voegen expliciet gewijzigde velden samen; een lege lijst zet elke keuze terug.Locaties en Threads-onderwerpen
Instagram-feedberichten, Reels en Threads-berichten accepteren de numerieke providerwaarde
locationIden optionelelocationName. Onderdelen van Instagramcarrousels krijgen de tag niet. Automatische Instagram Stories weigeren deze optie. Threads accepteert ook eentopicvan maximaal 50 UTF-16-eenheden, zonder ampersand of punt. Weggelaten keuzes blijven behouden bij toekomstige bewerkingen; null wist ze.Inhoudswaarschuwingen en AI-vermelding
Mastodon accepteert
spoilerText; de waarschuwing telt letterlijk mee en deelt het ingestelde tekenbudget met het voorbereide bijschrift. Regels voor instantie-URL's en externe vermeldingen gelden voor het bijschrift, niet voor de waarschuwing. Null wist een opgeslagen waarschuwing. Instagram-, YouTube- en TikTokvideo's accepterenisAiGenerated. Instagram verstuurt dit alleen op de bovenliggende mediacontainer. Niet-ondersteunde netwerkopties worden geweigerd voordat berichten worden opgeslagen.Eerste reacties
Eerste reacties hebben afzonderlijke UTF-16-limieten: Facebook 5.000, Instagram 2.200, LinkedIn 1.250 en Threads 500. Lees
maxFirstCommentLengthenfirstCommentLengthUnituit de kanaalcapaciteit. Emoji kunnen als twee eenheden tellen. Niet-ondersteunde bestemmingen en Stories weigeren reacties; tekst wordt nooit stilzwijgend ingekort. Bestaande abonnementsrechten blijven gelden.Limieten voor bijschriften
De meeste ontwikkelaarsbijschriften gebruiken UTF-16-eenheden, waarbij veel emoji als twee tellen. LinkedIn-HTTP(S)-URL's tellen als 24 eenheden; logische regeleinden op Instagram tellen als twee. Facebook-bijschriften staan 5.000 toe, Instagram 2.196; Pinterest- en YouTube-titels staan 100 toe. Google Business behoudt de native limiet van 1.500. Mastodon gebruikt begrensde instantiemetadata met een geconfigureerde conservatieve terugvalwaarde; lees de capaciteitsvelden voor de huidige basis en beschikbaarheid van metadata. Bluesky telt grafemen na het inkorten van zichtbare linklabels, terwijl volledige URL-bestemmingen in linkfacetten behouden blijven. Oorspronkelijke opgeslagen bijschriften blijven ongewijzigd. Lees de kanaalcapaciteiten voor de huidige limiet en teleenheid.
Google Business-berichten
Gebruik
channelOptions.businessPostvoor standaardupdates, evenementen en aanbiedingen. Evenementen en aanbiedingen hebben een titel en lokale begin- en einddatums nodig. Optionele gekoppelde tijden gebruikenHH:mm; beide weglaten omvat de hele lokale dag. Publicatieplanning in UTC blijft apart. Standaardupdates en evenementen ondersteunen actieknoppen; aanbiedingen gebruiken coupon, inwissellink en voorwaarden. Belknoppen gebruiken het bedrijfstelefoonnummer zonder actie-URL. Andere knoppen vereisen HTTPS. Deze opties vereisen automatische publicatie, behouden bestaande samenvattings- en afbeeldingslimieten en bevestigen nooit aflevering door de provider.Instagram-audio
Blader of zoek via de audiocatalogusquery's naar gelicentieerde muziek en originele geluiden. Facebook Login is vereist. Geef voor een Reel met één video een audio-ID en optionele volumeniveaus op in de kanaalopties. Voorbeelden verlopen; fouten rond toestemming en gedeeltelijke resultaten worden expliciet vermeld. Opgeslagen conceptopties blijven behouden bij latere indiening.
Geordende threads
Bluesky, Mastodon en Threads ondersteunen 2–25 onderdelen. Antwoorden wachten op bevestigde publicatie van het bovenliggende bericht. Bij het verplaatsen of annuleren van het eerste bericht blijven de veilig verplaatsbare toekomstige antwoorden bij elkaar. Onderdelen voor Bluesky en Threads accepteren ook linkUrl; Bluesky accepteert linkTitle, linkDescription en een beschermde linkThumbnailUrl. Linkkaarten kunnen niet met andere media worden gecombineerd; Threads gebruikt het websitevoorbeeld van de bestemming. Mastodon weigert linkkaarten. Threads ondersteunen acht bijlagen per verzoek en maximaal 100 bestemmingsberichten.
Bijlagen in een toekomstige thread bewerken
Gebruik
updateContentItem.threadEntriesof benoemdeedit_content_itemom bijlagen en linkkeuzes voor de volledige bestaande thread te vervangen of te wissen. Geef elk onderdeel op volgorde op, met het bijschrift, de huidige groepsversie en een stabiele verzoeksleutel. Weggelaten bijlagen blijven ongewijzigd;images: []ofclearMedia: trueverwijdert ze. Gedeelde uploads worden per onderdeel één keer geïmporteerd voor alle kanalen. Voor geen enkele bestemming mag een publicatiepoging zijn gedaan; ze moeten ongepubliceerd zijn en meer dan twee minuten in de toekomst liggen. De hele bewerking wordt atomair opgeslagen. Houd hetzelfde aantal onderdelen en bewerk de planning afzonderlijk; het wijzigen van de groepsomvang en gecombineerde media- en planningsbewerkingen worden niet ondersteund.Filters voor contentgroepen
Filter
contentItemsopdraftContentofpostContent, en sorteer op createdAt en updatedAt. Zoeken is standaard beperkt tot je integratie. Een explicietediscovery: workspacevereist afzonderlijk goedgekeurdecontent:readplusposts:read; bestaande credentials krijgen dit niet automatisch. Ook groepen binnen je native werkruimterechten en kanaalselectie worden gelezen. Groepen met een ontoegankelijke bestemming zijn uitgesloten, inclusief gedeelde tekst en media. ControleermanagedByCurrentIntegration; groepswijzigingen tussen integraties blijven geblokkeerd, terwijl afzonderlijke berichtwijzigingen eigen autorisatiecontroles behouden. Cursors zijn gekoppeld aan zoeken, filters, volgorde en kanaaltoegang: begin opnieuw als die veranderen. SDK0.1.14 biedtcontentItems(options)encontentItem(id, options)leeshulpmiddelen.Teambeoordeling
Gebruik
posts:reviewenrequestApproval: trueom berichten te maken waarvan publicatie is opgeschort.requestPostApprovalstuurt een bestaand ongepubliceerd bericht ter beoordeling.withdrawPostApprovalzet het alleen terug naar een concept als je native goedkeuringsrechten dat toestaan. Beoordelingsrechten verlenen nooit automatisch publicatierechten.Pas elke bestemming aan.
Gebruik
createContentItemVariantswanneer elk kanaal een ander bijschrift, een andere titel, bijlage, native optie of planning nodig heeft. Geef verschillende geselecteerde kanaal-ID's op inposts. De groep ondersteunt maximaal 25 bestemmingen en acht bijlagen samen, binnen bestaande media- en publicatielimieten. Identieke media delen één beveiligde import.Validatie en opslag zijn atomair: één mislukte variant slaat geen gedeeltelijke campagne op. Elk onderdeel gebruikt standaard de wachtrij of de opgegeven planning. Gebruik
mode: publishNowalleen voor een bewust onmiddellijke indiening. StelrequestApproval: truevoor opgeschorte teambeoordeling. Acceptatie is nog steeds geen bevestigde publicatie.Lees
contentItem.hasChannelVariantsen de groepsversie, en lees vervolgens afzonderlijke bericht-ID's voor alle details. Bewerk een afzonderlijk bericht om verschillende bijschriften te behouden. Een tekst- of mediabewerking van een groep past bewust dezelfde wijziging toe op elke veilige toekomstige bestemming. Groepsversies en afzonderlijke versies verschillen.Een bestaand concept omzetten
Lees een niet-ingediend concept zonder kanaal dat eigendom is van de integratie, samen met de huidige groepsversie. Gebruik
promoteContentItemDraftmet een niet-lege lijstpostsom hetzelfde contentitem om te zetten in afzonderlijke kanaalberichten. Elk onderdeel geeft een eigen kanaal-ID, expliciete tekst en optionele media, native keuzes en planning op. Het bronbijschrift en de bijlagen blijven opgeslagen; weggelaten media van onderdelen nemen die niet over.Gebruik de vorm per kanaal:
postsof de bestaande gedeelde vorm:channelIds. Combineer ze niet en meng keuzes per onderdeel niet met planningsopties op het hoogste niveau. Een mislukte bestemming slaat geen gedeeltelijke omzetting op. Hergebruik dezelfde verzoeksleutel bij een ongewijzigde herhaling; een ingediend concept kan niet opnieuw worden omgezet met een nieuwe sleutel. Een beoordeling aanvragen vereistdrafts:writeenposts:review; automatisch indienen vereistposts:publish. Native teamgoedkeuringsregels blijven gelden. Onderdelen gebruikenContentVariantInput. Elk onderdeel accepteert een nullableaiAssisted: false blijft false, null of weglaten laat hulp onbekend en gewijzigde tekst erft nooit de verklaring van het oorspronkelijke concept. Elke bestemming kan concept blijven, automatisch publiceren of een handmatige herinnering gebruiken. BehoudcontentItemIdom de volledige groep op te ruimen.Automatisch URL's verkorten per workflow
Verkorten gebeurt vóór het definitief opslaan met de geconfigureerde connectors van de auteur. Instellingen worden nooit stilzwijgend uitgeschakeld. Ondersteuning hangt af van de workflow, bijlage en native kanaalkeuzes; niet-ondersteunde combinaties geven een fout met een concrete vervolgstap.
Het basistekstprofiel omvat Facebook, Bluesky, LinkedIn, Threads, Tumblr, Google Business Profile, Mastodon en WordPress. Afbeeldingsprofielen binnen native limieten omvatten ook Instagram en Pinterest; videoprofielen omvatten native ondersteunde YouTube- en TikTok-opties en andere gevalideerde services. Uniforme ingeplande omzetting en bestaande opgeslagen of native overgangen hebben afzonderlijke gevalideerde keuzecatalogi; de bovenstaande regels voor gemengde groepen staan geen willekeurige opties toe. Expliciet opgeslagen privacy en toestemming en actuele native validatie blijven vereist. Opslaan activeert werk nooit, en beoordeling verleent nooit publicatierechten. Lees
allowedActionsen huidige versies; trek een lopende beoordeling vóór verwijdering in wanneer die actie beschikbaar is. Acceptatie van de voorbereiding en verkorten bevestigen geen publicatie op het netwerk.Een bestemming opslaan vóór het inplannen
Gebruik
saveToDraft: trueop een onderdeel om een kanaalgebonden concept op te slaan. Dit vereistdrafts:write, zonder publicatierecht of nieuwe publicatieaanmelding. Alleen opslaan maakt geen planning of telefoonherinnering. Modus en datum van een opgeslagen onderdeel plannen niets en zijn geen herbruikbare instructies; kies later bij expliciet plannen een nieuwe modus en datum. Null is niet toegestaan voorsaveToDraft.Lees de bestemmings-ID en de nieuwste versie en gebruik vervolgens
armDestinationDraftof benoemdearm_destination_draftom datzelfde bericht in te plannen. De benoemde tool noemt de IDpostId. KiespublishNow,schedulemetdueAt,addToQueueofprioritize. Zonder modus kiest een opgegeven datum voor plannen; anders wordt de wachtrij gebruikt. Automatische publicatie controleert opnieuw de huidige rechten, kanaaltoegang, media, goedkeuringen en aanmeldstatus.Een toekomstige bestemming terugzetten naar concept
Voor een door de eigenaar beheerde automatische bestemming waarvan de publicatie nog niet is begonnen:
updatePost(saveToDraft: true)kan dezelfde bestemmings-ID, brongroep en bijlagen behouden en tegelijk de ene toekomstige planning deactiveren. Geef de huidige versie en een stabiele verzoeksleutel op, met zowel publicatie- als conceptrechten. Het publicatiemoment moet meer dan twee minuten in de toekomst liggen. Zet het eerst terug en bewerk daarna het huidige concept afzonderlijk; beoordelingen, herinneringen, threads en begonnen publicatiepogingen behouden hun eigen procedures. Activeer het concept expliciet opnieuw wanneer het klaar is.Een opgeslagen concept beoordelen
Combineer op een kanaal dat goedkeuring vereist
saveToDraft: truemetrequestApproval: true. Dit vereist concept- en beoordelingsrechten. Na goedkeuring blijft publicatie uitgeschakeld: plan daarna expliciet de ongewijzigde goedgekeurde versie. Wijzigingen vereisen nieuwe goedkeuring. Een beoordelingsverzoek tijdens expliciet plannen van een automatisch bericht schort de planning juist op tot goedkeuring.Handmatig publiceren expliciet houden
Gebruik voor een onderdeel
publishingMethod: reminderwanneer iemand het publiceren op de telefoon afrondt. Een opgeslagen concept behoudt die keuze zonder een apparaat te vereisen. Wanneer je het later inplant, behoudt een weggelaten publicatiemethode de opgeslagen keuze; een expliciete methode selecteert die methode opnieuw. Null wordt niet geaccepteerd. Een herinnering inplannen vereist concept- en publicatierechten, een actief aangemeld apparaat voor meldingen en eventuele vereiste goedkeuring.publishNowzet een herinnering voor nu in de wachtrij; dit publiceert niet automatisch op het netwerk.Lees
isDraft,publishingMethodenmanualReminder.statesamen. Een onderdeel met een lopende opgeslagen beoordeling is nog steeds een concept, en een opgeslagen herinneringskeuze heeft nog geen actieve herinnering.providerDeliveryConfirmed: falseis geen bewijs van publicatie op het netwerk. Gemengde groepen kunnen opgeslagen, ingeplande en herinneringsonderdelen bevatten; de acties per bericht blijven afzonderlijk. Gebruikedit_postmetdraft: trueom een veilige opgeslagen bestemming te bewerken, en de canoniekedeleteContentItemofdelete_content_itemom de volledige groep op te ruimen. Trek eerst een lopende beoordeling in. Een geclaimde of onzekere publicatie vereist reconciliatie in plaats van blind verwijderen.Benoemde tools voor AI-clients
get_publishing_configurationenget_channeltonen de daadwerkelijke media- en toestemmingsvereisten. Gebruiklist_content_items,get_content_item,create_content_item_draft,promote_content_item_draftencreate_content_item_variantszonder GraphQL te schrijven. Tools voor bewerken, verwijderen en koppelen behouden dezelfde controles op rechten, versies en herhaalde pogingen.Hergebruik je opgeslagen content.
Bekijk, maak en bewerk de sjablonen in je eigen SocialBlaze-contentbibliotheek. Hergebruik tekst-, afbeeldings-, video- en PDF-sjablonen in concepten. Bewerken vereist de huidige versie. Het verwijderen van een sjabloon behoudt gedeelde geüploade bestanden.
Gebruik
createDraftFromLibraryItemmet de ID, versie, verzoeksleutel en geselecteerde kanalen. Bibliotheektoegang volgt je huidige abonnement en teamrechten.Sjablonen accepteren een optionele beschrijving (maximaal 1.000 tekens), emoji (maximaal 32 tekens) en zichtbaarheid:
internalvoor je werkruimte ofprivatevoor hun maker. Bestaande sjablonen en weggelaten zichtbaarheid blijven intern. Alleen de maker kan een gedeeld sjabloon privé maken; privésjablonen zijn verborgen voor andere leden in de API, native bibliotheek en mobiele leesacties. FilterlibraryItems(visibility: private)ofinternal. Er is geen openbare samengestelde sjablooncatalogus. Null wist omschrijving of emoji; weggelaten velden blijven bij wijzigingen behouden. Native wijzigingen bewaren deze keuzes.Maak het rapport dat je nodig hebt.
Expliciete TikTok-provideropvragingen sommen alleen openbare video's op.
enumerationCompletebeschrijft het doorlopen van die bron;completeblijft false omdat foto's en privévideo's uitgesloten zijn. Leesbasisennoteop rapporten, aggregatiereferenties en rangschikkingsdekking voordat je totalen of lege resultaten interpreteert.Gewone kanaalrapporten, statistieken van afzonderlijke berichten, rangschikkingen en geaggregeerde opvragingen gebruiken uitsluitend bestaande SocialBlaze-websitegegevens en opgeslagen momentopnamen. Een leesactie neemt geen contact op met een provider, zet geen gegevensverzameling in de wachtrij en vernieuwt geen ontbrekende gegevens. Beschikbare statistieken verschillen per netwerk; onbeschikbare waarden blijven onbekend, nooit nul.
Lees
readMode,storedAnalyticsen beschikbare opgeslagen datumbereiken wanneer geen genormaliseerd rapport beschikbaar is. Native secties behouden hun oorspronkelijke labels en meetbasis. Een tijdstempel van een rij-update bewijst niet dat elke statistiek toen is verzameld. Ontbrekende gegevens blijven onbeschikbaar; alleen het verlopen van een publicatietoken verhindert geen toegestane historische leesactie. Datumbereiken blijven beperkt tot de beschikbare accountgeschiedenis. Controleercomplete, voor elke metriek destatusen de bijbehorendebasisvoordat je totalen interpreteert. Elk kanaalrapport en elke aggregatiereferentie vermeldt de netwerkservice. GeaggregeerdemetricsUpdatedAtis de nieuwste bekende bijdragende tijdstempel;oldestMetricsUpdatedAtgeeft het oudste bijdragende tijdstip en blijft null wanneer de actualiteit van een beschikbare bron onbekend is.Optionele LinkedIn-videostatistieken bevatten unieke waarden per bericht voor
viewersentotalTimeWatchedin minuten. Unieke kijkers worden nooit over berichten heen opgeteld. Instagramfollowsis een toegeschreven aantal voor geschikte feedberichten en Stories, niet voor Reels of netto volgersgroei. Deze waarden hangen af van providertoegang en beschikbaarheid; onbeschikbare waarden blijven null. Er wordt geen eenheid voor Instagram-kijktijd afgeleid.Het doorlopen van LinkedIn-rapporten is begrensd. Als de lezer de paginalimiet bereikt of niet veilig verder kan, kunnen bruikbare waargenomen rijen met gedeeltelijke dekking worden teruggegeven. Hun totalen beschrijven alleen die waargenomen subset, nooit alle berichten van het account. Lees de rapportnotitie en opsommingsstatus voordat je kanalen vergelijkt.
Prestatieregels kunnen de volgende waarden tonen:
publicationDateenpublicationTimeBasisafzonderlijk vanpublishedAt. Een historische native kalenderdag met onbekende tijdzone behoudtpublishedAt: null; verzin geen publicatietijd om middernacht UTC. Houd netwerkberichten gescheiden, ook als ze naar hetzelfde artikel linken.De opgeslagen analysesecties van de website lezen
Gebruik
storedChannelAnalyticsof benoemde MCPget_stored_channel_analyticsmetanalytics:read, een toegestaan kanaal en exacte begin- en einddatums. Elke sectie vermeldt bron, beschikbaarheid en datumbasis.availableRangestoont opgeslagen bereiken; het vervangt de gevraagde datums niet door een daarvan. Een onbeschikbare of te grote ruwe sectie bewijst niet dat er geen berichten zijn; controleer de foutcode en de gepagineerdechannelReportweergave.Voor TikTok, Pinterest, Tumblr en WordPress kan de sectie
reporteen al opgeslagen expliciete gegevensverzameling tonen, met het labelsaved_developer_report. Dit zijn opgeslagen rapportgegevens, geen bewijs van verzameling door de native website. Geen passend opgeslagen rapport betekent niet beschikbaar; de leesactie verzamelt niets. Een rapport kan klaar zijn terwijlcompleteofenumerationCompleteis false. Behoud gedeeltelijke dekking en onbeschikbare statistieken wanneer je resultaten rapporteert.Houd bij genormaliseerde rapportpaginering de teruggegeven rapport-ID, het kanaal en de datums bij elkaar en geef
posts.pageInfo.endCursorals de volgendeafter. Begin zonder cursor als je van snapshot wisselt. Een opgeslagen berichtmetriek en een onvolledig kanaalrapport kunnen andere dekking hebben; vermeld de eigen status en basis van elk resultaat.Alleen op verzoek nieuwe providergegevens ophalen
Gebruik de expliciete
refreshChannelReportmutatie of benoemde MCPrefresh_channel_reportalleen nadat de gebruiker vraagt om nieuwe providergegevens op te halen. Verzamelen kan actuele analyserechten bij de provider vereisen en verbruikt het afzonderlijke verversingsbudget. De status kan queued zijn; poll dezelfde teruggegeven rapport-ID en datums metchannelReport. Gewone leesacties melden niet aan, verbinden geen accounts opnieuw en starten deze bewerking niet automatisch.Opgeslagen statistieken meenemen bij het lezen van berichten
Gebruik
includeMetrics: trueoppostofposts, of de MCP-toolget_postenlist_posts. Geef meemetricSnapshotsmet een kanaal-ID, rapport-ID en overeenkomende begin- en einddatums voor elk kanaal. Beideposts:readenanalytics:readzijn vereist. Dit leest uitsluitend bestaande momentopnamen; het neemt nooit contact op met een netwerk en start geen rapportverzameling. LeesmetricsState,metricsErrorCode, de status en basis van elke metriek enmetricsUpdatedAt. Ontbrekende of niet-beschikbare metrieken blijven null. Opgeslagen historie kan verouderd zijn; behoud de bijbehorende indicatoren voor ouderdom en actualiteit. Presenteer de gegevens niet als nieuw verzameld. Laat de optie weg bij gewone berichtlezingen; normale selectie- en complexiteitslimieten gelden.Voor benoemde MCP
list_postsmetincludeMetrics: true, de volledige standaardselectie en één vastgezet snapshot, zonderfirstgeeft momenteel maximaal 18 rijen terug binnen de standaardcomplexiteitslimiet van 1.000 punten. Meer momentopnamen kunnen die standaard verlagen. Een explicietefirstwordt nooit stilzwijgend verlaagd: 19 volledige rijen met één momentopname overschrijden die limiet. Gewone berichtenlijsten gebruiken nog steeds standaard 20; minder velden selecteren kan grotere pagina's toelaten. VolgpageInfo.endCursorin plaats van aan te nemen dat één respons alle berichten bevat. Deze automatische paginacorrectie hoort bij de benoemde tool; een expliciete GraphQL-query moet een paginagrootte kiezen die bij de selectie past.Lokale publicatierecords tellen
publishingActivitytelt bewaarde automatische berichtrecords op hun oorspronkelijke aanmaakdatum in de gekozen tijdzone. Elke bestemming en elk threadonderdeel telt afzonderlijk. Geaggregeerde aantallen omvatten soft-deleted records, sluiten concepten en handmatige herinneringen uit en kunnen definitief verwijderde records of uitsluitend bij de provider beschikbare geschiedenis niet herstellen. Native concepten kunnen na indiening oudere aanmaakdatums behouden. Dit zijn geen exacte historische indienings- of publicatiedatums;currentlyDeliveredbeschrijft de huidige status binnen deze records. Houd de teruggegeven basis en notitie zichtbaar.recordedCommitEventstelt afzonderlijk bewaarde native pogingen op de geregistreerde datum van providerbevestiging, onafhankelijk van de oorspronkelijke aanmaakdatums. Een bewuste herpublicatie telt opnieuw. Acceptatie kan voorafgaan aan verwerking of publicatie, dus dit zijn geen publicatietotalen. HoudcommitEventBasis,commitEventCountUnit,commitEventNoteen de vlag met de waarde false:commitEventHistoryCompletezichtbaar.Bekende geregistreerde publicatietijden tellen
publishedActivitytelt bewaarde bestemmingsrecords die momenteel als gepubliceerd gelden en waarvan de geschikte native geregistreerde publicatietijd binnen het gevraagde kalenderbereik en de tijdzone valt. Dit gebruikt dezelfde tijdstempelregels als het nullable veldpost.publishedAt; aanmaak-, wijzigings-, plannings- en bevestigingsdatums vervangen die nooit. Elk bestemmings- of threadrecord telt apart, inclusief geaggregeerde logisch verwijderde records. BehoudrangeStartUtc,rangeEndUtcExclusive,basis,countUnitencomplete: false.unknownTimeExcludedtelt alle geselecteerde bewaarde gepubliceerde records met onbekende tijden, niet onbekende berichten die aan deze maand zijn toegewezen. Verwijderde, overschreven en uitsluitend bij de provider beschikbare geschiedenis valt buiten deze subset met bekende tijden.Gebruik benoemde MCP
get_published_activity, NodepublishedActivityof CLItools call get_published_activity. Dit leest lokale records zonder providerverzameling. De oorspronkelijke aanmaakcohortwaardepublishingActivityen op bevestiging gebaseerderecordedCommitEventsbehouden hun afzonderlijke betekenissen.Waargenomen prestaties rangschikken
rankedPostsvereist een expliciete statistiek en ofwellifetimeofperiod_totalals basis. Onbekende waarden en onverenigbare meetbases worden uitgesloten; nul blijft een echte score. Dekking per netwerk onderscheidt volledige, gedeeltelijke, ingeplande en onbeschikbare bronnen. Hergebruik rapport-ID's voor stabiele vergelijkingen. Elk resultaat vermeldt de eenheid van de statistiek; betrokkenheidspercentages gebruiken procentuele eenheden en behouden hun vergelijkingsbasis. Verschillende bekende percentageformules worden niet samen gerangschikt en percentages worden nooit opgeteld. Uniek LinkedIn-bereik wordt niet over berichten heen opgeteld. Facebook-vind-ik-leuk-reacties staan los van het totale aantal reacties wanneer de provider ze teruggeeft; ontbrekende waarden blijven null. Prestaties bewijzen niet dat de tekst het resultaat veroorzaakte.Benoemde MCP-tools zijn
get_publishing_activityenrank_posts. De SDK-methoden zijnpublishingActivityenrankPosts.Verbinden met OAuth.
Registreer een openbare PKCE-client of een vertrouwelijke serverapp in de console. Registreer exacte callback-URL's, kies rechten en geef de privacy-URL van je app op. Elke klant kiest zelf de kanalen en kan je app ontkoppelen.
/api/developer/oauth/authorizemet client-ID, geregistreerde redirect-URI, rechten, state, challenge,code_challenge_method=S256en de gevraagde resource./api/developer/oauth/token, inclusief de oorspronkelijke verifier en resource. Vertrouwelijke clients authenticeren zich ook met hun geheim.Resources zijn
OAuth-discoverymetadatahttps://backend.socialblaze.ai/api/developerof de bijbehorende/graphqlof/mcpendpoint. Bestaande AI-connectortokens gebruiken een afzonderlijke audience.Maak je account toegankelijk.
Gebruik een aangepaste externe MCP-verbinding in een compatibele assistent of ontwikkelaarsclient. Het endpoint is
https://backend.socialblaze.ai/api/developer/mcp. Gebruik OAuth als de client dat ondersteunt; daarvoor is geen ontwikkelaarssleutel nodig. Gebruik een beperkte sleutel alleen bij clients met veilige Bearer-authenticatie.De configuratiesyntaxis verschilt per client. Tools worden gefilterd op de verleende rechten. Beschikbare tools ondersteunen het lezen van accounts en kanalen, concepten, publiceren, threads, beoordelingen, sjablonen en rapporten. Schemaresources en generieke GraphQL-tools gebruiken dezelfde rechten en quota. Vermelding hier betekent niet dat een connector in een marketplace staat.
Deze voorbeelden gebruiken het ontwikkelaars-MCP-endpoint en de huidige toolcatalogus met beperkte rechten. Een interactieve SocialBlaze-publicatieverbinding kan andere tools en accountselecties bieden. Ontbreekt een benoemde tool, controleer dan welke verbinding en rechten je gebruikt; een publicatieverbinding betekent niet automatisch toegang tot rapporten.
Indelingen van generieke MCP-verzoeken en resultaten
Gebruik voor een geïnitialiseerde MCP-client het getoonde
{name, arguments}object voor detools/callparameters.execute_queryvereist een waarheidsgetrouwesummary(maximaal 500 tekens) enquery;execute_mutationvereistsummaryenmutation. Variabelen en bewerkingsnaam zijn optioneel. De accountquery vereistaccounts:read; een concept maken vereistdrafts:write.Resultaten van MCP-aanroepen kunnen een waarde instellen voor
isErroren biedenstructuredContent.errorof validatiedetails; een GraphQL-respons kan ook het volgende bevatten:errorsof een getypeerdeMutationError. Ruwe JSON-RPC bevat het toolresultaat onderresulten kan op het hoogste niveau het volgende bevatten:error. Controleer ook de inhoud van het antwoord: HTTP 200 alleen betekent geen succes.Een bestaand concept bewerken en vervolgens lezen
Lees eerst de huidige concept-ID en versie. Vervang de voorbeeldvelden door echte
get_postwaarden; verstuur de voorbeeldwaarden niet ongewijzigd. Het bewerken van een eigen concept gebruiktedit_postmetdraft: true, expliciete tekst, een stabiele aanvraagsleutel endrafts:write. Laat wegsaveToDraft,modeendueAtvoor deze conceptbewerking. Dit geeftpostIdenversion. De editor voor toekomstige berichten retourneert daarentegenid,versionendeleted. Selecteer alleen velden voor die bewerking; haal tekst en bestanden apart op metget_postmetposts:read.Media in een opgeslagen concept vervangen
Gebruik bij een concept van de integratie dat nog niet is ingediend of ingepland geen
draften gebruiksaveToDraft: true. Geef huidig ID en versie, een stabiele aanvraagsleutel,drafts:writeen vervangende media; gebruik geenmodeendueAt. Combineer nietdraft: truemetsaveToDraft: true. Deze berichteditorroute retourneertid,versionendeleted, nietpostId. Het LinkedIn-PDF-voorbeeld vervangt de bijlagen door één document. Vervang alle tijdelijke waarden, inclusief URL en titel, en behoud het bedoelde bijschrift. Lees het bericht opnieuw om bestanden en conceptstatus te bevestigen. Deze wijziging dient niet in, plant niet en publiceert niet.n8n
Voeg een MCP Client-stap toe, kies HTTP Streamable en gebruik
n8n MCP Client-documentatiehttps://backend.socialblaze.ai/api/developer/mcp. Kies Bearer Auth en bewaar de beperkte sleutel in een n8n-credential. Kies een tool en gebruik JSON voor geneste parameters. Begin metget_accountof een conceptmutatie; behoud dezelfde verzoeksleutel wanneer je een gebeurtenis opnieuw probeert.Zapier
Voeg in je appverbindingen MCP Client by Zapier toe. Voer het bovenstaande endpoint in en kies Streamable HTTP en OAuth. Meld je aan bij SocialBlaze, bekijk de gevraagde rechten en selecteer kanalen. Gebruik een alleen-lezen-tool voor rapporten of Run Tool voor een toegestane conceptactie. Schakel foutafhandeling in en controleer de teruggegeven gestructureerde gegevens voordat je een volgende stap start.
Sommige Zapier MCP Client-editors versturen arraytekst als tekenreeksen.
Zapier MCP Client instellenchannelIdsvereist een echte array. Als de editor die afvlakt, gebruikexecute_mutationmet één GraphQL-mutatietekenreeks die de volgende letterlijke inhoud bevat:channelIds: ["YOUR_CHANNEL_ID"]. Begin met een toekomstige planning, bewaar de sleutel en controleer fouten voordat je verdergaat.Deze gebruiken de generieke MCP-clients van de platforms. De beschikbaarheid van clientaccounts en providerkosten staan los van de SocialBlaze-API-limieten.
Automatisch publiceren vereist expliciete toestemming. Gebruik uitsluitend beoordelingsrechten als een assistent werk mag voorbereiden zonder het te publiceren.
Limieten waarmee je rekening kunt houden.
UTC-tijdvakken worden gedeeld door alle sleutels en geautoriseerde apps. Meer sleutels vermenigvuldigen de quota niet. Alleen de geselecteerde operatie en bereikbare fragmenten worden berekend: één eenheid per 25 complexiteitspunten, naar boven afgerond, met een minimum van één, plus twee voor mutaties. Responsheaders en MCP-metadata vermelden de berekende werkeenheden en kostenbasis. Dit is een aanvankelijk conservatief beleid; providerverversingen en media behouden afzonderlijke budgetten. Gecachete leesacties kosten nog steeds lokaal querywerk. Websitepublicatie en netwerk- of providerlimieten staan hier los van.
channels.ID.Retry-After; gebruik dezelfde mutatiesleutel opnieuw.GraphQL kan fouten teruggeven met HTTP 200. Controleer altijd
errors. Elke mutatie heeft ook eentryvariant, zoalstryCreateDraft, met een getypeerde succeswaarderesultofMutationError. Selecteer__typenameen het foutveldcode,httpStatus,message,fieldsenretryAfterSeconds. Een getypeerde fout kan verschijnen indatamet HTTP 200, dus controleer ook die uitkomst.MCP-aanroepers moeten ook het volgende controleren:
isErrorenstructuredContent: fouten kunnen verschijnen als GraphQL-errors, een getypeerdeMutationError,errorofvalidationdetails, zelfs als het transportverzoek slaagt. Indien beschikbaar:_metabevathttpStatus,chargedWorkUnits, resterende quota enretryAfterSeconds. Een client die metadata verbergt bewijst niet dat de aanroep gratis was. Los rechten- en validatiefouten op voordat je opnieuw probeert. Houd bij een onzekere schrijfactie dezelfde sleutel en invoer aan; lees de opgeslagen berichtstatus in plaats van een nieuwe publicatie te maken.Dit zijn previewlimieten, geen belofte dat een provider hetzelfde volume toestaat.
Begin met een kleine workflow.
Rapportagebot voor vrijdag
Start wekelijks een timer, lees de gepubliceerde berichten en bestaande prestatiemomentopnamen van die week en verstuur het rapport via je eigen Slack-verbinding.
Van formulier naar concept
Gebruik een Zapier-webhook of n8n HTTP Request-node voor een aanroep van
createDraft. Bewaar de credential in de geheime opslag van het platform en gebruik een stabiel gebeurtenis-ID als requestKey.Van bibliotheek naar campagne
Kies een opgeslagen sjabloon, maak er een concept van en stuur het ter beoordeling. Plan het pas in wanneer aan de goedkeuringsvereisten is voldaan.
Aangepaste rapportage
Haal statistieken van geselecteerde kanalen op voor je eigen dashboard. Hergebruik momentopname-ID's bij polling en behoud onbekende of onvolledige waarden.
Een n8n-workflow importeren
Download een workflow, kies Import from File in n8n, bewerk de invoer en koppel vervolgens je eigen Bearer Auth-inloggegevens aan de MCP Client-stap. Elke workflow begint met een handmatige trigger en blijft na import inactief. Sleutels horen in de n8n-inloggegevens, nooit in de JSON.
Geïmporteerd met n8n 2.43.5; MCP-nodeaanroepen zijn geverifieerd met een geïsoleerde API-testopstelling. Gehoste uitvoering met je eigen inloggegevens is een afzonderlijke controle. Deze workflows gebruiken generieke MCP-clients en betekenen niet dat er een app in een marketplace of een gepubliceerde Zapier-sjabloon bestaat. Beheer toestemming voor externe berichten in je eigen workflow.
Lees het huidige schema.
De referentie wordt gegenereerd uit de geïmplementeerde GraphQL-typen. Geauthenticeerde introspectie en de explorer tonen het geïmplementeerde contract. SocialBlaze gebruikt eigen identificatoren en een eigen schema.
GraphQL-schema downloadenGeef je programmeerassistent de API-gids voor AI zodat die de juiste endpoints, rechten, versies en regels voor herhaalde pogingen kan gebruiken.
Node-client voor de server
Het pakket met versienummer bevat TypeScript-declaraties en een opdrachtregelclient. Installeer het gedownloade bestand met
npm install ./socialblaze-developer-client-0.1.14.tgz. Bewaar de sleutel in een omgevingsvariabele op de server.Gebruik benoemde bericht- en conceptopdrachten,
tools list,tools describe NAME,tools call NAME,schema describe TYPEendoctor. Geef JSON rechtstreeks, via een bestand of stdin mee.--dry-runcontroleert de opgegeven basisregels voor invoer zonder de tool aan te roepen; discovery gebruikt nog steeds quota en bevestigt geen providervalidatie of publicatie. De CLI probeert schrijfacties nooit automatisch opnieuw.Het lezen van berichten ondersteunt
postTypesendueAtPresencefilters voor opgeslagen native formaten en de aanwezigheid van een geplande datum. Stel de cursor opnieuw in wanneer filters veranderen. Deze filters schakelen geen extra publicatieformaten in.Benoemde
list_channelsondersteunt pagina's van 1–100, standaard 20, metafterId. Kies minder velden voor grotere pagina's; normale complexiteits- en werkquota gelden. Formaatfilters omvatten ook Google Business-event,offerenwhats_new, op basis van opgeslagen native metadata. Deze overlappen bewust met de gewone berichtcategorie en schakelen geen nieuwe publicatieformaten in.Node
getPostencontentItemgeven bestands-URL's terug, inclusief statische en geanimeerde voorbeelden. NodelistPostsbehoudt de compacte weergave zonder bestanden; gebruik een afzonderlijke leesactie of een expliciete GraphQL-selectie. NodegetPostbevatisDraftmaar behoudt een compacte weergave zonder publicatiemethode of status van handmatige herinneringen. Gebruik benoemdeget_postof een expliciete GraphQL-query voor die velden; de generieke client en CLI kunnen de nieuwe conceptoperaties uitvoeren zonder het onveranderlijke SDK-pakket te wijzigen.Responsvelden selecteren
Benoemde CLI-aanroepen accepteren
--fields 'id,text'en verwante groepen zoals--fields 'nodes.{id,text},pageInfo.endCursor'. Paden zijn relatief aan het genoemde resultaat. De server maakt een kleinere GraphQL-selectie en valideert die vóór uitvoering. De kosten volgen die selectie. Bewaar ID's en versies voor schrijfacties en behoud rapportbasis, opmerkingen en dekking.allherstelt de standaardselectie van de tool, niet elk schemaveld. Benoemde MCP-tools accepteren dezelfdefieldstekenreeks. Kanaalpaginering blijft beschikbaar wanneer de getoonde velden geen ID's bevatten. Generieke queryopdrachten gebruiken hun expliciete document.CLI-installatie en instructies voor agents
socialblaze initschrijft lokale standaardwaarden;config pathenconfig get --alltonen ze. Inloggegevens via omgevingsvariabelen worden aanbevolen. Alleen explicieteinit --save-tokenbewaart een token in een onversleuteld globaal bestand buiten het huidige project. Repositoryconfiguratie ondersteunt alleen tijdzone en time-out en kan geen inloggegevens leveren of de oorsprong daarvan wijzigen. Configuratie-uitvoer maskeert opgeslagen sleutels; lokaal verwijderen trekt de serversleutel niet in.context --listtoont de meegeleverde agentonderwerpen;contexttoont de skill en rapportage-instructies offline.completion bash,zsh,fishofpowershelltoont een shellaanvulscript. Gebruiksocialblaze install claudeofinstall codexvoor een expliciete offline installatie van een beheerde skill;uninstall claudeofuninstall codexmaakt een ongewijzigde installatie ongedaan. Aangepaste of gekoppelde mappen blijven behouden. Pakketinstallatie en init installeren geen skills en wijzigen geen shellprofielen. Suggesties omvatten statische opdrachtgroepen. Versie 0.1.5 herstelt geneste zsh-aanvulling. Statische opdrachtsuggesties zijn gecontroleerd in echte offline bash-, zsh ZLE- en fish-runtimes; PowerShell-uitvoer is met de parser gecontroleerd. Deze controles gebruiken geen externe tools en geven geen toestemming voor publicatie.De meegeleverde agentskill lezen. Je autorisatie blijft behouden en lokale aantallen, waargenomen rangschikking en onvolledige providerhistorie blijven onderscheiden. Lees de gekoppelde rapportreferentie voor deze werkwijzen.
Node-client 0.1.14 downloadenHulp nodig bij een specifiek verzoek? Mail [email protected] met de operatienaam, status en veilige foutcode. Vermeld nooit je sleutel, refreshtoken of inloggegevens voor sociale netwerken.