# 套用私人訊息操作

標準 URL： https://sosoapi.ai/zh-tw/docs/mcp/dm-actions-apply

`sosoapi_dm_actions_apply`

使用穩定的 idempotency_key 消耗一個已準備私人訊息回覆權杖。回應遺失時，使用同一索引鍵恢復查閱狀態，切勿準備替代操作。

## 設定與傳輸方式

設定：full

傳輸方式：stdio、http

選擇 core 或 full 以控制用戶端顯示的工具；這不會變更權限。本機檔案上傳需要 stdio，無法透過 HTTP 使用。設定 SOSOAPI_OUTPUT_SCHEMAS=1 可在探索結果加入輸出結構描述。無論是否啟用此設定，工具皆會回傳結構化結果。

## 權限與副作用

註解幫助用戶端描述工具。每次呼叫仍會檢查使用者身分驗證、角色、資源存取和能力授權。

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

`/private-messaging-api/actions/apply` — agent:dm_reply；平台最終收據

## 輸入欄位

```json
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "social_account_id": {
      "type": "string",
      "format": "uuid"
    },
    "prepare_token": {
      "type": "string",
      "minLength": 40,
      "maxLength": 128
    },
    "idempotency_key": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "workspace_id",
    "social_account_id",
    "prepare_token",
    "idempotency_key"
  ],
  "additionalProperties": false
}
```

## 結構化輸出

此 schema 描述成功工具結果中的 structuredContent。MCP 回應也包含 content，並可能在呼叫失敗時設定 isError。對於發布，請讀取貼文的最終結果，不要把已接受的請求或文字回應當作確認。連結的 API 操作說明了權限和重試規則。

```json
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "private-messaging/v1"
    },
    "action": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "conversation_id": {
          "type": "string",
          "format": "uuid"
        },
        "status": {
          "type": "string",
          "enum": [
            "queued",
            "claimed",
            "sending",
            "sent",
            "unknown",
            "failed",
            "cancelled"
          ]
        },
        "provider_message_id": {
          "type": [
            "string",
            "null"
          ]
        },
        "reason": {
          "type": [
            "string",
            "null"
          ]
        },
        "created_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": [
        "id",
        "conversation_id",
        "status",
        "provider_message_id",
        "reason",
        "created_at"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "contract_version",
    "action"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
```

## 工具呼叫範例

這些範例使用已依結構描述檢查的虛構值。請將 ID 替換為您有權使用的 ID、將媒體替換為已就緒素材，並將日期替換為已確認的發布時間。提交寫入前，請檢查帳號資格。本頁不會傳送 API 請求。

```json
{
  "name": "sosoapi_dm_actions_apply",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "social_account_id": "11111111-1111-4111-8111-111111111111",
    "prepare_token": "exampleaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "idempotency_key": "11111111-1111-4111-8111-111111111111"
  }
}
```

structuredContent

```json
{
  "contract_version": "private-messaging/v1",
  "action": {
    "id": "11111111-1111-4111-8111-111111111111",
    "conversation_id": "11111111-1111-4111-8111-111111111111",
    "status": "queued",
    "provider_message_id": "example",
    "reason": "example",
    "created_at": "2099-01-15T09:00:00Z"
  }
}
```

## 底層 API 操作

- [/private-messaging-api/actions/apply](https://sosoapi.ai/zh-tw/docs/api/private-messaging-api-actions-apply)
