Productontwikkelaars
Voeg publicatie toe aan je product.
Een fictieve dagboekapp voegt een door de gebruiker bevestigde actie toe om socialmediaberichten in te plannen en resultaten te tonen.
JOUW PRODUCT + SOSOAPI
Voorbeeld van een integratieproces- Jouw productBereid voor en bevestig
- SosoAPIPlan één bevestigd bericht in
- Socialmedia-accountVolg het resultaat
Drie stappen
Bereid de inhoud voor
Verzamel tekst en afbeeldingen in je product.
Laat gebruikers bevestigen
Toon account, inhoud en tijdstip vóór het inplannen.
Breng resultaten terug
Toon voortgang en het definitieve publicatieresultaat.
Socialmediapublicatie wordt onderdeel van je product.
Bekijk de volledige handleiding
Scenario
Voeg aan een fictief dagboekproduct een bewuste, beoordeelbare actie ‘plan deze update in’ toe. Houd de werkruimte en het exacte verbonden account zichtbaar en toon de teruggegeven status zonder providerpublicatie te suggereren.

Voordat je begint
- Maak en verifieer je SosoAPI-account en selecteer daarna de bedoelde werkruimte.
- Maak een API-sleutel in App Settings → Agents & API Access. Bewaar die als SOSOAPI_API_KEY in je serveromgeving; deze JavaScript-voorbeelden gebruiken Node.js 20+ en vereisen de SosoAPI-bronrepository niet.
- Kies een echte werkruimte-UUID en Threads-socialmedia-account-UUID uitsluitend uit het huidige toegestane bereik. Het account moet geschikt zijn voor een Threads-tekstbericht.
- De eigenaar van de API-sleutel heeft editor- of owner-toegang tot de gekozen werkruimte nodig. Bewaar de sleutel op je server, buiten browsercode, verzoek-JSON en logs.
Voorbeeldinvoer
- Fictief product
- Harborlight Journal · concept voor een privé-dagboekapp; er wordt geen echte integratie geclaimd.
- Gebruikersintentie
- Plan één beoordeelde productnotitie in voor een gekozen Threads-account op een toekomstig lokaal tijdstip.
- Voorbeeldtekst
- ‘Een kleine notitie voor later: Harborlight Journal maakt ruimte voor kortere dagelijkse reflecties. Bewaar één gedachte; laat de rest voor morgen.’
- Vereist bereik tijdens uitvoering
- <workspace-uuid> en <threads-social-account-uuid> uit het huidige door de gebruiker toegestane bereik; leid nooit IDs af.
- Inplannen
- <future ISO-8601 instant with offset>, met display_timezone ingesteld op Asia/Hong_Kong.
- Identiteit bij opnieuw proberen
- <unique stable idempotency key for this one user intent>; hergebruik deze alleen wanneer je hetzelfde verzoek veilig opnieuw probeert.
Handleiding
Ontwerp productbevestiging vóór de API-aanroep
Open dit onderdeel in SosoAPISelecteer in de SosoAPI-app de bedoelde werkruimte en controleer het verbonden account. Toon in je productmodel dezelfde door de gebruiker gekozen werkruimte en hetzelfde account, zonder stilzwijgend zelf te kiezen.
Toon het exacte bijschrift, account, lokale tijd en tijdzone in een bevestigingsstap. Laat de persoon Schedule kiezen; alleen het formulier openen mag niets indienen.
Wat je kunt verwachten
Een persoon kan vóór de schrijfhandeling de bestemming en het tijdstip zien. Het fictieve productmodel is een ontwerpoefening, geen geïnstalleerde klantintegratie.
Lees de huidige Scheduled Posts vanaf je server
Vervang <workspace-uuid> door je geselecteerde werkruimte-ID en voer dit leesverzoek uit op je 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.Gebruik de teruggegeven gegevens om de lijst in je product te vernieuwen. Houd gebruikersbevestiging gescheiden van deze leesactie.
Wat je kunt verwachten
Je ontvangt de huidige werkruimteberichten of een autorisatie-/validatiefout. Dit leesverzoek maakt geen berichten.
Dien pas in na expliciete bevestiging van de gebruiker
Open Calendar en kies New Post om de beoordelingsstap met dezelfde actie in de app te vergelijken.
Vervang elke placeholder door toegestane IDs, een toekomstige ISO-tijdstempel met offset en een unieke idempotentiesleutel. Beoordeel account, tekst en tijdstip voordat je dit serververzoek uitvoert.
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.Dit verzoek plant een echt bericht in. Dien pas in na bevestiging van de gebruiker en stel de API-sleutel nooit bloot aan een browser.
Wat je kunt verwachten
Een geldig geaccepteerd antwoord identificeert de resulterende Scheduled Post; het bewijst niet dat een provider deze heeft gepubliceerd. Toon geweigerde bevoegdheid, ongeldig bereik/account, niet-ondersteunde inhoud of geweigerde planning als fout, niet als succes.
Toon de teruggegeven status en bied de gebruiker een veilige vervolgstap
Open dit onderdeel in SosoAPIBewaar de teruggegeven Scheduled Post-ID en toon huidige status, bestemming en planning in het product.
Verwijs de gebruiker naar het bijbehorende Scheduled Post-detail. Verwijs bij benodigde menselijke aandacht naar het Needs Attention-item in plaats van stilzwijgend opnieuw in te dienen.
Markeer het verzoek pas als gepubliceerd wanneer de definitieve providerbevestigde status is vastgelegd.
Wat je kunt verwachten
Het product onderscheidt een verzoekontvangstbewijs van ingeplande, publicerende, gepubliceerde, mislukte en onbekende waarnemingen. Onbekende resultaten worden met het bestaande bericht afgestemd vóór een nieuwe schrijfhandeling.
Eerst een ontvangstbewijs. Daarna een publicatieresultaat.
De voorbeelden hieronder tonen geselecteerde API-antwoordvelden met fictieve waarden. Bewaar na het inplannen post.id en gebruik deze om het resultaat van dat bericht te controleren.
1. Aanmaakantwoord
{
"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. Lees hetzelfde bericht
POST /studio-api/scheduled-posts/get
{
"id": "10000000-0000-4000-8000-000000000001"
}Na bevestiging door de provider kan het detailantwoord het volgende bevatten:
{
"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- Gebruik de werkelijke status, zoals scheduled, publishing, published of failed. Lees bij verbroken verbinding hetzelfde bericht voordat je bepaalt wat er is gebeurd.
post.permalink- De providerlink naar het bericht indien beschikbaar; kan null zijn. Bovenstaande URL is een voorbeeld.
delivery / outcomes- Het detailantwoord toont de publicatievoortgang en beschikbare platformresultaten voor het bericht. Controleer bij mislukking die gegevens en Needs Attention voordat je een vervolgstap kiest.
Dit zijn veldvoorbeelden, geen echt publicatiebewijs. Deze pagina doet geen API-aanroepen.
Wat elke status betekent
SubmittedVerzoekantwoord- Je verzoek is ontvangen. Controleer de huidige berichtstatus voordat je het als ingepland of gepubliceerd behandelt.
ScheduledBerichtdetails- De Scheduled Post is geaccepteerd voor een toekomstig tijdstip. Houd bestemming en geplande tijd zichtbaar tijdens het wachten.
PublishingBerichtdetails- Aflevering is bezig. Wacht op een definitief resultaat; een lopende status betekent geen succes.
PublishedBerichtdetails- Gebruik dit pas nadat SosoAPI definitieve providerbevestiging voor de Scheduled Post vastlegt.
FailedBerichtdetails- Een definitieve mislukking moet worden beoordeeld. Controleer berichtdetails en beschikbare acties voordat je beslist wat je wijzigt of opnieuw probeert.
UnknownWat de app toont- Controleer bij verbroken verbinding en onduidelijk resultaat Scheduled Posts en Needs Attention voordat je opnieuw indient.
Gerelateerde handleidingen
De handleiding bevat API-voorbeelden voor servergebruik. Configureer vóór uitvoering je toegestane IDs en API-sleutel; de pagina zelf doet geen verzoeken.
Probeer je eerste proces.
Maak je account en begin met Free.