העדפות פרטיות

תכונות חיוניות

נדרשות לאבטחה ולפעולות הבסיסיות של האתר.

פעילות תמיד

אבחון Landing והקלטת הפעלות עם הסתרת תוכן

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

ניתוח שימוש אופציונלי

לאפשר ניתוח שימוש באמצעות PostHog? אפשר לשנות את הבחירה בכל עת בתחתית האתר.

לאפשר גם הקלטת הפעלות באתר הציבורי הזה

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

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

ניתוח השימוש בדפדפן אינו מפעיל ניתוח שימוש בחשבון.

החיפוש נטען רק כשמשתמשים בו. עיינו בכל הקטגוריות שלהלן.

תגובות וקהילה

הכנת סימון לייק לתגובה

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

POST /community-engagement-api/reactions/prepare

החוזה נבדק: · sha256:9aedef8d43dd4514

סקירה

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

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

אימות והרשאות

סוגי אמצעי גישה מתקבלים
user_session, delegated_oauth, personal_access_token
יכולת מואצלת
agent:engage
תפקיד מינימלי בסביבת העבודה
editor
היקף הגישה
משאבים שהמשתמש הזה מורשה לגשת אליהם
נדרשת הסכמה לכל סביבות העבודה
לא
משנה מצב
כן
מתי הפעולה הושלמה
synchronous_http_response

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

שדות הבקשה

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

שדות הבקשה
שדה / ענףסוג / חובהאילוצים
$objectחובה באובייקט האב
  • additionalProperties: false
workspace_idstringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
social_account_idstringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
social_comment_idstringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
expected_comment_versionintegerחובה באובייקט האב
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
operationstringחובה באובייקט האב
  • enum: ["like","unlike"]
reaction_typestringחובה באובייקט האב
  • const: "LIKE"
idempotency_keystringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
JSON Schema מלא
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "social_account_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "social_comment_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expected_comment_version": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "operation": {
      "type": "string",
      "enum": [
        "like",
        "unlike"
      ]
    },
    "reaction_type": {
      "type": "string",
      "const": "LIKE"
    },
    "idempotency_key": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "workspace_id",
    "social_account_id",
    "social_comment_id",
    "expected_comment_version",
    "operation",
    "reaction_type",
    "idempotency_key"
  ],
  "additionalProperties": false
}

תגובה והשלמה

סטטוסי HTTP להצלחה: 200. מתי הפעולה הושלמה: synchronous_http_response.

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

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

תגובה והשלמה
שדה / ענףסוג / חובהאילוצים
$objectחובה באובייקט האב—
contract_versionstringחובה באובייקט האב
  • const: "community-reactions.v1"
prepare_tokenstringחובה באובייקט האב
  • pattern: "^[a-f0-9]{64}$"
reviewed_digeststringחובה באובייקט האב
  • pattern: "^[a-f0-9]{64}$"
expires_atstringחובה באובייקט האב
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
reviewobjectחובה באובייקט האב—
reviewanyOf 1objectחובה באובייקט האב—
review.social_account_idanyOf 1stringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
review.social_comment_idanyOf 1stringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
review.social_post_idanyOf 1stringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
review.provider_page_idanyOf 1stringחובה באובייקט האב—
review.provider_post_idanyOf 1stringחובה באובייקט האב—
review.provider_comment_idanyOf 1stringחובה באובייקט האב—
review.expected_comment_versionanyOf 1integerחובה באובייקט האב
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
review.operationanyOf 1stringחובה באובייקט האב
  • enum: ["like","unlike"]
review.reaction_typeanyOf 1stringחובה באובייקט האב
  • const: "LIKE"
review.desired_likedanyOf 1booleanחובה באובייקט האב—
review.current_likedanyOf 1booleanחובה באובייקט האב—
review.accepted_app_idanyOf 1stringחובה באובייקט האב—
review.oauth_generation_idanyOf 1stringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
review.grant_idanyOf 1stringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
reviewanyOf 2objectחובה באובייקט האב—
review.social_account_idanyOf 2stringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
review.social_comment_idanyOf 2stringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
review.social_post_idanyOf 2stringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
review.provider_page_idanyOf 2stringחובה באובייקט האב—
review.provider_post_idanyOf 2stringחובה באובייקט האב—
review.provider_comment_idanyOf 2stringחובה באובייקט האב—
review.expected_comment_versionanyOf 2integerחובה באובייקט האב
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
review.operationanyOf 2stringחובה באובייקט האב
  • enum: ["like","unlike"]
review.reaction_typeanyOf 2stringחובה באובייקט האב
  • const: "LIKE"
review.desired_likedanyOf 2booleanחובה באובייקט האב—
review.current_likedanyOf 2nullחובה באובייקט האב—
review.accepted_app_idanyOf 2stringחובה באובייקט האב—
review.oauth_generation_idanyOf 2stringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
review.grant_idanyOf 2stringחובה באובייקט האב
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
review.platformanyOf 2stringחובה באובייקט האב
  • const: "instagram"
review.provider_instagram_user_idanyOf 2stringחובה באובייקט האב
  • pattern: "^[1-9][0-9]{1,24}$"
review.native_state_readbackanyOf 2booleanחובה באובייקט האב
  • const: false
JSON Schema מלא
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "community-reactions.v1"
    },
    "prepare_token": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "reviewed_digest": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    },
    "review": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "social_account_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "social_comment_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "social_post_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "provider_page_id": {
              "type": "string"
            },
            "provider_post_id": {
              "type": "string"
            },
            "provider_comment_id": {
              "type": "string"
            },
            "expected_comment_version": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "operation": {
              "type": "string",
              "enum": [
                "like",
                "unlike"
              ]
            },
            "reaction_type": {
              "type": "string",
              "const": "LIKE"
            },
            "desired_liked": {
              "type": "boolean"
            },
            "current_liked": {
              "type": "boolean"
            },
            "accepted_app_id": {
              "type": "string"
            },
            "oauth_generation_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "grant_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            }
          },
          "required": [
            "social_account_id",
            "social_comment_id",
            "social_post_id",
            "provider_page_id",
            "provider_post_id",
            "provider_comment_id",
            "expected_comment_version",
            "operation",
            "reaction_type",
            "desired_liked",
            "current_liked",
            "accepted_app_id",
            "oauth_generation_id",
            "grant_id"
          ]
        },
        {
          "type": "object",
          "properties": {
            "social_account_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "social_comment_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "social_post_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "provider_page_id": {
              "type": "string"
            },
            "provider_post_id": {
              "type": "string"
            },
            "provider_comment_id": {
              "type": "string"
            },
            "expected_comment_version": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "operation": {
              "type": "string",
              "enum": [
                "like",
                "unlike"
              ]
            },
            "reaction_type": {
              "type": "string",
              "const": "LIKE"
            },
            "desired_liked": {
              "type": "boolean"
            },
            "current_liked": {
              "type": "null"
            },
            "accepted_app_id": {
              "type": "string"
            },
            "oauth_generation_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "grant_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "platform": {
              "type": "string",
              "const": "instagram"
            },
            "provider_instagram_user_id": {
              "type": "string",
              "pattern": "^[1-9][0-9]{1,24}$"
            },
            "native_state_readback": {
              "type": "boolean",
              "const": false
            }
          },
          "required": [
            "social_account_id",
            "social_comment_id",
            "social_post_id",
            "provider_page_id",
            "provider_post_id",
            "provider_comment_id",
            "expected_comment_version",
            "operation",
            "reaction_type",
            "desired_liked",
            "current_liked",
            "accepted_app_id",
            "oauth_generation_id",
            "grant_id",
            "platform",
            "provider_instagram_user_id",
            "native_state_readback"
          ]
        }
      ]
    }
  },
  "required": [
    "contract_version",
    "prepare_token",
    "reviewed_digest",
    "expires_at",
    "review"
  ]
}

שגיאות וניסיונות חוזרים בטוחים

בדקו את סטטוס ה-HTTP ואת גוף התגובה. שגיאת אימות 400 עשויה להכיל ZodError; שגיאות מטפל משתמשות בשדות error, ‏message ו-code. שמרו request_id או x-request-id לאבחון, ללא אמצעי גישה. תקנו שגיאות גישה 401/403 לפני ניסיון חוזר, ופעלו לפי Retry-After עבור 429. אם תוצאת כתיבה אינה ודאית או שמוחזר 5xx, קראו תחילה את התוצאה הקיימת. השתמשו שוב במפתח אידמפוטנטיות רק במקומות הנתמכים; התנהגות הניסיון החוזר משתנה בין פעולות ואינה מבטיחה מסירה בדיוק פעם אחת.

מדריך לפתרון בעיות

דוגמאות

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

הגדירו בשרת שלכם SOSOAPI_ACCESS_TOKEN לאמצעי גישה שהפעולה הזו מקבלת, והשאירו אותו מחוץ לקוד הדפדפן. עבור סוכן AI, השתמשו ב-sosoapi auth login כדי להיכנס דרך הדפדפן ולאפשר ל-CLI לרענן את אמצעי הגישה שלו.

request.json

{
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "social_account_id": "11111111-1111-4111-8111-111111111111",
  "social_comment_id": "11111111-1111-4111-8111-111111111111",
  "expected_comment_version": 1,
  "operation": "like",
  "reaction_type": "LIKE",
  "idempotency_key": "11111111-1111-4111-8111-111111111111"
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/community-engagement-api/reactions/prepare" \
  -H "Authorization: Bearer $SOSOAPI_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @request.json

JavaScript

// Server-side JavaScript. Do not print tokens or credential-bearing responses.
const token = process.env.SOSOAPI_ACCESS_TOKEN;
if (!token) throw new Error("Set an accepted credential for this operation");
const response = await fetch("https://gqeshlawtcexsapabaui.supabase.co/functions/v1/community-engagement-api/reactions/prepare", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "social_account_id": "11111111-1111-4111-8111-111111111111",
  "social_comment_id": "11111111-1111-4111-8111-111111111111",
  "expected_comment_version": 1,
  "operation": "like",
  "reaction_type": "LIKE",
  "idempotency_key": "11111111-1111-4111-8111-111111111111"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /community-engagement-api/reactions/prepare < request.json

דוגמת תגובה סינתטית

{
  "contract_version": "community-reactions.v1",
  "prepare_token": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "reviewed_digest": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "expires_at": "2099-01-15T09:00:00Z",
  "review": {
    "social_account_id": "11111111-1111-4111-8111-111111111111",
    "social_comment_id": "11111111-1111-4111-8111-111111111111",
    "social_post_id": "11111111-1111-4111-8111-111111111111",
    "provider_page_id": "example",
    "provider_post_id": "example",
    "provider_comment_id": "example",
    "expected_comment_version": 1,
    "operation": "like",
    "reaction_type": "LIKE",
    "desired_liked": false,
    "current_liked": false,
    "accepted_app_id": "example",
    "oauth_generation_id": "11111111-1111-4111-8111-111111111111",
    "grant_id": "11111111-1111-4111-8111-111111111111"
  }
}

MCP: sosoapi_reaction_prepare