Privacyvoorkeuren

Noodzakelijke functies

Vereist voor beveiliging en de basisfuncties van de website.

Altijd actief

Landing-diagnostiek en gemaskeerde replay

Meet openbare bezoeken, afhaken en interacties met registratielinks met een anonieme ID die alleen voor dit tabblad geldt, zonder accountkoppeling. Alle tekst wordt gemaskeerd en formulieren worden geblokkeerd.

Optionele gebruiksanalyse

PostHog-gebruiksanalyse toestaan? Je kunt je keuze altijd in de voettekst wijzigen.

Ook sessiereplay op deze openbare website toestaan

Replay in de optionele modus voor meerdere sites toont openbare pagina’s en interacties, waarbij invoer en privé-inhoud worden gemaskeerd. App-replay is een afzonderlijke keuze.

Vereist optionele analyse; replay in deze modus voor meerdere sites staat standaard uit. De Landing-modus hierboven werkt apart.

Browseranalyses schakelen accountanalyses niet in.

Zoeken wordt pas geladen wanneer je het gebruikt. Bekijk hieronder alle categorieën.

Reacties en community

Reactie op een opmerking voorbereiden

Controleer de exacte opmerking, versie en gewenste LIKE-status met een afzonderlijke toestemming. De status van het handelende IG-account blijft onbekend. Geeft een token terug; publiceert niets.

POST /community-engagement-api/reactions/prepare

Contract beoordeeld: · sha256:9aedef8d43dd4514

Overzicht

Controleer de exacte opmerking, versie en gewenste LIKE-status met een afzonderlijke toestemming. De status van het handelende IG-account blijft onbekend. Geeft een token terug; publiceert niets.

Een geslaagd HTTP-antwoord kan acceptatie betekenen in plaats van voltooiing. Bewaar bij achtergrondwerk de teruggegeven ID en controleer dezelfde bewerking totdat die klaar is. Een ingepland of geaccepteerd bericht is pas gepubliceerd na platformbevestiging; een client-time-out bepaalt het resultaat niet.

Authenticatie en machtigingen

Toegestane soorten inloggegevens
user_session, delegated_oauth, personal_access_token
Gedelegeerde bevoegdheid
agent:engage
Minimale werkruimterol
editor
Toegangsbereik
Resources waartoe deze gebruiker toegang heeft
Toestemming voor alle werkruimten vereist
Nee
Wijzigt status
Ja
Wanneer de bewerking voltooid is
synchronous_http_response

Een token kan alleen rechten van de eigenaar gebruiken. Elk verzoek controleert werkruimtelidmaatschap, resource-eigendom, geselecteerde werkruimten en verleende bevoegdheden. De profielen core en full bepalen welke tools zichtbaar zijn; ze verlenen geen toegang.

Verzoekvelden

Verplicht betekent verplicht binnen het bovenliggende object en de gekozen variant. Een verplicht onderliggend veld maakt een optioneel bovenliggend object niet verplicht. Onderstaande regels en veldnamen zijn uit het contract gekopieerd.

Verzoekvelden
Veld / variantType / verplichtBeperkingen
$objectVerplicht in bovenliggend object
  • additionalProperties: false
workspace_idstringVerplicht in bovenliggend object
  • 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_idstringVerplicht in bovenliggend object
  • 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_idstringVerplicht in bovenliggend object
  • 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_versionintegerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
operationstringVerplicht in bovenliggend object
  • enum: ["like","unlike"]
reaction_typestringVerplicht in bovenliggend object
  • const: "LIKE"
idempotency_keystringVerplicht in bovenliggend object
  • 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)$"
Volledig 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
}

Antwoord en voltooiing

HTTP-statuscodes bij succes: 200. Wanneer de bewerking voltooid is: synchronous_http_response.

Een geslaagd HTTP-antwoord kan acceptatie betekenen in plaats van voltooiing. Bewaar bij achtergrondwerk de teruggegeven ID en controleer dezelfde bewerking totdat die klaar is. Een ingepland of geaccepteerd bericht is pas gepubliceerd na platformbevestiging; een client-time-out bepaalt het resultaat niet.

Verplicht betekent verplicht binnen het bovenliggende object en de gekozen variant. Een verplicht onderliggend veld maakt een optioneel bovenliggend object niet verplicht. Onderstaande regels en veldnamen zijn uit het contract gekopieerd.

Antwoord en voltooiing
Veld / variantType / verplichtBeperkingen
$objectVerplicht in bovenliggend object—
contract_versionstringVerplicht in bovenliggend object
  • const: "community-reactions.v1"
prepare_tokenstringVerplicht in bovenliggend object
  • pattern: "^[a-f0-9]{64}$"
reviewed_digeststringVerplicht in bovenliggend object
  • pattern: "^[a-f0-9]{64}$"
expires_atstringVerplicht in bovenliggend object
  • 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)))$"
reviewobjectVerplicht in bovenliggend object—
reviewanyOf 1objectVerplicht in bovenliggend object—
review.social_account_idanyOf 1stringVerplicht in bovenliggend object
  • 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 1stringVerplicht in bovenliggend object
  • 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 1stringVerplicht in bovenliggend object
  • 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 1stringVerplicht in bovenliggend object—
review.provider_post_idanyOf 1stringVerplicht in bovenliggend object—
review.provider_comment_idanyOf 1stringVerplicht in bovenliggend object—
review.expected_comment_versionanyOf 1integerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
review.operationanyOf 1stringVerplicht in bovenliggend object
  • enum: ["like","unlike"]
review.reaction_typeanyOf 1stringVerplicht in bovenliggend object
  • const: "LIKE"
review.desired_likedanyOf 1booleanVerplicht in bovenliggend object—
review.current_likedanyOf 1booleanVerplicht in bovenliggend object—
review.accepted_app_idanyOf 1stringVerplicht in bovenliggend object—
review.oauth_generation_idanyOf 1stringVerplicht in bovenliggend object
  • 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 1stringVerplicht in bovenliggend object
  • 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 2objectVerplicht in bovenliggend object—
review.social_account_idanyOf 2stringVerplicht in bovenliggend object
  • 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 2stringVerplicht in bovenliggend object
  • 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 2stringVerplicht in bovenliggend object
  • 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 2stringVerplicht in bovenliggend object—
review.provider_post_idanyOf 2stringVerplicht in bovenliggend object—
review.provider_comment_idanyOf 2stringVerplicht in bovenliggend object—
review.expected_comment_versionanyOf 2integerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
review.operationanyOf 2stringVerplicht in bovenliggend object
  • enum: ["like","unlike"]
review.reaction_typeanyOf 2stringVerplicht in bovenliggend object
  • const: "LIKE"
review.desired_likedanyOf 2booleanVerplicht in bovenliggend object—
review.current_likedanyOf 2nullVerplicht in bovenliggend object—
review.accepted_app_idanyOf 2stringVerplicht in bovenliggend object—
review.oauth_generation_idanyOf 2stringVerplicht in bovenliggend object
  • 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 2stringVerplicht in bovenliggend object
  • 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 2stringVerplicht in bovenliggend object
  • const: "instagram"
review.provider_instagram_user_idanyOf 2stringVerplicht in bovenliggend object
  • pattern: "^[1-9][0-9]{1,24}$"
review.native_state_readbackanyOf 2booleanVerplicht in bovenliggend object
  • const: false
Volledig 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"
  ]
}

Fouten en veilig opnieuw proberen

Controleer de HTTP-status en antwoordinhoud. Een 400-validatiefout kan een ZodError bevatten; afhandelingsfouten gebruiken de velden error, message en code. Bewaar request_id of x-request-id voor diagnose, zonder inloggegevens. Los 401/403-toegangsfouten op voordat je opnieuw probeert en volg Retry-After bij 429. Lees bij een onzekere schrijfhandeling of 5xx eerst het bestaande resultaat. Hergebruik een idempotentiesleutel alleen waar dit wordt ondersteund; het gedrag bij opnieuw proberen verschilt per bewerking en garandeert geen precies eenmalige aflevering.

Handleiding voor probleemoplossing

Voorbeelden

Deze voorbeelden gebruiken fictieve waarden die tegen de schema's zijn gecontroleerd. Vervang IDs door toegestane IDs, media door gereedstaande bestanden en datums door je bevestigde publicatietijd. Controleer accountgeschiktheid vóór een schrijfhandeling. Deze pagina verstuurt geen API-verzoeken.

Stel SOSOAPI_ACCESS_TOKEN op je server in op inloggegevens die deze bewerking accepteert en houd deze uit browsercode. Gebruik voor een AI-agent sosoapi auth login om via de browser aan te melden en laat de CLI de inloggegevens vernieuwen.

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

Voorbeeld van een synthetisch antwoord

{
  "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