# Avstem kommentarreaksjon

Kanonisk URL: https://sosoapi.ai/nb/docs/mcp/reaction-reconcile

`sosoapi_reaction_reconcile`

Undersøk uavklarte reaksjoner uten å sende på nytt. Facebook støtter tilbakelesing av status, IG gjør ikke det. Behold den opprinnelige kvitteringen uendret.

## Profiler og transporter

Profiler: full

Transporter: stdio, http

Velg core eller full for å kontrollere hvilke verktøy klienten ser; dette endrer ikke tillatelsene. Lokal filopplasting krever stdio og er utilgjengelig over HTTP. Angi SOSOAPI_OUTPUT_SCHEMAS=1 for å inkludere utdataskjemaer i oppdagelsen. Verktøy returnerer strukturerte resultater med eller uten den innstillingen.

## Tillatelser og sideeffekter

Merknader hjelper klienter med å beskrive et verktøy. Hvert kall kontrollerer fortsatt brukerens autentisering, rolle, ressurstilgang og funksjonstillatelser.

```json
{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}
```

`/community-engagement-api/reactions/reconcile` — agent:engage; synchronous_http_response

## Inndatafelter

```json
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "action_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspace_id",
    "action_id"
  ],
  "additionalProperties": false
}
```

## Strukturert utdata

Dette skjemaet beskriver structuredContent i et vellykket verktøyresultat. MCP-svaret inkluderer også content og kan sette isError når et kall mislykkes. Ved publisering, les innleggets endelige resultat i stedet for å regne en akseptert forespørsel eller et tekstsvar som bekreftelse. Den lenkede API-operasjonen forklarer tillatelser og regler for nye forsøk.

```json
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "community-reactions.v1"
    },
    "action": {
      "type": "object",
      "properties": {
        "action_id": {
          "type": "string",
          "format": "uuid"
        },
        "social_account_id": {
          "type": "string",
          "format": "uuid"
        },
        "social_comment_id": {
          "type": "string",
          "format": "uuid"
        },
        "operation": {
          "type": "string",
          "enum": [
            "like",
            "unlike"
          ]
        },
        "reaction_type": {
          "type": "string",
          "const": "LIKE"
        },
        "idempotency_key": {
          "type": "string",
          "format": "uuid"
        },
        "status": {
          "type": "string",
          "enum": [
            "queued",
            "executing",
            "succeeded",
            "attention",
            "failed"
          ]
        },
        "provider_terminal": {
          "type": "boolean"
        },
        "attention_reason": {
          "type": [
            "string",
            "null"
          ]
        },
        "provider_evidence": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "reconciliation": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "desired_state_observed": {
                  "type": "boolean"
                },
                "observed_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)))$"
                }
              },
              "required": [
                "desired_state_observed",
                "observed_at"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "action_id",
        "social_account_id",
        "social_comment_id",
        "operation",
        "reaction_type",
        "idempotency_key",
        "status",
        "provider_terminal",
        "attention_reason",
        "provider_evidence",
        "reconciliation"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "contract_version",
    "action"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## Eksempel på verktøykall

Disse eksemplene bruker fiktive verdier kontrollert mot skjemaene. Erstatt ID-ene med noen du har lov til å bruke, mediene med klare ressurser og datoene med bekreftet publiseringstidspunkt. Kontroller kontoens kvalifikasjon før en skriveoperasjon sendes inn. Siden sender ingen API-forespørsler.

```json
{
  "name": "sosoapi_reaction_reconcile",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "action_id": "11111111-1111-4111-8111-111111111111"
  }
}
```

structuredContent

```json
{
  "contract_version": "community-reactions.v1",
  "action": {
    "action_id": "11111111-1111-4111-8111-111111111111",
    "social_account_id": "11111111-1111-4111-8111-111111111111",
    "social_comment_id": "11111111-1111-4111-8111-111111111111",
    "operation": "like",
    "reaction_type": "LIKE",
    "idempotency_key": "11111111-1111-4111-8111-111111111111",
    "status": "queued",
    "provider_terminal": false,
    "attention_reason": "example",
    "provider_evidence": {},
    "reconciliation": null
  }
}
```

## Underliggende API-operasjoner

- [/community-engagement-api/reactions/reconcile](https://sosoapi.ai/nb/docs/api/community-engagement-api-reactions-reconcile)
