Preferencias de privacidad

Funciones necesarias

Necesarias para la seguridad y las funciones básicas del sitio.

Siempre activas

Analítica opcional de uso

¿Permitir analítica de uso de PostHog? Puedes cambiar tu elección en el pie de página cuando quieras.

Permitir también la grabación de sesiones en este sitio web público

La grabación de sesiones muestra las páginas públicas y las interacciones, con los datos introducidos y el contenido privado ocultos. La grabación de sesiones en la aplicación es una opción independiente.

Requiere análisis; la reproducción del sitio está desactivada por defecto.

Los análisis del navegador no activan los de la cuenta.

La búsqueda solo se carga cuando la usas. Explora todas las categorías a continuación.

Herramienta MCP

Clasificar una mención de cuenta

sosoapi_listening_mentions_set_state

Actualizar la clasificación local de una mención de cuenta con expected_revision; nunca responde, oculta ni elimina contenido del proveedor. Requiere agent:research.

Leer en Markdown

Perfiles y transportes

Perfiles: full · Transportes: stdio, http

Elige core o full para controlar qué herramientas ve tu cliente; no cambia sus permisos. La carga de archivos locales requiere stdio y no está disponible por HTTP. Establece SOSOAPI_OUTPUT_SCHEMAS=1 para incluir esquemas de salida en la detección. Las herramientas devuelven resultados estructurados con o sin esa opción.

Permisos y efectos secundarios

Las anotaciones ayudan a los clientes a describir una herramienta. Cada llamada sigue comprobando la autenticación, el rol, el acceso al recurso y los permisos de capacidades del usuario.

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

Campos de entrada

Obligatorio significa obligatorio dentro del objeto principal y la rama elegida. Un campo secundario obligatorio no convierte en obligatorio un objeto principal opcional. Las reglas y nombres de campos siguientes se copian del contrato.

Campos de entrada
Campo / ramaTipo / obligatorioRestricciones
$objectObligatorio en el objeto principal
  • additionalProperties: false
workspace_idstringObligatorio en el objeto principal
  • format: "uuid"
social_account_idstringObligatorio en el objeto principal
  • format: "uuid"
idstringObligatorio en el objeto principal
  • format: "uuid"
mutation_idstringObligatorio en el objeto principal
  • format: "uuid"
expected_revisionintegerObligatorio en el objeto principal
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
handledbooleanOpcional / elemento—
archivedbooleanOpcional / elemento—
JSON Schema completo
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "social_account_id": {
      "type": "string",
      "format": "uuid"
    },
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "mutation_id": {
      "type": "string",
      "format": "uuid"
    },
    "expected_revision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "handled": {
      "type": "boolean"
    },
    "archived": {
      "type": "boolean"
    }
  },
  "required": [
    "workspace_id",
    "social_account_id",
    "id",
    "mutation_id",
    "expected_revision"
  ],
  "additionalProperties": false
}

Salida estructurada

Este esquema describe structuredContent en un resultado exitoso de herramienta. La respuesta MCP también incluye content y puede establecer isError si falla una llamada. Para publicación, consulta el resultado final de la publicación en vez de considerar una solicitud aceptada o una respuesta de texto como confirmación. La operación API enlazada explica los permisos y las reglas de reintento.

Obligatorio significa obligatorio dentro del objeto principal y la rama elegida. Un campo secundario obligatorio no convierte en obligatorio un objeto principal opcional. Las reglas y nombres de campos siguientes se copian del contrato.

Salida estructurada
Campo / ramaTipo / obligatorioRestricciones
$objectObligatorio en el objeto principal
  • additionalProperties: false
mentionobjectObligatorio en el objeto principal
  • additionalProperties: false
mention.idstringObligatorio en el objeto principal
  • format: "uuid"
mention.workspace_idstringObligatorio en el objeto principal
  • format: "uuid"
mention.social_account_idstringObligatorio en el objeto principal
  • format: "uuid"
mention.provider_post_idstringObligatorio en el objeto principal
  • pattern: "^\\d{2,20}$"
mention.sourcestringObligatorio en el objeto principal
  • const: "threads"
mention.relationshipstringObligatorio en el objeto principal
  • const: "account_mention"
mention.revisionintegerObligatorio en el objeto principal
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
mention.handledbooleanObligatorio en el objeto principal—
mention.archivedbooleanObligatorio en el objeto principal—
mention.availabilitystringObligatorio en el objeto principal
  • enum: ["available","expired","unavailable"]
mention.postobject | nullObligatorio en el objeto principal—
mention.postanyOf 1objectObligatorio en el objeto principal
  • additionalProperties: false
mention.post.idanyOf 1stringObligatorio en el objeto principal
  • pattern: "^\\d{2,20}$"
mention.post.textanyOf 1string | nullObligatorio en el objeto principal—
mention.post.textanyOf 1 / anyOf 1stringObligatorio en el objeto principal
  • maxLength: 30000
mention.post.textanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
mention.post.usernameanyOf 1string | nullObligatorio en el objeto principal—
mention.post.usernameanyOf 1 / anyOf 1stringObligatorio en el objeto principal
  • pattern: "^[A-Za-z0-9._]{1,30}$"
mention.post.usernameanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
mention.post.permalinkanyOf 1string | nullObligatorio en el objeto principal—
mention.post.permalinkanyOf 1 / anyOf 1stringObligatorio en el objeto principal
  • format: "uri"
mention.post.permalinkanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
mention.post.timestampanyOf 1string | nullObligatorio en el objeto principal—
mention.post.timestampanyOf 1 / anyOf 1stringObligatorio en el objeto principal
  • 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)))$"
mention.post.timestampanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
mention.post.media_typeanyOf 1string | nullObligatorio en el objeto principal—
mention.post.media_typeanyOf 1 / anyOf 1stringObligatorio en el objeto principal
  • enum: ["TEXT","TEXT_POST","IMAGE","VIDEO","CAROUSEL_ALBUM","AUDIO","REPOST_FACADE"]
mention.post.media_typeanyOf 1 / anyOf 2nullObligatorio en el objeto principal—
mention.post.is_replyanyOf 1boolean | nullObligatorio en el objeto principal—
mention.post.is_quote_postanyOf 1boolean | nullObligatorio en el objeto principal—
mention.post.has_repliesanyOf 1boolean | nullObligatorio en el objeto principal—
mention.post.root_post_idanyOf 1string | nullOpcional / elemento—
mention.post.root_post_idanyOf 1 / anyOf 1stringOpcional / elemento
  • pattern: "^\\d{2,20}$"
mention.post.root_post_idanyOf 1 / anyOf 2nullOpcional / elemento—
mention.post.replied_to_idanyOf 1string | nullOpcional / elemento—
mention.post.replied_to_idanyOf 1 / anyOf 1stringOpcional / elemento
  • pattern: "^\\d{2,20}$"
mention.post.replied_to_idanyOf 1 / anyOf 2nullOpcional / elemento—
mention.postanyOf 2nullObligatorio en el objeto principal—
mention.first_observed_atstringObligatorio en el objeto principal
  • 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)))$"
mention.last_checked_atstringObligatorio en el objeto principal
  • 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)))$"
mention.expires_atstringObligatorio en el objeto principal
  • 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)))$"
mention.coveragestringObligatorio en el objeto principal
  • const: "partial_native_page"
JSON Schema completo
{
  "type": "object",
  "properties": {
    "mention": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid"
        },
        "social_account_id": {
          "type": "string",
          "format": "uuid"
        },
        "provider_post_id": {
          "type": "string",
          "pattern": "^\\d{2,20}$"
        },
        "source": {
          "type": "string",
          "const": "threads"
        },
        "relationship": {
          "type": "string",
          "const": "account_mention"
        },
        "revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "handled": {
          "type": "boolean"
        },
        "archived": {
          "type": "boolean"
        },
        "availability": {
          "type": "string",
          "enum": [
            "available",
            "expired",
            "unavailable"
          ]
        },
        "post": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^\\d{2,20}$"
                },
                "text": {
                  "anyOf": [
                    {
                      "type": "string",
                      "maxLength": 30000
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "username": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^[A-Za-z0-9._]{1,30}$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "permalink": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "uri"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "timestamp": {
                  "anyOf": [
                    {
                      "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)))$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "media_type": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "TEXT",
                        "TEXT_POST",
                        "IMAGE",
                        "VIDEO",
                        "CAROUSEL_ALBUM",
                        "AUDIO",
                        "REPOST_FACADE"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "is_reply": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "is_quote_post": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "has_replies": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "root_post_id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^\\d{2,20}$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "replied_to_id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^\\d{2,20}$"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "id",
                "text",
                "username",
                "permalink",
                "timestamp",
                "media_type",
                "is_reply",
                "is_quote_post",
                "has_replies"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "first_observed_at": {
          "type": "string",
          "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)))$",
          "format": "date-time"
        },
        "last_checked_at": {
          "type": "string",
          "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)))$",
          "format": "date-time"
        },
        "expires_at": {
          "type": "string",
          "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)))$",
          "format": "date-time"
        },
        "coverage": {
          "type": "string",
          "const": "partial_native_page"
        }
      },
      "required": [
        "id",
        "workspace_id",
        "social_account_id",
        "provider_post_id",
        "source",
        "relationship",
        "revision",
        "handled",
        "archived",
        "availability",
        "post",
        "first_observed_at",
        "last_checked_at",
        "expires_at",
        "coverage"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "mention"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Ejemplo de llamada a herramienta

Estos ejemplos usan valores ficticios comprobados con los esquemas. Sustituye los IDs por otros autorizados, los archivos multimedia por recursos listos y las fechas por tu hora de publicación confirmada. Comprueba la elegibilidad de la cuenta antes de enviar una escritura. Esta página no envía solicitudes API.

{
  "name": "sosoapi_listening_mentions_set_state",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "social_account_id": "22222222-2222-4222-8222-222222222222",
    "id": "30000000-0000-4000-8000-000000000006",
    "mutation_id": "40000000-0000-4000-8000-000000000004",
    "expected_revision": 1,
    "handled": true
  }
}

structuredContent

{
  "mention": {
    "id": "30000000-0000-4000-8000-000000000006",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "social_account_id": "22222222-2222-4222-8222-222222222222",
    "provider_post_id": "9999999999999999",
    "source": "threads",
    "relationship": "account_mention",
    "revision": 2,
    "handled": true,
    "archived": false,
    "availability": "unavailable",
    "post": null,
    "first_observed_at": "2099-01-15T09:00:00Z",
    "last_checked_at": "2099-01-15T09:00:00Z",
    "expires_at": "2099-01-16T09:00:00Z",
    "coverage": "partial_native_page"
  }
}
Instala o conecta MCP