Termékfejlesztők

Adj közzétételt a termékedhez.

Egy képzeletbeli naplózóalkalmazás felhasználó által megerősített műveletet ad a közösségi bejegyzések időzítéséhez és az eredmények megjelenítéséhez.

A TERMÉKED + SOSOAPI

Szemléltető integrációs folyamat
  1. A termékedElőkészítés és megerősítés
  2. SosoAPIIdőzíts egy megerősített bejegyzést
  3. Közösségi fiókKövesd az eredményt
Példa integrációs folyamat. Nyisd meg az útmutatót a szerveroldali API-kérésekhez és válaszmezőkhöz.

Három lépés

  1. Készítsd elő a tartalmat

    Gyűjtsd össze a szöveget és képeket a termékedben.

  2. A felhasználó erősítse meg

    Időzítés előtt mutasd meg a fiókot, tartalmat és időpontot.

  3. Hozd vissza az eredményeket

    Jelenítsd meg az előrehaladást és a végleges közzétételi eredményt.

A közösségi közzététel a terméked részévé válik.

A teljes útmutató megtekintése

Helyzet

Adj egy képzeletbeli naplózótermékhez tudatos, ellenőrizhető „hír időzítése” műveletet. Tartsd láthatóan a felhasználó munkaterületét és pontos összekapcsolt fiókját, és mutasd a visszakapott állapotot anélkül, hogy szolgáltatói közzétételt sugallnál.

SosoAPI mintamunkaterület-illusztráció az „Adj közzétételt a termékedhez.” témához
A közös Új bejegyzés szerkesztő képzeletbeli adatokkal. Nem küldtünk be bejegyzést.

Mielőtt elkezded

  • Hozd létre és ellenőrizd SosoAPI-fiókodat, majd válaszd ki a kívánt munkaterületet.
  • Hozz létre API-kulcsot az Alkalmazásbeállítások → Ügynökök és API-hozzáférés alatt. SOSOAPI_API_KEY néven tárold a szerverkörnyezetben; ezek a JavaScript-példák Node.js 20+ verziót használnak, és nem igénylik a SosoAPI forrásadattárát.
  • Valódi munkaterület-UUID-t és Threads-közösségifiók-UUID-t csak az aktuális engedélyezett hatókörből válassz. A fióknak jogosultnak kell lennie Threads-szöveges bejegyzésre.
  • Az API-kulcs tulajdonosának editor vagy owner hozzáférés kell a kiválasztott munkaterülethez. A kulcsot a szervereden tartsd, böngészőkódon, kérés-JSON-on és naplókon kívül.

Példabemenetek

Képzeletbeli termék
Harborlight Journal · privát naplózóalkalmazás-koncepció; nem állítunk valódi integrációt.
Felhasználói szándék
Egy ellenőrzött termékhír időzítése kiválasztott Threads-fiókhoz jövőbeli helyi időpontra.
Példaszöveg
„Egy kis gondolat későbbre: a Harborlight Journal rövidebb napi elmélkedéseknek ad helyet. Őrizz meg egy gondolatot; a többit hagyd holnapra.”
Szükséges futásidejű hatókör
<workspace-uuid> és <threads-social-account-uuid> az aktuális, felhasználó által engedélyezett hatókörből; soha ne találj ki azonosítókat.
Időzítés
<future ISO-8601 instant with offset>, az Asia/Hong_Kong display_timezone értékkel.
Újrapróbálás azonossága
<unique stable idempotency key for this one user intent>; csak ugyanennek a kérésnek biztonságos újrapróbálásakor használd újra.

Részletes útmutató

  1. Az API-hívás előtt tervezd meg a termék megerősítési lépését

    A terület megnyitása a SosoAPI-ban
    • A SosoAPI alkalmazásban válaszd ki a kívánt munkaterületet, és ellenőrizd az összekapcsolt fiókját. A termékmintában ugyanezt, a felhasználó által kiválasztott munkaterületet és fiókot mutasd, ne válassz csendben másikat.

    • Megerősítési lépésben mutasd a pontos szöveget, fiókot, helyi időpontot és időzónát. A személynek kell az Időzítés lehetőséget választania; az űrlap megnyitása nem küldhet be semmit.

    Mire számíthatsz

    Írás előtt egy személy látja a célhelyet és az időpontot. A képzeletbeli termékminta tervezési gyakorlat, nem telepített ügyfélintegráció.

  2. Olvasd el a jelenlegi Scheduled Posts bejegyzéseket a szerveredről

    • A <workspace-uuid> helyére a kiválasztott munkaterület-azonosítót írd, majd futtasd ezt a csak olvasási kérést a szervereden:

    • 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.
    • A visszakapott adatokkal frissítsd a termék listáját. A felhasználó megerősítése maradjon külön ettől az olvasástól.

    Mire számíthatsz

    Megkapod a munkaterület aktuális bejegyzéseit vagy egy engedélyezési/ellenőrzési hibát. Ez a csak olvasási kérés nem hoz létre bejegyzést.

  3. Csak a felhasználó kifejezett megerősítése után küldd be

    • Nyisd meg a Naptárt, és válaszd az Új bejegyzés lehetőséget az ellenőrzési lépés és az alkalmazás azonos műveletének összehasonlításához.

    • Minden helyőrzőt cserélj engedélyezett azonosítóra, jövőbeli, időeltolásos ISO-időbélyegre és egyedi idempotenciakulcsra. A szerveroldali kérés futtatása előtt ellenőrizd a fiókot, szöveget és időpontot.

    • 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.
    • Ez a kérés valódi időzítést hoz létre. Csak a felhasználó megerősítése után küldd be, és soha ne tedd böngészőből elérhetővé az API-kulcsot.

    Mire számíthatsz

    Az érvényes, elfogadott válasz azonosítja a létrejött Scheduled Post bejegyzést; nem bizonyítja, hogy a szolgáltató közzétette. Megtagadott képességet, érvénytelen hatókört/fiókot, nem támogatott payloadot vagy elutasított időzítést hibaként kell mutatni, nem sikerként.

  4. Jelenítsd meg a visszakapott állapotot, és adj biztonságos következő lépést a felhasználónak

    A terület megnyitása a SosoAPI-ban
    • Tárold a visszakapott Scheduled Post azonosítóját, és mutasd az aktuális állapotát, célhelyét és időzítését a termékben.

    • A megfelelő Scheduled Post részleteire irányítsd a felhasználót. Ha a kézbesítés személyt igényel, csendes újraküldés helyett a Figyelmet igényel elemre hivatkozz.

    • Ne jelöld a kérést közzétettnek, amíg a szolgáltató által megerősített végleges állapotot nem rögzítették.

    Mire számíthatsz

    A termék megkülönbözteti a kérés visszaigazolását az időzített, folyamatban lévő, közzétett, sikertelen és ismeretlen megfigyelésektől. Az ismeretlen eredményeket új írás előtt a meglévő bejegyzéssel egyezteti.

Előbb kérés-visszaigazolás. Aztán közzétételi eredmény.

Az alábbi példák kiválasztott API-válaszmezőket mutatnak képzeletbeli értékekkel. Időzítés létrehozása után mentsd el a post.id értékét, és ezzel ellenőrizd a bejegyzés eredményét.

1. Létrehozási válasz

{
  "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. Ugyanazt a bejegyzést olvasd

POST /studio-api/scheduled-posts/get
{
  "id": "10000000-0000-4000-8000-000000000001"
}

Szolgáltatói megerősítés után a részletes válasz tartalmazhatja:

{
  "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
A tényleges állapotot használd, például scheduled, publishing, published vagy failed. Kapcsolatvesztéskor ugyanazt a bejegyzést olvasd, mielőtt eldöntöd, mi történt.
post.permalink
A szolgáltatói bejegyzéslink, ha elérhető; lehet null. A fenti URL példa.
delivery / outcomes
A részletes válasz a közzététel előrehaladását és a bejegyzéshez elérhető platformeredményeket mutatja. Hiba esetén a további lépés kiválasztása előtt ellenőrizd ezeket és a Figyelmet igényel elemet.

Ezek mezőpéldák, nem élő közzétételi bizonylat. Ez az oldal nem hív API-t.

Az egyes állapotok jelentése

SubmittedKérésválasz
A kérésed beérkezett. Mielőtt időzítettnek vagy közzétettnek tekinted, ellenőrizd a bejegyzés aktuális állapotát.
ScheduledBejegyzés részletei
A Scheduled Post jövőbeli időpontra elfogadva. Várakozás közben tartsd láthatóan a célhelyét és az időzített időpontját.
PublishingBejegyzés részletei
A kézbesítés folyamatban van. Várj végleges eredményre; a folyamatban lévő állapot nem jelent sikert.
PublishedBejegyzés részletei
Csak akkor használd, ha a SosoAPI már rögzítette a Scheduled Post végleges szolgáltatói megerősítését.
FailedBejegyzés részletei
A végleges hibát ellenőrizni kell. Módosítás vagy újrapróbálás előtt nézd meg a bejegyzés részleteit és az elérhető műveletet.
UnknownAmit az alkalmazás mutat
Ha megszakad a kapcsolat és bizonytalan az eredmény, újbóli beküldés előtt ellenőrizd az Időzített bejegyzések és Figyelmet igényel nézeteket.

Kapcsolódó útmutatók

Az útmutató szerveroldali API-példákat tartalmaz. Futtatás előtt állítsd be az engedélyezett azonosítókat és API-kulcsot; maga az oldal nem küld kérést.

Próbáld ki az első munkafolyamatodat.

Hozd létre a fiókodat, és kezdj a Free csomaggal.

Kezdj a Free csomaggal