# Preparar acción de mensaje privado

URL canónica: https://sosoapi.ai/es/docs/mcp/dm-actions-prepare

`sosoapi_dm_actions_prepare`

Prepara la revisión privada exacta e inmutable y recibe un token de corta duración y de un solo uso. Se vuelven a comprobar la cuenta actual, la autorización y el plazo de respuesta.

## 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.

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

`/private-messaging-api/actions/prepare` — agent:dm_reply; synchronous_http_response

## Campos de entrada

```json
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "social_account_id": {
      "type": "string",
      "format": "uuid"
    },
    "review_id": {
      "type": "string",
      "format": "uuid"
    },
    "review_version": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "workspace_id",
    "social_account_id",
    "review_id",
    "review_version"
  ],
  "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.

```json
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "private-messaging/v1"
    },
    "prepare_token": {
      "type": "string"
    },
    "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"
    }
  },
  "required": [
    "contract_version",
    "prepare_token",
    "expires_at"
  ],
  "$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.

```json
{
  "name": "sosoapi_dm_actions_prepare",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "social_account_id": "11111111-1111-4111-8111-111111111111",
    "review_id": "11111111-1111-4111-8111-111111111111",
    "review_version": 1
  }
}
```

structuredContent

```json
{
  "contract_version": "private-messaging/v1",
  "prepare_token": "example",
  "expires_at": "2099-01-15T09:00:00Z"
}
```

## Operaciones API subyacentes

- [/private-messaging-api/actions/prepare](https://sosoapi.ai/es/docs/api/private-messaging-api-actions-prepare)
