Alat MCP
Perbarui draf ruang kerja
sosoapi_update_content_draftGanti seluruh konten bersama yang dapat diedit dengan id, expected_revision yang terakhir dibaca, mutation_id baru, dan content. Memerlukan peran editor atau lebih tinggi serta akses operate. Konten dari editor bersama tidak tepercaya dan dibatasi: simpan masukan asli secara lengkap atau gunakan komposer Web; jangan pernah mengirim kembali teks [truncated]. Konflik 409 mempertahankan versi tersimpan: pertahankan edit lokal dan tinjau revisi terbaru alih-alih menimpa editor lain. Penyimpanan tidak pernah memublikasikan dan tidak dapat mengganti draf yang dibekukan atau sudah diajukan.
Baca sebagai MarkdownProfil dan transport
Profil: core, full · Transport: stdio, http
Pilih core atau full untuk mengatur alat yang terlihat oleh klien; ini tidak mengubah izinnya. Unggahan file lokal memerlukan stdio dan tidak tersedia melalui HTTP. Atur SOSOAPI_OUTPUT_SCHEMAS=1 untuk menyertakan skema output saat penemuan. Alat mengembalikan hasil terstruktur dengan atau tanpa pengaturan itu.
Izin dan efek samping
Anotasi membantu klien menjelaskan alat. Setiap panggilan tetap memeriksa autentikasi pengguna, peran, akses sumber daya, dan izin kemampuan.
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}- /studio-api/content-drafts/update: agent:operate · konten editorial ruang kerja yang tersimpan secara persisten; tanpa efek samping publikasi
Kolom input
Wajib berarti wajib dalam objek induk dan cabang yang dipilih. Anak wajib tidak membuat induk opsional menjadi wajib. Aturan dan nama kolom di bawah disalin dari kontrak.
| Kolom / cabang | Jenis / wajib | Batasan |
|---|---|---|
$ | objectWajib dalam induk |
|
id | stringWajib dalam induk |
|
expected_revision | integerWajib dalam induk |
|
mutation_id | stringWajib dalam induk |
|
content | objectWajib dalam induk |
|
content.schemaVersion | numberOpsional / item |
|
content.accountIds | arrayOpsional / item |
|
content.accountIds[] | stringOpsional / item |
|
content.caption | stringOpsional / item |
|
content.hashtags | stringOpsional / item |
|
content.assetIds | arrayOpsional / item |
|
content.assetIds[] | stringOpsional / item |
|
content.threadsTextOnly | booleanOpsional / item | — |
content.instagramMode | stringOpsional / item |
|
content.youtubeTitle | stringOpsional / item |
|
content.youtubePrivacy | stringOpsional / item |
|
content.youtubeSynthetic | booleanOpsional / item | — |
content.youtubeCategoryId | stringOpsional / item |
|
content.youtubeShort | booleanOpsional / item | — |
content.linkUrl | stringOpsional / item |
|
content.scheduledAt | stringOpsional / item |
|
content.displayTimezone | stringOpsional / item |
|
content.publishNow | booleanOpsional / item | — |
content.destinationOverrides | objectOpsional / item |
|
content.destinationOverrides.* | objectOpsional / item |
|
content.destinationOverrides.*.caption | stringOpsional / item |
|
content.destinationOverrides.*.scheduledAt | stringOpsional / item |
|
content.expiresAt | stringOpsional / item |
|
JSON Schema lengkap
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"expected_revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"mutation_id": {
"type": "string",
"format": "uuid"
},
"content": {
"type": "object",
"properties": {
"schemaVersion": {
"type": "number",
"enum": [
1
]
},
"accountIds": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"caption": {
"type": "string",
"maxLength": 5000
},
"hashtags": {
"type": "string",
"maxLength": 5000
},
"assetIds": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 16,
"pattern": "^[1-9][0-9]*$"
}
},
"threadsTextOnly": {
"type": "boolean"
},
"instagramMode": {
"type": "string",
"enum": [
"IMAGE",
"REELS",
"CAROUSEL",
"STORY_IMAGE",
"STORY_VIDEO"
]
},
"youtubeTitle": {
"type": "string",
"maxLength": 100
},
"youtubePrivacy": {
"type": "string",
"enum": [
"private",
"unlisted",
"public"
]
},
"youtubeSynthetic": {
"type": "boolean"
},
"youtubeCategoryId": {
"type": "string",
"maxLength": 32
},
"youtubeShort": {
"type": "boolean"
},
"linkUrl": {
"type": "string",
"maxLength": 2048
},
"scheduledAt": {
"type": "string",
"maxLength": 64
},
"displayTimezone": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"publishNow": {
"type": "boolean"
},
"destinationOverrides": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"caption": {
"type": "string",
"maxLength": 5000
},
"scheduledAt": {
"type": "string",
"maxLength": 64
}
},
"additionalProperties": false
}
},
"expiresAt": {
"type": "string",
"maxLength": 64
}
},
"additionalProperties": false
}
},
"required": [
"id",
"expected_revision",
"mutation_id",
"content"
],
"additionalProperties": false
}Output terstruktur
Skema ini menjelaskan structuredContent dalam hasil alat yang berhasil. Respons MCP juga menyertakan content dan dapat menetapkan isError saat panggilan gagal. Untuk publikasi, baca hasil akhir postingan alih-alih menganggap permintaan diterima atau respons teks sebagai konfirmasi. Operasi API yang ditautkan menjelaskan izin dan aturan percobaan ulang.
Wajib berarti wajib dalam objek induk dan cabang yang dipilih. Anak wajib tidak membuat induk opsional menjadi wajib. Aturan dan nama kolom di bawah disalin dari kontrak.
| Kolom / cabang | Jenis / wajib | Batasan |
|---|---|---|
$ | objectWajib dalam induk |
|
draft | objectWajib dalam induk |
|
draft.id | stringWajib dalam induk |
|
draft.workspace_id | stringWajib dalam induk |
|
draft.revision | integerWajib dalam induk |
|
draft.state | stringWajib dalam induk |
|
draft.content | objectWajib dalam induk |
|
draft.content.schemaVersion | numberWajib dalam induk |
|
draft.content.accountIds | arrayWajib dalam induk |
|
draft.content.accountIds[] | stringOpsional / item |
|
draft.content.caption | stringWajib dalam induk |
|
draft.content.hashtags | stringWajib dalam induk |
|
draft.content.assetIds | arrayWajib dalam induk |
|
draft.content.assetIds[] | stringOpsional / item |
|
draft.content.threadsTextOnly | booleanWajib dalam induk |
|
draft.content.instagramMode | stringWajib dalam induk |
|
draft.content.youtubeTitle | stringWajib dalam induk |
|
draft.content.youtubePrivacy | stringWajib dalam induk |
|
draft.content.youtubeSynthetic | booleanWajib dalam induk |
|
draft.content.youtubeCategoryId | stringWajib dalam induk |
|
draft.content.youtubeShort | booleanWajib dalam induk |
|
draft.content.linkUrl | stringWajib dalam induk |
|
draft.content.scheduledAt | stringWajib dalam induk |
|
draft.content.displayTimezone | stringWajib dalam induk |
|
draft.content.publishNow | booleanWajib dalam induk |
|
draft.content.destinationOverrides | objectWajib dalam induk |
|
draft.content.destinationOverrides.* | objectOpsional / item |
|
draft.content.destinationOverrides.*.caption | stringOpsional / item |
|
draft.content.destinationOverrides.*.scheduledAt | stringOpsional / item |
|
draft.content.expiresAt | stringWajib dalam induk |
|
draft.created_by | string | nullWajib dalam induk | — |
draft.created_byanyOf 1 | stringWajib dalam induk |
|
draft.created_byanyOf 2 | nullWajib dalam induk | — |
draft.updated_by | string | nullWajib dalam induk | — |
draft.updated_byanyOf 1 | stringWajib dalam induk |
|
draft.updated_byanyOf 2 | nullWajib dalam induk | — |
draft.created_at | stringWajib dalam induk |
|
draft.updated_at | stringWajib dalam induk |
|
draft.submission | object | nullWajib dalam induk | — |
draft.submissionanyOf 1 | objectWajib dalam induk |
|
draft.submission.idanyOf 1 | stringWajib dalam induk |
|
draft.submission.expected_revisionanyOf 1 | integerWajib dalam induk |
|
draft.submission.started_atanyOf 1 | stringWajib dalam induk |
|
draft.submission.receiptanyOf 1 | object | nullWajib dalam induk | — |
draft.submission.receiptanyOf 1 / anyOf 1 | objectWajib dalam induk |
|
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 | string | nullWajib dalam induk | — |
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 1 | stringWajib dalam induk |
|
draft.submission.receipt.batch_idanyOf 1 / anyOf 1 / anyOf 2 | nullWajib dalam induk | — |
draft.submission.receipt.successesanyOf 1 / anyOf 1 | arrayWajib dalam induk |
|
draft.submission.receipt.successes[]anyOf 1 / anyOf 1 | objectOpsional / item |
|
draft.submission.receipt.successes[].social_account_idanyOf 1 / anyOf 1 | stringWajib dalam induk |
|
draft.submission.receipt.successes[].post_idanyOf 1 / anyOf 1 | stringWajib dalam induk |
|
draft.submission.receipt.failuresanyOf 1 / anyOf 1 | arrayWajib dalam induk |
|
draft.submission.receipt.failures[]anyOf 1 / anyOf 1 | objectOpsional / item |
|
draft.submission.receipt.failures[].social_account_idanyOf 1 / anyOf 1 | stringWajib dalam induk |
|
draft.submission.receipt.failures[].codeanyOf 1 / anyOf 1 | stringWajib dalam induk |
|
draft.submission.receipt.failures[].messageanyOf 1 / anyOf 1 | stringWajib dalam induk |
|
draft.submission.receiptanyOf 1 / anyOf 2 | nullWajib dalam induk | — |
draft.submissionanyOf 2 | nullWajib dalam induk | — |
replayed | booleanWajib dalam induk | — |
JSON Schema lengkap
{
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"workspace_id": {
"type": "string",
"format": "uuid"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"state": {
"type": "string",
"enum": [
"draft",
"submitting",
"submitted"
]
},
"content": {
"type": "object",
"properties": {
"schemaVersion": {
"default": 1,
"type": "number",
"const": 1
},
"accountIds": {
"default": [],
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"caption": {
"default": "",
"type": "string",
"maxLength": 5000
},
"hashtags": {
"default": "",
"type": "string",
"maxLength": 5000
},
"assetIds": {
"default": [],
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 16,
"pattern": "^[1-9][0-9]*$"
}
},
"threadsTextOnly": {
"default": false,
"type": "boolean"
},
"instagramMode": {
"default": "REELS",
"type": "string",
"enum": [
"IMAGE",
"REELS",
"CAROUSEL",
"STORY_IMAGE",
"STORY_VIDEO"
]
},
"youtubeTitle": {
"default": "",
"type": "string",
"maxLength": 100
},
"youtubePrivacy": {
"default": "private",
"type": "string",
"enum": [
"private",
"unlisted",
"public"
]
},
"youtubeSynthetic": {
"default": false,
"type": "boolean"
},
"youtubeCategoryId": {
"default": "",
"type": "string",
"maxLength": 32
},
"youtubeShort": {
"default": false,
"type": "boolean"
},
"linkUrl": {
"default": "",
"type": "string",
"maxLength": 2048
},
"scheduledAt": {
"default": "",
"type": "string",
"maxLength": 64
},
"displayTimezone": {
"default": "UTC",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"publishNow": {
"default": false,
"type": "boolean"
},
"destinationOverrides": {
"default": {},
"type": "object",
"propertyNames": {
"type": "string",
"format": "uuid"
},
"additionalProperties": {
"type": "object",
"properties": {
"caption": {
"type": "string",
"maxLength": 5000
},
"scheduledAt": {
"type": "string",
"maxLength": 64
}
},
"additionalProperties": false
}
},
"expiresAt": {
"default": "",
"type": "string",
"maxLength": 64
}
},
"required": [
"schemaVersion",
"accountIds",
"caption",
"hashtags",
"assetIds",
"threadsTextOnly",
"instagramMode",
"youtubeTitle",
"youtubePrivacy",
"youtubeSynthetic",
"youtubeCategoryId",
"youtubeShort",
"linkUrl",
"scheduledAt",
"displayTimezone",
"publishNow",
"destinationOverrides",
"expiresAt"
],
"additionalProperties": false
},
"created_by": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"updated_by": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"created_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)))$"
},
"updated_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)))$"
},
"submission": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"expected_revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"started_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)))$"
},
"receipt": {
"anyOf": [
{
"type": "object",
"properties": {
"batch_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
},
"successes": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"social_account_id": {
"type": "string",
"format": "uuid"
},
"post_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
}
},
"required": [
"social_account_id",
"post_id"
],
"additionalProperties": false
}
},
"failures": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"social_account_id": {
"type": "string",
"format": "uuid"
},
"code": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"message": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"social_account_id",
"code",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"batch_id",
"successes",
"failures"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"expected_revision",
"started_at",
"receipt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"workspace_id",
"revision",
"state",
"content",
"created_by",
"updated_by",
"created_at",
"updated_at",
"submission"
],
"additionalProperties": false
},
"replayed": {
"type": "boolean"
}
},
"required": [
"draft",
"replayed"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Contoh panggilan alat
Contoh ini menggunakan nilai fiktif yang diperiksa terhadap skema. Ganti ID dengan yang diizinkan bagi Anda, media dengan aset siap, dan tanggal dengan waktu publikasi yang dikonfirmasi. Periksa kelayakan akun sebelum mengirim penulisan. Halaman ini tidak mengirim permintaan API.
{
"name": "sosoapi_update_content_draft",
"arguments": {
"id": "44444444-4444-4444-8444-444444444444",
"expected_revision": 1,
"mutation_id": "66666666-6666-4666-8666-666666666666",
"content": {
"schemaVersion": 1,
"accountIds": [],
"caption": "Revised editorial content, still not scheduled.",
"hashtags": "",
"assetIds": [],
"threadsTextOnly": false,
"instagramMode": "REELS",
"youtubeTitle": "",
"youtubePrivacy": "private",
"youtubeSynthetic": false,
"youtubeCategoryId": "",
"youtubeShort": false,
"linkUrl": "",
"scheduledAt": "",
"displayTimezone": "UTC",
"publishNow": false,
"destinationOverrides": {},
"expiresAt": ""
}
}
}structuredContent
{
"draft": {
"id": "44444444-4444-4444-8444-444444444444",
"workspace_id": "11111111-1111-4111-8111-111111111111",
"revision": 2,
"state": "draft",
"content": {
"schemaVersion": 1,
"accountIds": [],
"caption": "Revised editorial content, still not scheduled.",
"hashtags": "",
"assetIds": [],
"threadsTextOnly": false,
"instagramMode": "REELS",
"youtubeTitle": "",
"youtubePrivacy": "private",
"youtubeSynthetic": false,
"youtubeCategoryId": "",
"youtubeShort": false,
"linkUrl": "",
"scheduledAt": "",
"displayTimezone": "UTC",
"publishNow": false,
"destinationOverrides": {},
"expiresAt": ""
},
"created_by": null,
"updated_by": null,
"created_at": "2099-01-15T08:00:00Z",
"updated_at": "2099-01-15T08:30:00Z",
"submission": null
},
"replayed": false
}