排程與發布
提交完整圖片貼文
僅提交一次圖片 URL 貼文。SosoAPI 會準備媒體,並在發布結果可用時回傳;否則,保留貼文 ID 並再次檢查同一則貼文。不要用新 key 再次提交。HTTP 使用下方的扁平請求欄位;相應 MCP 工具將貼文欄位包裝在 post 物件中。
POST /studio-api/scheduled-posts/create-image-url契約檢閱日期: · sha256:563d2d581da0ad29
概覽
僅提交一次圖片 URL 貼文。SosoAPI 會準備媒體,並在發布結果可用時回傳;否則,保留貼文 ID 並再次檢查同一則貼文。不要用新 key 再次提交。HTTP 使用下方的扁平請求欄位;相應 MCP 工具將貼文欄位包裝在 post 物件中。
成功 HTTP 回應可能表示請求已接受,並非已完成。背景工作請儲存回傳 ID,持續檢查同一操作直到完成。已排程或已接受的貼文,只有平台確認後才算已發布;用戶端逾時無法證明結果。
驗證與權限
權杖只能使用其擁有者持有的權利。每次請求會檢查工作空間成員資格、資源擁有權、所選工作空間及已授予能力。core 與 full 設定檔只變更顯示的工具,不會授予存取權。
請求欄位
「必填」是指在其父物件及所選分支內必填。必填子欄位不會使選填父物件變成必填。下列規則與欄位名稱均複製自契約。
| 欄位 / 分支 | 類型 / 必填 | 約束 |
|---|---|---|
$ | object在父物件中必填 |
|
workspace_id | string在父物件中必填 |
|
project_id | string | null選填/項目 | — |
project_idanyOf 1 | string選填/項目 |
|
project_idanyOf 2 | null選填/項目 | — |
social_account_id | string在父物件中必填 |
|
caption | string | null選填/項目 |
|
captionanyOf 1 | string選填/項目 |
|
captionanyOf 2 | null選填/項目 | — |
hashtags | array選填/項目 |
|
hashtags[] | string選填/項目 |
|
media | array選填/項目 |
|
media[] | object選填/項目 |
|
media[].kind | string在父物件中必填 |
|
media[].url | string在父物件中必填 |
|
media[].cover_url | string | null選填/項目 | — |
media[].cover_urlanyOf 1 | string選填/項目 |
|
media[].cover_urlanyOf 2 | null選填/項目 | — |
media[].cover_asset_id | integer | null選填/項目 | — |
media[].cover_asset_idanyOf 1 | integer選填/項目 |
|
media[].cover_asset_idanyOf 2 | null選填/項目 | — |
media[].asset_id | integer | null選填/項目 | — |
media[].asset_idanyOf 1 | integer選填/項目 |
|
media[].asset_idanyOf 2 | null選填/項目 | — |
media[].mime_type | string | null選填/項目 | — |
media[].mime_typeanyOf 1 | string選填/項目 |
|
media[].mime_typeanyOf 2 | null選填/項目 | — |
link_url | string | null選填/項目 | — |
link_urlanyOf 1 | string選填/項目 |
|
link_urlanyOf 2 | null選填/項目 | — |
provider_payload | object在父物件中必填 | — |
provider_payloadoneOf 1 | object在父物件中必填 |
|
provider_payload.platformoneOf 1 | string在父物件中必填 |
|
provider_payload.publish_optionsoneOf 1 | object在父物件中必填 |
|
provider_payload.publish_options.post_typeoneOf 1 | string在父物件中必填 |
|
provider_payloadoneOf 2 | object在父物件中必填 |
|
provider_payload.platformoneOf 2 | string在父物件中必填 |
|
provider_payload.publish_optionsoneOf 2 | object在父物件中必填 |
|
provider_payload.publish_options.post_typeoneOf 2 | string在父物件中必填 |
|
provider_payload.publish_options.location_idoneOf 2 | string選填/項目 |
|
provider_payload.publish_options.share_to_feedoneOf 2 | boolean選填/項目 | — |
provider_payload.publish_options.collaboratorsoneOf 2 | array選填/項目 |
|
provider_payload.publish_options.collaborators[]oneOf 2 | string選填/項目 |
|
provider_payload.publish_options.first_commentoneOf 2 | string選填/項目 |
|
provider_payload.publish_options.cover_asset_idoneOf 2 | integer選填/項目 |
|
provider_payload.publish_options.thumb_offset_msoneOf 2 | integer選填/項目 |
|
provider_payload.publish_options.audio_nameoneOf 2 | string選填/項目 |
|
provider_payload.publish_options.trial_paramsoneOf 2 | object選填/項目 |
|
provider_payload.publish_options.trial_params.graduation_strategyoneOf 2 | string在父物件中必填 |
|
provider_payload.publish_options.is_ai_generatedoneOf 2 | boolean選填/項目 | — |
provider_payload.publish_options.branded_content_sponsor_idsoneOf 2 | array選填/項目 |
|
provider_payload.publish_options.branded_content_sponsor_ids[]oneOf 2 | string選填/項目 |
|
provider_payload.publish_options.is_paid_partnershiponeOf 2 | boolean選填/項目 | — |
provider_payload.publish_options.media_optionsoneOf 2 | array選填/項目 |
|
provider_payload.publish_options.media_options[]oneOf 2 | object選填/項目 |
|
provider_payload.publish_options.media_options[].asset_idoneOf 2 | integer在父物件中必填 |
|
provider_payload.publish_options.media_options[].alt_textoneOf 2 | string選填/項目 |
|
provider_payload.publish_options.media_options[].user_tagsoneOf 2 | array選填/項目 |
|
provider_payload.publish_options.media_options[].user_tags[]oneOf 2 | object選填/項目 |
|
provider_payload.publish_options.media_options[].user_tags[].usernameoneOf 2 | string在父物件中必填 |
|
provider_payload.publish_options.media_options[].user_tags[].xoneOf 2 | number選填/項目 |
|
provider_payload.publish_options.media_options[].user_tags[].yoneOf 2 | number選填/項目 |
|
provider_payload.publish_options.media_options[].product_tagsoneOf 2 | array選填/項目 |
|
provider_payload.publish_options.media_options[].product_tags[]oneOf 2 | object選填/項目 |
|
provider_payload.publish_options.media_options[].product_tags[].product_idoneOf 2 | string在父物件中必填 |
|
provider_payload.publish_options.media_options[].product_tags[].xoneOf 2 | number選填/項目 |
|
provider_payload.publish_options.media_options[].product_tags[].yoneOf 2 | number選填/項目 |
|
provider_payload.publish_options.media_options[].thumb_offset_msoneOf 2 | integer選填/項目 |
|
provider_payloadoneOf 3 | object在父物件中必填 |
|
provider_payload.platformoneOf 3 | string在父物件中必填 |
|
provider_payload.publish_optionsoneOf 3 | object在父物件中必填 |
|
provider_payload.publish_options.post_typeoneOf 3 | string在父物件中必填 |
|
provider_payload.publish_options.titleoneOf 3 | string選填/項目 |
|
provider_payload.publish_options.descriptiononeOf 3 | string選填/項目 |
|
provider_payload.publish_options.publication_modeoneOf 3 | string選填/項目 |
|
provider_payload.publish_options.backdated_timeoneOf 3 | number選填/項目 | — |
provider_payload.publish_options.backdated_time_granularityoneOf 3 | string選填/項目 |
|
provider_payload.publish_options.placeoneOf 3 | string選填/項目 |
|
provider_payload.publish_options.tagsoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.tags[]oneOf 3 | string選填/項目 |
|
provider_payload.publish_options.feed_targetingoneOf 3 | object選填/項目 |
|
provider_payload.publish_options.feed_targeting.age_minoneOf 3 | integer選填/項目 |
|
provider_payload.publish_options.feed_targeting.age_maxoneOf 3 | integer選填/項目 |
|
provider_payload.publish_options.feed_targeting.college_yearsoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.feed_targeting.college_years[]oneOf 3 | integer選填/項目 |
|
provider_payload.publish_options.feed_targeting.education_statusesoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.feed_targeting.education_statuses[]oneOf 3 | number選填/項目 | — |
provider_payload.publish_options.feed_targeting.education_statuses[]oneOf 3 / anyOf 1 | number選填/項目 |
|
provider_payload.publish_options.feed_targeting.education_statuses[]oneOf 3 / anyOf 2 | number選填/項目 |
|
provider_payload.publish_options.feed_targeting.education_statuses[]oneOf 3 / anyOf 3 | number選填/項目 |
|
provider_payload.publish_options.feed_targeting.gendersoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.feed_targeting.genders[]oneOf 3 | number選填/項目 | — |
provider_payload.publish_options.feed_targeting.genders[]oneOf 3 / anyOf 1 | number選填/項目 |
|
provider_payload.publish_options.feed_targeting.genders[]oneOf 3 / anyOf 2 | number選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locationsoneOf 3 | object選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.countriesoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.countries[]oneOf 3 | string選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.regionsoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.regions[]oneOf 3 | object選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.regions[].keyoneOf 3 | string | integer在父物件中必填 | — |
provider_payload.publish_options.feed_targeting.geo_locations.regions[].keyoneOf 3 / anyOf 1 | string在父物件中必填 |
|
provider_payload.publish_options.feed_targeting.geo_locations.regions[].keyoneOf 3 / anyOf 2 | integer在父物件中必填 |
|
provider_payload.publish_options.feed_targeting.geo_locations.citiesoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.cities[]oneOf 3 | object選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.cities[].keyoneOf 3 | string | integer在父物件中必填 | — |
provider_payload.publish_options.feed_targeting.geo_locations.cities[].keyoneOf 3 / anyOf 1 | string在父物件中必填 |
|
provider_payload.publish_options.feed_targeting.geo_locations.cities[].keyoneOf 3 / anyOf 2 | integer在父物件中必填 |
|
provider_payload.publish_options.feed_targeting.geo_locations.cities[].radiusoneOf 3 | number選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.cities[].distance_unitoneOf 3 | string選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.zipsoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.zips[]oneOf 3 | object選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.zips[].keyoneOf 3 | string | integer在父物件中必填 | — |
provider_payload.publish_options.feed_targeting.geo_locations.zips[].keyoneOf 3 / anyOf 1 | string在父物件中必填 |
|
provider_payload.publish_options.feed_targeting.geo_locations.zips[].keyoneOf 3 / anyOf 2 | integer在父物件中必填 |
|
provider_payload.publish_options.feed_targeting.geo_locations.location_typesoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.feed_targeting.geo_locations.location_types[]oneOf 3 | string選填/項目 |
|
provider_payload.publish_options.feed_targeting.interestsoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.feed_targeting.interests[]oneOf 3 | string | integer選填/項目 | — |
provider_payload.publish_options.feed_targeting.interests[]oneOf 3 / anyOf 1 | string選填/項目 |
|
provider_payload.publish_options.feed_targeting.interests[]oneOf 3 / anyOf 2 | integer選填/項目 |
|
provider_payload.publish_options.feed_targeting.localesoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.feed_targeting.locales[]oneOf 3 | integer選填/項目 |
|
provider_payload.publish_options.feed_targeting.relationship_statusesoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.feed_targeting.relationship_statuses[]oneOf 3 | number選填/項目 | — |
provider_payload.publish_options.feed_targeting.relationship_statuses[]oneOf 3 / anyOf 1 | number選填/項目 |
|
provider_payload.publish_options.feed_targeting.relationship_statuses[]oneOf 3 / anyOf 2 | number選填/項目 |
|
provider_payload.publish_options.feed_targeting.relationship_statuses[]oneOf 3 / anyOf 3 | number選填/項目 |
|
provider_payload.publish_options.feed_targeting.relationship_statuses[]oneOf 3 / anyOf 4 | number選填/項目 |
|
provider_payload.publish_options.targetingoneOf 3 | object選填/項目 |
|
provider_payload.publish_options.targeting.age_minoneOf 3 | number選填/項目 | — |
provider_payload.publish_options.targeting.age_minoneOf 3 / anyOf 1 | number選填/項目 |
|
provider_payload.publish_options.targeting.age_minoneOf 3 / anyOf 2 | number選填/項目 |
|
provider_payload.publish_options.targeting.age_minoneOf 3 / anyOf 3 | number選填/項目 |
|
provider_payload.publish_options.targeting.age_minoneOf 3 / anyOf 4 | number選填/項目 |
|
provider_payload.publish_options.targeting.age_minoneOf 3 / anyOf 5 | number選填/項目 |
|
provider_payload.publish_options.targeting.geo_locationsoneOf 3 | object選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.countriesoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.countries[]oneOf 3 | string選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.regionsoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.regions[]oneOf 3 | object選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.regions[].keyoneOf 3 | string | integer在父物件中必填 | — |
provider_payload.publish_options.targeting.geo_locations.regions[].keyoneOf 3 / anyOf 1 | string在父物件中必填 |
|
provider_payload.publish_options.targeting.geo_locations.regions[].keyoneOf 3 / anyOf 2 | integer在父物件中必填 |
|
provider_payload.publish_options.targeting.geo_locations.citiesoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.cities[]oneOf 3 | object選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.cities[].keyoneOf 3 | string | integer在父物件中必填 | — |
provider_payload.publish_options.targeting.geo_locations.cities[].keyoneOf 3 / anyOf 1 | string在父物件中必填 |
|
provider_payload.publish_options.targeting.geo_locations.cities[].keyoneOf 3 / anyOf 2 | integer在父物件中必填 |
|
provider_payload.publish_options.targeting.geo_locations.cities[].radiusoneOf 3 | number選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.cities[].distance_unitoneOf 3 | string選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.zipsoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.zips[]oneOf 3 | object選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.zips[].keyoneOf 3 | string | integer在父物件中必填 | — |
provider_payload.publish_options.targeting.geo_locations.zips[].keyoneOf 3 / anyOf 1 | string在父物件中必填 |
|
provider_payload.publish_options.targeting.geo_locations.zips[].keyoneOf 3 / anyOf 2 | integer在父物件中必填 |
|
provider_payload.publish_options.targeting.geo_locations.location_typesoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.targeting.geo_locations.location_types[]oneOf 3 | string選填/項目 |
|
provider_payload.publish_options.child_attachmentsoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.child_attachments[]oneOf 3 | object選填/項目 |
|
provider_payload.publish_options.child_attachments[].linkoneOf 3 | string在父物件中必填 |
|
provider_payload.publish_options.child_attachments[].nameoneOf 3 | string選填/項目 |
|
provider_payload.publish_options.child_attachments[].descriptiononeOf 3 | string選填/項目 |
|
provider_payload.publish_options.child_attachments[].pictureoneOf 3 | string在父物件中必填 |
|
provider_payload.publish_options.multi_share_end_cardoneOf 3 | boolean選填/項目 | — |
provider_payload.publish_options.multi_share_optimizedoneOf 3 | boolean選填/項目 | — |
provider_payload.publish_options.unpublished_content_typeoneOf 3 | string選填/項目 |
|
provider_payload.publish_options.no_storyoneOf 3 | boolean選填/項目 | — |
provider_payload.publish_options.crossposted_video_idoneOf 3 | string選填/項目 |
|
provider_payload.publish_options.sphericaloneOf 3 | boolean選填/項目 | — |
provider_payload.publish_options.media_optionsoneOf 3 | array選填/項目 |
|
provider_payload.publish_options.media_options[]oneOf 3 | object選填/項目 |
|
provider_payload.publish_options.media_options[].asset_idoneOf 3 | integer在父物件中必填 |
|
provider_payload.publish_options.media_options[].alt_text_customoneOf 3 | string選填/項目 |
|
provider_payloadoneOf 4 | object在父物件中必填 |
|
provider_payload.platformoneOf 4 | string在父物件中必填 |
|
provider_payload.publish_optionsoneOf 4 | object在父物件中必填 |
|
provider_payload.publish_options.post_typeoneOf 4 | string在父物件中必填 |
|
provider_payload.publish_options.reply_to_idoneOf 4 | string選填/項目 |
|
provider_payload.publish_options.quote_post_idoneOf 4 | string選填/項目 |
|
provider_payload.publish_options.repost_target_idoneOf 4 | string選填/項目 |
|
provider_payload.publish_options.reply_controloneOf 4 | string選填/項目 |
|
provider_payload.publish_options.enable_reply_approvalsoneOf 4 | boolean選填/項目 | — |
provider_payload.publish_options.link_attachmentoneOf 4 | string選填/項目 |
|
provider_payload.publish_options.poll_attachmentoneOf 4 | object選填/項目 |
|
provider_payload.publish_options.poll_attachment.option_aoneOf 4 | string在父物件中必填 |
|
provider_payload.publish_options.poll_attachment.option_boneOf 4 | string在父物件中必填 |
|
provider_payload.publish_options.poll_attachment.option_coneOf 4 | string選填/項目 |
|
provider_payload.publish_options.poll_attachment.option_doneOf 4 | string選填/項目 |
|
provider_payload.publish_options.gif_attachmentoneOf 4 | object選填/項目 |
|
provider_payload.publish_options.gif_attachment.gif_idoneOf 4 | string在父物件中必填 |
|
provider_payload.publish_options.gif_attachment.provideroneOf 4 | string在父物件中必填 |
|
provider_payload.publish_options.text_attachmentoneOf 4 | object選填/項目 |
|
provider_payload.publish_options.text_attachment.plaintextoneOf 4 | string在父物件中必填 |
|
provider_payload.publish_options.text_attachment.link_attachment_urloneOf 4 | string選填/項目 |
|
provider_payload.publish_options.text_attachment.text_with_styling_infooneOf 4 | array選填/項目 |
|
provider_payload.publish_options.text_attachment.text_with_styling_info[]oneOf 4 | object選填/項目 |
|
provider_payload.publish_options.text_attachment.text_with_styling_info[].offsetoneOf 4 | integer在父物件中必填 |
|
provider_payload.publish_options.text_attachment.text_with_styling_info[].lengthoneOf 4 | integer在父物件中必填 |
|
provider_payload.publish_options.text_attachment.text_with_styling_info[].styling_infooneOf 4 | array在父物件中必填 |
|
provider_payload.publish_options.text_attachment.text_with_styling_info[].styling_info[]oneOf 4 | string選填/項目 |
|
provider_payload.publish_options.topic_tagoneOf 4 | string選填/項目 |
|
provider_payload.publish_options.text_entitiesoneOf 4 | array選填/項目 |
|
provider_payload.publish_options.text_entities[]oneOf 4 | object選填/項目 |
|
provider_payload.publish_options.text_entities[].entity_typeoneOf 4 | string在父物件中必填 |
|
provider_payload.publish_options.text_entities[].offsetoneOf 4 | integer在父物件中必填 |
|
provider_payload.publish_options.text_entities[].lengthoneOf 4 | integer在父物件中必填 |
|
provider_payload.publish_options.is_spoiler_mediaoneOf 4 | boolean選填/項目 | — |
provider_payload.publish_options.is_ghost_postoneOf 4 | boolean選填/項目 | — |
provider_payload.publish_options.location_idoneOf 4 | string選填/項目 |
|
provider_payload.publish_options.allowlisted_country_codesoneOf 4 | array選填/項目 |
|
provider_payload.publish_options.allowlisted_country_codes[]oneOf 4 | string選填/項目 |
|
provider_payload.publish_options.crossreshare_to_igoneOf 4 | boolean選填/項目 | — |
provider_payload.publish_options.crossreshare_to_ig_dark_modeoneOf 4 | boolean選填/項目 | — |
provider_payload.publish_options.auto_publish_textoneOf 4 | boolean選填/項目 | — |
provider_payload.publish_options.media_optionsoneOf 4 | array選填/項目 |
|
provider_payload.publish_options.media_options[]oneOf 4 | object選填/項目 |
|
provider_payload.publish_options.media_options[].asset_idoneOf 4 | integer在父物件中必填 |
|
provider_payload.publish_options.media_options[].alt_textoneOf 4 | string選填/項目 |
|
provider_payload.publish_options.media_options[].is_spoiler_mediaoneOf 4 | boolean選填/項目 | — |
provider_payloadoneOf 5 | object在父物件中必填 |
|
provider_payload.platformoneOf 5 | string在父物件中必填 |
|
provider_payload.publish_optionsoneOf 5 | object在父物件中必填 |
|
provider_payload.publish_options.post_typeoneOf 5 | string在父物件中必填 |
|
provider_payload.publish_options.titleoneOf 5 | string在父物件中必填 |
|
provider_payload.publish_options.descriptiononeOf 5 | string選填/項目 |
|
provider_payload.publish_options.tagsoneOf 5 | array選填/項目 |
|
provider_payload.publish_options.tags[]oneOf 5 | string選填/項目 |
|
provider_payload.publish_options.category_idoneOf 5 | string選填/項目 | — |
provider_payload.publish_options.category_idoneOf 5 / anyOf 1 | string選填/項目 |
|
provider_payload.publish_options.category_idoneOf 5 / anyOf 2 | string選填/項目 |
|
provider_payload.publish_options.default_languageoneOf 5 | string選填/項目 |
|
provider_payload.publish_options.localizationsoneOf 5 | object選填/項目 |
|
provider_payload.publish_options.localizations.*oneOf 5 | object選填/項目 |
|
provider_payload.publish_options.localizations.*.titleoneOf 5 | string在父物件中必填 |
|
provider_payload.publish_options.localizations.*.descriptiononeOf 5 | string在父物件中必填 |
|
provider_payload.publish_options.privacy_statusoneOf 5 | string在父物件中必填 |
|
provider_payload.publish_options.cancellation_modeoneOf 5 | string在父物件中必填 |
|
provider_payload.publish_options.licenseoneOf 5 | string選填/項目 |
|
provider_payload.publish_options.embeddableoneOf 5 | boolean選填/項目 | — |
provider_payload.publish_options.public_stats_viewableoneOf 5 | boolean選填/項目 | — |
provider_payload.publish_options.self_declared_made_for_kidsoneOf 5 | boolean選填/項目 | — |
provider_payload.publish_options.contains_synthetic_mediaoneOf 5 | boolean選填/項目 | — |
provider_payload.publish_options.has_paid_product_placementoneOf 5 | boolean選填/項目 | — |
provider_payload.publish_options.recording_dateoneOf 5 | string選填/項目 |
|
provider_payload.publish_options.notify_subscribersoneOf 5 | boolean選填/項目 | — |
provider_payload.publish_options.thumbnail_asset_idoneOf 5 | integer選填/項目 |
|
provider_payload.publish_options.surface_expectationoneOf 5 | string選填/項目 |
|
provider_payload.publish_options.brand_partneroneOf 5 | object選填/項目 |
|
provider_payload.publish_options.brand_partner.channel_idoneOf 5 | string選填/項目 |
|
provider_payload.publish_options.brand_partner.channel_handleoneOf 5 | string選填/項目 |
|
scheduled_at | string在父物件中必填 |
|
display_timezone | string選填/項目 |
|
local_scheduled_at | string選填/項目 |
|
schedule_dst_disambiguation | string選填/項目 |
|
expires_at | string | null選填/項目 | — |
expires_atanyOf 1 | string選填/項目 |
|
expires_atanyOf 2 | null選填/項目 | — |
source_ref | object | null選填/項目 | — |
source_refanyOf 1 | object選填/項目 |
|
source_ref.*anyOf 1 | any JSON value選填/項目 | — |
source_refanyOf 2 | null選填/項目 | — |
automatic_retry_enabled | boolean選填/項目 |
|
idempotency_key | string在父物件中必填 |
|
source_url | string在父物件中必填 |
|
wait_seconds | integer選填/項目 |
|
完整 JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"workspace_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"project_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"social_account_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"caption": {
"default": null,
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "null"
}
]
},
"hashtags": {
"default": [],
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"maxLength": 100
}
},
"media": {
"default": [],
"maxItems": 0,
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"image",
"video"
]
},
"url": {
"type": "string",
"format": "uri"
},
"cover_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"cover_asset_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"asset_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"mime_type": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 160
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"url"
],
"additionalProperties": false
}
},
"link_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"provider_payload": {
"oneOf": [
{
"type": "object",
"properties": {
"platform": {
"type": "string",
"const": "x"
},
"publish_options": {
"type": "object",
"properties": {
"post_type": {
"type": "string",
"const": "TEXT"
}
},
"required": [
"post_type"
],
"additionalProperties": false
}
},
"required": [
"platform",
"publish_options"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"platform": {
"type": "string",
"const": "instagram"
},
"publish_options": {
"type": "object",
"properties": {
"post_type": {
"type": "string",
"enum": [
"IMAGE",
"VIDEO",
"CAROUSEL",
"REELS",
"STORY_IMAGE",
"STORY_VIDEO"
]
},
"location_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"share_to_feed": {
"type": "boolean"
},
"collaborators": {
"maxItems": 3,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 30
}
},
"first_comment": {
"type": "string",
"minLength": 1,
"maxLength": 2200
},
"cover_asset_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"thumb_offset_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"audio_name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"trial_params": {
"type": "object",
"properties": {
"graduation_strategy": {
"type": "string",
"enum": [
"MANUAL",
"SS_PERFORMANCE"
]
}
},
"required": [
"graduation_strategy"
],
"additionalProperties": false
},
"is_ai_generated": {
"type": "boolean"
},
"branded_content_sponsor_ids": {
"maxItems": 2,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"is_paid_partnership": {
"type": "boolean"
},
"media_options": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"asset_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"alt_text": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"user_tags": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"username": {
"type": "string",
"minLength": 1,
"maxLength": 30
},
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"username"
],
"additionalProperties": false
}
},
"product_tags": {
"maxItems": 5,
"type": "array",
"items": {
"type": "object",
"properties": {
"product_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"product_id"
],
"additionalProperties": false
}
},
"thumb_offset_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"asset_id"
],
"additionalProperties": false
}
}
},
"required": [
"post_type"
],
"additionalProperties": false
}
},
"required": [
"platform",
"publish_options"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"platform": {
"type": "string",
"const": "facebook"
},
"publish_options": {
"type": "object",
"properties": {
"post_type": {
"type": "string",
"enum": [
"TEXT",
"LINK",
"IMAGE",
"MULTI_IMAGE",
"VIDEO",
"REELS",
"STORY_IMAGE",
"STORY_VIDEO"
]
},
"title": {
"type": "string",
"maxLength": 255
},
"description": {
"type": "string",
"maxLength": 5000
},
"publication_mode": {
"type": "string",
"enum": [
"PUBLISH",
"DRAFT"
]
},
"backdated_time": {
"type": "number"
},
"backdated_time_granularity": {
"type": "string",
"enum": [
"year",
"month",
"day",
"hour",
"minute"
]
},
"place": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"tags": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"feed_targeting": {
"type": "object",
"properties": {
"age_min": {
"type": "integer",
"minimum": 13,
"maximum": 65
},
"age_max": {
"type": "integer",
"minimum": 13,
"maximum": 65
},
"college_years": {
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"minimum": 1900,
"maximum": 2200
}
},
"education_statuses": {
"maxItems": 3,
"type": "array",
"items": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
}
]
}
},
"genders": {
"maxItems": 2,
"type": "array",
"items": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
}
]
}
},
"geo_locations": {
"type": "object",
"properties": {
"countries": {
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"regions": {
"minItems": 1,
"maxItems": 250,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 256
},
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
]
}
},
"required": [
"key"
],
"additionalProperties": false
}
},
"cities": {
"minItems": 1,
"maxItems": 250,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 256
},
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
]
},
"radius": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"distance_unit": {
"type": "string",
"enum": [
"mile",
"kilometer"
]
}
},
"required": [
"key"
],
"additionalProperties": false
}
},
"zips": {
"minItems": 1,
"maxItems": 250,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 256
},
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
]
}
},
"required": [
"key"
],
"additionalProperties": false
}
},
"location_types": {
"minItems": 1,
"maxItems": 2,
"type": "array",
"items": {
"type": "string",
"enum": [
"home",
"recent"
]
}
}
},
"additionalProperties": false
},
"interests": {
"maxItems": 250,
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 256
},
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
]
}
},
"locales": {
"maxItems": 250,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"relationship_statuses": {
"maxItems": 4,
"type": "array",
"items": {
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
},
{
"type": "number",
"const": 3
},
{
"type": "number",
"const": 4
}
]
}
}
},
"additionalProperties": false
},
"targeting": {
"type": "object",
"properties": {
"age_min": {
"anyOf": [
{
"type": "number",
"const": 13
},
{
"type": "number",
"const": 15
},
{
"type": "number",
"const": 18
},
{
"type": "number",
"const": 21
},
{
"type": "number",
"const": 25
}
]
},
"geo_locations": {
"type": "object",
"properties": {
"countries": {
"minItems": 1,
"maxItems": 25,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"regions": {
"minItems": 1,
"maxItems": 250,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 256
},
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
]
}
},
"required": [
"key"
],
"additionalProperties": false
}
},
"cities": {
"minItems": 1,
"maxItems": 250,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 256
},
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
]
},
"radius": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000
},
"distance_unit": {
"type": "string",
"enum": [
"mile",
"kilometer"
]
}
},
"required": [
"key"
],
"additionalProperties": false
}
},
"zips": {
"minItems": 1,
"maxItems": 250,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 256
},
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
]
}
},
"required": [
"key"
],
"additionalProperties": false
}
},
"location_types": {
"minItems": 1,
"maxItems": 2,
"type": "array",
"items": {
"type": "string",
"enum": [
"home",
"recent"
]
}
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"child_attachments": {
"minItems": 2,
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"link": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"maxLength": 255
},
"description": {
"type": "string",
"maxLength": 1000
},
"picture": {
"type": "string",
"format": "uri"
}
},
"required": [
"link",
"picture"
],
"additionalProperties": false
}
},
"multi_share_end_card": {
"type": "boolean"
},
"multi_share_optimized": {
"type": "boolean"
},
"unpublished_content_type": {
"type": "string",
"enum": [
"SCHEDULED",
"SCHEDULED_RECURRING",
"DRAFT",
"PUBLISH_PENDING",
"ADS_POST",
"INLINE_CREATED",
"PUBLISHED",
"REVIEWABLE_BRANDED_CONTENT"
]
},
"no_story": {
"type": "boolean"
},
"crossposted_video_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"spherical": {
"type": "boolean"
},
"media_options": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"asset_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"alt_text_custom": {
"type": "string",
"minLength": 1,
"maxLength": 1000
}
},
"required": [
"asset_id"
],
"additionalProperties": false
}
}
},
"required": [
"post_type"
],
"additionalProperties": false
}
},
"required": [
"platform",
"publish_options"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"platform": {
"type": "string",
"const": "threads"
},
"publish_options": {
"type": "object",
"properties": {
"post_type": {
"type": "string",
"enum": [
"TEXT",
"IMAGE",
"VIDEO",
"CAROUSEL",
"REPOST"
]
},
"reply_to_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"quote_post_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"repost_target_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"reply_control": {
"type": "string",
"enum": [
"everyone",
"accounts_you_follow",
"mentioned_only",
"parent_post_author_only",
"followers_only"
]
},
"enable_reply_approvals": {
"type": "boolean"
},
"link_attachment": {
"type": "string",
"format": "uri"
},
"poll_attachment": {
"type": "object",
"properties": {
"option_a": {
"type": "string",
"minLength": 1,
"maxLength": 25
},
"option_b": {
"type": "string",
"minLength": 1,
"maxLength": 25
},
"option_c": {
"type": "string",
"minLength": 1,
"maxLength": 25
},
"option_d": {
"type": "string",
"minLength": 1,
"maxLength": 25
}
},
"required": [
"option_a",
"option_b"
],
"additionalProperties": false
},
"gif_attachment": {
"type": "object",
"properties": {
"gif_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"provider": {
"type": "string",
"const": "GIPHY"
}
},
"required": [
"gif_id",
"provider"
],
"additionalProperties": false
},
"text_attachment": {
"type": "object",
"properties": {
"plaintext": {
"type": "string",
"minLength": 1,
"maxLength": 10000
},
"link_attachment_url": {
"type": "string",
"format": "uri"
},
"text_with_styling_info": {
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"length": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"styling_info": {
"minItems": 1,
"type": "array",
"items": {
"type": "string",
"enum": [
"bold",
"italic",
"highlight",
"underline",
"strikethrough"
]
}
}
},
"required": [
"offset",
"length",
"styling_info"
],
"additionalProperties": false
}
}
},
"required": [
"plaintext"
],
"additionalProperties": false
},
"topic_tag": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"text_entities": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"entity_type": {
"type": "string",
"enum": [
"SPOILER",
"spoiler"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"length": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"entity_type",
"offset",
"length"
],
"additionalProperties": false
}
},
"is_spoiler_media": {
"type": "boolean"
},
"is_ghost_post": {
"type": "boolean"
},
"location_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"allowlisted_country_codes": {
"minItems": 1,
"maxItems": 249,
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"crossreshare_to_ig": {
"type": "boolean"
},
"crossreshare_to_ig_dark_mode": {
"type": "boolean"
},
"auto_publish_text": {
"type": "boolean"
},
"media_options": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"asset_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"alt_text": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"is_spoiler_media": {
"type": "boolean"
}
},
"required": [
"asset_id"
],
"additionalProperties": false
}
}
},
"required": [
"post_type"
],
"additionalProperties": false
}
},
"required": [
"platform",
"publish_options"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"platform": {
"type": "string",
"const": "youtube"
},
"publish_options": {
"type": "object",
"properties": {
"post_type": {
"type": "string",
"const": "VIDEO"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"description": {
"type": "string",
"maxLength": 5000
},
"tags": {
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"category_id": {
"anyOf": [
{
"type": "string",
"minLength": 0,
"maxLength": 0
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"default_language": {
"type": "string",
"minLength": 2,
"maxLength": 35
},
"localizations": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"description": {
"type": "string",
"maxLength": 5000
}
},
"required": [
"title",
"description"
],
"additionalProperties": false
}
},
"privacy_status": {
"type": "string",
"enum": [
"private",
"unlisted",
"public"
]
},
"cancellation_mode": {
"type": "string",
"enum": [
"DELETE",
"UNSCHEDULE_KEEP_PRIVATE"
]
},
"license": {
"type": "string",
"enum": [
"youtube",
"creativeCommon"
]
},
"embeddable": {
"type": "boolean"
},
"public_stats_viewable": {
"type": "boolean"
},
"self_declared_made_for_kids": {
"type": "boolean"
},
"contains_synthetic_media": {
"type": "boolean"
},
"has_paid_product_placement": {
"type": "boolean"
},
"recording_date": {
"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)))$"
},
"notify_subscribers": {
"type": "boolean"
},
"thumbnail_asset_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"surface_expectation": {
"type": "string",
"const": "SHORT"
},
"brand_partner": {
"type": "object",
"properties": {
"channel_id": {
"type": "string",
"pattern": "^UC[A-Za-z0-9_-]+$"
},
"channel_handle": {
"type": "string",
"pattern": "^@[A-Za-z0-9._-]+$"
}
},
"additionalProperties": false
}
},
"required": [
"post_type",
"title",
"privacy_status",
"cancellation_mode"
],
"additionalProperties": false
}
},
"required": [
"platform",
"publish_options"
],
"additionalProperties": false
}
]
},
"scheduled_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)))$"
},
"display_timezone": {
"default": "UTC",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"local_scheduled_at": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?$"
},
"schedule_dst_disambiguation": {
"type": "string",
"enum": [
"exact",
"earlier",
"later"
]
},
"expires_at": {
"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"
}
]
},
"source_ref": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"automatic_retry_enabled": {
"default": true,
"type": "boolean"
},
"idempotency_key": {
"type": "string",
"minLength": 8,
"maxLength": 160
},
"source_url": {
"type": "string",
"maxLength": 2048,
"format": "uri"
},
"wait_seconds": {
"default": 35,
"type": "integer",
"minimum": 0,
"maximum": 35
}
},
"required": [
"workspace_id",
"social_account_id",
"provider_payload",
"scheduled_at",
"idempotency_key",
"source_url"
],
"additionalProperties": false
}回應與完成
成功 HTTP 狀態:200、201。操作完成時: terminal publication outcome.
成功 HTTP 回應可能表示請求已接受,並非已完成。背景工作請儲存回傳 ID,持續檢查同一操作直到完成。已排程或已接受的貼文,只有平台確認後才算已發布;用戶端逾時無法證明結果。
「必填」是指在其父物件及所選分支內必填。必填子欄位不會使選填父物件變成必填。下列規則與欄位名稱均複製自契約。
| 欄位 / 分支 | 類型 / 必填 | 約束 |
|---|---|---|
$ | object在父物件中必填 | — |
post | object在父物件中必填 | — |
post.id | string在父物件中必填 |
|
post.workspace_id | string在父物件中必填 |
|
post.social_account_id | string | null在父物件中必填 | — |
post.social_account_idanyOf 1 | string在父物件中必填 |
|
post.social_account_idanyOf 2 | null在父物件中必填 | — |
post.platform | string在父物件中必填 |
|
post.destination | object在父物件中必填 | — |
post.destination.social_account_id | string | null在父物件中必填 | — |
post.destination.social_account_idanyOf 1 | string在父物件中必填 |
|
post.destination.social_account_idanyOf 2 | null在父物件中必填 | — |
post.destination.platform | string在父物件中必填 |
|
post.destination.platform_user_id | string | null在父物件中必填 | — |
post.destination.platform_user_idanyOf 1 | string在父物件中必填 | — |
post.destination.platform_user_idanyOf 2 | null在父物件中必填 | — |
post.destination.account_label | string | null在父物件中必填 | — |
post.destination.account_labelanyOf 1 | string在父物件中必填 | — |
post.destination.account_labelanyOf 2 | null在父物件中必填 | — |
post.caption | string | null在父物件中必填 | — |
post.captionanyOf 1 | string在父物件中必填 | — |
post.captionanyOf 2 | null在父物件中必填 | — |
post.hashtags | array在父物件中必填 | — |
post.hashtags[] | string選填/項目 | — |
post.media | array在父物件中必填 | — |
post.media[] | object選填/項目 | — |
post.media[].kind | string在父物件中必填 |
|
post.media[].url | string在父物件中必填 |
|
post.media[].cover_url | string | null選填/項目 | — |
post.media[].cover_urlanyOf 1 | string選填/項目 |
|
post.media[].cover_urlanyOf 2 | null選填/項目 | — |
post.media[].cover_asset_id | integer | null選填/項目 | — |
post.media[].cover_asset_idanyOf 1 | integer選填/項目 |
|
post.media[].cover_asset_idanyOf 2 | null選填/項目 | — |
post.media[].asset_id | integer | null選填/項目 | — |
post.media[].asset_idanyOf 1 | integer選填/項目 |
|
post.media[].asset_idanyOf 2 | null選填/項目 | — |
post.media[].mime_type | string | null選填/項目 | — |
post.media[].mime_typeanyOf 1 | string選填/項目 |
|
post.media[].mime_typeanyOf 2 | null選填/項目 | — |
post.media[].preview_url | string | null選填/項目 | 暫時授權的讀取 URL;保留 url 作為排程貼文的持久媒體身分。 — |
post.media[].preview_urlanyOf 1 | string選填/項目 |
|
post.media[].preview_urlanyOf 2 | null選填/項目 | — |
post.media[].cover_preview_url | string | null選填/項目 | 暫時授權的封面讀取 URL;保留 cover_url 作為持久媒體身分。 — |
post.media[].cover_preview_urlanyOf 1 | string選填/項目 |
|
post.media[].cover_preview_urlanyOf 2 | null選填/項目 | — |
post.media[].preview_expires_at | string | null選填/項目 | — |
post.media[].preview_expires_atanyOf 1 | string選填/項目 |
|
post.media[].preview_expires_atanyOf 2 | null選填/項目 | — |
post.link_url | string | null選填/項目 | — |
post.link_urlanyOf 1 | string選填/項目 |
|
post.link_urlanyOf 2 | null選填/項目 | — |
post.publish_options | object在父物件中必填 | — |
post.publish_options.post_type | string選填/項目 |
|
post.publish_options.location_id | string選填/項目 |
|
post.publish_options.share_to_feed | boolean選填/項目 | — |
post.publish_options.collaborators | array選填/項目 |
|
post.publish_options.collaborators[] | string選填/項目 |
|
post.publish_options.first_comment | string選填/項目 |
|
post.publish_options.topic_tag | string選填/項目 |
|
post.publish_options.thumb_offset_ms | integer選填/項目 |
|
post.publish_options.title | string選填/項目 |
|
post.publish_options.youtube_privacy_status | string選填/項目 |
|
post.publish_options.youtube_category_id | string選填/項目 |
|
post.publish_options.youtube_contains_synthetic_media | boolean選填/項目 | — |
post.publish_options.description | string選填/項目 |
|
post.publish_options.category_id | string選填/項目 |
|
post.publish_options.privacy_status | string選填/項目 |
|
post.publish_options.cancellation_mode | string選填/項目 |
|
post.publish_options.tags | array選填/項目 | — |
post.publish_options.tags[] | string選填/項目 | — |
post.publish_options.default_language | string選填/項目 | — |
post.publish_options.localizations | object選填/項目 |
|
post.publish_options.localizations.* | any JSON value選填/項目 | — |
post.publish_options.license | string選填/項目 |
|
post.publish_options.embeddable | boolean選填/項目 | — |
post.publish_options.public_stats_viewable | boolean選填/項目 | — |
post.publish_options.self_declared_made_for_kids | boolean選填/項目 | — |
post.publish_options.contains_synthetic_media | boolean選填/項目 | — |
post.publish_options.has_paid_product_placement | boolean選填/項目 | — |
post.publish_options.recording_date | string選填/項目 | — |
post.publish_options.notify_subscribers | boolean選填/項目 | — |
post.publish_options.thumbnail_asset_id | integer選填/項目 |
|
post.publish_options.surface_expectation | string選填/項目 |
|
post.publish_options.brand_partner | object選填/項目 |
|
post.publish_options.brand_partner.* | any JSON value選填/項目 | — |
post.publish_options.cover_asset_id | integer選填/項目 |
|
post.publish_options.audio_name | string選填/項目 | — |
post.publish_options.trial_params | object選填/項目 |
|
post.publish_options.trial_params.* | any JSON value選填/項目 | — |
post.publish_options.is_ai_generated | boolean選填/項目 | — |
post.publish_options.branded_content_sponsor_ids | array選填/項目 | — |
post.publish_options.branded_content_sponsor_ids[] | string選填/項目 | — |
post.publish_options.is_paid_partnership | boolean選填/項目 | — |
post.publish_options.media_options | array選填/項目 | — |
post.publish_options.media_options[] | object選填/項目 |
|
post.publish_options.media_options[].* | any JSON value選填/項目 | — |
post.publish_options.reply_to_id | string選填/項目 | — |
post.publish_options.quote_post_id | string選填/項目 | — |
post.publish_options.repost_target_id | string選填/項目 | — |
post.publish_options.reply_control | string選填/項目 | — |
post.publish_options.enable_reply_approvals | boolean選填/項目 | — |
post.publish_options.link_attachment | string選填/項目 |
|
post.publish_options.poll_attachment | object選填/項目 |
|
post.publish_options.poll_attachment.* | any JSON value選填/項目 | — |
post.publish_options.gif_attachment | object選填/項目 |
|
post.publish_options.gif_attachment.* | any JSON value選填/項目 | — |
post.publish_options.text_attachment | object選填/項目 |
|
post.publish_options.text_attachment.* | any JSON value選填/項目 | — |
post.publish_options.text_entities | array選填/項目 | — |
post.publish_options.text_entities[] | object選填/項目 |
|
post.publish_options.text_entities[].* | any JSON value選填/項目 | — |
post.publish_options.is_spoiler_media | boolean選填/項目 | — |
post.publish_options.is_ghost_post | boolean選填/項目 | — |
post.publish_options.allowlisted_country_codes | array選填/項目 | — |
post.publish_options.allowlisted_country_codes[] | string選填/項目 | — |
post.publish_options.crossreshare_to_ig | boolean選填/項目 | — |
post.publish_options.crossreshare_to_ig_dark_mode | boolean選填/項目 | — |
post.publish_options.auto_publish_text | boolean選填/項目 | — |
post.publish_options.publication_mode | string選填/項目 |
|
post.publish_options.backdated_time | number選填/項目 | — |
post.publish_options.backdated_time_granularity | string選填/項目 |
|
post.publish_options.place | string選填/項目 | — |
post.publish_options.feed_targeting | object選填/項目 |
|
post.publish_options.feed_targeting.* | any JSON value選填/項目 | — |
post.publish_options.targeting | object選填/項目 |
|
post.publish_options.targeting.* | any JSON value選填/項目 | — |
post.publish_options.child_attachments | array選填/項目 | — |
post.publish_options.child_attachments[] | object選填/項目 |
|
post.publish_options.child_attachments[].* | any JSON value選填/項目 | — |
post.publish_options.multi_share_end_card | boolean選填/項目 | — |
post.publish_options.multi_share_optimized | boolean選填/項目 | — |
post.publish_options.unpublished_content_type | string選填/項目 | — |
post.publish_options.no_story | boolean選填/項目 | — |
post.publish_options.crossposted_video_id | string選填/項目 | — |
post.publish_options.spherical | boolean選填/項目 | — |
post.scheduled_at | string在父物件中必填 | — |
post.display_timezone | string在父物件中必填 |
|
post.local_scheduled_at | string | null選填/項目 | — |
post.local_scheduled_atanyOf 1 | string選填/項目 |
|
post.local_scheduled_atanyOf 2 | null選填/項目 | — |
post.schedule_timezone | string | null選填/項目 | — |
post.schedule_timezoneanyOf 1 | string選填/項目 |
|
post.schedule_timezoneanyOf 2 | null選填/項目 | — |
post.schedule_dst_disambiguation | string | null選填/項目 | — |
post.schedule_dst_disambiguationanyOf 1 | string選填/項目 |
|
post.schedule_dst_disambiguationanyOf 2 | null選填/項目 | — |
post.schedule_intent_state | string選填/項目 |
|
post.expires_at | string | null在父物件中必填 | — |
post.expires_atanyOf 1 | string在父物件中必填 | — |
post.expires_atanyOf 2 | null在父物件中必填 | — |
post.status | string在父物件中必填 |
|
post.version | integer在父物件中必填 |
|
post.automatic_retry_enabled | boolean在父物件中必填 | — |
post.delete_requested_at | string | null在父物件中必填 | — |
post.delete_requested_atanyOf 1 | string在父物件中必填 | — |
post.delete_requested_atanyOf 2 | null在父物件中必填 | — |
post.published_at | string | null在父物件中必填 | — |
post.published_atanyOf 1 | string在父物件中必填 | — |
post.published_atanyOf 2 | null在父物件中必填 | — |
post.deleted_at | string | null在父物件中必填 | — |
post.deleted_atanyOf 1 | string在父物件中必填 | — |
post.deleted_atanyOf 2 | null在父物件中必填 | — |
post.provider_post_id | string | null在父物件中必填 | — |
post.provider_post_idanyOf 1 | string在父物件中必填 | — |
post.provider_post_idanyOf 2 | null在父物件中必填 | — |
post.permalink | string | null在父物件中必填 | — |
post.permalinkanyOf 1 | string在父物件中必填 |
|
post.permalinkanyOf 2 | null在父物件中必填 | — |
post.created_at | string在父物件中必填 | — |
post.updated_at | string在父物件中必填 | — |
post.project_id | string | null在父物件中必填 | — |
post.project_idanyOf 1 | string在父物件中必填 |
|
post.project_idanyOf 2 | null在父物件中必填 | — |
post.batch_id | string | null在父物件中必填 | — |
post.batch_idanyOf 1 | string在父物件中必填 |
|
post.batch_idanyOf 2 | null在父物件中必填 | — |
post.source_ref | object | null在父物件中必填 | — |
post.source_refanyOf 1 | object在父物件中必填 |
|
post.source_ref.*anyOf 1 | any JSON value選填/項目 | — |
post.source_refanyOf 2 | null在父物件中必填 | — |
deduped | boolean在父物件中必填 | — |
import_id | string在父物件中必填 |
|
media_preparation | string在父物件中必填 |
|
completion | string在父物件中必填 |
|
完整 JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"post": {
"type": "object",
"properties": {
"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}$"
},
"workspace_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"social_account_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"platform": {
"type": "string",
"enum": [
"instagram",
"threads",
"facebook",
"youtube",
"x"
]
},
"destination": {
"type": "object",
"properties": {
"social_account_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"platform": {
"type": "string",
"enum": [
"instagram",
"threads",
"facebook",
"youtube",
"x"
]
},
"platform_user_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"account_label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"social_account_id",
"platform",
"platform_user_id",
"account_label"
]
},
"caption": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hashtags": {
"type": "array",
"items": {
"type": "string"
}
},
"media": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"image",
"video"
]
},
"url": {
"type": "string",
"format": "uri"
},
"cover_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"cover_asset_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"asset_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"mime_type": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 160
},
{
"type": "null"
}
]
},
"preview_url": {
"description": "Temporary authorized read URL; keep url as persisted Scheduled Post media identity.",
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"cover_preview_url": {
"description": "Temporary authorized cover read URL; keep cover_url as persisted media identity.",
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"preview_expires_at": {
"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))$"
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"url"
]
}
},
"link_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"publish_options": {
"type": "object",
"properties": {
"post_type": {
"type": "string",
"enum": [
"TEXT",
"LINK",
"IMAGE",
"MULTI_IMAGE",
"VIDEO",
"CAROUSEL",
"REELS",
"STORY_IMAGE",
"STORY_VIDEO",
"REPOST",
"SHORT"
]
},
"location_id": {
"type": "string",
"minLength": 1
},
"share_to_feed": {
"type": "boolean"
},
"collaborators": {
"maxItems": 3,
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"first_comment": {
"type": "string",
"minLength": 1,
"maxLength": 2200
},
"topic_tag": {
"type": "string",
"minLength": 1
},
"thumb_offset_ms": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"title": {
"type": "string",
"maxLength": 255
},
"youtube_privacy_status": {
"type": "string",
"enum": [
"private",
"unlisted",
"public"
]
},
"youtube_category_id": {
"type": "string",
"pattern": "^\\d+$"
},
"youtube_contains_synthetic_media": {
"type": "boolean"
},
"description": {
"type": "string",
"maxLength": 5000
},
"category_id": {
"type": "string",
"pattern": "^\\d+$"
},
"privacy_status": {
"type": "string",
"enum": [
"private",
"unlisted",
"public"
]
},
"cancellation_mode": {
"type": "string",
"enum": [
"DELETE",
"UNSCHEDULE_KEEP_PRIVATE"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"default_language": {
"type": "string"
},
"localizations": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"license": {
"type": "string",
"enum": [
"youtube",
"creativeCommon"
]
},
"embeddable": {
"type": "boolean"
},
"public_stats_viewable": {
"type": "boolean"
},
"self_declared_made_for_kids": {
"type": "boolean"
},
"contains_synthetic_media": {
"type": "boolean"
},
"has_paid_product_placement": {
"type": "boolean"
},
"recording_date": {
"type": "string"
},
"notify_subscribers": {
"type": "boolean"
},
"thumbnail_asset_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"surface_expectation": {
"type": "string",
"const": "SHORT"
},
"brand_partner": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"cover_asset_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"audio_name": {
"type": "string"
},
"trial_params": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"is_ai_generated": {
"type": "boolean"
},
"branded_content_sponsor_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"is_paid_partnership": {
"type": "boolean"
},
"media_options": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"reply_to_id": {
"type": "string"
},
"quote_post_id": {
"type": "string"
},
"repost_target_id": {
"type": "string"
},
"reply_control": {
"type": "string"
},
"enable_reply_approvals": {
"type": "boolean"
},
"link_attachment": {
"type": "string",
"format": "uri"
},
"poll_attachment": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"gif_attachment": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"text_attachment": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"text_entities": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"is_spoiler_media": {
"type": "boolean"
},
"is_ghost_post": {
"type": "boolean"
},
"allowlisted_country_codes": {
"type": "array",
"items": {
"type": "string"
}
},
"crossreshare_to_ig": {
"type": "boolean"
},
"crossreshare_to_ig_dark_mode": {
"type": "boolean"
},
"auto_publish_text": {
"type": "boolean"
},
"publication_mode": {
"type": "string",
"enum": [
"PUBLISH",
"DRAFT"
]
},
"backdated_time": {
"type": "number"
},
"backdated_time_granularity": {
"type": "string",
"enum": [
"year",
"month",
"day",
"hour",
"minute"
]
},
"place": {
"type": "string"
},
"feed_targeting": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"targeting": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"child_attachments": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"multi_share_end_card": {
"type": "boolean"
},
"multi_share_optimized": {
"type": "boolean"
},
"unpublished_content_type": {
"type": "string"
},
"no_story": {
"type": "boolean"
},
"crossposted_video_id": {
"type": "string"
},
"spherical": {
"type": "boolean"
}
}
},
"scheduled_at": {
"type": "string"
},
"display_timezone": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"local_scheduled_at": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,6})?)?$"
},
{
"type": "null"
}
]
},
"schedule_timezone": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 80
},
{
"type": "null"
}
]
},
"schedule_dst_disambiguation": {
"anyOf": [
{
"type": "string",
"enum": [
"exact",
"earlier",
"later"
]
},
{
"type": "null"
}
]
},
"schedule_intent_state": {
"type": "string",
"enum": [
"verified",
"legacy_unverified"
]
},
"expires_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"scheduled",
"publishing",
"published",
"failed",
"expired",
"needs_reschedule",
"cancelled",
"deleted"
]
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"automatic_retry_enabled": {
"type": "boolean"
},
"delete_requested_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"published_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"deleted_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"provider_post_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"permalink": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"project_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"batch_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"source_ref": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"workspace_id",
"social_account_id",
"platform",
"destination",
"caption",
"hashtags",
"media",
"publish_options",
"scheduled_at",
"display_timezone",
"expires_at",
"status",
"version",
"automatic_retry_enabled",
"delete_requested_at",
"published_at",
"deleted_at",
"provider_post_id",
"permalink",
"created_at",
"updated_at",
"project_id",
"batch_id",
"source_ref"
]
},
"deduped": {
"type": "boolean"
},
"import_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"media_preparation": {
"type": "string",
"enum": [
"pending",
"ready",
"failed"
]
},
"completion": {
"type": "string",
"enum": [
"pending",
"terminal"
]
}
},
"required": [
"post",
"deduped",
"import_id",
"media_preparation",
"completion"
]
}錯誤與安全重試
檢查 HTTP 狀態和回應內容。400 驗證錯誤可能包含 ZodError;處理常式錯誤使用 error、message 和 code 欄位。保留 request_id 或 x-request-id 以便診斷,但不要保留憑證。先解決 401/403 存取錯誤再重試,並在收到 429 時遵循 Retry-After。如寫入結果不確定或回傳 5xx,先讀取現有結果。僅在支援時重複使用冪等鍵;重試行為因操作而異,並不保證恰好傳送一次。
故障排查指南範例
這些範例使用已依結構描述檢查的虛構值。請將 ID 替換為您有權使用的 ID、將媒體替換為已就緒素材,並將日期替換為已確認的發布時間。提交寫入前,請檢查帳號資格。本頁不會傳送 API 請求。
在伺服器上將 SOSOAPI_ACCESS_TOKEN 設為此操作接受的憑證,且不要放入瀏覽器程式碼。代理程式請使用 sosoapi auth login 透過瀏覽器登入,並由 CLI 更新憑證。
request.json
{
"workspace_id": "11111111-1111-4111-8111-111111111111",
"social_account_id": "11111111-1111-4111-8111-111111111111",
"provider_payload": {
"platform": "threads",
"publish_options": {
"post_type": "IMAGE"
}
},
"scheduled_at": "2099-01-15T09:00:00Z",
"idempotency_key": "example-intent-0001",
"source_url": "https://example.com/media.png"
}cURL
curl --request POST \
"https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/create-image-url" \
-H "Authorization: Bearer $SOSOAPI_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
--data-binary @request.jsonJavaScript
// Server-side JavaScript. Do not print tokens or credential-bearing responses.
const token = process.env.SOSOAPI_ACCESS_TOKEN;
if (!token) throw new Error("Set an accepted credential for this operation");
const response = await fetch("https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/scheduled-posts/create-image-url", {
method: "POST",
headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
body: JSON.stringify({
"workspace_id": "11111111-1111-4111-8111-111111111111",
"social_account_id": "11111111-1111-4111-8111-111111111111",
"provider_payload": {
"platform": "threads",
"publish_options": {
"post_type": "IMAGE"
}
},
"scheduled_at": "2099-01-15T09:00:00Z",
"idempotency_key": "example-intent-0001",
"source_url": "https://example.com/media.png"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.CLI
npx sosoapi api post /studio-api/scheduled-posts/create-image-url < request.json合成回應範例
{
"post": {
"id": "11111111-1111-4111-8111-111111111111",
"workspace_id": "11111111-1111-4111-8111-111111111111",
"social_account_id": null,
"platform": "instagram",
"destination": {
"social_account_id": null,
"platform": "instagram",
"platform_user_id": null,
"account_label": null
},
"caption": null,
"hashtags": [],
"media": [],
"publish_options": {},
"scheduled_at": "example",
"display_timezone": "UTC",
"expires_at": null,
"status": "scheduled",
"version": 1,
"automatic_retry_enabled": false,
"delete_requested_at": null,
"published_at": null,
"deleted_at": null,
"provider_post_id": null,
"permalink": null,
"created_at": "example",
"updated_at": "example",
"project_id": null,
"batch_id": null,
"source_ref": null
},
"deduped": false,
"import_id": "11111111-1111-4111-8111-111111111111",
"media_preparation": "pending",
"completion": "pending"
}