メインコンテンツまでスキップ

スーパーマーケティングスクリプト設定

このページでは スーパーマーケティング スクリプトの API エンドポイントを説明します。他のスクリプトとは異なり、スーパーマーケティングは汎用の POST /api/v1/task エンドポイントでは作成しません — 再利用可能なターゲットデータセットを基に動作し、専用のエンドポイントが用意されています。

概要

スーパーマーケティングキャンペーンは、複数の成長アクション(フォロー、アンフォロー、報告、DM、ブースト、一括コメント)をターゲットプールに対して一度に実行します。ターゲットプールはデータセットとして保存されます:

  • データ型 — データセットには usernames(TikTok/Instagram のハンドル)または post_links(投稿 URL)が保持されます。
  • ストラテジー — ターゲットをデバイスにどう配布するかを制御します:
    • shared_pool — 選択した全デバイス/アカウントがすべてのターゲットを処理します。
    • consume_once — ターゲットをデバイス間で分割し、各ターゲットを一度だけ処理します。

典型的な流れ:

  1. ターゲットをデータセットにインポートdataset_id を取得。
  2. dataset_id を参照するキャンペーンを 1 台以上のデバイスで実行

機能トグル(フォロー / DM / コメントなど)と詳細設定はデスクトップアプリの保存設定(super_marketing_settings.json)から読み込まれます。実行リクエストで script_config を渡すことで、実行ごとにオーバーライドできます。

ライセンス要件

すべてのスーパーマーケティングエンドポイントは、ローカル API の他のエンドポイントと同様に Pro、Team、または Business プランが必要です。


データセットのインポート

新しいデータセットを作成するか、既存のデータセットにターゲットを追加します。

  • エンドポイント: POST /api/v1/super-marketing/dataset

リクエストボディ

フィールド必須デフォルト説明
dataset_idintegerNo追加/置換する既存のデータセット ID。新規作成の場合は省略または 0 を使用。
data_typestringYesusernames または post_links
strategystringYesshared_pool または consume_once
entriesstring[]Yes*[]JSON 配列としてのターゲット。raw_text より優先されます。
raw_textstringYes*改行区切りのターゲット文字列(entries の代替)。
modestringNoappendappend は既存エントリに追加;replace は既存エントリを先にクリア。
labelstringNoデータセットの任意の人間可読ラベル。
注記

ターゲットは entries または raw_text のどちらかで提供してください。重複・空のエントリは無視されます。1 回のインポートは最大 100,000 エントリです。

curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"data_type": "usernames",
"strategy": "shared_pool",
"label": "キャンペーン A のターゲット",
"entries": ["@user_one", "@user_two", "@user_three"]
}'

改行区切りのテキストで既存データセットにターゲットを追加:

curl -X POST http://localhost:50809/api/v1/super-marketing/dataset \
-H "Content-Type: application/json" \
-d '{
"dataset_id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"mode": "append",
"raw_text": "@user_four\n@user_five\n@user_six"
}'

レスポンス例

{
"code": 0,
"message": "success",
"data": {
"dataset": {
"stats": {
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "キャンペーン A のターゲット",
"total": 3,
"consumed": 0,
"remaining": 3,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:00:00"
},
"entries": [
{ "id": 1, "value": "@user_one", "consumed": false, "consumed_by": null, "consumed_at": null, "created_at": "2026-06-22 09:00:00", "updated_at": "2026-06-22 09:00:00" }
]
},
"summary": {
"inserted": 3,
"duplicates": 0,
"skipped_empty": 0,
"removed": 0,
"truncated": 0
}
}
}

データセット一覧

消費統計とともにすべてのデータセットを取得します。

  • エンドポイント: GET /api/v1/super-marketing/datasets

クエリパラメータ

パラメータデフォルト説明
data_typestring任意フィルター: usernames または post_links

curl "http://localhost:50809/api/v1/super-marketing/datasets?data_type=usernames"

レスポンス例

{
"code": 0,
"message": "success",
"data": [
{
"id": 7,
"data_type": "usernames",
"strategy": "shared_pool",
"label": "キャンペーン A のターゲット",
"total": 6,
"consumed": 0,
"remaining": 6,
"created_at": "2026-06-22 09:00:00",
"updated_at": "2026-06-22 09:05:00"
}
]
}

データセットの取得

データセットの統計情報とエントリのページを取得します。

  • エンドポイント: GET /api/v1/super-marketing/dataset/{id}

クエリパラメータ

パラメータデフォルト説明
limitinteger501 ページあたりのエントリ数(最大 500
offsetinteger0スキップするエントリ数

curl "http://localhost:50809/api/v1/super-marketing/dataset/7?limit=100&offset=0"

データセットのクリア

データセットからすべてのエントリを削除します。データセットレコード自体は残り(dataset_id は将来のインポートでも有効です)。

  • エンドポイント: DELETE /api/v1/super-marketing/dataset/{id}

curl -X DELETE http://localhost:50809/api/v1/super-marketing/dataset/7

レスポンス例

{
"code": 0,
"message": "success",
"data": { "cleared": true, "dataset_id": 7 }
}

キャンペーンの実行

データセットのターゲットを使用して、指定デバイスでスーパーマーケティングキャンペーンを起動します。

  • エンドポイント: POST /api/v1/super-marketing/run

リクエストボディ

フィールド必須デフォルト説明
serialsstring[]Yes[]実行するデバイスのシリアル番号
dataset_idintegerYesキャンペーンのターゲットを提供するデータセット
enable_multi_accountbooleanNofalse各デバイスのアカウントごとに 1 つのタスクを作成
merge_same_username_tasksbooleanNofalseデバイスの全ターゲットをターゲットごとのタスクではなく 1 つのタスクにまとめる
platformstringNoプラットフォームオーバーライド(tiktok / instagram)。マルチプラットフォームビルドのみ有効
min_intervalintegerNo0段階的タスク開始時間の最小間隔(分)
max_intervalintegerNo0段階的タスク開始時間の最大間隔(分)
start_timestringNo最初のタスク開始時間(HH:MM 形式)
rotate_proxybooleanNofalse実行前にデバイスのプロキシをローテート
switch_account_methodstringNoマルチアカウントモードでのアカウント切り替え方法(例: profile
official_packagesstring[]No[]実行を制限する公式パッケージ(マルチアカウントモード)
clone_package_prefixstringNoこのプレフィックスで始まるパッケージ名のクローンアプリに実行を制限
script_configobjectNoデスクトップ保存設定をオーバーライドする機能トグル/設定(下記参照)
データ型はデータセットから取得

実行リクエストで data_source_type を渡す必要はありません — キャンペーンはデータセットの data_typeusernames または post_links)を自動的に使用します。投稿リンクデータセットは boost_postsmass_comment 機能のみサポートします。

script_config オーバーライド

script_config任意です。省略した場合、デスクトップアプリで設定した機能トグルと設定が使用されます。完全に自己完結したキャンペーンを実行する場合や特定のフィールドをオーバーライドする場合に指定します。キーは camelCasesnake_case の両方を受け付けます。

フィールド説明
access_methodstringユーザー名ターゲットへのアクセス方法: search または direct
features.follow_usersboolean各ターゲットをフォロー
features.unfollow_usersboolean各ターゲットをアンフォロー
features.report_accountboolean各ターゲットアカウントを報告
features.send_dmboolean各ターゲットにダイレクトメッセージを送信
features.boost_postsbooleanターゲットの投稿にいいね/お気に入り/リポスト/シェア
features.mass_commentbooleanターゲットの投稿にコメント
follow_settings.boost_typestringfollow または unfollow
dm_settings.message_contentsstringDM テキスト(複数バリエーションは改行区切り)
dm_settings.message_orderstringrandom または sequential
dm_settings.insert_emojibooleanDM にランダムな絵文字を挿入
dm_settings.generate_by_chatgptbooleanChatGPT で DM を生成
dm_settings.chatgpt_promptstringDM 生成に使用するプロンプト
dm_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
post_settings.skip_posts_countintegerアクション前にスキップする投稿数(0〜8、ユーザー名ソースのみ)
post_settings.max_posts_countintegerターゲットごとに処理する最大投稿数
post_settings.enable_likeboolean投稿にいいね
post_settings.enable_favoriteboolean投稿をお気に入りに追加
post_settings.enable_repostboolean投稿をリポスト
post_settings.enable_shareboolean投稿をシェア
post_settings.repeat_timesinteger投稿アクションの繰り返し回数
post_settings.view_durationsinteger[]各投稿を視聴する [min, max]
comment_settings.comment_contentstringコメントテキスト(複数バリエーションは改行区切り)
comment_settings.comment_orderstringrandom または sequential
comment_settings.insert_emojibooleanコメントにランダムな絵文字を挿入
comment_settings.generate_by_chatgptbooleanChatGPT でコメントを生成
comment_settings.chatgpt_settingsobject{ url, api_key, model, system_prompt }
task_finish_wait_timeinteger終了前の待機秒数(データ損失を防ぐ)

最小限の実行(デスクトップ保存設定を使用)

curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1", "device_serial_2"],
"dataset_id": 7
}'

自己完結型フォロー + DM キャンペーン

curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"dataset_id": 7,
"enable_multi_account": true,
"min_interval": 1,
"max_interval": 3,
"script_config": {
"access_method": "search",
"features": {
"follow_users": true,
"send_dm": true
},
"follow_settings": { "boost_type": "follow" },
"dm_settings": {
"message_contents": "こんにちは!コンテンツが大好きです 🙌\n素晴らしい投稿です、続けてください!",
"message_order": "random",
"insert_emoji": true
}
}
}'

投稿リンクデータセットへの一括コメント

curl -X POST http://localhost:50809/api/v1/super-marketing/run \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"dataset_id": 9,
"merge_same_username_tasks": true,
"script_config": {
"features": { "mass_comment": true },
"comment_settings": {
"comment_content": "🔥🔥🔥\nすごい!\n最高です",
"comment_order": "random"
}
}
}'

レスポンス例

{
"code": 0,
"message": "success",
"data": { "created_count": 6 }
}

created_count は作成されたタスクの数です。保留中のタスクはその後、割り当てられたデバイスで他のタスクと同様に実行されます — タスク管理 API で追跡してください。


エラーレスポンス

HTTP ステータスコード説明
40040001無効なパラメータ(不正な data_type/strategy、空の serials、非正の dataset_id、オブジェクトでない script_config、またはタスクが作成されなかった)
40340301禁止 — API アクセスには Pro+ プランが必要
40440401データセットが見つかりません
50050001内部サーバーエラー
タスクが作成されない場合

実行がコード 40001 と「タスクが作成されませんでした」メッセージを返す場合、データセットに残りのターゲットがあるか(consume_once ストラテジーの場合)、および選択したデバイスがオンラインかどうかを確認してください。

関連ページ