מפתחי מוצרים

הוסיפו פרסום למוצר שלכם.

אפליקציית יומן בדויה מוסיפה פעולה באישור המשתמש לתזמון פוסטים חברתיים ולהצגת תוצאות.

המוצר שלכם + SOSOAPI

תהליך שילוב להמחשה
  1. המוצר שלכםהכנה ואישור
  2. SosoAPIתזמון פוסט מאושר אחד
  3. חשבון חברתיעקבו אחר התוצאה
תהליך שילוב לדוגמה. פתחו את המדריך לבקשות API בצד השרת ולשדות תגובה.

שלושה שלבים

  1. הכנת התוכן

    אספו נוסח ותמונות בתוך המוצר שלכם.

  2. תנו למשתמשים לאשר

    הציגו את החשבון, התוכן והשעה לפני התזמון.

  3. החזירו תוצאות

    הציגו התקדמות ואת תוצאת הפרסום הסופית.

פרסום חברתי הופך לחלק מהמוצר שלכם.

צפייה במדריך המלא

תרחיש

הוסיפו פעולת ״תזמון העדכון הזה״ מכוונת וניתנת לבדיקה למוצר יומן בדוי. השאירו את סביבת העבודה ואת החשבון המחובר המדויק של המשתמש גלויים, והציגו את המצב שהוחזר בלי לרמוז שהספק פרסם.

איור סביבת עבודה לדוגמה של SosoAPI עבור ״הוסיפו פרסום למוצר שלכם.״
עורך הפוסט החדש המשותף עם נתונים בדויים. לא נשלח פוסט.

לפני שמתחילים

  • צרו ואמתו את חשבון SosoAPI ואז בחרו את סביבת העבודה המיועדת.
  • צרו מפתח API בהגדרות האפליקציה ← סוכנים וגישת API. שמרו אותו כ-SOSOAPI_API_KEY בסביבת השרת; דוגמאות JavaScript האלה משתמשות ב-Node.js 20+ ואינן דורשות את מאגר המקור של SosoAPI.
  • בחרו UUID אמיתי של סביבת עבודה ו-UUID של חשבון חברתי ב-Threads רק מההיקף המורשה הנוכחי. החשבון חייב להתאים לפוסט טקסט ב-Threads.
  • בעלי מפתח ה-API צריכים גישת editor או owner לסביבת העבודה הנבחרת. השאירו את המפתח בשרת, מחוץ לקוד דפדפן, ל-JSON הבקשה וליומנים.

קלט לדוגמה

מוצר בדוי
Harborlight Journal · רעיון לאפליקציית יומן פרטי; אין טענה לשילוב אמיתי.
כוונת המשתמש
תזמון הערת מוצר אחת שנבדקה לחשבון Threads נבחר במועד מקומי עתידי.
נוסח לדוגמה
״הערה קטנה להמשך: Harborlight Journal מפנה מקום להרהורים יומיים קצרים יותר. שמרו מחשבה אחת; השאירו את השאר למחר.״
היקף נדרש בזמן ריצה
<workspace-uuid> ו-<threads-social-account-uuid> מההיקף שהמשתמש אישר כעת; לעולם אין להסיק מזהים.
תזמון
<future ISO-8601 instant with offset>, עם display_timezone המוגדר ל-Asia/Hong_Kong.
זהות לניסיון חוזר
<unique stable idempotency key for this one user intent>; השתמשו בו שוב רק בניסיון חוזר בטוח לאותה בקשה.

מדריך מעשי

  1. תכננו אישור במוצר לפני קריאת ה-API

    פתיחת האזור הזה ב-SosoAPI
    • באפליקציית SosoAPI, בחרו את סביבת העבודה המיועדת ובדקו את החשבון המחובר. בהדמיית המוצר הציגו את אותה סביבה ואותו חשבון שהמשתמש בחר, במקום לבחור אותם בשקט.

    • הציגו את הכיתוב, החשבון, השעה המקומית ואזור הזמן המדויקים בשלב אישור. דרשו מהאדם לבחור תזמון; פתיחת הטופס אינה אמורה לשלוח דבר.

    למה לצפות

    אדם יכול לראות את היעד והתזמון לפני הכתיבה. הדמיית המוצר הבדוי היא תרגיל עיצוב, ולא שילוב לקוח מותקן.

  2. קראו את Scheduled Posts הנוכחיים מהשרת שלכם

    • החליפו <workspace-uuid> במזהה סביבת העבודה שבחרתם, ואז הריצו את הבקשה הזו לקריאה בלבד בשרת:

    • 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.
    • השתמשו בנתונים שהוחזרו לרענון הרשימה במוצר. השאירו את אישור המשתמש בנפרד מהקריאה הזו.

    למה לצפות

    תקבלו את הפוסטים הנוכחיים בסביבת העבודה או שגיאת הרשאה/אימות. הבקשה לקריאה בלבד אינה יוצרת פוסטים.

  3. שלחו רק לאחר אישור משתמש מפורש

    • פתחו את לוח השנה ובחרו ״פוסט חדש״ כדי להשוות את שלב הבדיקה לאותה פעולה באפליקציה.

    • החליפו כל מציין מקום במזהים המורשים שלכם, בחותמת זמן ISO עתידית עם היסט ובמפתח אידמפוטנטיות ייחודי. בדקו חשבון, נוסח ושעה לפני הרצת הבקשה בצד השרת.

    • 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.
    • הרצת הבקשה יוצרת תזמון אמיתי. שלחו רק לאחר אישור המשתמש, ולעולם אין לחשוף את מפתח ה-API לדפדפן.

    למה לצפות

    תגובה תקפה שהתקבלה מזהה את ה-Scheduled Post שנוצר; היא אינה מוכיחה שספק פרסם אותו. דחיית יכולת, היקף/חשבון לא תקינים, מטען לא נתמך או תזמון שנדחה חייבים להופיע כשגיאה, ולא להיות מדווחים כהצלחה.

  4. הציגו את המצב שהוחזר ותנו למשתמש המשך בטוח

    פתיחת האזור הזה ב-SosoAPI
    • שמרו את מזהה Scheduled Post שהוחזר והציגו במוצר את המצב הנוכחי, היעד והתזמון שלו.

    • קשרו את המשתמש לפרטי Scheduled Post המתאים. אם המסירה דורשת אדם, קשרו לפריט Needs Attention במקום לשלוח מחדש בשקט.

    • אין לסמן את הבקשה כפורסמה עד שנרשם סטטוס סופי שאושר על ידי הספק.

    למה לצפות

    המוצר מבחין בין אסמכתת בקשה לבין מתוזמן, בתהליך פרסום, פורסם, נכשל ותצפיות לא ידועות. תוצאות לא ידועות נבדקות מול הפוסט הקיים לפני כתיבה חדשה.

אסמכתת בקשה. ואז תוצאת פרסום.

הדוגמאות שלהלן מציגות שדות נבחרים של תגובת API עם ערכים בדויים. לאחר יצירת תזמון, שמרו post.id והשתמשו בו לבדיקת תוצאת אותו פוסט.

1. תגובת יצירה

{
  "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. קריאת אותו פוסט

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

לאחר אישור הספק, תגובת הפרטים יכולה לכלול:

{
  "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
השתמשו במצב האמיתי, כגון scheduled, publishing, published או failed. אם החיבור נופל, קראו את אותו פוסט לפני שתחליטו מה קרה.
post.permalink
קישור הפוסט אצל הספק כשהוא זמין; הוא עשוי להיות null. ה-URL שלמעלה הוא דוגמה.
delivery / outcomes
תגובת הפרטים מציגה את התקדמות הפרסום ואת תוצאות הפלטפורמה הזמינות לפוסט. אם נכשל, בדקו את הפרטים ואת ״דורש טיפול״ לפני בחירת הצעד הבא.

אלה דוגמאות שדות, ולא אסמכתת פרסום חיה. העמוד אינו מבצע קריאות API.

משמעות כל סטטוס

Submittedתגובת בקשה
הבקשה התקבלה. בדקו את המצב הנוכחי של הפוסט לפני שתראו בו מתוזמן או מפורסם.
Scheduledפרטי פוסט
Scheduled Post התקבל למועד עתידי. השאירו את היעד ואת מועד התזמון גלויים בזמן ההמתנה.
Publishingפרטי פוסט
המסירה מתבצעת. המתינו לתוצאה סופית; מצב שבתהליך אינו הצלחה.
Publishedפרטי פוסט
השתמשו בכך רק לאחר ש-SosoAPI רושם אישור ספק סופי ל-Scheduled Post.
Failedפרטי פוסט
כשל סופי דורש בדיקה. בדקו את פרטי הפוסט ואת הפעולה הזמינה לפני החלטה מה לשנות או לנסות שוב.
Unknownמה שהאפליקציה מציגה
אם החיבור נופל והתוצאה אינה ברורה, בדקו ב-Scheduled Posts וב-Needs Attention לפני שליחה מחדש.

מדריכים קשורים

המדריך כולל דוגמאות API בצד השרת. הגדירו את המזהים המורשים ואת מפתח ה-API לפני הרצה; העמוד עצמו אינו מבצע בקשות.

נסו את תהליך העבודה הראשון שלכם.

צרו חשבון והתחילו עם Free.

התחילו עם Free