Si applicano il piano e i permessi SocialBlaze esistenti
INIZIA CON UNA RICHIESTA DI SOLA LETTURA
«Mostra i canali collegati e i prossimi 10 post programmati».
S
Lavora con i dati SocialBlaze salvati.
Mantieni separato il post di ogni canale. Controlla stato, didascalia, risorse e data programmata.
Scegli gli account e le azioni accessibili al tuo assistente.
INIZIA QUI / MCP
Collegati in tre passaggi.
MCP consente a un client IA compatibile di usare gli strumenti SocialBlaze. Non devi scrivere GraphQL per leggere post, creare bozze o programmare tramite gli strumenti dedicati.
01
Collega i tuoi canali
Accedi a SocialBlaze e collega le reti da usare. L'assistente vede solo i canali inclusi nel suo accesso.
Nelle impostazioni MCP remote personalizzate del client inserisci l'URL del server qui sotto. Scegli OAuth se il client supporta il flusso di autorizzazione SocialBlaze.
03
Autorizza, poi leggi
Accedi, controlla le azioni richieste e seleziona i canali. Inizia con get_account o list_channels. Controlla i permessi richiesti dal client. Se è richiesta la pubblicazione, l'approvazione necessita di un consenso esplicito a pubblicare. Per l'accesso in sola lettura il client deve chiedere ambiti di sola lettura; le statistiche richiedono un permesso separato.
URL del server MCP remoto
https://backend.socialblaze.ai/api/developer/mcp
OAuth in un client compatibile
Usa il flusso di accesso e consenso nel browser. Per una connessione OAuth non devi creare o incollare una chiave API sviluppatore. Tieni presente la selezione dei canali della connessione esistente.
Funzioni del client e disponibilità degli account variano. Una connessione MCP personalizzata non implica la presenza di un connettore in un marketplace. Per un'app server personale usa Avvio rapido API; per altri utenti usa Registrazione di app OAuth.
Collega Claude
Apri Personalizza > Connettori, scegli Aggiungi, poi Aggiungi connettore personalizzato. Assegna il nome SocialBlaze, incolla l'URL del server MCP sopra indicato e continua.
Controlla le impostazioni di autenticazione rilevate. Scegli Accedi ora e, sotto Client OAuth, Registra automaticamente. SocialBlaze usa la registrazione automatica anziché l'identità pubblicata di Claude. Accedi a SocialBlaze, esamina i permessi e seleziona i canali, poi termina con Aggiungi. Questa connessione OAuth non richiede una chiave API.
In una nuova chat apri +, poi Connettori e abilita SocialBlaze. Se Claude indica che il server è già collegato, usa la voce esistente nella sezione I tuoi invece di creare un altro connettore.
Gli amministratori dell'area di lavoro potrebbero dover aggiungere prima il connettore. Consulta la Guida al connettore personalizzato Claude per le schermate correnti e i requisiti dell'account.
Un canale collegato manca nel mio assistente IA
Verifica che il canale sia sbloccato e accessibile in SocialBlaze. Poi ricollega SocialBlaze dall'app IA, controlla i permessi richiesti e seleziona il canale mancante. Aggiungere o sbloccare un canale non lo aggiunge a una connessione IA esistente; aggiornare quella connessione mantiene la selezione corrente. Conserva la connessione esistente finché la nuova non funziona. Non serve ricollegare Instagram o Facebook solo per cambiare i canali della connessione IA.
Se hai il permesso per le statistiche e il canale è visibile, ma manca un report salvato, si tratta di un problema distinto di disponibilità dei dati. Cambiare la selezione dei canali non raccoglie né aggiorna le statistiche.
Prova richieste utili e circoscritte
«Mostra i prossimi 10 post programmati. Mantieni ogni destinazione di canale come post separato».
«Salvalo come bozza. Non pubblicarlo».
«Leggi il mio report salvato per queste date. Indicami ciò che non è disponibile».
Per gli «ultimi 10 pubblicati», mantieni separato ogni post di canale restituito, anche se didascalie o link coincidono. I risultati coprono i canali autorizzati, non necessariamente tutto l'account. Un report mancante o una metrica sconosciuta non equivalgono a zero; leggere un report non aggiorna la rete. Le schede di anteprima dei post sono in fase di anteprima. In ChatGPT la prima visualizzazione può fallire: scegli Riprova per caricarle. Se un'immagine non si carica, apri il post salvato in SocialBlaze. La disponibilità nelle altre app IA varia. Le immagini ospitate esternamente possono non essere disponibili; un'anteprima non ne ripara la fonte. Post programmati o accettati non sono consegne confermate: controlla lo stato restituito prima di dichiarare il successo.
Lo stato del servizio ha una pagina dedicata.
Consulta le evidenze correnti su servizi principali, API, MCP e pubblicazione sui social nella Pagina dello stato del servizio.
Segui ciò che stiamo sviluppando.
Consulta funzionalità rilasciate, miglioramenti in corso e sviluppi previsti nella Pagina della roadmap.
01 / INIZIA A SVILUPPARE
Crea la tua prima richiesta API.
Accedi all'account SocialBlaze, apri la console sviluppatori e crea una chiave. Scegli canali e permessi necessari all'integrazione. Copia il segreto una sola volta e conservalo sul server.
La chiave sviluppatore è separata dall'accesso al sito. Non inserirla in JavaScript pubblico, URL o controllo versione. Pubblicare richiede un consenso separato.
Leggi i tuoi canali
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 } }"}'
Gli ID dei canali restituiti appartengono all'accesso selezionato. Usali per creare i post. La console include un esploratore eseguibile che mantiene la credenziale in memoria solo per quella sessione.
02 / DAI CONTENUTI AI CANALI
Prepara. Revisiona. Programma. Pubblica.
Lavora con post reali
Crea bozze, leggi versioni e risorse, modifica post futuri e annulla le programmazioni locali modificabili in sicurezza.
Usa la tua coda reale
Pubblica subito, scegli una data, aggiungi alla coda o assegna priorità. Sposta un post futuro in cima o in fondo.
Accettato non significa consegnato. Leggi post.allowedActions per indicazioni circoscritte su modifica e annullamento locali; ogni mutazione ricontrolla versione e stato di pubblicazione correnti. Leggi ogni ID post restituito per verificare stato, URL pubblicato e dettagli degli errori. Un gruppo misto non valido non salva nulla. Non ripetere mai una scrittura incerta con una nuova chiave.
Conserva contentItemId da createPost o createThread. Eliminare una destinazione può conservare la bozza di origine. Per rimuovere l'intero gruppo locale, leggi la versione corrente dell'elemento di contenuto e usa deleteContentItem; verifica poi che il gruppo e i relativi post siano assenti.
Scegli una data o una posizione in coda
Usa mode: schedule con un valore futuro esplicito di dueAt per un orario fisso. Usa addToQueue o prioritize senza data per l'inserimento nella coda nativa del canale. Le azioni di coda richiedono la funzione code intelligenti del piano e il permesso di pubblicazione. Per spostare un post futuro esistente usa movePostInQueue oppure lo strumento MCP denominato move_post_in_queue con l'ultima versione e una chiave di richiesta stabile.
Gli spostamenti possono cambiare gli orari degli altri post in coda. Dopo uno spostamento, rileggi post programmati e versioni del canale. Portare in fondo un post idoneo creato tramite coda può ricompattare la coda gestibile nei suoi slot esistenti; un post a data fissa non entra nella coda solo perché condivide un orario. Proprietà miste, stati di pubblicazione non sicuri o slot fissi occupati possono impedire il riordino. L'accettazione restituita non è una ricevuta di consegna.
Sposta un post esistente in fondo alla coda
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.
Leggi i post consegnati senza unire i canali
Leggi separatamente ogni post di rete conservando ID, canale e URL restituito. L'ordine predefinito decrescente per ID del record coincide con il feed del sito nei canali autorizzati dalla credenziale. Un'autorizzazione per canali selezionati non espone tutta l'area di lavoro. Per una cronologia basata su prove registrate idonee di consegna, richiedi sort: [{field: publishedAt, direction: desc}] e il valore facoltativo publishedAfter/publishedBefore. Leggi il valore nullable publishedAt e publishedAtBasis. native_terminal_delivery_observed è il primo orario locale di conferma di uno stato finale, non l'istante originale del provider verificato indipendentemente. Date di programmazione, creazione e modifica non sostituiscono mai una pubblicazione sconosciuta. Gli orari sconosciuti sono ordinati per ultimi e impediscono di affermare una cronologia completa degli ultimi dieci. Azzera i cursori quando cambiano filtri o ordinamento.
Leggi dieci record consegnati nell'ordine del sito
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}].
Filtra e pagina gli elenchi dei post
Ometti statuses per non limitare lo stato. Un valore esplicito vuoto di statuses: [] non seleziona alcun post; GraphQL statuses: null lascia anch'esso il filtro senza restrizioni. Se fornisci il valore singolo status con statuses, i valori costituiscono un'unica selezione: uno stato singolo continua quindi ad applicarsi anche con un array vuoto. Le stesse regole valgono per il conteggio dei post corrispondenti. Con dueAt in ordine crescente, i post senza data programmata vengono prima; in ordine decrescente, per ultimi. publishedAt mantiene gli orari sconosciuti per ultimi in entrambe le direzioni. Usa dueAtPresence: present quando vuoi solo le date programmate. Continua con il valore restituito pageInfo.endCursor; riparti senza after quando cambiano filtri, ordinamento o accesso selezionato, oppure un cursore viene rifiutato. Un cursore salvato prima dell'aggiornamento dell'ordine per data prevista non può essere riutilizzato per un ordinamento contenente dueAt in ordine crescente.
Immagini, video e documenti
Allega immagini JPEG, PNG o WebP entro il limite di ciascuna destinazione, oppure un video MP4/MOV. I post standard accettano fino a 10 immagini su Facebook, Instagram, Tumblr e WordPress; 20 su LinkedIn e Threads; 35 su TikTok; 4 su Bluesky, Mastodon e Profilo dell'attività su Google; 1 su Pinterest. YouTube richiede video. Tumblr accetta un video H.264 MP4/MOV fino a dieci minuti, con lo stesso limite d'importazione di 50 MB. Un post condiviso deve rispettare tutte le destinazioni selezionate. Gruppi di post e thread mantengono un totale di otto allegati per richiesta. Le immagini possono includere un valore protetto separato thumbnailUrl per l'anteprima SocialBlaze; non sostituisce l'immagine inviata alla rete. Le immagini accettano anche un valore protetto separato animatedThumbnail: un'anteprima pubblica GIF o WebP fino a 1 MiB. Le anteprime statiche e animate consumano ciascuna la propria quota d'importazione e mantengono URL distinti. L'immagine originale deve comunque rispettare le regole della destinazione. Le letture delle risorse espongono entrambi gli URL; isAnimated resta null finché l'animazione non viene misurata: un URL di anteprima non prova che l'immagine originale sia animata. LinkedIn accetta anche un PDF con titolo e thumbnailUrl HTTPS facoltativo per l'anteprima SocialBlaze. Le anteprime sono JPEG, PNG o WebP convalidati fino a 1 MB; LinkedIn renderizza autonomamente le pagine. Le immagini hanno un limite di 8 MB ciascuna, i video di 50 MB e i PDF di 20 MB. Restano valide le verifiche specifiche del canale; interroga configuration e channel.capabilities.
Le risorse PDF salvate espongono valori nullable numPages (numero di pagine misurato) e filesize (byte dell'importazione convalidata). Per le risorse precedenti o quando il conteggio delle pagine non è disponibile, il valore resta null, mai uno zero inventato; la dimensione misurata può essere disponibile anche quando il numero di pagine è sconosciuto. Questi valori descrivono il PDF importato e salvato, non una copia renderizzata dal provider. Leggerli non scarica di nuovo il file né completa retroattivamente le risorse precedenti. Lo strumento MCP denominato get_post e list_posts includono i campi. Per il client immutabile Node 0.1.14 usa una selezione GraphQL esplicita quando servono questi campi più recenti.
Leggi i metadati misurati di un PDF salvato
query SavedDocument($postId: ID!) {
post(id: $postId) {
id version
assets { type title mimeType numPages filesize }
}
}
Programma un post con file multimediali e senza didascalia
Per una destinazione supportata, createPost e lo strumento denominato create_post accettano text: "" con immagini valide o un video. Il testo vuoto senza file viene rifiutato. Restano obbligatori titoli richiesti, scelte specifiche delle reti e limiti dei file; un esempio di bozza solo testuale non dimostra questo flusso. In una connessione interattiva di pubblicazione, anche la scheda preparata può conservare una didascalia vuota con file: controlla account selezionati e contenuti prima di scegliere Programma o Pubblica.
Programma un video senza didascalia
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.
Modifica e richiedi la revisione insieme
Per una semplice bozza a canale singolo di proprietà dell'integrazione, su un canale che richiede approvazione, usa updatePost con approvalChange: request o revert. Lo strumento MCP denominato edit_post supporta queste scelte senza testo. Fornisci l'ultima versione, una chiave stabile, drafts:write e posts:review. Contenuto e allegati cambiano atomicamente insieme alla richiesta di revisione. L'approvazione da sola non pubblica: invia poi esplicitamente la bozza approvata senza modificarla. Se cambia, serve una nuova revisione.
Cambia il metodo di una pubblicazione futura
Usa updatePost(publishingMethod: automatic) o reminder, oppure lo strumento denominato edit_post, per cambiare il metodo di un post futuro convertibile mantenendone l'ID. Fornisci versione corrente e chiave di richiesta stabile. Servono autorizzazioni per bozze e pubblicazione. I post automatici devono avere una sola programmazione futura; i promemoria devono essere in coda e non ancora notificati. Non sono convertibili post con tentativi di pubblicazione, requisiti di revisione o appartenenza a un thread. Un promemoria richiede un dispositivo mobile attivo, autenticato e abilitato alle notifiche. La conversione ricontrolla destinazione, piano, file multimediali e accesso corrente; non conferma il recapito sul social.
Traccia l'origine del contenuto nell'editor
createDraft, createPost, createThread e ciascuna voce di createContentItemVariants accettano un valore nullable source, un'etichetta di tracciamento dichiarata dal chiamante, lunga al massimo 250 caratteri. Gli strumenti MCP di creazione corrispondenti la supportano, compresi i post da revisionare. Un thread condivide l'etichetta tra le proprie voci; le varianti possono avere etichette distinte. Leggila tramite post.provenance.composerSource e composerSourceBasis; lo strumento denominato get_post e Node getPost includono la provenienza. Anche gli elenchi ordinari la includono; quelli con metriche salvate omettono provenienza e metadati delle anteprime animate per restare nello stesso budget. Leggi i singoli post per ottenere entrambi. Omissione o null alla creazione lasciano sconosciuta l'etichetta. Anche le modifiche di bozze e post futuri l'accettano: ometterla la conserva, null la cancella. Non cambia il trasporto di creazione registrato, non concede permessi e non dimostra la paternità dell'IA.
Dichiara l'assistenza dell'IA
Le modifiche a bozze e post futuri accettano un valore nullable aiAssisted, compreso lo strumento MCP denominato edit_post. False resta false, null cancella la dichiarazione del chiamante e l'omissione la conserva. Questo non cambia il trasporto usato alla creazione né rileva chi ha scritto il testo. Usa la versione più recente e la stessa chiave per ripetere una richiesta invariata.
Regole per ogni formato
Leggi configuration.services.contentRules o channel.capabilities.contentRules per ogni formato di post automatico e tipo di allegato. Le regole includono conteggio di didascalie e titoli, numero di allegati, tipi di file e limiti in byte, scelte obbligatorie del canale e supporto al primo commento. Questo catalogo descrive la convalida SocialBlaze. Si applicano ancora piano, permessi correnti, dimensioni e controlli del provider; non conferma la consegna. I Reel richiedono un video; le storie automatiche un'immagine o un video.
Metadati dei canali e menzioni
Leggi i totali delle appartenenze all'area di lavoro e i limiti del piano nativo tramite account.organizations. I canali includono ID delle destinazioni del provider, URL sicuri dei profili, icone delle reti e capacità di pubblicazione. Suddividi le selezioni grandi in pagine con channels(first, afterId); MCP list_channels restituisce i metadati di paginazione.
Le risorse dei post e della libreria restituiscono il valore salvato mimeType, width e height quando noti; i valori sconosciuti restano null. Non serve scaricare i file per leggerli. Le menzioni strutturate delle pagine Facebook e di LinkedIn usano channelOptions.mentions con offset di inizio e lunghezza in punti di codice Unicode e un'etichetta corrispondente. Leggi post.annotations per menzioni convalidate e link letterali. Intervalli non validi o sovrapposti vengono rifiutati; una didascalia modificata deve fornire posizioni aggiornate delle menzioni.
Provenienza registrata e stato dell'account
Leggi post.provenance per il trasporto di creazione registrato e l'assistenza IA facoltativa dichiarata dal chiamante. Imposta aiAssisted esplicitamente quando noto; ciò che è sconosciuto resta null. Una richiesta tramite client IA non dimostra che l'IA abbia scritto la didascalia. La dichiarazione video del provider usa un'impostazione separata del canale.
account.preferences restituisce, quando noti, i codici salvati di visualizzazione di calendario e ora. Le letture dei canali distinguono queuePaused, workspacePublishingPaused e credentialsExpired; sospendere la pubblicazione non significa di per sé che la credenziale del provider sia scaduta.
Conteggio del testo per rete
Bluesky usa etichette URL visibili compatte, conservando le destinazioni complete nei facet dei link indicizzati per byte UTF-8. Le didascalie salvate mantengono gli URL originali. Mastodon usa i metadati configurati dell'istanza e le regole ufficiali per grafemi, URL riservati e menzioni remote; gli avvisi sui contenuti contano letteralmente. Leggi textLimitsBasis, textLimitsMetadataAvailable e charactersReservedPerUrl nelle capacità di pubblicazione per distinguere i metadati attuali dell'istanza dai valori prudenziali di riserva. Le letture dei metadati sono limitate e memorizzate in cache.
Foto, video e consegna TikTok
Le didascalie delle foto consentono 4.000 unità UTF-16, con titolo facoltativo fino a 90 unità. Quelle dei video consentono 2.200 unità. Imposta channelOptions.isAiGenerated esplicitamente per la dichiarazione dei video; true è rifiutato per le foto. Le modifiche future ai metadati video conservano un false esplicito. Leggi tiktokPostingChoices(channelId) oppure MCP get_tiktok_posting_choices per le effettive scelte di privacy del creator selezionato, le restrizioni alle interazioni e la durata del video. Queste letture possono usare una cache vecchia fino a 60 secondi; la pubblicazione le riconvalida. Scegli pubblico e consenso esplicitamente. Un ID di pubblicazione restituito conferma l'accettazione: i post sviluppatore restano in elaborazione finché un callback verificato o una lettura limitata dello stato del provider confermano la consegna dello stesso tentativo originale. La verifica non invia un'altra pubblicazione. L'URL pubblico del post può restare sconosciuto.
Menzioni nelle immagini di Instagram
Imposta images[].userTags con un valore pubblico di handle senza @ e numerico x/y con posizioni da 0 a 1. Usa fino a venti handle unici per immagine. Immagini del feed ed elementi dei caroselli supportano le menzioni posizionate; contenitori padre e storie automatiche no. Rimuovile prima di programmare una storia automatica. I campi sono solo per Instagram; handle e coordinate non validi o duplicati vengono rifiutati. I modelli della libreria conservano le menzioni delle immagini quando riutilizzati. Non sono tag interni dei contenuti.
Promemoria di pubblicazione manuale
Imposta publishingMethod: reminder per i canali selezionati. Ognuno riceve un promemoria. Prima abilita le notifiche nell'app SocialBlaze sul telefono con accesso effettuato. Il promemoria conserva una bozza pronta e ne apre il contenuto alla scadenza; non pubblica mai automaticamente. Supporta data esplicita, prossimo slot manuale e priorità. changeReminder lo riprogramma, lo annulla o registra la tua conferma di pubblicazione. Per i promemoria Instagram, stickerFields possono contenere musica, prodotti, testo, argomenti e altre istruzioni finali, fino a 2.000 caratteri ciascuno. La schermata del promemoria autenticata li mostra e consente di copiarli. Aggiungi questi dettagli personalmente su Instagram; la pubblicazione automatica rifiuta campi finali compilati. Una notifica inviata o una conferma manuale non è una ricevuta di consegna della rete. Una richiesta multicanale condivide i file importati e salva l'intero gruppo oppure nulla. Eliminare l'elemento di contenuto annulla tutti i promemoria in sospeso. Per la revisione del team imposta anche requestApproval: true con posts:review e consenso esplicito posts:publish. Il promemoria attende l'approvazione nativa, resta protetto dalla pubblicazione automatica e viene annullato se la revisione è ritirata o l'approvazione non è più valida.
Impostazioni video YouTube
Scegli privacy e madeForKids esplicitamente. Esegui la query configuration.youtubeCategories per gli ID delle categorie del provider e imposta categoryId quando necessario. Il valore facoltativo embeddable, license (youtube o creativeCommon), notifySubscribers e isAiGenerated raggiungono il caricamento nativo YouTube. I valori false espliciti sono conservati. Puoi modificare queste impostazioni su un post futuro tramite updatePost.channelOptions senza sostituire il video. La dichiarazione IA riguarda contenuti realistici alterati o sintetici; segui i requisiti YouTube.
Copertine video
Per un singolo video Instagram, TikTok o Pinterest, imposta thumbnailOffset nelle opzioni del canale all'offset in millisecondi del fotogramma di copertina. Deve rientrare nella durata del video importato. Per un post futuro modificabile, updatePost può cambiare la copertina di un'importazione esistente del tenant oppure sostituire video e copertina nella stessa richiesta. I post nativi esistenti possono usare questa modifica se il file è un'importazione supportata del tenant; URL video esterni arbitrari non sono idonei alla sola modifica della copertina. Omettere file e programmazione conserva risorsa e orario. Riutilizza la stessa chiave dopo una risposta incerta. Pinterest riceve l'offset del fotogramma in secondi interi e accetta un video MP4/MOV importato fino a 50 MB, caricato ed elaborato prima della creazione del Pin. I Reel Instagram accettano anche shareToFeed, anche quando è esplicitamente false. Gli altri canali e le storie Instagram rifiutano queste opzioni.
Le modifiche future richiedono la versione corrente del post e una programmazione distante più di due minuti. Non si modificano post in elaborazione o già consegnati. Modificare la condivisione nel feed di un Reel conserva video e copertina se i campi sono omessi. Per Pinterest modifica channelOptions.destinationUrl per cambiare il link di destinazione; null esplicito cancella quello salvato. Le letture dei post restituiscono il valore sia in destinationUrl e le opzioni del canale. Queste modifiche non pubblicano immediatamente.
Schede dei link
Per post standard Facebook, LinkedIn, Bluesky o Threads senza altri allegati, fornisci linkUrl nelle opzioni del canale. LinkedIn e Bluesky accettano anche linkTitle e linkDescription. Facebook e Threads usano l'anteprima del sito di destinazione. LinkedIn e Bluesky accettano anche linkThumbnailUrl insieme all'URL del link: un JPEG, PNG o WebP pubblico diretto fino a 1.000.000 di byte, con otto anteprime distinte per richiesta. Viene importato con protezioni e caricato sul provider; un errore di caricamento interrompe prima della pubblicazione. Salva una nuova anteprima nella bozza prima dell'invio. Null cancella quella salvata. I link HTTPS non possono contenere credenziali. Non avviene scraping lato server. Modifica le schede future con updatePost.channelOptions; un valore null esplicito di linkUrl cancella la scheda, il titolo e la descrizione. Cancellarla e sostituire i file nella stessa richiesta è atomico. Le opzioni della bozza uniscono i campi modificati esplicitamente; un elenco vuoto azzera ogni scelta.
Luoghi e argomenti Threads
I post del feed/Reel Instagram e Threads accettano un identificativo numerico del provider locationId e il valore facoltativo locationName. Gli elementi figli dei caroselli Instagram non ricevono il tag. Le storie Instagram automatiche rifiutano questa opzione. Anche Threads accetta un valore topic fino a 50 unità UTF-16, senza e commerciale o punto. Le scelte omesse sopravvivono alle modifiche future; null le cancella.
Avvisi sui contenuti e dichiarazione IA
Mastodon accetta spoilerText; l'avviso viene conteggiato letteralmente e condivide con la didascalia preparata il limite di caratteri dell'istanza. Le regole su URL dell'istanza e menzioni remote si applicano alla didascalia, non all'avviso. Usa null per cancellare un avviso salvato. I video Instagram, YouTube e TikTok accettano isAiGenerated. Instagram lo invia solo nel contenitore multimediale padre. Le opzioni non supportate dalla rete vengono rifiutate prima di salvare qualsiasi post.
Primi commenti
I primi commenti usano limiti UTF-16 separati: Facebook 5.000, Instagram 2.200, LinkedIn 1.250 e Threads 500. Leggi maxFirstCommentLength e firstCommentLengthUnit dalle capacità del canale. Le emoji possono contare due unità. Destinazioni non supportate e storie rifiutano i commenti; il testo non viene mai troncato senza avviso. Restano validi i permessi del piano.
Limiti delle didascalie
La maggior parte delle didascalie dell'API usa unità UTF-16, in cui molte emoji valgono due. Gli URL HTTP(S) di LinkedIn contano 24 unità; gli a capo logici di Instagram due. Facebook consente 5.000 unità, Instagram 2.196; i titoli Pinterest e YouTube 100. Google Business conserva il limite nativo di 1.500. Mastodon usa metadati dell'istanza entro limiti definiti, con un valore prudente di riserva configurato: leggi i campi delle capacità per base corrente e disponibilità dei metadati. Bluesky conta i grafemi dopo aver compattato le etichette visibili dei link, conservando le destinazioni complete nei facet. Le didascalie originali salvate restano invariate. Leggi le capacità del canale per limite e unità di conteggio attuali.
Post Google Business
Usa channelOptions.businessPost per aggiornamenti standard, eventi e offerte. Eventi e offerte richiedono titolo e date locali di inizio e fine. Gli orari facoltativi, da fornire in coppia, usano HH:mm; ometterli entrambi copre l'intera giornata locale. La programmazione della pubblicazione in UTC resta separata. Aggiornamenti standard ed eventi supportano pulsanti d'azione; le offerte usano coupon, link di riscatto e condizioni. I pulsanti di chiamata usano il telefono aziendale senza URL d'azione. Gli altri richiedono URL HTTPS. Queste opzioni richiedono la pubblicazione automatica, conservano i limiti esistenti di riepilogo e immagini e non implicano mai una consegna confermata dal provider.
Audio di Instagram
Cerca musica concessa in licenza e suoni originali tramite le query del catalogo audio. Serve Facebook Login. Per un Reel con un solo video, fornisci l'ID audio e livelli di volume facoltativi nelle opzioni del canale. Le anteprime scadono; gli errori di permesso e risultato parziale sono espliciti. Le opzioni salvate nelle bozze sopravvivono all'invio successivo.
Thread ordinati
Bluesky, Mastodon e Threads supportano 2–25 voci. Le risposte attendono la consegna confermata del post padre. Ripianificare o annullare il post iniziale mantiene insieme le risposte future modificabili. Le voci Bluesky e Threads accettano anche linkUrl; Bluesky accetta linkTitle, linkDescription e un linkThumbnailUrl protetto. Le schede non si combinano con altri file; Threads usa l'anteprima del sito di destinazione. Mastodon rifiuta le schede. I thread consentono otto allegati complessivi e al massimo 100 post di destinazione.
Programma un thread
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 } }
}
}
Modifica gli allegati di un thread futuro
Usa updateContentItem.threadEntries oppure lo strumento denominato edit_content_item per sostituire o cancellare allegati e scelte dei link dell'intero thread esistente. Fornisci tutte le voci in ordine, le didascalie, la versione corrente del gruppo e una chiave stabile. Gli allegati omessi restano invariati; images: [] o clearMedia: true li rimuove. I caricamenti condivisi vengono importati una volta per voce tra i canali. Ogni destinazione deve essere senza tentativi, non pubblicata e distante più di due minuti nel futuro. L'intera modifica è atomica. Mantieni lo stesso numero di voci e modifica la programmazione separatamente; variazioni del numero e modifiche combinate di file e orari non sono supportate.
Filtri dei gruppi di contenuti
Filtra contentItems da draftContent o postContent, e ordina per createdAt e updatedAt. Per impostazione predefinita, la ricerca riguarda la tua integrazione. Un valore esplicito di discovery: workspace richiede l'approvazione separata di content:read più posts:read; le credenziali esistenti non lo acquisiscono automaticamente. Legge anche i gruppi visibili secondo i permessi nativi dell'area di lavoro e i canali selezionati. I gruppi con una destinazione inaccessibile sono esclusi, inclusi didascalia e file condivisi. Controlla managedByCurrentIntegration; le modifiche di gruppo tra integrazioni restano bloccate, mentre quelle ai singoli post mantengono i propri controlli di autorizzazione. I cursori sono legati a ricerca, filtri, ordine e accesso ai canali: azzera la paginazione se cambiano. SDK0.1.14 fornisce contentItems(options) e contentItem(id, options) come funzioni di lettura.
Revisione del team
Usa posts:review e requestApproval: true per creare post con pubblicazione sospesa. requestPostApproval invia in revisione un post esistente non pubblicato. withdrawPostApproval lo riporta in bozza solo se i tuoi permessi nativi di approvazione lo consentono. Il permesso di revisione non concede mai la pubblicazione automatica.
UNA CAMPAGNA / CANALI DISTINTI
Adatta ogni destinazione.
Usa createContentItemVariants quando ogni canale richiede didascalia, titolo, allegato, opzione nativa o programmazione diversi. Fornisci ID distinti dei canali selezionati in posts. Il gruppo supporta fino a 25 destinazioni e otto allegati complessivi, entro i limiti esistenti di file e pubblicazioni. Voci multimediali identiche condividono un'unica importazione protetta.
Crea varianti indipendenti per canale
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.
Convalida e salvataggio sono atomici: una variante non valida impedisce di salvare una campagna parziale. Ogni voce usa per impostazione predefinita la coda oppure la programmazione fornita. Usa mode: publishNow solo per un invio immediato intenzionale. Imposta requestApproval: true per una revisione del team sospesa. L'accettazione non è comunque una consegna confermata.
Leggi contentItem.hasChannelVariants e la versione del gruppo, poi leggi gli ID dei singoli post per i dettagli completi. Modifica il singolo post per mantenere didascalie diverse. Una modifica di testo o file al gruppo applica intenzionalmente lo stesso cambiamento a ogni destinazione futura modificabile. Le versioni del gruppo e dei singoli post sono diverse.
Converti una bozza esistente
Leggi una bozza senza canale, di proprietà dell'integrazione e non inviata, con la versione corrente del gruppo. Chiama promoteContentItemDraft con un valore non vuoto di posts come elenco per trasformare lo stesso elemento di contenuto in post distinti per canale. Ogni voce fornisce ID del canale, testo esplicito e, facoltativamente, file, scelte native e programmazione. Didascalia e allegati originali restano salvati; i file omessi nelle voci non li ereditano.
Trasforma una bozza in varianti per canale
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.
Usa per ogni canale il valore posts oppure il valore condiviso esistente channelIds come formato. Non combinarli né mescolare scelte delle voci e opzioni di programmazione di primo livello. Una destinazione non valida impedisce una conversione parziale. Riutilizza la stessa chiave per un tentativo invariato; una bozza già inviata non può essere convertita di nuovo con una nuova chiave. Richiedere la revisione necessita di drafts:write e posts:review; l'invio automatico richiede posts:publish. Restano valide le regole native di approvazione del team. Le voci usano ContentVariantInput. Ogni voce accetta un valore nullable aiAssisted: false resta false, null o omissione lasciano sconosciuta l'assistenza, e il testo modificato di una voce non eredita mai la dichiarazione della bozza originale. Ogni destinazione può restare una bozza, usare la pubblicazione automatica o un promemoria manuale. Mantieni contentItemId per eliminare completamente il gruppo.
Accorciamento automatico degli URL per flusso
L'accorciamento avviene prima del salvataggio finale, usando i connettori configurati dall'autore. Le impostazioni non vengono mai disattivate di nascosto. Il supporto dipende da flusso, allegati e scelte native del canale; le combinazioni non supportate restituiscono un errore con indicazioni utili.
Flusso di lavoro
Funzioni rilasciate
Promozione automatica
Pubblica subito, programma, accoda o assegna priorità usando il profilo nativo supportato di testo e file multimediali. Restano validi limiti dei canali, tempi e permessi correnti.
Allegati
Immagini e caroselli entro i limiti nativi, singoli video supportati e flussi PDF LinkedIn. Le scelte di privacy e consenso YouTube/TikTok vanno fornite quando richieste e non vengono mai dedotte.
Bozze salvate delle destinazioni
Testi, immagini e video salvati restano senza pubblicazione attivata, anche quando sono in revisione. I gruppi eterogenei possono conservare file salvati diversi accanto a voci automatiche e manuali. Salvare non richiede un nuovo accesso per pubblicare.
Attiva la pubblicazione di una destinazione esistente
Usa lo stesso ID con contenuti e file attualmente salvati e una nuova modalità/data. Le scelte native salvate supportate, le trasformazioni approvate e la revisione esplicita restano convalidate separatamente.
Sottotipi Storia e Reel
Le storie Facebook/Instagram mantengono il profilo nativo con un solo file e senza primo commento. I Reel richiedono video. I sottotipi vengono conservati; le immagini non vengono convertite in Reel.
Rivedi
Si applicano le regole native correnti su titolare, team, canale e destinatari. La revisione clienti del ruolo Manager richiede il formato nativo della stringa destinatari; la revisione del content-scheduler nei team Provisioned supporta anche i canali con approvazione del cliente, secondo le regole native correnti del team e del canale. Il chiamante non può scegliere i destinatari. Le combinazioni di ruoli precedenti non supportate restano rifiutate. Una nuova revisione con lo stesso ID mantiene inattiva la programmazione; una revisione salvata non attiva la pubblicazione. L'approvazione da sola non pubblica.
Gruppi eterogenei
Combina destinazioni salvate, automatiche e con promemoria manuale dal catalogo nativo di base per testo e file multimediali. Ogni voce può usare le opzioni native implementate secondo i validatori del tipo di pubblicazione, inclusi metadati, anteprime e menzioni strutturate supportati. L'audio automatico di Instagram usa osservazioni verificate del catalogo; quello salvato o manuale resta inattivo, senza consultare il catalogo o OAuth di pubblicazione, fino a una successiva azione automatica o nativa. Le scelte obbligatorie YouTube/TikTok rimangono esplicite; opzioni sconosciute e combinazioni non supportate continuano a essere rifiutate.
Coda e priorità
Le voci automatiche usano la prenotazione nativa degli orari. Le voci manuali mantengono cadenza e spostamenti dei promemoria nativi, con i requisiti correnti di dispositivo autenticato e configurazione.
Sito nativo
Condivisione, semplice riprogrammazione e clonazione autonoma di un post in stato finale usano i permessi nativi e le impostazioni dell'autore originale. La cronologia originale viene conservata; la pubblicazione automatica richiede comunque approvazione e accesso validi al momento.
Scelte dei canali e metadati
Metadati nativi supportati, osservazioni su anteprime, audio e copertine e menzioni strutturate Facebook/LinkedIn seguono il flusso convalidato. Gli URL dei metadati restano letterali; i vecchi campi opachi delle menzioni non sono trattati come scelte strutturate.
Selezioni UTM esistenti
Le selezioni UTM persistenti esistenti, di proprietà del creator, mantengono l'ordine nativo, inclusa la conversione predefinita quando l'accorciamento è disattivato. Non viene fornito un nuovo selettore UTM pubblico.
Il profilo testuale di base copre Facebook, Bluesky, LinkedIn, Threads, Tumblr, Profilo dell'attività su Google, Mastodon e WordPress. I profili immagine entro i limiti nativi includono anche Instagram e Pinterest; quelli video includono YouTube/TikTok supportati nativamente e altri servizi convalidati. La conversione programmata uniforme e le transizioni native o salvate esistenti hanno cataloghi di scelte convalidati separati; le regole dei gruppi misti non consentono opzioni arbitrarie. Restano obbligatori privacy e consenso espliciti salvati e convalida nativa corrente. Salvare non attiva mai la pubblicazione e la revisione non la autorizza. Leggi allowedActions e le versioni correnti; ritira la revisione in sospeso prima di eliminare, quando l'azione è disponibile. L'accettazione della preparazione e l'accorciamento non confermano la consegna sulla rete.
Salva una destinazione prima di programmarla
Imposta saveToDraft: true su una voce per salvare una bozza associata a un canale. Richiede drafts:write, senza permesso di pubblicazione o un nuovo accesso per pubblicare. Il solo salvataggio non crea programmazioni né promemoria sul telefono. Modalità e date di una voce salvata non la programmano e non diventano istruzioni riutilizzabili: scegli modalità e data nuove quando la programmerai esplicitamente. Null non è accettato per saveToDraft.
Leggi l'ID della destinazione e l'ultima versione, poi usa armDestinationDraft oppure lo strumento denominato arm_destination_draft per programmare lo stesso post. Lo strumento dedicato chiama l'ID postId. Scegli publishNow, schedule con dueAt, addToQueue o prioritize. Se ometti la modalità, una data fornita seleziona la programmazione; altrimenti si usa la coda. La pubblicazione automatica ricontrolla permessi correnti, accesso al canale, file, requisiti di approvazione e validità dell'accesso.
Programma la destinazione salvata
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.
Riporta in bozza una destinazione futura
Per una destinazione automatica gestita dal titolare e non ancora in fase di pubblicazione, updatePost(saveToDraft: true) può conservare ID della destinazione, gruppo di origine e allegati disattivando l'unica programmazione futura. Fornisci versione corrente e chiave stabile, con permessi per pubblicazione e bozze. L'orario deve distare più di due minuti. Riporta prima il post in bozza, poi modifica separatamente la bozza corrente; revisione, promemoria, thread e tentativi di pubblicazione mantengono flussi dedicati. Riattiva esplicitamente la bozza quando sei pronto.
Revisiona una bozza salvata
Su un canale che richiede approvazione, combina saveToDraft: true con requestApproval: true. Servono permessi per bozze e revisione. Dopo l'approvazione la bozza rimane senza pubblicazione attivata: programma esplicitamente la versione approvata e invariata. Modificarla richiede una nuova approvazione. Invece, richiedere una revisione mentre si programma esplicitamente un post automatico sospende la programmazione fino all'approvazione.
Mantieni esplicita la pubblicazione manuale
Imposta per una voce il valore publishingMethod: reminder quando qualcuno completerà la pubblicazione dal telefono. Una bozza salvata conserva la scelta senza richiedere un dispositivo. Quando la programmi in seguito, omettere il metodo conserva quello salvato; fornirlo esplicitamente lo seleziona nuovamente. Null non è accettato. Programmare un promemoria richiede permessi per bozze e pubblicazione, un dispositivo attivo autenticato con notifiche e le eventuali approvazioni. publishNow accoda un promemoria con scadenza immediata; non pubblica automaticamente sulla rete.
Leggi isDraft, publishingMethod e manualReminder.state insieme. Una voce salvata in attesa di revisione resta una bozza; una scelta di promemoria salvata non ha ancora un promemoria attivo. providerDeliveryConfirmed: false non prova la consegna sulla rete. I gruppi misti possono contenere voci salvate, programmate e con promemoria; le azioni dei singoli post restano separate. Usa edit_post con draft: true per modificare una destinazione salvata idonea e lo strumento canonico deleteContentItem o delete_content_item per eliminare l'intero gruppo. Ritira prima la revisione in sospeso. Una pubblicazione già presa in carico o incerta richiede una riconciliazione, non una cancellazione alla cieca.
Strumenti dedicati per client IA
get_publishing_configuration e get_channel espongono i requisiti effettivi di file multimediali e consenso. Usa list_content_items, get_content_item, create_content_item_draft, promote_content_item_draft e create_content_item_variants senza scrivere GraphQL. Gli strumenti di modifica, eliminazione e associazione mantengono gli stessi controlli su ambiti, versioni e tentativi.
03 / LA TUA LIBRERIA ESISTENTE
Riutilizza i contenuti salvati.
Sfoglia, crea e modifica i modelli nella tua libreria SocialBlaze reale. Riutilizza modelli di testo, immagini, video e PDF nelle bozze. Per modificarli serve la versione corrente. Eliminare un modello conserva i file caricati condivisi.
Sfoglia i modelli della libreria
query {
libraryItems(first: 20) {
nodes { id title text description emoji visibility version assets { type url title altText } }
pageInfo { endCursor hasNextPage }
}
}
Usa createDraftFromLibraryItem con ID, versione, chiave di richiesta e canali selezionati. L'accesso alla libreria segue piano e permessi correnti del team.
I modelli accettano una descrizione facoltativa fino a 1.000 caratteri, emoji fino a 32 caratteri e visibilità: internal per la tua area di lavoro oppure private per il creator. I modelli esistenti e quelli con visibilità omessa restano interni. Solo il creator può rendere privato un modello condiviso; quelli privati sono nascosti agli altri membri nell'API, nella libreria nativa e nelle letture mobile. Filtra libraryItems(visibility: private) o internal. Non esiste un catalogo pubblico curato di modelli. Null cancella descrizione o emoji; i campi omessi restano invariati. Le modifiche native conservano queste scelte.
04 / DATI PER I TUOI STRUMENTI
Costruisci il report che ti serve.
Le raccolte esplicite dal provider TikTok elencano solo video pubblici. enumerationComplete descrive la lettura di quella fonte; complete resta false perché foto e video privati sono esclusi. Leggi basis e note nei report, nei riferimenti aggregati e nella copertura delle classifiche prima di interpretare totali o risultati vuoti.
I report ordinari dei canali, le metriche dei singoli post, le classifiche e le letture aggregate usano solo dati già presenti nel sito SocialBlaze e snapshot salvati. Una lettura non contatta il provider, non mette raccolte in coda e non aggiorna dati mancanti. Le metriche variano per rete; quelle non disponibili restano sconosciute, mai zero.
Leggi uno snapshot esistente dei risultati
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 } }
}
}
Leggi readMode, storedAnalytics e gli intervalli di date salvati disponibili quando manca un report normalizzato. Le sezioni native conservano etichette e basi di misurazione originali. La data di aggiornamento di una riga non prova che ogni metrica sia stata raccolta allora. I dati mancanti restano non disponibili; la sola scadenza del token di pubblicazione non impedisce una lettura storica autorizzata. Gli intervalli restano limitati dalla cronologia disponibile dell'account. Controlla complete, per ogni metrica i valori status e il relativo basis prima di interpretare i totali. Ogni report del canale e riferimento aggregato identifica il servizio di rete. Il valore aggregato metricsUpdatedAt è il timestamp contribuente noto più recente; oldestMetricsUpdatedAt indica l'istante contribuente più antico e resta null se una fonte pronta ha un aggiornamento sconosciuto.
Le statistiche video LinkedIn facoltative includono valori unici per post di viewers e totalTimeWatched in minuti. Gli spettatori unici non vengono mai sommati tra post. Il valore Instagram follows è un conteggio attribuito per post del feed e storie idonei, non per Reel o crescita netta dei follower. Dipende dall'accesso al provider e dalla disponibilità; i valori non disponibili restano null. Non viene dedotta alcuna unità di tempo di visualizzazione Instagram.
La lettura dei report LinkedIn è limitata. Se raggiunge il limite di pagine o non può avanzare in sicurezza, può restituire righe osservate utilizzabili con copertura parziale. I totali descrivono solo quel sottoinsieme, mai tutti i post dell'account. Leggi nota e stato dell'enumerazione prima di confrontare i canali.
Le righe dei risultati possono esporre publicationDate e publicationTimeBasis separatamente da publishedAt. Un giorno di calendario nativo storico con fuso orario sconosciuto mantiene publishedAt: null; non inventare una pubblicazione a mezzanotte UTC. Mantieni separati i post delle diverse reti, senza unire quelli che rimandano allo stesso articolo.
Leggi le sezioni di statistiche salvate del sito
Usa storedChannelAnalytics oppure lo strumento MCP denominato get_stored_channel_analytics con analytics:read, un canale autorizzato e date esatte di inizio e fine. Ogni sezione indica fonte, disponibilità e base temporale. availableRanges elenca gli intervalli salvati senza sostituirli alle date richieste. Una sezione grezza non disponibile o troppo grande non prova l'assenza di post: controlla il codice d'errore e il risultato paginato channelReport come proiezione.
Per TikTok, Pinterest, Tumblr e WordPress, il valore report può esporre una raccolta esplicita già salvata, etichettata saved_developer_report. Sono dati di report salvati, non la prova che siano stati prodotti da un raccoglitore del sito nativo. Se manca un report salvato corrispondente, il dato non è disponibile; la lettura non ne raccoglie uno. Un report può essere pronto mentre complete o enumerationComplete è false. Conserva copertura parziale e metriche non disponibili quando presenti i risultati.
Leggi le statistiche native salvate e la provenienza delle sezioni
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.
Per la paginazione dei report normalizzati, mantieni insieme ID del report restituito, canale e date e passa posts.pageInfo.endCursor come successivo valore di after. Quando cambi snapshot, riparti senza cursore. La metrica salvata di un singolo post e un report incompleto del canale possono avere coperture diverse: indica lo stato e la base di ciascun risultato.
Raccogli nuovi dati dal provider solo su richiesta
Usa il valore esplicito refreshChannelReport come mutazione oppure lo strumento MCP denominato refresh_channel_report solo quando l'utente chiede di raccogliere nuovi dati dal provider. La raccolta può richiedere permessi correnti per le statistiche del provider e consuma il budget separato di aggiornamento. Può restituire lo stato in coda: interroga lo stesso ID di report e le stesse date restituiti usando channelReport. Le letture ordinarie non effettuano accessi, non ricollegano account e non avviano automaticamente questa operazione.
Raccogli esplicitamente un nuovo report del provider
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.
Includi le metriche salvate nelle letture dei post
Imposta includeMetrics: true su post o posts, oppure lo strumento MCP denominato get_post e list_posts. Fornisci metricSnapshots con ID del canale, ID del report e date iniziali e finali corrispondenti per ciascun canale. Entrambi posts:read e analytics:read sono obbligatori. Legge solo snapshot esistenti; non contatta mai una rete né avvia raccolte di report. Leggi metricsState, metricsErrorCode, stato e base di ogni metrica e metricsUpdatedAt. Le metriche mancanti o non disponibili restano null. La cronologia salvata può essere obsoleta: conserva gli indicatori di obsolescenza e aggiornamento del report, senza presentarla come appena raccolta. Ometti l'opzione per le normali letture dei post; valgono i limiti ordinari di selezione e complessità.
Per lo strumento MCP denominato list_posts con includeMetrics: true, la selezione predefinita completa e uno snapshot fissato, omettendo first restituisce attualmente al massimo 18 righe entro il limite standard di 1.000 punti di complessità. Più snapshot possono ridurre tale valore. Un valore esplicito di first non viene mai ridotto senza avviso: 19 righe complete con uno snapshot superano quel limite. Gli elenchi ordinari mantengono il valore predefinito di 20; meno campi possono permettere pagine più grandi. Segui pageInfo.endCursor invece di presumere che una risposta contenga tutti i post. Questo adattamento automatico della pagina appartiene allo strumento dedicato; una query GraphQL esplicita deve scegliere una dimensione compatibile con la selezione.
Leggi le metriche da uno snapshot esistente
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.
Conta i record locali di pubblicazione
publishingActivity conta i record conservati dei post automatici per data di creazione originale nel fuso scelto. Ogni destinazione e voce di thread conta separatamente. I conteggi aggregati includono record eliminati logicamente, escludono bozze e promemoria manuali e non recuperano record cancellati definitivamente o cronologia del solo provider. Le bozze native possono mantenere date di creazione precedenti dopo l'invio. Non sono date storiche esatte di invio o pubblicazione; currentlyDelivered descrive lo stato attuale di questi record. Mantieni visibili la base e la nota restituite.
recordedCommitEvents conta separatamente i tentativi nativi conservati per data registrata di conferma del provider, indipendentemente dalle date originali di creazione. Una ripubblicazione intenzionale conta di nuovo. L'accettazione può precedere elaborazione o consegna, quindi non sono totali di consegna. Mantieni commitEventBasis, commitEventCountUnit, commitEventNote e il valore false di commitEventHistoryComplete visibile.
publishedActivity conta i record di destinazione conservati e attualmente consegnati il cui orario nativo registrato idoneo rientra nell'intervallo di calendario e fuso richiesti. Usa le stesse regole temporali del valore nullable post.publishedAt; le date di creazione, modifica, programmazione e conferma non le sostituiscono mai. Ogni record di destinazione o thread conta separatamente, compresi i record aggregati eliminati logicamente. Mantieni rangeStartUtc, rangeEndUtcExclusive, basis, countUnit e complete: false. unknownTimeExcluded conta tutti i record consegnati selezionati e conservati con orari sconosciuti, non post sconosciuti assegnati a questo mese. Cronologia eliminata definitivamente, sovrascritta o presente solo presso il provider resta fuori da questo sottoinsieme con orari noti.
Usa lo strumento MCP denominato get_published_activity, Node publishedActivity oppure il comando CLI tools call get_published_activity. Legge record locali senza raccogliere dati dal provider. Il valore della coorte di creazione originale publishingActivity e il valore basato sulla conferma recordedCommitEvents mantengono significati distinti.
Ordina i risultati osservati
rankedPosts richiede una metrica esplicita e uno tra lifetime o period_total come base. Valori sconosciuti e basi incompatibili sono esclusi; zero resta un punteggio reale. La copertura per rete distingue fonti complete, parziali, in coda e non disponibili. Riutilizza gli ID dei report per confronti stabili. Ogni risultato indica l'unità della metrica; i tassi di coinvolgimento usano percentuali e conservano la base di confronto. Formule di tasso note ma diverse non vengono ordinate insieme e i tassi non vengono mai sommati. La portata unica LinkedIn non viene sommata tra post. Le reazioni Mi piace Facebook sono separate dalle reazioni totali quando il provider le restituisce; i valori mancanti restano null. I risultati non dimostrano che il testo li abbia causati.
Gli strumenti MCP dedicati sono get_publishing_activity e rank_posts. I metodi dell'SDK sono publishingActivity e rankPosts.
05 / SVILUPPA PER ALTRI UTENTI
Collegati con OAuth.
Registra nella console un client pubblico PKCE o un'app server riservata. Registra gli URL di callback esatti, scegli gli ambiti e fornisci l'URL della privacy dell'app. Ogni cliente sceglie i canali e può scollegare l'app.
Genera un verifier casuale e la relativa challenge S256. Conserva un valore state casuale per verificare il callback.
Apri /api/developer/oauth/authorize con ID client, URI di reindirizzamento registrato, ambiti, state, challenge, code_challenge_method=S256 e la risorsa richiesta.
Scambia il codice restituito su /api/developer/oauth/token, inclusi il verifier e la risorsa originali. I client riservati si autenticano anche con il proprio segreto.
Conserva le credenziali in modo sicuro. I token di accesso durano un'ora; quelli di aggiornamento ruotano e scadono dopo 30 giorni. Non riutilizzare mai un token di aggiornamento sostituito.
Le risorse sono https://backend.socialblaze.ai/api/developer oppure il relativo /graphql o /mcp come endpoint. I token esistenti dei connettori IA usano un'audience separata.
Usa una connessione MCP remota personalizzata in un assistente o client sviluppatore compatibile. L'endpoint è https://backend.socialblaze.ai/api/developer/mcp. Usa l'accesso OAuth se il client lo supporta: per quel flusso non serve una chiave sviluppatore. Usa una chiave con ambiti limitati solo nei client che supportano un'autenticazione Bearer sicura.
La sintassi di configurazione varia per client. Gli strumenti sono filtrati in base agli ambiti concessi e coprono letture di account e canali, bozze, pubblicazione, thread, revisione, modelli e report. Risorse dello schema e strumenti GraphQL generici usano gli stessi permessi e quote. La presenza in questo elenco non implica un connettore pubblicato in un marketplace.
Questi esempi usano l'endpoint MCP sviluppatori e il suo catalogo attuale di strumenti con ambiti limitati. Una connessione interattiva di pubblicazione SocialBlaze può esporre strumenti e account diversi. Se manca uno strumento dedicato, controlla connessione e permessi: una connessione di pubblicazione non implica accesso ai report.
Strutture generiche di richieste e risultati MCP
Per un client MCP inizializzato, passa il valore mostrato {name, arguments} come oggetto in tools/call come parametri. execute_query richiede una dichiarazione veritiera di summary (massimo 500 caratteri) e query; execute_mutation richiede summary e mutation. Variabili e nome dell'operazione sono facoltativi. La query dell'account richiede accounts:read; creare una bozza richiede 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"
}
}
I risultati delle chiamate MCP possono impostare isError ed espongono structuredContent.error o i dettagli di convalida; una risposta GraphQL può contenere anche errors oppure un valore tipizzato MutationError. La risposta JSON-RPC grezza contiene il risultato dello strumento sotto result e possono avere un valore di primo livello error. Controlla anche il contenuto restituito: HTTP 200 da solo non indica successo.
Modifica una bozza esistente, poi rileggila
Leggi prima ID e versione correnti della bozza. Sostituisci i segnaposto dell'esempio con valori reali di get_post reali; non inviare i segnaposto invariati. La modifica di una bozza di tua proprietà usa edit_post con draft: true, testo esplicito, una chiave di richiesta stabile e drafts:write. Ometti saveToDraft, mode e dueAt per questa modifica della bozza. Restituisce postId e version. L'editor dei post programmati nel futuro restituisce invece id, version e deleted. Seleziona solo i campi dell'operazione; recupera separatamente testo e risorse usando get_post con posts:read.
Modifica la didascalia di una bozza di tua proprietà
Per una bozza di proprietà dell'integrazione, non inviata né programmata, ometti draft e imposta saveToDraft: true. Fornisci ID e versione correnti, una chiave di richiesta stabile, drafts:write e i file sostitutivi; ometti mode e dueAt. Non combinare draft: true con saveToDraft: true. Questa rotta dell'editor dei post restituisce id, version e deleted, non postId. L'esempio PDF di LinkedIn sostituisce l'elenco degli allegati con un documento. Sostituisci tutti i segnaposto, compresi URL e titolo, conservando la didascalia desiderata. Rileggi il post per confermare risorse e stato di bozza. La modifica non invia, programma o pubblica la bozza.
Sostituisci un allegato di una bozza LinkedIn con un PDF
Aggiungi un passaggio MCP Client, scegli HTTP Streamable e usa https://backend.socialblaze.ai/api/developer/mcp. Seleziona Bearer Auth e salva la chiave con ambiti limitati in una credenziale n8n. Scegli uno strumento, poi usa input JSON per i parametri annidati. Inizia con get_account o una mutazione di bozza; mantieni la stessa chiave quando ripeti un evento.
Nelle connessioni dell'app aggiungi MCP Client by Zapier. Inserisci l'endpoint sopra, scegli Streamable HTTP e OAuth. Accedi a SocialBlaze, controlla i permessi e seleziona i canali. Usa uno strumento di sola lettura per i report oppure Run Tool per un'azione autorizzata sulle bozze. Abilita la gestione degli errori e controlla i dati strutturati restituiti prima di avviare un altro passaggio.
Alcuni editor MCP Client di Zapier inviano il testo degli array come stringhe. channelIds richiede un vero array. Se l'editor lo appiattisce, usa execute_mutation con un'unica stringa di mutazione GraphQL contenente il valore letterale channelIds: ["YOUR_CHANNEL_ID"]. Inizia con una programmazione futura, conserva la chiave della richiesta e controlla gli errori prima di continuare.
Usano i client MCP generici delle piattaforme. Disponibilità dell'account del client e tariffe dei provider sono separate dai limiti API SocialBlaze.
La pubblicazione automatica è un permesso esplicito. Usa ambiti di sola revisione quando vuoi che un assistente prepari il lavoro senza pubblicarlo.
07 / UTILIZZO PREVEDIBILE
Limiti su cui progettare.
Quote attuali dell'anteprima sviluppatori, condivise nell'area di lavoro
Risorsa
Quota
Unità di lavoro API
60/minuto · 500/giorno · 7.500/mese
File multimediali importati
100 MB/giorno · 1 GB/mese
Aggiornamenti dei report
20/giorno · 500/mese
Post creati tramite API
25/canale/giorno
Dimensioni di query e richiesta
Query da 16 KB · corpo JSON da 32 KB
Le finestre UTC sono condivise tra tutte le chiavi e app autorizzate. Più chiavi non moltiplicano le quote. Si addebitano solo l'operazione selezionata e i frammenti raggiungibili: un'unità ogni 25 punti di complessità, arrotondata per eccesso con minimo uno, più due per le mutazioni. Header di risposta e metadati MCP indicano unità addebitate e base del costo. È una politica iniziale prudente; aggiornamenti dai provider e file multimediali mantengono budget separati. Anche le letture in cache consumano lavoro locale di query. Pubblicazione dal sito e limiti delle reti o dei provider sono separati.
401: credenziale scaduta, revocata o non valida.
403: ambito, accesso al canale o permesso del team mancante.
409: versione obsoleta, input del tentativo modificato o stato di pubblicazione non sicuro.
422: controlla i dettagli di convalida, compreso channels.ID.
429: seguono Retry-After; riutilizza la stessa chiave della mutazione.
GraphQL può restituire errori con HTTP 200. Controlla sempre errors. Ogni mutazione ha anche un valore try come variante, per esempio tryCreateDraft, con un valore di successo tipizzato result o MutationError. Seleziona __typename e il valore dell'errore code, httpStatus, message, fields e retryAfterSeconds. Un errore tipizzato può comparire in data con HTTP 200: controlla anche questo esito.
Anche chi chiama MCP deve controllare isError e structuredContent: gli errori possono comparire come valori GraphQL errors, un valore tipizzato MutationError, error o validation anche quando la richiesta di trasporto riesce. Quando disponibile, _meta include httpStatus, chargedWorkUnits, disponibilità residue e retryAfterSeconds. Un client che nasconde i metadati non dimostra che una chiamata fosse gratuita. Risolvi gli errori di autorizzazione o convalida prima di riprovare. Se l'esito di una scrittura è incerto, conserva chiave e input originali; leggi lo stato del post salvato anziché creare un'altra pubblicazione.
Sono limiti dell'anteprima, non una promessa che il provider consenta gli stessi volumi.
08 / AUTOMATIZZA IL LAVORO
Inizia con un flusso semplice.
Bot dei report del venerdì
Avvia un timer settimanale, leggi i post consegnati e gli snapshot esistenti dei risultati della settimana, poi invia il report tramite la tua connessione Slack.
Da modulo a bozza
Usa un webhook Zapier o un nodo HTTP Request di n8n per chiamare createDraft. Conserva la credenziale nell'archivio dei segreti della piattaforma e usa un ID evento stabile come requestKey.
Dalla libreria alla campagna
Scegli un modello salvato, crea la bozza e inviala in revisione. Programmala solo dopo aver soddisfatto i requisiti di approvazione.
Reportistica personalizzata
Porta le metriche dei canali selezionati nella tua dashboard. Riutilizza gli ID degli snapshot durante il polling e conserva i valori sconosciuti o incompleti.
Importa un flusso n8n
Scarica un flusso, scegli Import from File in n8n, modifica gli input e associa la tua credenziale Bearer Auth al passaggio MCP Client. Ogni flusso inizia con un'attivazione manuale e resta inattivo dopo l'importazione. Le chiavi vanno nelle credenziali n8n, mai nel JSON.
Da evento a bozza / ID evento stabile per i tentativi successivi; non pubblica mai.
Importati con n8n 2.43.5; chiamate del nodo MCP verificate su un ambiente API isolato. L'esecuzione ospitata con le tue credenziali richiede una verifica separata. Usano client MCP generici e non implicano un'app in un marketplace o un modello Zapier pubblicato. Gestisci nel tuo flusso le autorizzazioni per messaggi esterni.
09 / IL CONTRATTO EFFETTIVO
Leggi lo schema corrente.
Il riferimento è generato dai tipi GraphQL implementati. L'introspezione autenticata e l'esploratore forniscono il contratto effettivamente distribuito. SocialBlaze usa identificativi e schema propri.
Fornisci al tuo assistente di programmazione la Guida API leggibile dall'IA per usare endpoint, permessi, versioni e regole di ripetizione corretti.
Client Node lato server
Il pacchetto con versione include dichiarazioni TypeScript e un client da riga di comando. Installa il file scaricato con npm install ./socialblaze-developer-client-0.1.14.tgz. Conserva la chiave in una variabile d'ambiente del server.
Usa i comandi dedicati per post e bozze, tools list, tools describe NAME, tools call NAME, schema describe TYPE e doctor. Fornisci il JSON direttamente, da un file o tramite stdin. --dry-run controlla le regole di base dichiarate per gli input senza chiamare lo strumento; la discovery consuma comunque quota e non conferma convalida o consegna del provider. La CLI non ripete mai automaticamente le scritture.
Le letture dei post supportano postTypes e dueAtPresence come filtri per formati nativi salvati e presenza della data programmata. Azzera il cursore quando cambiano i filtri. Questi filtri non abilitano ulteriori formati di pubblicazione.
Lo strumento denominato list_channels supporta pagine da 1 a 100 elementi, con 20 predefiniti, usando afterId. Per pagine più grandi seleziona meno campi; valgono i limiti ordinari di complessità e lavoro. I filtri di formato includono anche i contenuti Google Business event, offer e whats_new, in base ai metadati nativi salvati. Questi gruppi si sovrappongono intenzionalmente alla normale categoria dei post e non abilitano nuovi formati di pubblicazione.
Node getPost e contentItem restituiscono gli URL delle risorse, incluse anteprime statiche e animate. Node listPosts mantiene la proiezione compatta senza risorse; usa una lettura individuale o una selezione GraphQL esplicita. Node getPost include isDraft ma mantiene una proiezione compatta senza metodo di pubblicazione o stato del promemoria manuale. Usa lo strumento denominato get_post oppure una query GraphQL esplicita per quei campi; client generico e CLI possono trasportare le nuove operazioni di bozza senza modificare il pacchetto SDK immutabile.
Seleziona i campi della risposta
Le chiamate CLI dedicate accettano --fields 'id,text' e gruppi affini come --fields 'nodes.{id,text},pageInfo.endCursor'. I percorsi sono relativi al risultato indicato. Il server costruisce una selezione GraphQL più piccola e la convalida prima dell'esecuzione. Gli addebiti riflettono quella selezione. Mantieni ID e versioni per seguire le scritture e conserva base, note e copertura dei report. all ripristina la selezione standard dello strumento, non tutti i campi dello schema. Gli strumenti MCP dedicati accettano lo stesso valore fields come stringa. I metadati di paginazione dei canali restano disponibili anche quando i campi mostrati omettono gli ID. I comandi di query generici usano il proprio documento esplicito.
Configurazione CLI e istruzioni per gli agenti
socialblaze init scrive i valori predefiniti locali; config path e config get --all per esaminarli. Sono consigliate le credenziali d'ambiente. Solo il comando esplicito init --save-token salva un token in un file globale non cifrato fuori dal progetto corrente. La configurazione del repository supporta solo fuso orario e timeout e non può fornire credenziali o reindirizzarne l'origine. L'output di configurazione nasconde le chiavi salvate; rimuoverle localmente non revoca la chiave sul server.
context --list elenca gli argomenti della skill per agenti inclusa; context stampa offline la skill e le istruzioni sui report. completion bash, zsh, fish o powershell stampa uno script di completamento della shell. Usa socialblaze install claude o install codex per un'installazione esplicita e gestita della skill offline; uninstall claude o uninstall codex annulla un'installazione invariata. Le cartelle personalizzate o collegate vengono conservate. L'installazione del pacchetto e init non installano skill né cambiano i profili della shell. I suggerimenti coprono gruppi statici di comandi. La versione 0.1.5 corregge il completamento zsh annidato. I suggerimenti statici sono verificati in runtime offline reali di bash, zsh ZLE e fish; l'output PowerShell è controllato dal parser. Queste verifiche non eseguono strumenti remoti né autorizzano pubblicazioni.
Leggi la skill per agenti inclusa. Conserva la tua autorizzazione e distingue conteggi di record locali, classifiche osservate e cronologia incompleta del provider. Consulta il riferimento collegato sui report per questi flussi.
Serve aiuto per una richiesta specifica? Scrivi a [email protected] indicando nome dell'operazione, stato e codice d'errore sicuro. Non includere mai chiavi, token di aggiornamento o credenziali social.
I tuoi canali.
Il tuo assistente IA.
Collega un assistente alla tua area SocialBlaze. Leggi post e report salvati, prepara bozze e programma con i permessi che scegli.
Mantieni separato il post di ogni canale. Controlla stato, didascalia, risorse e data programmata.
Collegati in tre passaggi.
MCP consente a un client IA compatibile di usare gli strumenti SocialBlaze. Non devi scrivere GraphQL per leggere post, creare bozze o programmare tramite gli strumenti dedicati.
Collega i tuoi canali
Accedi a SocialBlaze e collega le reti da usare. L'assistente vede solo i canali inclusi nel suo accesso.
Gestisci i tuoi canaliAggiungi il server MCP
Nelle impostazioni MCP remote personalizzate del client inserisci l'URL del server qui sotto. Scegli OAuth se il client supporta il flusso di autorizzazione SocialBlaze.
Autorizza, poi leggi
Accedi, controlla le azioni richieste e seleziona i canali. Inizia con
get_accountolist_channels. Controlla i permessi richiesti dal client. Se è richiesta la pubblicazione, l'approvazione necessita di un consenso esplicito a pubblicare. Per l'accesso in sola lettura il client deve chiedere ambiti di sola lettura; le statistiche richiedono un permesso separato.OAuth in un client compatibile
Usa il flusso di accesso e consenso nel browser. Per una connessione OAuth non devi creare o incollare una chiave API sviluppatore. Tieni presente la selezione dei canali della connessione esistente.
Funzioni del client e disponibilità degli account variano. Una connessione MCP personalizzata non implica la presenza di un connettore in un marketplace. Per un'app server personale usa Avvio rapido API; per altri utenti usa Registrazione di app OAuth.
Collega Claude
Gli amministratori dell'area di lavoro potrebbero dover aggiungere prima il connettore. Consulta la Guida al connettore personalizzato Claude per le schermate correnti e i requisiti dell'account.
Un canale collegato manca nel mio assistente IA
Verifica che il canale sia sbloccato e accessibile in SocialBlaze. Poi ricollega SocialBlaze dall'app IA, controlla i permessi richiesti e seleziona il canale mancante. Aggiungere o sbloccare un canale non lo aggiunge a una connessione IA esistente; aggiornare quella connessione mantiene la selezione corrente. Conserva la connessione esistente finché la nuova non funziona. Non serve ricollegare Instagram o Facebook solo per cambiare i canali della connessione IA.
Se hai il permesso per le statistiche e il canale è visibile, ma manca un report salvato, si tratta di un problema distinto di disponibilità dei dati. Cambiare la selezione dei canali non raccoglie né aggiorna le statistiche.
Prova richieste utili e circoscritte
«Mostra i prossimi 10 post programmati. Mantieni ogni destinazione di canale come post separato».
«Salvalo come bozza. Non pubblicarlo».
«Leggi il mio report salvato per queste date. Indicami ciò che non è disponibile».
Per gli «ultimi 10 pubblicati», mantieni separato ogni post di canale restituito, anche se didascalie o link coincidono. I risultati coprono i canali autorizzati, non necessariamente tutto l'account. Un report mancante o una metrica sconosciuta non equivalgono a zero; leggere un report non aggiorna la rete. Le schede di anteprima dei post sono in fase di anteprima. In ChatGPT la prima visualizzazione può fallire: scegli Riprova per caricarle. Se un'immagine non si carica, apri il post salvato in SocialBlaze. La disponibilità nelle altre app IA varia. Le immagini ospitate esternamente possono non essere disponibili; un'anteprima non ne ripara la fonte. Post programmati o accettati non sono consegne confermate: controlla lo stato restituito prima di dichiarare il successo.
Lo stato del servizio ha una pagina dedicata.
Consulta le evidenze correnti su servizi principali, API, MCP e pubblicazione sui social nella Pagina dello stato del servizio.
Segui ciò che stiamo sviluppando.
Consulta funzionalità rilasciate, miglioramenti in corso e sviluppi previsti nella Pagina della roadmap.
Crea la tua prima richiesta API.
Accedi all'account SocialBlaze, apri la console sviluppatori e crea una chiave. Scegli canali e permessi necessari all'integrazione. Copia il segreto una sola volta e conservalo sul server.
La chiave sviluppatore è separata dall'accesso al sito. Non inserirla in JavaScript pubblico, URL o controllo versione. Pubblicare richiede un consenso separato.
Gli ID dei canali restituiti appartengono all'accesso selezionato. Usali per creare i post. La console include un esploratore eseguibile che mantiene la credenziale in memoria solo per quella sessione.
Prepara. Revisiona. Programma. Pubblica.
Lavora con post reali
Crea bozze, leggi versioni e risorse, modifica post futuri e annulla le programmazioni locali modificabili in sicurezza.
Usa la tua coda reale
Pubblica subito, scegli una data, aggiungi alla coda o assegna priorità. Sposta un post futuro in cima o in fondo.
Accettato non significa consegnato. Leggi
post.allowedActionsper indicazioni circoscritte su modifica e annullamento locali; ogni mutazione ricontrolla versione e stato di pubblicazione correnti. Leggi ogni ID post restituito per verificare stato, URL pubblicato e dettagli degli errori. Un gruppo misto non valido non salva nulla. Non ripetere mai una scrittura incerta con una nuova chiave.Conserva
contentItemIddacreatePostocreateThread. Eliminare una destinazione può conservare la bozza di origine. Per rimuovere l'intero gruppo locale, leggi la versione corrente dell'elemento di contenuto e usadeleteContentItem; verifica poi che il gruppo e i relativi post siano assenti.Scegli una data o una posizione in coda
Usa
mode: schedulecon un valore futuro esplicito didueAtper un orario fisso. UsaaddToQueueoprioritizesenza data per l'inserimento nella coda nativa del canale. Le azioni di coda richiedono la funzione code intelligenti del piano e il permesso di pubblicazione. Per spostare un post futuro esistente usamovePostInQueueoppure lo strumento MCP denominatomove_post_in_queuecon l'ultima versione e una chiave di richiesta stabile.Gli spostamenti possono cambiare gli orari degli altri post in coda. Dopo uno spostamento, rileggi post programmati e versioni del canale. Portare in fondo un post idoneo creato tramite coda può ricompattare la coda gestibile nei suoi slot esistenti; un post a data fissa non entra nella coda solo perché condivide un orario. Proprietà miste, stati di pubblicazione non sicuri o slot fissi occupati possono impedire il riordino. L'accettazione restituita non è una ricevuta di consegna.
Leggi i post consegnati senza unire i canali
Leggi separatamente ogni post di rete conservando ID, canale e URL restituito. L'ordine predefinito decrescente per ID del record coincide con il feed del sito nei canali autorizzati dalla credenziale. Un'autorizzazione per canali selezionati non espone tutta l'area di lavoro. Per una cronologia basata su prove registrate idonee di consegna, richiedi
sort: [{field: publishedAt, direction: desc}]e il valore facoltativopublishedAfter/publishedBefore. Leggi il valore nullablepublishedAtepublishedAtBasis.native_terminal_delivery_observedè il primo orario locale di conferma di uno stato finale, non l'istante originale del provider verificato indipendentemente. Date di programmazione, creazione e modifica non sostituiscono mai una pubblicazione sconosciuta. Gli orari sconosciuti sono ordinati per ultimi e impediscono di affermare una cronologia completa degli ultimi dieci. Azzera i cursori quando cambiano filtri o ordinamento.Filtra e pagina gli elenchi dei post
Ometti
statusesper non limitare lo stato. Un valore esplicito vuoto distatuses: []non seleziona alcun post; GraphQLstatuses: nulllascia anch'esso il filtro senza restrizioni. Se fornisci il valore singolostatusconstatuses, i valori costituiscono un'unica selezione: uno stato singolo continua quindi ad applicarsi anche con un array vuoto. Le stesse regole valgono per il conteggio dei post corrispondenti. CondueAtin ordine crescente, i post senza data programmata vengono prima; in ordine decrescente, per ultimi.publishedAtmantiene gli orari sconosciuti per ultimi in entrambe le direzioni. UsadueAtPresence: presentquando vuoi solo le date programmate. Continua con il valore restituitopageInfo.endCursor; riparti senzaafterquando cambiano filtri, ordinamento o accesso selezionato, oppure un cursore viene rifiutato. Un cursore salvato prima dell'aggiornamento dell'ordine per data prevista non può essere riutilizzato per un ordinamento contenentedueAtin ordine crescente.Immagini, video e documenti
Allega immagini JPEG, PNG o WebP entro il limite di ciascuna destinazione, oppure un video MP4/MOV. I post standard accettano fino a 10 immagini su Facebook, Instagram, Tumblr e WordPress; 20 su LinkedIn e Threads; 35 su TikTok; 4 su Bluesky, Mastodon e Profilo dell'attività su Google; 1 su Pinterest. YouTube richiede video. Tumblr accetta un video H.264 MP4/MOV fino a dieci minuti, con lo stesso limite d'importazione di 50 MB. Un post condiviso deve rispettare tutte le destinazioni selezionate. Gruppi di post e thread mantengono un totale di otto allegati per richiesta. Le immagini possono includere un valore protetto separato
thumbnailUrlper l'anteprima SocialBlaze; non sostituisce l'immagine inviata alla rete. Le immagini accettano anche un valore protetto separatoanimatedThumbnail: un'anteprima pubblica GIF o WebP fino a 1 MiB. Le anteprime statiche e animate consumano ciascuna la propria quota d'importazione e mantengono URL distinti. L'immagine originale deve comunque rispettare le regole della destinazione. Le letture delle risorse espongono entrambi gli URL;isAnimatedresta null finché l'animazione non viene misurata: un URL di anteprima non prova che l'immagine originale sia animata. LinkedIn accetta anche un PDF con titolo e thumbnailUrl HTTPS facoltativo per l'anteprima SocialBlaze. Le anteprime sono JPEG, PNG o WebP convalidati fino a 1 MB; LinkedIn renderizza autonomamente le pagine. Le immagini hanno un limite di 8 MB ciascuna, i video di 50 MB e i PDF di 20 MB. Restano valide le verifiche specifiche del canale; interrogaconfigurationechannel.capabilities.Le risorse PDF salvate espongono valori nullable
numPages(numero di pagine misurato) efilesize(byte dell'importazione convalidata). Per le risorse precedenti o quando il conteggio delle pagine non è disponibile, il valore restanull, mai uno zero inventato; la dimensione misurata può essere disponibile anche quando il numero di pagine è sconosciuto. Questi valori descrivono il PDF importato e salvato, non una copia renderizzata dal provider. Leggerli non scarica di nuovo il file né completa retroattivamente le risorse precedenti. Lo strumento MCP denominatoget_postelist_postsincludono i campi. Per il client immutabile Node 0.1.14 usa una selezione GraphQL esplicita quando servono questi campi più recenti.Programma un post con file multimediali e senza didascalia
Per una destinazione supportata,
createPoste lo strumento denominatocreate_postaccettanotext: ""con immagini valide o un video. Il testo vuoto senza file viene rifiutato. Restano obbligatori titoli richiesti, scelte specifiche delle reti e limiti dei file; un esempio di bozza solo testuale non dimostra questo flusso. In una connessione interattiva di pubblicazione, anche la scheda preparata può conservare una didascalia vuota con file: controlla account selezionati e contenuti prima di scegliere Programma o Pubblica.Modifica e richiedi la revisione insieme
Per una semplice bozza a canale singolo di proprietà dell'integrazione, su un canale che richiede approvazione, usa
updatePostconapprovalChange: requestorevert. Lo strumento MCP denominatoedit_postsupporta queste scelte senza testo. Fornisci l'ultima versione, una chiave stabile,drafts:writeeposts:review. Contenuto e allegati cambiano atomicamente insieme alla richiesta di revisione. L'approvazione da sola non pubblica: invia poi esplicitamente la bozza approvata senza modificarla. Se cambia, serve una nuova revisione.Cambia il metodo di una pubblicazione futura
Usa
updatePost(publishingMethod: automatic)oreminder, oppure lo strumento denominatoedit_post, per cambiare il metodo di un post futuro convertibile mantenendone l'ID. Fornisci versione corrente e chiave di richiesta stabile. Servono autorizzazioni per bozze e pubblicazione. I post automatici devono avere una sola programmazione futura; i promemoria devono essere in coda e non ancora notificati. Non sono convertibili post con tentativi di pubblicazione, requisiti di revisione o appartenenza a un thread. Un promemoria richiede un dispositivo mobile attivo, autenticato e abilitato alle notifiche. La conversione ricontrolla destinazione, piano, file multimediali e accesso corrente; non conferma il recapito sul social.Traccia l'origine del contenuto nell'editor
createDraft,createPost,createThreade ciascuna voce dicreateContentItemVariantsaccettano un valore nullablesource, un'etichetta di tracciamento dichiarata dal chiamante, lunga al massimo 250 caratteri. Gli strumenti MCP di creazione corrispondenti la supportano, compresi i post da revisionare. Un thread condivide l'etichetta tra le proprie voci; le varianti possono avere etichette distinte. Leggila tramitepost.provenance.composerSourceecomposerSourceBasis; lo strumento denominatoget_poste NodegetPostincludono la provenienza. Anche gli elenchi ordinari la includono; quelli con metriche salvate omettono provenienza e metadati delle anteprime animate per restare nello stesso budget. Leggi i singoli post per ottenere entrambi. Omissione o null alla creazione lasciano sconosciuta l'etichetta. Anche le modifiche di bozze e post futuri l'accettano: ometterla la conserva, null la cancella. Non cambia il trasporto di creazione registrato, non concede permessi e non dimostra la paternità dell'IA.Dichiara l'assistenza dell'IA
Le modifiche a bozze e post futuri accettano un valore nullable
aiAssisted, compreso lo strumento MCP denominatoedit_post. False resta false, null cancella la dichiarazione del chiamante e l'omissione la conserva. Questo non cambia il trasporto usato alla creazione né rileva chi ha scritto il testo. Usa la versione più recente e la stessa chiave per ripetere una richiesta invariata.Regole per ogni formato
Leggi
configuration.services.contentRulesochannel.capabilities.contentRulesper ogni formato di post automatico e tipo di allegato. Le regole includono conteggio di didascalie e titoli, numero di allegati, tipi di file e limiti in byte, scelte obbligatorie del canale e supporto al primo commento. Questo catalogo descrive la convalida SocialBlaze. Si applicano ancora piano, permessi correnti, dimensioni e controlli del provider; non conferma la consegna. I Reel richiedono un video; le storie automatiche un'immagine o un video.Metadati dei canali e menzioni
Leggi i totali delle appartenenze all'area di lavoro e i limiti del piano nativo tramite
account.organizations. I canali includono ID delle destinazioni del provider, URL sicuri dei profili, icone delle reti e capacità di pubblicazione. Suddividi le selezioni grandi in pagine conchannels(first, afterId); MCPlist_channelsrestituisce i metadati di paginazione.Le risorse dei post e della libreria restituiscono il valore salvato
mimeType,widtheheightquando noti; i valori sconosciuti restano null. Non serve scaricare i file per leggerli. Le menzioni strutturate delle pagine Facebook e di LinkedIn usanochannelOptions.mentionscon offset di inizio e lunghezza in punti di codice Unicode e un'etichetta corrispondente. Leggipost.annotationsper menzioni convalidate e link letterali. Intervalli non validi o sovrapposti vengono rifiutati; una didascalia modificata deve fornire posizioni aggiornate delle menzioni.Provenienza registrata e stato dell'account
Leggi
post.provenanceper il trasporto di creazione registrato e l'assistenza IA facoltativa dichiarata dal chiamante. ImpostaaiAssistedesplicitamente quando noto; ciò che è sconosciuto resta null. Una richiesta tramite client IA non dimostra che l'IA abbia scritto la didascalia. La dichiarazione video del provider usa un'impostazione separata del canale.account.preferencesrestituisce, quando noti, i codici salvati di visualizzazione di calendario e ora. Le letture dei canali distinguonoqueuePaused,workspacePublishingPausedecredentialsExpired; sospendere la pubblicazione non significa di per sé che la credenziale del provider sia scaduta.Conteggio del testo per rete
Bluesky usa etichette URL visibili compatte, conservando le destinazioni complete nei facet dei link indicizzati per byte UTF-8. Le didascalie salvate mantengono gli URL originali. Mastodon usa i metadati configurati dell'istanza e le regole ufficiali per grafemi, URL riservati e menzioni remote; gli avvisi sui contenuti contano letteralmente. Leggi
textLimitsBasis,textLimitsMetadataAvailableecharactersReservedPerUrlnelle capacità di pubblicazione per distinguere i metadati attuali dell'istanza dai valori prudenziali di riserva. Le letture dei metadati sono limitate e memorizzate in cache.Foto, video e consegna TikTok
Le didascalie delle foto consentono 4.000 unità UTF-16, con titolo facoltativo fino a 90 unità. Quelle dei video consentono 2.200 unità. Imposta
channelOptions.isAiGeneratedesplicitamente per la dichiarazione dei video; true è rifiutato per le foto. Le modifiche future ai metadati video conservano un false esplicito. LeggitiktokPostingChoices(channelId)oppure MCPget_tiktok_posting_choicesper le effettive scelte di privacy del creator selezionato, le restrizioni alle interazioni e la durata del video. Queste letture possono usare una cache vecchia fino a 60 secondi; la pubblicazione le riconvalida. Scegli pubblico e consenso esplicitamente. Un ID di pubblicazione restituito conferma l'accettazione: i post sviluppatore restano in elaborazione finché un callback verificato o una lettura limitata dello stato del provider confermano la consegna dello stesso tentativo originale. La verifica non invia un'altra pubblicazione. L'URL pubblico del post può restare sconosciuto.Menzioni nelle immagini di Instagram
Imposta
images[].userTagscon un valore pubblico dihandlesenza @ e numericox/ycon posizioni da 0 a 1. Usa fino a venti handle unici per immagine. Immagini del feed ed elementi dei caroselli supportano le menzioni posizionate; contenitori padre e storie automatiche no. Rimuovile prima di programmare una storia automatica. I campi sono solo per Instagram; handle e coordinate non validi o duplicati vengono rifiutati. I modelli della libreria conservano le menzioni delle immagini quando riutilizzati. Non sono tag interni dei contenuti.Promemoria di pubblicazione manuale
Imposta
publishingMethod: reminderper i canali selezionati. Ognuno riceve un promemoria. Prima abilita le notifiche nell'app SocialBlaze sul telefono con accesso effettuato. Il promemoria conserva una bozza pronta e ne apre il contenuto alla scadenza; non pubblica mai automaticamente. Supporta data esplicita, prossimo slot manuale e priorità.changeReminderlo riprogramma, lo annulla o registra la tua conferma di pubblicazione. Per i promemoria Instagram,stickerFieldspossono contenere musica, prodotti, testo, argomenti e altre istruzioni finali, fino a 2.000 caratteri ciascuno. La schermata del promemoria autenticata li mostra e consente di copiarli. Aggiungi questi dettagli personalmente su Instagram; la pubblicazione automatica rifiuta campi finali compilati. Una notifica inviata o una conferma manuale non è una ricevuta di consegna della rete. Una richiesta multicanale condivide i file importati e salva l'intero gruppo oppure nulla. Eliminare l'elemento di contenuto annulla tutti i promemoria in sospeso. Per la revisione del team imposta anche requestApproval: true con posts:review e consenso esplicito posts:publish. Il promemoria attende l'approvazione nativa, resta protetto dalla pubblicazione automatica e viene annullato se la revisione è ritirata o l'approvazione non è più valida.Impostazioni video YouTube
Scegli
privacyemadeForKidsesplicitamente. Esegui la queryconfiguration.youtubeCategoriesper gli ID delle categorie del provider e impostacategoryIdquando necessario. Il valore facoltativoembeddable,license(youtube o creativeCommon),notifySubscriberseisAiGeneratedraggiungono il caricamento nativo YouTube. I valori false espliciti sono conservati. Puoi modificare queste impostazioni su un post futuro tramiteupdatePost.channelOptionssenza sostituire il video. La dichiarazione IA riguarda contenuti realistici alterati o sintetici; segui i requisiti YouTube.Copertine video
Per un singolo video Instagram, TikTok o Pinterest, imposta
thumbnailOffsetnelle opzioni del canale all'offset in millisecondi del fotogramma di copertina. Deve rientrare nella durata del video importato. Per un post futuro modificabile,updatePostpuò cambiare la copertina di un'importazione esistente del tenant oppure sostituire video e copertina nella stessa richiesta. I post nativi esistenti possono usare questa modifica se il file è un'importazione supportata del tenant; URL video esterni arbitrari non sono idonei alla sola modifica della copertina. Omettere file e programmazione conserva risorsa e orario. Riutilizza la stessa chiave dopo una risposta incerta. Pinterest riceve l'offset del fotogramma in secondi interi e accetta un video MP4/MOV importato fino a 50 MB, caricato ed elaborato prima della creazione del Pin. I Reel Instagram accettano ancheshareToFeed, anche quando è esplicitamente false. Gli altri canali e le storie Instagram rifiutano queste opzioni.Le modifiche future richiedono la versione corrente del post e una programmazione distante più di due minuti. Non si modificano post in elaborazione o già consegnati. Modificare la condivisione nel feed di un Reel conserva video e copertina se i campi sono omessi. Per Pinterest modifica
channelOptions.destinationUrlper cambiare il link di destinazione; null esplicito cancella quello salvato. Le letture dei post restituiscono il valore sia indestinationUrle le opzioni del canale. Queste modifiche non pubblicano immediatamente.Schede dei link
Per post standard Facebook, LinkedIn, Bluesky o Threads senza altri allegati, fornisci
linkUrlnelle opzioni del canale. LinkedIn e Bluesky accettano anchelinkTitleelinkDescription. Facebook e Threads usano l'anteprima del sito di destinazione. LinkedIn e Bluesky accettano anchelinkThumbnailUrlinsieme all'URL del link: un JPEG, PNG o WebP pubblico diretto fino a 1.000.000 di byte, con otto anteprime distinte per richiesta. Viene importato con protezioni e caricato sul provider; un errore di caricamento interrompe prima della pubblicazione. Salva una nuova anteprima nella bozza prima dell'invio. Null cancella quella salvata. I link HTTPS non possono contenere credenziali. Non avviene scraping lato server. Modifica le schede future conupdatePost.channelOptions; un valore null esplicito dilinkUrlcancella la scheda, il titolo e la descrizione. Cancellarla e sostituire i file nella stessa richiesta è atomico. Le opzioni della bozza uniscono i campi modificati esplicitamente; un elenco vuoto azzera ogni scelta.Luoghi e argomenti Threads
I post del feed/Reel Instagram e Threads accettano un identificativo numerico del provider
locationIde il valore facoltativolocationName. Gli elementi figli dei caroselli Instagram non ricevono il tag. Le storie Instagram automatiche rifiutano questa opzione. Anche Threads accetta un valoretopicfino a 50 unità UTF-16, senza e commerciale o punto. Le scelte omesse sopravvivono alle modifiche future; null le cancella.Avvisi sui contenuti e dichiarazione IA
Mastodon accetta
spoilerText; l'avviso viene conteggiato letteralmente e condivide con la didascalia preparata il limite di caratteri dell'istanza. Le regole su URL dell'istanza e menzioni remote si applicano alla didascalia, non all'avviso. Usa null per cancellare un avviso salvato. I video Instagram, YouTube e TikTok accettanoisAiGenerated. Instagram lo invia solo nel contenitore multimediale padre. Le opzioni non supportate dalla rete vengono rifiutate prima di salvare qualsiasi post.Primi commenti
I primi commenti usano limiti UTF-16 separati: Facebook 5.000, Instagram 2.200, LinkedIn 1.250 e Threads 500. Leggi
maxFirstCommentLengthefirstCommentLengthUnitdalle capacità del canale. Le emoji possono contare due unità. Destinazioni non supportate e storie rifiutano i commenti; il testo non viene mai troncato senza avviso. Restano validi i permessi del piano.Limiti delle didascalie
La maggior parte delle didascalie dell'API usa unità UTF-16, in cui molte emoji valgono due. Gli URL HTTP(S) di LinkedIn contano 24 unità; gli a capo logici di Instagram due. Facebook consente 5.000 unità, Instagram 2.196; i titoli Pinterest e YouTube 100. Google Business conserva il limite nativo di 1.500. Mastodon usa metadati dell'istanza entro limiti definiti, con un valore prudente di riserva configurato: leggi i campi delle capacità per base corrente e disponibilità dei metadati. Bluesky conta i grafemi dopo aver compattato le etichette visibili dei link, conservando le destinazioni complete nei facet. Le didascalie originali salvate restano invariate. Leggi le capacità del canale per limite e unità di conteggio attuali.
Post Google Business
Usa
channelOptions.businessPostper aggiornamenti standard, eventi e offerte. Eventi e offerte richiedono titolo e date locali di inizio e fine. Gli orari facoltativi, da fornire in coppia, usanoHH:mm; ometterli entrambi copre l'intera giornata locale. La programmazione della pubblicazione in UTC resta separata. Aggiornamenti standard ed eventi supportano pulsanti d'azione; le offerte usano coupon, link di riscatto e condizioni. I pulsanti di chiamata usano il telefono aziendale senza URL d'azione. Gli altri richiedono URL HTTPS. Queste opzioni richiedono la pubblicazione automatica, conservano i limiti esistenti di riepilogo e immagini e non implicano mai una consegna confermata dal provider.Audio di Instagram
Cerca musica concessa in licenza e suoni originali tramite le query del catalogo audio. Serve Facebook Login. Per un Reel con un solo video, fornisci l'ID audio e livelli di volume facoltativi nelle opzioni del canale. Le anteprime scadono; gli errori di permesso e risultato parziale sono espliciti. Le opzioni salvate nelle bozze sopravvivono all'invio successivo.
Thread ordinati
Bluesky, Mastodon e Threads supportano 2–25 voci. Le risposte attendono la consegna confermata del post padre. Ripianificare o annullare il post iniziale mantiene insieme le risposte future modificabili. Le voci Bluesky e Threads accettano anche linkUrl; Bluesky accetta linkTitle, linkDescription e un linkThumbnailUrl protetto. Le schede non si combinano con altri file; Threads usa l'anteprima del sito di destinazione. Mastodon rifiuta le schede. I thread consentono otto allegati complessivi e al massimo 100 post di destinazione.
Modifica gli allegati di un thread futuro
Usa
updateContentItem.threadEntriesoppure lo strumento denominatoedit_content_itemper sostituire o cancellare allegati e scelte dei link dell'intero thread esistente. Fornisci tutte le voci in ordine, le didascalie, la versione corrente del gruppo e una chiave stabile. Gli allegati omessi restano invariati;images: []oclearMedia: trueli rimuove. I caricamenti condivisi vengono importati una volta per voce tra i canali. Ogni destinazione deve essere senza tentativi, non pubblicata e distante più di due minuti nel futuro. L'intera modifica è atomica. Mantieni lo stesso numero di voci e modifica la programmazione separatamente; variazioni del numero e modifiche combinate di file e orari non sono supportate.Filtri dei gruppi di contenuti
Filtra
contentItemsdadraftContentopostContent, e ordina per createdAt e updatedAt. Per impostazione predefinita, la ricerca riguarda la tua integrazione. Un valore esplicito didiscovery: workspacerichiede l'approvazione separata dicontent:readpiùposts:read; le credenziali esistenti non lo acquisiscono automaticamente. Legge anche i gruppi visibili secondo i permessi nativi dell'area di lavoro e i canali selezionati. I gruppi con una destinazione inaccessibile sono esclusi, inclusi didascalia e file condivisi. ControllamanagedByCurrentIntegration; le modifiche di gruppo tra integrazioni restano bloccate, mentre quelle ai singoli post mantengono i propri controlli di autorizzazione. I cursori sono legati a ricerca, filtri, ordine e accesso ai canali: azzera la paginazione se cambiano. SDK0.1.14 forniscecontentItems(options)econtentItem(id, options)come funzioni di lettura.Revisione del team
Usa
posts:reviewerequestApproval: trueper creare post con pubblicazione sospesa.requestPostApprovalinvia in revisione un post esistente non pubblicato.withdrawPostApprovallo riporta in bozza solo se i tuoi permessi nativi di approvazione lo consentono. Il permesso di revisione non concede mai la pubblicazione automatica.Adatta ogni destinazione.
Usa
createContentItemVariantsquando ogni canale richiede didascalia, titolo, allegato, opzione nativa o programmazione diversi. Fornisci ID distinti dei canali selezionati inposts. Il gruppo supporta fino a 25 destinazioni e otto allegati complessivi, entro i limiti esistenti di file e pubblicazioni. Voci multimediali identiche condividono un'unica importazione protetta.Convalida e salvataggio sono atomici: una variante non valida impedisce di salvare una campagna parziale. Ogni voce usa per impostazione predefinita la coda oppure la programmazione fornita. Usa
mode: publishNowsolo per un invio immediato intenzionale. ImpostarequestApproval: trueper una revisione del team sospesa. L'accettazione non è comunque una consegna confermata.Leggi
contentItem.hasChannelVariantse la versione del gruppo, poi leggi gli ID dei singoli post per i dettagli completi. Modifica il singolo post per mantenere didascalie diverse. Una modifica di testo o file al gruppo applica intenzionalmente lo stesso cambiamento a ogni destinazione futura modificabile. Le versioni del gruppo e dei singoli post sono diverse.Converti una bozza esistente
Leggi una bozza senza canale, di proprietà dell'integrazione e non inviata, con la versione corrente del gruppo. Chiama
promoteContentItemDraftcon un valore non vuoto dipostscome elenco per trasformare lo stesso elemento di contenuto in post distinti per canale. Ogni voce fornisce ID del canale, testo esplicito e, facoltativamente, file, scelte native e programmazione. Didascalia e allegati originali restano salvati; i file omessi nelle voci non li ereditano.Usa per ogni canale il valore
postsoppure il valore condiviso esistentechannelIdscome formato. Non combinarli né mescolare scelte delle voci e opzioni di programmazione di primo livello. Una destinazione non valida impedisce una conversione parziale. Riutilizza la stessa chiave per un tentativo invariato; una bozza già inviata non può essere convertita di nuovo con una nuova chiave. Richiedere la revisione necessita didrafts:writeeposts:review; l'invio automatico richiedeposts:publish. Restano valide le regole native di approvazione del team. Le voci usanoContentVariantInput. Ogni voce accetta un valore nullableaiAssisted: false resta false, null o omissione lasciano sconosciuta l'assistenza, e il testo modificato di una voce non eredita mai la dichiarazione della bozza originale. Ogni destinazione può restare una bozza, usare la pubblicazione automatica o un promemoria manuale. MantienicontentItemIdper eliminare completamente il gruppo.Accorciamento automatico degli URL per flusso
L'accorciamento avviene prima del salvataggio finale, usando i connettori configurati dall'autore. Le impostazioni non vengono mai disattivate di nascosto. Il supporto dipende da flusso, allegati e scelte native del canale; le combinazioni non supportate restituiscono un errore con indicazioni utili.
Il profilo testuale di base copre Facebook, Bluesky, LinkedIn, Threads, Tumblr, Profilo dell'attività su Google, Mastodon e WordPress. I profili immagine entro i limiti nativi includono anche Instagram e Pinterest; quelli video includono YouTube/TikTok supportati nativamente e altri servizi convalidati. La conversione programmata uniforme e le transizioni native o salvate esistenti hanno cataloghi di scelte convalidati separati; le regole dei gruppi misti non consentono opzioni arbitrarie. Restano obbligatori privacy e consenso espliciti salvati e convalida nativa corrente. Salvare non attiva mai la pubblicazione e la revisione non la autorizza. Leggi
allowedActionse le versioni correnti; ritira la revisione in sospeso prima di eliminare, quando l'azione è disponibile. L'accettazione della preparazione e l'accorciamento non confermano la consegna sulla rete.Salva una destinazione prima di programmarla
Imposta
saveToDraft: truesu una voce per salvare una bozza associata a un canale. Richiededrafts:write, senza permesso di pubblicazione o un nuovo accesso per pubblicare. Il solo salvataggio non crea programmazioni né promemoria sul telefono. Modalità e date di una voce salvata non la programmano e non diventano istruzioni riutilizzabili: scegli modalità e data nuove quando la programmerai esplicitamente. Null non è accettato persaveToDraft.Leggi l'ID della destinazione e l'ultima versione, poi usa
armDestinationDraftoppure lo strumento denominatoarm_destination_draftper programmare lo stesso post. Lo strumento dedicato chiama l'IDpostId. SceglipublishNow,schedulecondueAt,addToQueueoprioritize. Se ometti la modalità, una data fornita seleziona la programmazione; altrimenti si usa la coda. La pubblicazione automatica ricontrolla permessi correnti, accesso al canale, file, requisiti di approvazione e validità dell'accesso.Riporta in bozza una destinazione futura
Per una destinazione automatica gestita dal titolare e non ancora in fase di pubblicazione,
updatePost(saveToDraft: true)può conservare ID della destinazione, gruppo di origine e allegati disattivando l'unica programmazione futura. Fornisci versione corrente e chiave stabile, con permessi per pubblicazione e bozze. L'orario deve distare più di due minuti. Riporta prima il post in bozza, poi modifica separatamente la bozza corrente; revisione, promemoria, thread e tentativi di pubblicazione mantengono flussi dedicati. Riattiva esplicitamente la bozza quando sei pronto.Revisiona una bozza salvata
Su un canale che richiede approvazione, combina
saveToDraft: trueconrequestApproval: true. Servono permessi per bozze e revisione. Dopo l'approvazione la bozza rimane senza pubblicazione attivata: programma esplicitamente la versione approvata e invariata. Modificarla richiede una nuova approvazione. Invece, richiedere una revisione mentre si programma esplicitamente un post automatico sospende la programmazione fino all'approvazione.Mantieni esplicita la pubblicazione manuale
Imposta per una voce il valore
publishingMethod: reminderquando qualcuno completerà la pubblicazione dal telefono. Una bozza salvata conserva la scelta senza richiedere un dispositivo. Quando la programmi in seguito, omettere il metodo conserva quello salvato; fornirlo esplicitamente lo seleziona nuovamente. Null non è accettato. Programmare un promemoria richiede permessi per bozze e pubblicazione, un dispositivo attivo autenticato con notifiche e le eventuali approvazioni.publishNowaccoda un promemoria con scadenza immediata; non pubblica automaticamente sulla rete.Leggi
isDraft,publishingMethodemanualReminder.stateinsieme. Una voce salvata in attesa di revisione resta una bozza; una scelta di promemoria salvata non ha ancora un promemoria attivo.providerDeliveryConfirmed: falsenon prova la consegna sulla rete. I gruppi misti possono contenere voci salvate, programmate e con promemoria; le azioni dei singoli post restano separate. Usaedit_postcondraft: trueper modificare una destinazione salvata idonea e lo strumento canonicodeleteContentItemodelete_content_itemper eliminare l'intero gruppo. Ritira prima la revisione in sospeso. Una pubblicazione già presa in carico o incerta richiede una riconciliazione, non una cancellazione alla cieca.Strumenti dedicati per client IA
get_publishing_configurationeget_channelespongono i requisiti effettivi di file multimediali e consenso. Usalist_content_items,get_content_item,create_content_item_draft,promote_content_item_draftecreate_content_item_variantssenza scrivere GraphQL. Gli strumenti di modifica, eliminazione e associazione mantengono gli stessi controlli su ambiti, versioni e tentativi.Riutilizza i contenuti salvati.
Sfoglia, crea e modifica i modelli nella tua libreria SocialBlaze reale. Riutilizza modelli di testo, immagini, video e PDF nelle bozze. Per modificarli serve la versione corrente. Eliminare un modello conserva i file caricati condivisi.
Usa
createDraftFromLibraryItemcon ID, versione, chiave di richiesta e canali selezionati. L'accesso alla libreria segue piano e permessi correnti del team.I modelli accettano una descrizione facoltativa fino a 1.000 caratteri, emoji fino a 32 caratteri e visibilità:
internalper la tua area di lavoro oppureprivateper il creator. I modelli esistenti e quelli con visibilità omessa restano interni. Solo il creator può rendere privato un modello condiviso; quelli privati sono nascosti agli altri membri nell'API, nella libreria nativa e nelle letture mobile. FiltralibraryItems(visibility: private)ointernal. Non esiste un catalogo pubblico curato di modelli. Null cancella descrizione o emoji; i campi omessi restano invariati. Le modifiche native conservano queste scelte.Costruisci il report che ti serve.
Le raccolte esplicite dal provider TikTok elencano solo video pubblici.
enumerationCompletedescrive la lettura di quella fonte;completeresta false perché foto e video privati sono esclusi. Leggibasisenotenei report, nei riferimenti aggregati e nella copertura delle classifiche prima di interpretare totali o risultati vuoti.I report ordinari dei canali, le metriche dei singoli post, le classifiche e le letture aggregate usano solo dati già presenti nel sito SocialBlaze e snapshot salvati. Una lettura non contatta il provider, non mette raccolte in coda e non aggiorna dati mancanti. Le metriche variano per rete; quelle non disponibili restano sconosciute, mai zero.
Leggi
readMode,storedAnalyticse gli intervalli di date salvati disponibili quando manca un report normalizzato. Le sezioni native conservano etichette e basi di misurazione originali. La data di aggiornamento di una riga non prova che ogni metrica sia stata raccolta allora. I dati mancanti restano non disponibili; la sola scadenza del token di pubblicazione non impedisce una lettura storica autorizzata. Gli intervalli restano limitati dalla cronologia disponibile dell'account. Controllacomplete, per ogni metrica i valoristatuse il relativobasisprima di interpretare i totali. Ogni report del canale e riferimento aggregato identifica il servizio di rete. Il valore aggregatometricsUpdatedAtè il timestamp contribuente noto più recente;oldestMetricsUpdatedAtindica l'istante contribuente più antico e resta null se una fonte pronta ha un aggiornamento sconosciuto.Le statistiche video LinkedIn facoltative includono valori unici per post di
viewersetotalTimeWatchedin minuti. Gli spettatori unici non vengono mai sommati tra post. Il valore Instagramfollowsè un conteggio attribuito per post del feed e storie idonei, non per Reel o crescita netta dei follower. Dipende dall'accesso al provider e dalla disponibilità; i valori non disponibili restano null. Non viene dedotta alcuna unità di tempo di visualizzazione Instagram.La lettura dei report LinkedIn è limitata. Se raggiunge il limite di pagine o non può avanzare in sicurezza, può restituire righe osservate utilizzabili con copertura parziale. I totali descrivono solo quel sottoinsieme, mai tutti i post dell'account. Leggi nota e stato dell'enumerazione prima di confrontare i canali.
Le righe dei risultati possono esporre
publicationDateepublicationTimeBasisseparatamente dapublishedAt. Un giorno di calendario nativo storico con fuso orario sconosciuto mantienepublishedAt: null; non inventare una pubblicazione a mezzanotte UTC. Mantieni separati i post delle diverse reti, senza unire quelli che rimandano allo stesso articolo.Leggi le sezioni di statistiche salvate del sito
Usa
storedChannelAnalyticsoppure lo strumento MCP denominatoget_stored_channel_analyticsconanalytics:read, un canale autorizzato e date esatte di inizio e fine. Ogni sezione indica fonte, disponibilità e base temporale.availableRangeselenca gli intervalli salvati senza sostituirli alle date richieste. Una sezione grezza non disponibile o troppo grande non prova l'assenza di post: controlla il codice d'errore e il risultato paginatochannelReportcome proiezione.Per TikTok, Pinterest, Tumblr e WordPress, il valore
reportpuò esporre una raccolta esplicita già salvata, etichettatasaved_developer_report. Sono dati di report salvati, non la prova che siano stati prodotti da un raccoglitore del sito nativo. Se manca un report salvato corrispondente, il dato non è disponibile; la lettura non ne raccoglie uno. Un report può essere pronto mentrecompleteoenumerationCompleteè false. Conserva copertura parziale e metriche non disponibili quando presenti i risultati.Per la paginazione dei report normalizzati, mantieni insieme ID del report restituito, canale e date e passa
posts.pageInfo.endCursorcome successivo valore diafter. Quando cambi snapshot, riparti senza cursore. La metrica salvata di un singolo post e un report incompleto del canale possono avere coperture diverse: indica lo stato e la base di ciascun risultato.Raccogli nuovi dati dal provider solo su richiesta
Usa il valore esplicito
refreshChannelReportcome mutazione oppure lo strumento MCP denominatorefresh_channel_reportsolo quando l'utente chiede di raccogliere nuovi dati dal provider. La raccolta può richiedere permessi correnti per le statistiche del provider e consuma il budget separato di aggiornamento. Può restituire lo stato in coda: interroga lo stesso ID di report e le stesse date restituiti usandochannelReport. Le letture ordinarie non effettuano accessi, non ricollegano account e non avviano automaticamente questa operazione.Includi le metriche salvate nelle letture dei post
Imposta
includeMetrics: truesupostoposts, oppure lo strumento MCP denominatoget_postelist_posts. ForniscimetricSnapshotscon ID del canale, ID del report e date iniziali e finali corrispondenti per ciascun canale. Entrambiposts:readeanalytics:readsono obbligatori. Legge solo snapshot esistenti; non contatta mai una rete né avvia raccolte di report. LeggimetricsState,metricsErrorCode, stato e base di ogni metrica emetricsUpdatedAt. Le metriche mancanti o non disponibili restano null. La cronologia salvata può essere obsoleta: conserva gli indicatori di obsolescenza e aggiornamento del report, senza presentarla come appena raccolta. Ometti l'opzione per le normali letture dei post; valgono i limiti ordinari di selezione e complessità.Per lo strumento MCP denominato
list_postsconincludeMetrics: true, la selezione predefinita completa e uno snapshot fissato, omettendofirstrestituisce attualmente al massimo 18 righe entro il limite standard di 1.000 punti di complessità. Più snapshot possono ridurre tale valore. Un valore esplicito difirstnon viene mai ridotto senza avviso: 19 righe complete con uno snapshot superano quel limite. Gli elenchi ordinari mantengono il valore predefinito di 20; meno campi possono permettere pagine più grandi. SeguipageInfo.endCursorinvece di presumere che una risposta contenga tutti i post. Questo adattamento automatico della pagina appartiene allo strumento dedicato; una query GraphQL esplicita deve scegliere una dimensione compatibile con la selezione.Conta i record locali di pubblicazione
publishingActivityconta i record conservati dei post automatici per data di creazione originale nel fuso scelto. Ogni destinazione e voce di thread conta separatamente. I conteggi aggregati includono record eliminati logicamente, escludono bozze e promemoria manuali e non recuperano record cancellati definitivamente o cronologia del solo provider. Le bozze native possono mantenere date di creazione precedenti dopo l'invio. Non sono date storiche esatte di invio o pubblicazione;currentlyDelivereddescrive lo stato attuale di questi record. Mantieni visibili la base e la nota restituite.recordedCommitEventsconta separatamente i tentativi nativi conservati per data registrata di conferma del provider, indipendentemente dalle date originali di creazione. Una ripubblicazione intenzionale conta di nuovo. L'accettazione può precedere elaborazione o consegna, quindi non sono totali di consegna. MantienicommitEventBasis,commitEventCountUnit,commitEventNotee il valore false dicommitEventHistoryCompletevisibile.Conta gli orari di pubblicazione registrati noti
publishedActivityconta i record di destinazione conservati e attualmente consegnati il cui orario nativo registrato idoneo rientra nell'intervallo di calendario e fuso richiesti. Usa le stesse regole temporali del valore nullablepost.publishedAt; le date di creazione, modifica, programmazione e conferma non le sostituiscono mai. Ogni record di destinazione o thread conta separatamente, compresi i record aggregati eliminati logicamente. MantienirangeStartUtc,rangeEndUtcExclusive,basis,countUnitecomplete: false.unknownTimeExcludedconta tutti i record consegnati selezionati e conservati con orari sconosciuti, non post sconosciuti assegnati a questo mese. Cronologia eliminata definitivamente, sovrascritta o presente solo presso il provider resta fuori da questo sottoinsieme con orari noti.Usa lo strumento MCP denominato
get_published_activity, NodepublishedActivityoppure il comando CLItools call get_published_activity. Legge record locali senza raccogliere dati dal provider. Il valore della coorte di creazione originalepublishingActivitye il valore basato sulla confermarecordedCommitEventsmantengono significati distinti.Ordina i risultati osservati
rankedPostsrichiede una metrica esplicita e uno tralifetimeoperiod_totalcome base. Valori sconosciuti e basi incompatibili sono esclusi; zero resta un punteggio reale. La copertura per rete distingue fonti complete, parziali, in coda e non disponibili. Riutilizza gli ID dei report per confronti stabili. Ogni risultato indica l'unità della metrica; i tassi di coinvolgimento usano percentuali e conservano la base di confronto. Formule di tasso note ma diverse non vengono ordinate insieme e i tassi non vengono mai sommati. La portata unica LinkedIn non viene sommata tra post. Le reazioni Mi piace Facebook sono separate dalle reazioni totali quando il provider le restituisce; i valori mancanti restano null. I risultati non dimostrano che il testo li abbia causati.Gli strumenti MCP dedicati sono
get_publishing_activityerank_posts. I metodi dell'SDK sonopublishingActivityerankPosts.Collegati con OAuth.
Registra nella console un client pubblico PKCE o un'app server riservata. Registra gli URL di callback esatti, scegli gli ambiti e fornisci l'URL della privacy dell'app. Ogni cliente sceglie i canali e può scollegare l'app.
/api/developer/oauth/authorizecon ID client, URI di reindirizzamento registrato, ambiti, state, challenge,code_challenge_method=S256e la risorsa richiesta./api/developer/oauth/token, inclusi il verifier e la risorsa originali. I client riservati si autenticano anche con il proprio segreto.Le risorse sono
Metadati di discovery OAuthhttps://backend.socialblaze.ai/api/developeroppure il relativo/graphqlo/mcpcome endpoint. I token esistenti dei connettori IA usano un'audience separata.Rendi accessibile il tuo account.
Usa una connessione MCP remota personalizzata in un assistente o client sviluppatore compatibile. L'endpoint è
https://backend.socialblaze.ai/api/developer/mcp. Usa l'accesso OAuth se il client lo supporta: per quel flusso non serve una chiave sviluppatore. Usa una chiave con ambiti limitati solo nei client che supportano un'autenticazione Bearer sicura.La sintassi di configurazione varia per client. Gli strumenti sono filtrati in base agli ambiti concessi e coprono letture di account e canali, bozze, pubblicazione, thread, revisione, modelli e report. Risorse dello schema e strumenti GraphQL generici usano gli stessi permessi e quote. La presenza in questo elenco non implica un connettore pubblicato in un marketplace.
Questi esempi usano l'endpoint MCP sviluppatori e il suo catalogo attuale di strumenti con ambiti limitati. Una connessione interattiva di pubblicazione SocialBlaze può esporre strumenti e account diversi. Se manca uno strumento dedicato, controlla connessione e permessi: una connessione di pubblicazione non implica accesso ai report.
Strutture generiche di richieste e risultati MCP
Per un client MCP inizializzato, passa il valore mostrato
{name, arguments}come oggetto intools/callcome parametri.execute_queryrichiede una dichiarazione veritiera disummary(massimo 500 caratteri) equery;execute_mutationrichiedesummaryemutation. Variabili e nome dell'operazione sono facoltativi. La query dell'account richiedeaccounts:read; creare una bozza richiededrafts:write.I risultati delle chiamate MCP possono impostare
isErrored espongonostructuredContent.erroro i dettagli di convalida; una risposta GraphQL può contenere ancheerrorsoppure un valore tipizzatoMutationError. La risposta JSON-RPC grezza contiene il risultato dello strumento sottoresulte possono avere un valore di primo livelloerror. Controlla anche il contenuto restituito: HTTP 200 da solo non indica successo.Modifica una bozza esistente, poi rileggila
Leggi prima ID e versione correnti della bozza. Sostituisci i segnaposto dell'esempio con valori reali di
get_postreali; non inviare i segnaposto invariati. La modifica di una bozza di tua proprietà usaedit_postcondraft: true, testo esplicito, una chiave di richiesta stabile edrafts:write. OmettisaveToDraft,modeedueAtper questa modifica della bozza. RestituiscepostIdeversion. L'editor dei post programmati nel futuro restituisce inveceid,versionedeleted. Seleziona solo i campi dell'operazione; recupera separatamente testo e risorse usandoget_postconposts:read.Sostituisci i file di una bozza salvata
Per una bozza di proprietà dell'integrazione, non inviata né programmata, ometti
drafte impostasaveToDraft: true. Fornisci ID e versione correnti, una chiave di richiesta stabile,drafts:writee i file sostitutivi; omettimodeedueAt. Non combinaredraft: trueconsaveToDraft: true. Questa rotta dell'editor dei post restituisceid,versionedeleted, nonpostId. L'esempio PDF di LinkedIn sostituisce l'elenco degli allegati con un documento. Sostituisci tutti i segnaposto, compresi URL e titolo, conservando la didascalia desiderata. Rileggi il post per confermare risorse e stato di bozza. La modifica non invia, programma o pubblica la bozza.n8n
Aggiungi un passaggio MCP Client, scegli HTTP Streamable e usa
Documentazione MCP Client di n8nhttps://backend.socialblaze.ai/api/developer/mcp. Seleziona Bearer Auth e salva la chiave con ambiti limitati in una credenziale n8n. Scegli uno strumento, poi usa input JSON per i parametri annidati. Inizia conget_accounto una mutazione di bozza; mantieni la stessa chiave quando ripeti un evento.Zapier
Nelle connessioni dell'app aggiungi MCP Client by Zapier. Inserisci l'endpoint sopra, scegli Streamable HTTP e OAuth. Accedi a SocialBlaze, controlla i permessi e seleziona i canali. Usa uno strumento di sola lettura per i report oppure Run Tool per un'azione autorizzata sulle bozze. Abilita la gestione degli errori e controlla i dati strutturati restituiti prima di avviare un altro passaggio.
Alcuni editor MCP Client di Zapier inviano il testo degli array come stringhe.
Configurazione MCP Client di ZapierchannelIdsrichiede un vero array. Se l'editor lo appiattisce, usaexecute_mutationcon un'unica stringa di mutazione GraphQL contenente il valore letteralechannelIds: ["YOUR_CHANNEL_ID"]. Inizia con una programmazione futura, conserva la chiave della richiesta e controlla gli errori prima di continuare.Usano i client MCP generici delle piattaforme. Disponibilità dell'account del client e tariffe dei provider sono separate dai limiti API SocialBlaze.
La pubblicazione automatica è un permesso esplicito. Usa ambiti di sola revisione quando vuoi che un assistente prepari il lavoro senza pubblicarlo.
Limiti su cui progettare.
Le finestre UTC sono condivise tra tutte le chiavi e app autorizzate. Più chiavi non moltiplicano le quote. Si addebitano solo l'operazione selezionata e i frammenti raggiungibili: un'unità ogni 25 punti di complessità, arrotondata per eccesso con minimo uno, più due per le mutazioni. Header di risposta e metadati MCP indicano unità addebitate e base del costo. È una politica iniziale prudente; aggiornamenti dai provider e file multimediali mantengono budget separati. Anche le letture in cache consumano lavoro locale di query. Pubblicazione dal sito e limiti delle reti o dei provider sono separati.
channels.ID.Retry-After; riutilizza la stessa chiave della mutazione.GraphQL può restituire errori con HTTP 200. Controlla sempre
errors. Ogni mutazione ha anche un valoretrycome variante, per esempiotryCreateDraft, con un valore di successo tipizzatoresultoMutationError. Seleziona__typenamee il valore dell'errorecode,httpStatus,message,fieldseretryAfterSeconds. Un errore tipizzato può comparire indatacon HTTP 200: controlla anche questo esito.Anche chi chiama MCP deve controllare
isErrorestructuredContent: gli errori possono comparire come valori GraphQLerrors, un valore tipizzatoMutationError,errorovalidationanche quando la richiesta di trasporto riesce. Quando disponibile,_metaincludehttpStatus,chargedWorkUnits, disponibilità residue eretryAfterSeconds. Un client che nasconde i metadati non dimostra che una chiamata fosse gratuita. Risolvi gli errori di autorizzazione o convalida prima di riprovare. Se l'esito di una scrittura è incerto, conserva chiave e input originali; leggi lo stato del post salvato anziché creare un'altra pubblicazione.Sono limiti dell'anteprima, non una promessa che il provider consenta gli stessi volumi.
Inizia con un flusso semplice.
Bot dei report del venerdì
Avvia un timer settimanale, leggi i post consegnati e gli snapshot esistenti dei risultati della settimana, poi invia il report tramite la tua connessione Slack.
Da modulo a bozza
Usa un webhook Zapier o un nodo HTTP Request di n8n per chiamare
createDraft. Conserva la credenziale nell'archivio dei segreti della piattaforma e usa un ID evento stabile come requestKey.Dalla libreria alla campagna
Scegli un modello salvato, crea la bozza e inviala in revisione. Programmala solo dopo aver soddisfatto i requisiti di approvazione.
Reportistica personalizzata
Porta le metriche dei canali selezionati nella tua dashboard. Riutilizza gli ID degli snapshot durante il polling e conserva i valori sconosciuti o incompleti.
Importa un flusso n8n
Scarica un flusso, scegli Import from File in n8n, modifica gli input e associa la tua credenziale Bearer Auth al passaggio MCP Client. Ogni flusso inizia con un'attivazione manuale e resta inattivo dopo l'importazione. Le chiavi vanno nelle credenziali n8n, mai nel JSON.
Importati con n8n 2.43.5; chiamate del nodo MCP verificate su un ambiente API isolato. L'esecuzione ospitata con le tue credenziali richiede una verifica separata. Usano client MCP generici e non implicano un'app in un marketplace o un modello Zapier pubblicato. Gestisci nel tuo flusso le autorizzazioni per messaggi esterni.
Leggi lo schema corrente.
Il riferimento è generato dai tipi GraphQL implementati. L'introspezione autenticata e l'esploratore forniscono il contratto effettivamente distribuito. SocialBlaze usa identificativi e schema propri.
Scarica lo schema GraphQLFornisci al tuo assistente di programmazione la Guida API leggibile dall'IA per usare endpoint, permessi, versioni e regole di ripetizione corretti.
Client Node lato server
Il pacchetto con versione include dichiarazioni TypeScript e un client da riga di comando. Installa il file scaricato con
npm install ./socialblaze-developer-client-0.1.14.tgz. Conserva la chiave in una variabile d'ambiente del server.Usa i comandi dedicati per post e bozze,
tools list,tools describe NAME,tools call NAME,schema describe TYPEedoctor. Fornisci il JSON direttamente, da un file o tramite stdin.--dry-runcontrolla le regole di base dichiarate per gli input senza chiamare lo strumento; la discovery consuma comunque quota e non conferma convalida o consegna del provider. La CLI non ripete mai automaticamente le scritture.Le letture dei post supportano
postTypesedueAtPresencecome filtri per formati nativi salvati e presenza della data programmata. Azzera il cursore quando cambiano i filtri. Questi filtri non abilitano ulteriori formati di pubblicazione.Lo strumento denominato
list_channelssupporta pagine da 1 a 100 elementi, con 20 predefiniti, usandoafterId. Per pagine più grandi seleziona meno campi; valgono i limiti ordinari di complessità e lavoro. I filtri di formato includono anche i contenuti Google Businessevent,offerewhats_new, in base ai metadati nativi salvati. Questi gruppi si sovrappongono intenzionalmente alla normale categoria dei post e non abilitano nuovi formati di pubblicazione.Node
getPostecontentItemrestituiscono gli URL delle risorse, incluse anteprime statiche e animate. NodelistPostsmantiene la proiezione compatta senza risorse; usa una lettura individuale o una selezione GraphQL esplicita. NodegetPostincludeisDraftma mantiene una proiezione compatta senza metodo di pubblicazione o stato del promemoria manuale. Usa lo strumento denominatoget_postoppure una query GraphQL esplicita per quei campi; client generico e CLI possono trasportare le nuove operazioni di bozza senza modificare il pacchetto SDK immutabile.Seleziona i campi della risposta
Le chiamate CLI dedicate accettano
--fields 'id,text'e gruppi affini come--fields 'nodes.{id,text},pageInfo.endCursor'. I percorsi sono relativi al risultato indicato. Il server costruisce una selezione GraphQL più piccola e la convalida prima dell'esecuzione. Gli addebiti riflettono quella selezione. Mantieni ID e versioni per seguire le scritture e conserva base, note e copertura dei report.allripristina la selezione standard dello strumento, non tutti i campi dello schema. Gli strumenti MCP dedicati accettano lo stesso valorefieldscome stringa. I metadati di paginazione dei canali restano disponibili anche quando i campi mostrati omettono gli ID. I comandi di query generici usano il proprio documento esplicito.Configurazione CLI e istruzioni per gli agenti
socialblaze initscrive i valori predefiniti locali;config patheconfig get --allper esaminarli. Sono consigliate le credenziali d'ambiente. Solo il comando esplicitoinit --save-tokensalva un token in un file globale non cifrato fuori dal progetto corrente. La configurazione del repository supporta solo fuso orario e timeout e non può fornire credenziali o reindirizzarne l'origine. L'output di configurazione nasconde le chiavi salvate; rimuoverle localmente non revoca la chiave sul server.context --listelenca gli argomenti della skill per agenti inclusa;contextstampa offline la skill e le istruzioni sui report.completion bash,zsh,fishopowershellstampa uno script di completamento della shell. Usasocialblaze install claudeoinstall codexper un'installazione esplicita e gestita della skill offline;uninstall claudeouninstall codexannulla un'installazione invariata. Le cartelle personalizzate o collegate vengono conservate. L'installazione del pacchetto e init non installano skill né cambiano i profili della shell. I suggerimenti coprono gruppi statici di comandi. La versione 0.1.5 corregge il completamento zsh annidato. I suggerimenti statici sono verificati in runtime offline reali di bash, zsh ZLE e fish; l'output PowerShell è controllato dal parser. Queste verifiche non eseguono strumenti remoti né autorizzano pubblicazioni.Leggi la skill per agenti inclusa. Conserva la tua autorizzazione e distingue conteggi di record locali, classifiche osservate e cronologia incompleta del provider. Consulta il riferimento collegato sui report per questi flussi.
Scarica il client Node 0.1.14Serve aiuto per una richiesta specifica? Scrivi a [email protected] indicando nome dell'operazione, stato e codice d'errore sicuro. Non includere mai chiavi, token di aggiornamento o credenziali social.