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
  1. Din produktFörbered och bekräfta
  2. SosoAPISchemalägg ett bekräftat inlägg
  3. Socialt kontoFölj resultatet
Exempel på integrationsflöde. Öppna genomgången för serverbaserade API-anrop och svarsfält.

Tre steg

  1. Förbered innehållet

    Samla text och bilder i din produkt.

  2. Låt användare bekräfta

    Visa konto, innehåll och tid före schemaläggning.

  3. 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.

Illustration av en SosoAPI-exempelarbetsyta för ”Lägg till publicering i din produkt..”
Den delade redigeraren Nytt inlägg med fiktiva uppgifter. Inget inlägg skickades in.

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

  1. Utforma produktens bekräftelse före API-anropet

    Öppna området i SosoAPI
    • Vä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.

  2. 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.

  3. 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.

  4. Visa returnerad status och ge användaren en säker uppföljning

    Öppna området i SosoAPI
    • Spara 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.

Börja med Free