Produktutvecklare
Lägg till publicering i din produkt.
En fiktiv dagboksapp lägger till en användarbekräftad åtgärd för att schemalägga sociala inlägg och visa resultat.
DIN PRODUKT + SOSOAPI
Illustrativt integrationsflöde- Din produktFörbered och bekräfta
- SosoAPISchemalägg ett bekräftat inlägg
- Socialt kontoFölj resultatet
Tre steg
Förbered innehållet
Samla text och bilder i din produkt.
Låt användare bekräfta
Visa konto, innehåll och tid före schemaläggning.
För tillbaka resultat
Visa förlopp och slutligt publiceringsresultat.
Social publicering blir en del av din produkt.
Visa hela genomgången
Scenario
Lägg till en medveten, granskningsbar åtgärd för att ”schemalägga denna uppdatering” i en fiktiv dagboksprodukt. Håll användarens arbetsyta och exakta anslutna konto synliga och visa returnerad status utan att antyda publicering hos leverantören.

Innan du börjar
- Skapa och verifiera ditt SosoAPI-konto och välj sedan avsedd arbetsyta.
- Skapa en API-nyckel i Appinställningar → Agenter och API-åtkomst. Lagra den som SOSOAPI_API_KEY i servermiljön; dessa JavaScript-exempel använder Node.js 20+ och kräver inte SosoAPI:s källkodsarkiv.
- Välj ett verkligt arbetsyte-UUID och socialt Threads-konto-UUID endast från aktuellt behörigt omfång. Kontot måste vara behörigt för ett Threads-textinlägg.
- API-nyckelns ägare behöver editor- eller owner-åtkomst till vald arbetsyta. Behåll nyckeln på servern, utanför webbläsarkod, anrops-JSON och loggar.
Exempelindata
- Fiktiv produkt
- Harborlight Journal · ett koncept för en privat dagboksapp; ingen verklig integration påstås.
- Användaravsikt
- Schemalägg en granskad produktnotis för ett valt Threads-konto vid en framtida lokal tid.
- Exempeltext
- ”En liten anteckning till senare: Harborlight Journal ger plats åt kortare dagliga reflektioner. Behåll en tanke; lämna resten till i morgon.”
- Obligatoriskt körningsomfång
- <workspace-uuid> och <threads-social-account-uuid> från det aktuella omfång som användaren har godkänt; härled aldrig ID:n.
- Schemalägg
- <future ISO-8601 instant with offset>, med display_timezone satt till Asia/Hong_Kong.
- Identitet vid nytt försök
- <unique stable idempotency key for this one user intent>; återanvänd den endast vid säkra nya försök med samma begäran.
Genomgång
Utforma produktens bekräftelse före API-anropet
Öppna området i SosoAPIVälj avsedd arbetsyta i SosoAPI-appen och granska dess anslutna konto. Visa samma användarvalda arbetsyta och konto i din produktmodell i stället för att välja ett i tysthet.
Visa exakt bildtext, konto, lokal tid och tidszon i ett bekräftelsesteg. Kräv att personen väljer Schemalägg; att öppna formuläret får inte skicka in något.
Vad du kan förvänta dig
En människa kan se mål och tid före skrivningen. Den fiktiva produktmodellen är en designövning, ingen installerad kundintegration.
Läs aktuella Scheduled Posts från din server
Ersätt <workspace-uuid> med valt arbetsyte-ID och kör sedan detta skrivskyddade anrop på din server:
const apiKey = process.env.SOSOAPI_API_KEY; if (!apiKey) throw new Error("Configure a SosoAPI API key on your server"); const response = await fetch( "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/list", { method: "POST", headers: { "Authorization": "Bearer " + apiKey, "Content-Type": "application/json" }, body: JSON.stringify({"workspace_id":"<workspace-uuid>"}) } ); const result = await response.json(); if (!response.ok) throw new Error("SosoAPI request failed: " + response.status); // Use result in your server response; never return or log the API key.Använd returnerade data för att uppdatera produktens lista. Håll användarens bekräftelse separat från denna läsning.
Vad du kan förvänta dig
Du får arbetsytans aktuella inlägg eller ett auktoriserings-/valideringsfel. Detta skrivskyddade anrop skapar inga inlägg.
Skicka in först efter uttrycklig användarbekräftelse
Öppna kalendern och välj Nytt inlägg för att jämföra granskningssteget med samma åtgärd i appen.
Ersätt varje platshållare med dina behöriga ID:n, en framtida ISO-tidsstämpel med tidszonsförskjutning och en unik idempotensnyckel. Granska konto, text och tid innan du kör detta serverbaserade anrop.
const apiKey = process.env.SOSOAPI_API_KEY; if (!apiKey) throw new Error("Configure a SosoAPI API key on your server"); const response = await fetch( "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/create", { method: "POST", headers: { "Authorization": "Bearer " + apiKey, "Content-Type": "application/json" }, body: JSON.stringify({ "workspace_id": "<workspace-uuid>", "social_account_id": "<threads-social-account-uuid>", "caption": "A small note for later: Harborlight Journal is making room for shorter daily reflections. Keep one thought; leave the rest for tomorrow.", "hashtags": [], "media": [], "provider_payload": {"platform": "threads", "publish_options": {"post_type": "TEXT"}}, "scheduled_at": "<future ISO-8601 instant with offset>", "display_timezone": "Asia/Hong_Kong", "idempotency_key": "<unique-stable-key-for-this-intent>" }) } ); const result = await response.json(); if (!response.ok) throw new Error("SosoAPI request failed: " + response.status); // Use result in your server response; never return or log the API key.Anropet skapar en riktig schemaläggning. Skicka först efter användarens bekräftelse och exponera aldrig API-nyckeln för en webbläsare.
Vad du kan förvänta dig
Ett giltigt accepterat svar identifierar resulterande Scheduled Post; det bevisar inte att en leverantör har publicerat det. Nekad funktion, ogiltigt omfång/konto, ej stödd payload eller avvisad schemaläggning måste visas som fel och inte rapporteras som framgång.
Visa returnerad status och ge användaren en säker uppföljning
Öppna området i SosoAPISpara returnerat Scheduled Post-ID och visa dess aktuella tillstånd, destination och schemaläggning i produkten.
Länka användaren till motsvarande Scheduled Post-detaljvy. Om leveransen behöver en person, länka posten under Kräver åtgärd i stället för att tyst skicka in igen.
Märk inte begäran som publicerad förrän slutlig leverantörsbekräftad status har registrerats.
Vad du kan förvänta dig
Produkten skiljer ett mottagningskvitto från observationerna schemalagt, publicering pågår, publicerat, misslyckat och okänt. Okända resultat stäms av mot det befintliga inlägget före en ny skrivning.
Ett mottagningskvitto. Sedan ett publiceringsresultat.
Exemplen nedan visar utvalda API-svarsfält med fiktiva värden. Spara post.id när du har skapat en schemaläggning och använd det för att kontrollera samma inläggs resultat.
1. Svar från create
{
"post": {
"id": "10000000-0000-4000-8000-000000000001",
"status": "scheduled",
"scheduled_at": "2100-01-05T10:00:00+08:00",
"published_at": null,
"permalink": null
},
"deduped": false
}2. Läs samma inlägg
POST /studio-api/scheduled-posts/get
{
"id": "10000000-0000-4000-8000-000000000001"
}Efter leverantörsbekräftelse kan detaljsvaret innehålla:
{
"post": {
"id": "10000000-0000-4000-8000-000000000001",
"status": "published",
"published_at": "2100-01-05T02:00:08Z",
"permalink": "https://www.threads.net/@example/post/EXAMPLE"
},
"delivery": {
"stage": "terminal",
"message": "Published on Threads."
}
}post.status- Använd faktisk status som scheduled, publishing, published eller failed. Om en anslutning bryts, läs samma inlägg innan du avgör vad som hände.
post.permalink- Leverantörens inläggslänk när den finns; kan vara null. URL:en ovan är ett exempel.
delivery / outcomes- Detaljsvaret visar publiceringsförlopp och de plattformsresultat som finns för inlägget. Om det misslyckas, kontrollera dessa detaljer och Kräver åtgärd innan du väljer nästa steg.
Detta är fältexempel, inget verkligt publiceringskvitto. Sidan gör inga API-anrop.
Vad varje status betyder
SubmittedAnropssvar- Din begäran har tagits emot. Kontrollera inläggets aktuella status innan du betraktar det som schemalagt eller publicerat.
ScheduledInläggsinformation- Scheduled Post har accepterats för en framtida tid. Håll destination och schemalagd tid synliga medan det väntar.
PublishingInläggsinformation- Leveransen pågår. Vänta på ett slutligt resultat; en pågående status är inte framgång.
PublishedInläggsinformation- Använd detta först när SosoAPI har registrerat slutlig leverantörsbekräftelse för Scheduled Post.
FailedInläggsinformation- Ett slutligt fel måste granskas. Kontrollera inläggsinformationen och tillgänglig åtgärd innan du bestämmer vad som ska ändras eller försökas igen.
UnknownVad appen visar- Om en anslutning bryts och resultatet är oklart, kontrollera Scheduled Posts och Kräver åtgärd innan du skickar in igen.
Relaterade guider
Genomgången innehåller serverbaserade API-exempel. Konfigurera dina behöriga ID:n och din API-nyckel före körning; själva sidan gör inga anrop.
Prova ditt första arbetsflöde.
Skapa ditt konto och börja med Free.