add_broadcast_schedule
ChatGPT既存配信に1件以上の新しい配信スケジュールを追加します(既存スケジュールを上書きしたい場合は edit_broadcast_info を使用)。schedules を { sendDay, sendTime } のリストで渡します(1回の呼び出しで最大10件)。各スケジュールは独立した子配信になり、親のテンプレートを共有しフィルタ/アクションを複製します。LME の上限は broadcast グループあたり追加10件です。作成後に子は独立するためサーバーは呼び出しをまたいで件数を数えられません。会話内で自分の合計を管理してください。各要素は独立して挿入され、レスポンスに 'created' と 'failed' を含みます。各 sendDay/sendTime は未来(日本時間)にしてください。リスト内および既存スケジュールとの重複は拒否されます。編集できるのは status が draft、または予定送信時刻まで5分超の wait_to_send のとき。子の broadcast_id を渡してもサーバーが親を解決します。
add_broadcast_template
ChatGPTDRAFT 配信に新規テンプレートを追加するツール(既存テンプレートは保持されたまま追加)。テンプレートペイロードはタイプ付き — type を設定し対応フィールドを埋める(data 入力スキーマ参照)。画像利用時は get_image_fileparams を利用できます。LIFF URL を埋め込む場合は guide_url_tokens を呼んでください。既存テンプレートの編集は edit_broadcast_template を使用してください。
add_existing_template_to_scenario_step
ChatGPT既存テンプレートをシナリオステップにコピー。テンプレートはステップ専用コピー(category_id=-111)として複製され、指定ステップに紐付く。list_templates の template_id と get_scenario_detail の scenario_step_id を指定。
bulk_move_templates
ChatGPT複数テンプレートを別フォルダへ一括移動(アトミック)。フォルダ変更のみの場合、タイプ別更新ツール(update_text_template・update_image_template ほか)のループの代わりに使用。MCP: 全 template_ids 存在+所属+アクティブ(all-or-nothing)、target_category_id ≥0(0=未分類、>0 はフォルダ存在+kind=2)。
create_broadcast
ChatGPTボットの新しいメッセージ配信を作成するツール。 推奨される最初のステップ: 現在のターンで guide_broadcast_creation を読む — 構築するペイロードに対応した最新のフィルタ形状、テンプレート構造、アクションタイプ、文字数制限、例を返す(これらは更新されるため、記憶した構造よりガイドを優先)。 ペイロード準備: • ユーザーが名前を指定した場合、エンティティ種別に対応する一覧ツール(タグ・シナリオ・リッチメニュー・友だち情報フィールド・コンバージョン・アフィリエイター・対応ステータス)でIDを解決。生のIDが与えられた場合はそのまま渡してよい — サーバーが送信時に所有権をチェックする。 • サーバー側ID所有権: filters と actions 内で参照される全エンティティID(tags_search, info_search, conversion_search, affiliate_search, status_chat_search, scenario.id, richmenu.id, friend_info.id, handling_status.id)を送信時に対象ボットでチェック。ボット(affiliater は管理者)に属さないIDはエンティティ別にまとめて 403 で返す。 • テンプレートで画像を使う場合、先に get_image_fileparams を呼んでアップロードし、返却パスを img_path に入れる。外部URL(Azure Blob、OpenAI CDN、imgur 等)は LME からアクセスできず画像は表示されない。 • テンプレートに LIFF URL(回答フォーム/form_answer、商品販売/sales、サロン予約/calendarSalon、レッスン予約/calendarLesson、イベント予約/event_booking)を埋め込む場合、guide_url_tokens(bot_id) で正確なURL構築仕様を読む — パス形式(/form/<key>)やブラケットトークン([form_answer form=<key>])は LME が拒否する。 送信タイミング — 3つのケース: (1) 即時送信 → send_day, send_time, delivery_dates をすべて省略(バックエンドが日本時間の現在時刻を自動設定); (2) 単発予約 → send_day + send_time を指定; (3) 複数回予約 → delivery_dates 配列を指定、send_day/send_time は省略。 配信は下書き(status unregistered)として作成され、この呼び出しでは何も配信されません。setting_send_message は下書きがどの送信方式を使うかを記録するだけです。配信登録は LME 側で行い、本ツール群では行いません。
create_form_template
ChatGPT既存の親パーク内にスタンドアロンの FORM(カルーセル)メッセージテンプレートを作成。ボタン付きカード/カルーセルを作りたいときに使用 — subtype は standard / color / 画像オーバーレイ / テキストのクイックリプライ。text/image/video/voice/location には使わない — 対応する create_<type>_template を呼ぶ。panel/button が画像を使う場合は先に get_image_fileparams。親パーク必須(template_group_id)。レスポンス {template_id, success}。新セットルール: 新しいユーザーリクエストごとに create_park_template を呼んで新規パークを取得します — ユーザーが既存パークへの追加を明示しない限り、前回の park_template_id は再利用しません。
create_friend_info_folder
ChatGPT新しい友だち情報フォルダ(category kind=12)を作成するツール。バリデーション: name 必須、15文字以内(MCP 強制 — 管理画面 UI のクライアント側制限とパリティ)。 バックアップ実行中なら HTTP 500 {status:false, msg:'MESSAGE_NOTIFY_BACKUP'} を返す。 曖昧さ回避: ユーザーが明示的に友だち情報フォルダの作成を求めた場合のみ、このツールを呼び出してください。種類を指定せず「フォルダを作成」とだけ言われた場合は、呼び出す前にどの種類か(タグ / 自動返信 / テンプレート / 友だち情報 / シナリオ)を確認してください。
create_image_template
ChatGPT既存の親パーク内にスタンドアロンの IMAGE メッセージテンプレートを作成。3つのタップゾーンモードをサポート: Case 1 タップなし、Case 2 レイアウト指定(layoutId 1-8)、Case 3 手動座標。タップゾームあり/なしどちらもこのツールを使用 — create_form_template は使わない。先に get_image_fileparams を呼ぶ — download_url を imgPath に、img_width/img_height を Case 2 の imgWidth/imgHeight に使用。他タイプには使わない — 対応する create_<type>_template を呼ぶ。親パーク必須(template_group_id)。レスポンス {template_id, success}。新セットルール: 新しいユーザーリクエストごとに create_park_template を呼んで新規パークを取得します — ユーザーが既存パークへの追加を明示しない限り、前回の park_template_id は再利用しません。
create_location_template
ChatGPT既存の親パーク内にスタンドアロンの LOCATION(位置情報)メッセージテンプレートを作成。地図の位置情報を送りたいときに使用。他タイプには使わない。親パーク必須(template_group_id)。レスポンス {template_id, success}。新セットルール: 新しいユーザーリクエストごとに create_park_template を呼んで新規パークを取得します — ユーザーが既存パークへの追加を明示しない限り、前回の park_template_id は再利用しません。
create_multiple_tags
ChatGPT1回の呼び出しで複数のプレーンタグを一括作成するツール。Laravel EP-13 POST /ajax/v2/tag/create-multiple に対応。 create_tag のループより本ツールを優先する条件: ユーザーがプレーンタグを 2 件以上指定(「タグ A, B, C をフォルダ X に作成」「3 つのタグ追加」「春/夏/秋/冬 のタグ」等)。全タグは同じフォルダ(1 つの category_id)に入る。異なるフォルダの場合はフォルダ毎に複数回呼び出す。1 件のタグ、またはアクションチェーン / is_limit / is_2th_apply が必要な場合は create_tag を使う。 バックエンド動作(Laravel): バルク INSERT、position はフォルダ内で自動採番、BotsTutorial.status_tag を 1 に更新。アクションチェーンは添付されない(プレーンタグ名のみ)。 オールオアナッシング: names のいずれか1つでも同 bot 内のアクティブタグと重複する場合、バッチ全体が拒否される(Laravel が Tags::whereIn('name', $names) で事前チェック)。MCP層では、入力配列内の重複も事前に拒否する(大文字小文字無視・trim 後比較)。 バリデーション: bot_id 有効、names 件数 1〜20(管理画面 UI 上限「同時に20個までタグが作成できます」とパリティ。Laravel 自体は 20 を強制しないが、MCP は UI に揃えてバッチ作成後も Web から編集可能な状態を保つ)、各 name は trim 後非空・50文字以内・改行/CR/タブ等の制御文字を含まない、names 内に重複がない、category_id 指定時は kind=0 タグフォルダで指定ボット所属・未削除である必要があります。
create_park_template
ChatGPTPark テンプレート(type='group')を作成 — 子テンプレートを 1 配信単位にまとめる親コンテナ(子 ID は template.content に CSV、BR-05)。親優先: child_template_ids=[](空)で先に呼んで shell 作成 → park_template_id 取得 → 次に対応する create_<type>_template ツール(template_group_id=<その id>)で子作成 → update_park_template でバインド。MCP: name 1〜20文字、child_template_ids は空 [] 可(shell)または非空(旧 upfront)、非空 ids は存在+所属+アクティブ+group タイプでない、category_id ≥0。レスポンス: { success, park_template_id }。
create_scenario
ChatGPT新しいシナリオ(ステップ配信シーケンス)を作成します。name は必須(20文字以内)。folder_id を指定する場合はボット所属の kind=11 フォルダ、next_scenario_id を指定する場合はボット所属のシナリオである必要があります。サーバーが検証し、不正な入力は拒否します。
create_scenario_folder
ChatGPTシナリオフォルダ(category kind=11)を作成または名前変更するツール。folder_id=null で新規作成、folder_id=<id> で既存フォルダの名前変更。 曖昧さ回避: ユーザーが明示的にシナリオフォルダの作成を求めた場合のみ、このツールを呼び出してください。種類を指定せず「フォルダを作成」とだけ言われた場合は、呼び出す前にどの種類か(タグ / 自動返信 / テンプレート / 友だち情報 / シナリオ)を確認してください。
create_tag
ChatGPTボットに 1 つのタグ(任意でアクションチェーン・人数制限付き)を作成するツール。 ユーザーが「アクションなしのプレーンタグを 2 件以上」(同フォルダでも)作成したい場合は create_multiple_tags を使うこと — Laravel EP-13 のバルクで 1 回の呼び出しで N 件作成(create_tag を N 回ループするとラウンドトリップ × N、アクションチェーン検証 × N、部分失敗による不整合リスクあり)。create_tag は (a) 1 件のタグ、または (b) actions / limit_actions / is_limit / is_2th_apply が必要なタグの場合のみ使用。 前提条件: • ユーザーがフォルダ名を指定した場合 → list_tag_folders で category_id に解決。フォルダ未指定の場合 → category_id を省略(デフォルト 0 = 未分類仮想フォルダ)。 • actions / limit_actions が template_id / scenario_id / friend_info field_id / tag_id / richmenu_id / handling_status id を参照する場合 → 対応する list_ ツールで ID を解決。 バリデーション(LME呼び出し前にチェック): タグ `name` は必須(空文字不可、50文字以内、改行/CR/タブの制御文字なし)。`is_limit=true` の場合、`limit` は正の整数。タイプ別 `data` は `actions`(DetailAction)入力スキーマを参照。 フォルダチェック: `category_id > 0` の場合、フォルダはボットに属する既存のタグフォルダ(kind=0)である必要があります。 ID所有権: `actions[]` / `limit_actions[]` 内で参照されるエンティティID(tag/scenario/richmenu/friend_info/handling_status/template)と `data.filters` 内の埋め込みIDは、ボット所有権をチェックし、ボットに属さないIDをタイプ別にまとめてエラーで返す。参照するIDは事前に対応する list_ ツールで解決する。
create_tag_folder
ChatGPT新しいタグフォルダ(category kind=0)を作成するツール。Laravel EP-21 POST /ajax/v2/tag/category/create に対応。 kind=0 と position=max+1 はバックエンドで自動設定。レスポンス: { message, item: { id, bot_id, name, kind, position, count } }。 name は必須(空文字不可、15文字以内)。 曖昧さ回避: ユーザーが明示的にタグフォルダの作成を求めた場合のみ、このツールを呼び出してください。種類を指定せず「フォルダを作成」とだけ言われた場合は、呼び出す前にどの種類か(タグ / 自動返信 / テンプレート / 友だち情報 / シナリオ)を確認してください。
create_template_folder
ChatGPT新規テンプレートフォルダ(category kind=2)を作成。MCP: name 1〜20文字。PHP が position を自動採番(BR-04: 最大値+1)。レスポンス: { success, folder_id }。 曖昧さ回避: ユーザーが明示的にテンプレートフォルダの作成を求めた場合のみ、このツールを呼び出してください。種類を指定せず「フォルダを作成」とだけ言われた場合は、呼び出す前にどの種類か(タグ / 自動返信 / テンプレート / 友だち情報 / シナリオ)を確認してください。
create_text_template
ChatGPT既存の親パーク内にスタンドアロンの TEXT メッセージテンプレートを作成。プレーンテキストメッセージを作りたいときに使用。image/video/voice/location/form には使わない — 対応する create_<type>_template を呼ぶ。親パーク必須: 先に create_park_template(child_template_ids=[]) で template_group_id を取得。レスポンス {template_id, success}。新セットルール: 新しいユーザーリクエストごとに create_park_template を呼んで新規パークを取得します — ユーザーが既存パークへの追加を明示しない限り、前回の park_template_id は再利用しません。
edit_broadcast_action
ChatGPT配信送信後のトップレベルアクションチェーンを更新します。最終状態のリストを丸ごと指定してください(マージではなく全置換、[] で全消去)。各要素はフラットな { type, data }(テンプレートボタンの detail_action とは別物);タイプ別フィールドは actions スキーマにあります。先に list_broadcasts で現在の状態を取得してください。エンティティ id は生のまま渡せば、サーバーが提出時に所有権を検証します。テンプレート内ボタンのアクションは edit_broadcast_template を使用。
edit_broadcast_filters
ChatGPT配信のフィルター条件を更新するツール。最終状態を完全に指定してください(差分ではなく全体)。フィルター構造の詳細は guide_filter_structure、AND/OR グルーピングは guide_filter_grouping を参照してください。変更前に list_broadcasts で現在の状態を取得することを推奨します。エンティティ ID は提出時にボットに対して検証されます。レスポンスにはバックエンドが再計算した filter_number が含まれます。
edit_broadcast_info
ChatGPT配信の基本情報(name、send_day、send_time、setting_send_message)を編集します。先に list_broadcasts で broadcast_id を確認してください。編集できるのは status が draft、または予定送信時刻まで5分超の wait_to_send のとき(日本時間)で、他の状態はサーバーが拒否します。変更したいフィールドだけ送ってください(送ったフィールドは既存値を上書きします)。setting_send_message は配信に記録される送信方式の選択です(0=実行時に即時送信、1=予約日時を維持)。このツール自体が配信を行うわけではありません。
edit_broadcast_template
ChatGPTDRAFT 配信の既存テンプレートを編集します(templateChildId は list_broadcast_templates から設定)。type は変更できません。テンプレート内のネスト配列(form の buttons/detail_action、image-map items、text の urls)は丸ごと置き換わるため、先に現在のテンプレートをクローンし、変更しない要素も含めて全て送ってください。新規追加は add_broadcast_template を使用。LIFF URL は guide_url_tokens を参照。
filter_friends
ChatGPT各種条件(タグ、名前、追加日、友だち情報)で友だちをフィルタリングし、総件数と一覧をページング形式で返すツール。
get_audio_fileparams
ChatGPTUpload an audio file (mp3/m4a/wav/aac) via fileParams and receive its {download_url, file_id} object. Use the returned download_url as the 'url' in send_media_to_friend.media_items[{type:'audio', url:...}]. NEVER paste external URLs (Azure blob, OpenAI CDN, etc.) — they expire or are inaccessible to LME.
get_autoreply_detail
ChatGPTキーワードロジック・フィルター条件・返信後アクションを含む複数自動返信ルールの詳細を返すツール
get_autoreply_reply_history
ChatGPTユーザー情報と日付フィルター付きの自動返信トリガー履歴(ページネーション付き)を返すツール
get_conversation_detail
ChatGPT複数ユーザーの会話のチャットメッセージ(ページネーション付き)を返すツール
get_crosslytics_detail
ChatGPT行設定・列フィルター・表示タイプ・利用可能な結果日を含む複数クロス分析の詳細設定を返すツール
get_crosslytics_result
ChatGPT特定の日付のクロス分析結果テーブル(行×列ごとの友だち数)を返すツール
get_csv_management_detail
ChatGPTカラム名とページネーション付き2次元配列のCSVデータを含むCSVエクスポート詳細を返すツール
get_field_friends
ChatGPT特定の友だち情報フィールドにデータがある友だち一覧(ページネーション付き)を返すツール。正のID(カスタムフィールド)と組み込みデフォルト基本フィールド用の負のID(-1 システム表示名、-2 携帯電話、-3 メールアドレス、-4 生年月日、-6 都道府県、-7 郵便番号、-8 市区町村名、-9 町名/番地、-10 建物名・部屋番号)の両方に対応
get_form_detail
ChatGPTフィールド設定・アクション・統計を含む複数フォーム/アンケートの詳細を返すツール
get_form_responses
ChatGPTフォームのユーザー回答一覧(ページネーション付き)を返すツール
get_friend_detail
ChatGPTタグ・友だち情報フィールド(基本+カスタム)・シナリオ・購買履歴を含む複数友だちの詳細プロフィールを返すツール。friend_infoリストは値がある場合に負のIDの組み込み基本フィールド(-1 システム表示名、-2 携帯電話、-3 メールアドレス、-4 生年月日、-6 都道府県、-7 郵便番号、-8 市区町村名、-9 町名/番地、-10 建物名・部屋番号)を先頭に並べ、その後にカスタムフィールド(正のID)が続く
get_friend_stats
ChatGPTボットの詳細な友だち統計(総友だち数、ブロック数、および純増減・累計友だち数を含む過去1年間の日別変動)を返すツール
get_image_fileparams
ChatGPTUpload an image via fileParams and receive its {download_url, file_id, img_width, img_height, ...} object. Use download_url as imgPath; use img_width/img_height as imgWidth/imgHeight when creating image templates with tap zone layouts (Case 2). To read the pixel dimensions the server makes one outbound http/https request to that download_url (redirects returned by it are followed), which is why this tool is marked open-world. NEVER paste external URLs (Azure blob, OpenAI CDN, imgur, your own hosted URLs, etc.) — they expire or are inaccessible to LME.
get_lesson_calendar_bookings
ChatGPTコース・支払い状況・フォーム回答を含むレッスンカレンダーの予約履歴(ページネーション付き)を返すツール
get_lesson_calendar_detail
ChatGPTコース・予約フォーム・承認設定とアクションを含む複数レッスンカレンダー設定の詳細を返すツール
get_park_template_detail
ChatGPTPark テンプレート(type='group')の詳細を返す。template.content の CSV 子 ID をパースし template テーブルと JOIN して子情報を enrich。update_park_template 前にクローン用として使用。READ-ONLY(バックアップガードなし)。
get_pdf_fileparams
ChatGPTUpload a PDF document via fileParams and receive its {download_url, file_id} object. Use the returned download_url as the 'url' in send_media_to_friend.media_items[{type:'pdf', url:...}]. NEVER paste external URLs (Azure blob, OpenAI CDN, etc.) — they expire or are inaccessible to LME. If you generated the PDF with code interpreter, you must first display it to the user (e.g. as a download link) before calling this tool — displaying the file uploads it to storage and makes the file_id available.
get_product_detail
ChatGPT支払い設定・トライアル・在庫・購入制限・アクション・統計を含む複数商品の詳細を返すツール
get_product_order_history
ChatGPT単発・定期課金を含む商品の注文履歴(ページネーション付き)を返すツール
get_salon_bookings
ChatGPTサービス・スタッフ・支払い状況・フォーム回答を含むサロンの予約履歴(ページネーション付き)を返すツール
get_salon_detail
ChatGPTメニュー別サービス・スタッフ・予約フォーム・承認設定とアクション・バッファ時間を含む複数サロン設定の詳細を返すツール
get_scenario_detail
ChatGPT各ステップ・メッセージ内容・タイミング・送信数・フィルター条件を含む複数シナリオの詳細を返すツール
get_tag_detail
ChatGPT1つのタグの完全な設定(アクションチェーン setting_actions および人数制限アクションチェーン setting_limit_actions を含む)を返すツール。 update_tag の前に使用: setting_actions / setting_limit_actions をコピーし、変更するフィールドのみ編集して update_tag.actions / update_tag.limit_actions に渡す。update_tag はチェーン全体を置き換えるため、完全なチェーンを送ることで変更していないアクションが保持される。 レスポンス(Map パススルー): { status: bool, data: { id, name, bot_id, category_id, action_id, limit_action_id, is_limit, limit, is_2th_apply, count_user_tag, setting_actions: [...], setting_limit_actions: [...] } }
get_tag_friends
ChatGPT特定タグが付与された友だち一覧(ページネーション付き)を返すツール
get_template_detail
ChatGPTテンプレート1件の完全な内容を返すツール。対応する更新ツール(update_text_template・update_image_template・update_location_template・update_form_template・update_park_template)を呼ぶ前にクローン用として使用。シナリオステップ専用テンプレート(category_id=-111)にも対応 — get_scenario_detail.steps[].templates[].id のテンプレートIDを渡す。save_scenario_step_template前に完全なデータ(image のタップゾーン・アクション、form の buttons/detail_action)を取得するために使用してください。指定ボット所属+未削除を事前チェック。
get_traffic_source_detail
ChatGPT日付範囲内のスキャン統計を含む複数流入経路の詳細を返すツール
get_url_detail
ChatGPT日付範囲内の友だちごとの開封履歴を含む複数URLの詳細を返すツール
get_video_fileparams
ChatGPTUpload a video file (mp4) via fileParams and receive its {download_url, file_id} object. Use the returned download_url as the 'url' in send_media_to_friend.media_items[{type:'video', url:...}]. NEVER paste external URLs (Azure blob, OpenAI CDN, etc.) — they expire or are inaccessible to LME.
get_welcome_message
ChatGPTトリガータイプ(add_new/add_old/unblock)のあいさつメッセージ取得。返却 {actionId, message, actions[]}。update_welcome_message の前に呼んで結果をコピーする: update はメッセージ + actions 全体を置き換えるため、完全なセットを再送すると変更していない内容が保持される。
guide_broadcast_audit
ChatGPTcreate_broadcast の送信前フィールド監査チェックリスト(Step 4.5 詳細)を返す。ゼロ・インベンション原則の徹底: デフォルト値以外のすべてのフィールドが、ユーザーが発した具体的なフレーズに紐付くこと。高リスクな重複フィールドペアを巡回(message_button.content vs message_sent_when_exceed_click、message_text.content vs panel.text、img_alt vs message_text.content、button.label、panel.title/text、_action_when_exceed_click_inline)。過去事例: AI が 'xem ngay' ラベル捏造、AI が メッセージタイトル を exceed-click に重複コピー。create_broadcast / edit_broadcast_template 送信前に読むこと。パラメータなし。
guide_broadcast_creation
ChatGPTメッセージ配信作成のワークフローとメタルール(ゼロインベンション原則・16ステップ・画像アップロード手順・ID解決ルール・送信タイミングルール・broadcast_params フィールド説明)を返す。配信作成前にこのツールを呼んでワークフローと共通ルールを把握してください。 📌 レスポンスはスリム(ワークフロー + メタのみ)— テンプレート/アクションのタイプ別 SHAPE は、呼び出すツール自身の型付き入力スキーマにあります(create_broadcast.templates / .actions、edit_broadcast_template、create__template 各ツール)。JSON スキーマで表現できない文法は次の focused tools が担当します: • `guide_url_tokens(bot_id)` — LIFF URL 構築仕様(form_answer/sales/calendarSalon/calendarLesson/event_booking)。 • `guide_filter_structure(filter_type)` — フィルタータイプ単体仕様(disambiguation ヒント含む)。 • `guide_text_content_tokens()` — プレースホルダー {name}/[FRIEND_INFO_]/[date_]/[remain to=]/{CURRENT_TS}。 • guide_filter_grouping() — AND/OR グルーピングルール + ゴールデンタグ結合ルール。 LIFF URL: LIFF URL をコンテンツに埋め込む場合は guide_url_tokens(bot_id) を呼んでください。記憶から URL を推測しないでください — パススタイル URL (/form/<key>) やブラケットトークン ([form_answer form=<key>]) は LME では未対応です。
guide_broadcast_images
ChatGPTcreate_broadcast の画像ソースワークフロー(Step 0 詳細)を返す。CASE A(ユーザーがアップロード済み — 同フローで get_image_fileparams を呼んで継続)と CASE B(ユーザーが AI に画像生成を依頼 — 一旦停止し、画像生成ツールで生成後に再エンゲージするよう案内)を区別する。外部 CDN URL(Azure blob、OpenAI CDN、picsum、imgur など)は LME からアクセスできないため get_image_fileparams を使用してください。画像を扱う create_broadcast の前に参照してください。パラメータなし。
guide_filter_grouping
ChatGPTフィルター AND/OR グルーピングルール — ユーザープロンプトの接続詞(và/hoặc/and/or/または/もしくは)を {and:[], or:[]} フィルター構造にマッピングする方法。含む: structure、combined_logic、prompt_mapping、golden_rule_tag_merging(複数タグを 1 フィルターに結合 vs 複数フィルターに分割)、forbidden_patterns、6 個の具体例、constraints。同じグルーピングルールが CRUD オペレーション間で適用される: create_broadcast.filters、edit_broadcast_filters など。複数フィルターペイロード構築前に必読。パラメータなし。
guide_filter_structure
ChatGPTブロードキャストフィルター1件の SHAPE 仕様 + 紛らわしい名前の disambiguation ヒント(status_search vs status_chat など)を返す。同じ shape は CRUD オペレーションで共通使用される: create_broadcast.filters、edit_broadcast_filters(全状態 REPLACE)、および将来の delete。使用法 — CREATE: shape をクローン → 値設定 → filters.and[] / filters.or[] に格納。UPDATE: list_broadcasts → 現在の {and, or} をクローン → 書換または追加/除去 → edit_broadcast_filters で全状態送信(差分ではなく)。重要: 既存データに無いタイプを追加する場合、list_broadcasts のクローンだけでは不十分 — 先に本仕様を読むこと。パラメータ filter_type(必須・1回の呼び出しにつき1タイプ、'all' は不可): tag | friend_name | day_add_friend | scenario | qr_code | friend_info | bot_new_friend | status_search | conversion | affiliate | status_chat。
guide_text_content_tokens
ChatGPT動的テキストコンテンツトークン(LME の PHP バックエンドがメッセージ送信時に受信者ごとに解釈・置換するプレースホルダー)の仕様を返す。対象: {name}、[remain to=YYYY-MM-DD]、[date add=N]、[date_format=FMT]、[FRIEND_INFO_<encoded_id>]、サーバー側 {CURRENT_TS}。使用テキストフィールド(CRUD オペレーション間で共通): message_button.content(クイックリプライチップヘッダー)、message_text.content(altText)、panel.title/text、detail_action type=text data.content。ユーザーが明示的に要求したときのみトークンを挿入してください。パラメータなし。
guide_url_tokens
ChatGPTブロードキャスト本文に埋め込む LIFF URL の構築仕様を返すツール。ユーザーが以下5つのLIFFベースURL機能のいずれかをコンテンツフィールドに挿入したい場合に呼び出してください: 回答フォーム/form_answer、商品販売ページ/sales、サロン予約/calendarSalon、レッスン予約/calendarLesson、イベント予約/event_booking。 LIFF URL構築前に参照することを推奨します — この仕様は guide_broadcast_creation のレスポンス切り詰めを回避するため専用ツールへ分離されました。記憶から URL を推測するとパススタイル URL (/form/<key>, /sales/<id>/cancel, /calendar_salon/<id>/history)やブラケットトークン ([form_answer form=<key>], [sales product=<id>])になります — これらはこのシステムには存在せず、LMEは受け付けません。 レスポンス形状: { _URL_BUILD_RULES(カテゴリ区別 + 許可・非許可の形状 + 5つのルール)、form_answer、sales、calendarSalon、calendarLesson、event_booking }。各機能には description, user_triggers, url_pattern({LIFF_PREFIX}/{id}/{key} プレースホルダー付きのクエリ文字列テンプレート)、required_fields, resolve_via(IDを取得する list_* ツール)、correct_examples(LIFF実値入り)が含まれる。全URLはクエリ文字列形式(?param=value)、パススタイルではありません。
init_friend_info_form
ChatGPT友だち情報フィールドの詳細を取得するツール(更新フロー用)。返却 { status, data: { id, title, type_data(DB 整数、例 2), group_id, setting_value, total_user_has_value, setting_actions } }。注意: type_data はここでは INTEGER(DB ネイティブ)、list_friend_info_fields は STRING('select'/'input'/'calendar'/'point')。 更新モードでの save_friend_info_field 用: 先にこのレスポンスの setting_actions をコピー → 編集 → 再送信。save はチェーンを置き換えるため、省略すると既存アクションが取り除かれる。 組み込みフィールド ID: フォーム/書込み系ツールは負数文字列(-1..-10)と誕生日の特殊形 'd_4' を受け付ける(読み取り系は -4 のみ)。指定はそのまま渡す。
list_affiliaters
ChatGPTボットと同じ admin に属するアフィリエイター一覧を返すツール。各項目は 'id'(生整数), 'username', 'email' を持つ。ブロードキャストフィルタ type='affiliate' を組み立てる前に呼び出し、affiliate_search にこのリストの実際の affiliater.id、preview_original にこのリストの username を使います。オプションの 'usernames' フィルタ(完全一致、大文字小文字区別なし、前後空白トリム)をサポート。'usernames' を指定した場合、どのアフィリエイターにも完全一致しなかった名前は 'not_found_usernames' に含まれる。
list_autoreply
ChatGPTキーワード・トリガータイプ・ステータス・返信数を含む自動返信ルール一覧を返すツール(ページネーション付き)
list_bots
ChatGPT現在のユーザーのボット一覧を返すツール list bots
list_broadcast_templates
ChatGPT指定ブロードキャストのテンプレート一覧を返す(broadcast.template_ids → template の解決)。各要素には template_id、name、type、preview_text(最大50字)が含まれる。edit_broadcast_template の前に呼び出して template_child_id を取得します。複数該当する場合は preview_text を提示してユーザーに選んでもらいます。
list_broadcasts
ChatGPT基本情報・メッセージ内容・フィルター条件・統計を含むブロードキャスト一覧を返すツール。日付範囲は必須(最大3ヶ月)。from_dateとto_dateで期間を指定してください。
list_conversations
ChatGPTボットのチャット会話一覧(ページネーション付き)を返すツール
list_conversions
ChatGPTボットのコンバージョン一覧をカテゴリごとにグループ化して返すツール。各カテゴリは {id(生整数), name} を持つコンバージョン配列を含む。ブロードキャストフィルタ type='conversion' を組み立てる前に呼び出します。conversion_search はこのリストの実際の conversion.id(CSV文字列)、open_group は選択したコンバージョンの category.id(複数選択時は同一カテゴリ)、preview_original はコンバージョン名(複数時は '・' で連結)です。オプションの 'names' フィルタ(コンバージョン名の完全一致、大文字小文字区別なし、前後空白トリム)をサポート。
list_crosslytics
ChatGPT行タイプ・列数・下書きステータスを含むクロス分析設定一覧を返すツール
list_csv_managements
ChatGPTフィルター条件とダウンロードURLを含むCSVエクスポート一覧を返すツール
list_events
ChatGPTボットのイベント一覧(トップレベル、type_event_new=1)を返すツール。メッセージ配信のクイックリプライ等で参照するイベント予約URL(LIFF)構築用に、イベントタイトル→IDの解決に使用。オプションの 'titles' フィルタ(イベント 'title' に対する部分一致、大文字小文字区別なし、前後空白トリム)をサポート。'titles' を指定した場合、ヒットゼロだったパターンは 'not_found_titles' に含まれます。レスポンス形式: { events: [{ id, title }], not_found_titles?: [...] }、positionでソート。
list_forms
ChatGPT基本統計を含むフォーム/アンケート一覧を返すツール
list_friend_info_fields
ChatGPTデータが入力されているユーザー数を含む友だち情報フィールド一覧を返すツール。先頭の9件はページ1の冒頭に並ぶ組み込みのデフォルト基本フィールドで負のIDを持つ(-1 システム表示名、-2 携帯電話、-3 メールアドレス、-4 生年月日、-6 都道府県、-7 郵便番号、-8 市区町村名、-9 町名/番地、-10 建物名・部屋番号)。その後はfriend_information_settingのカスタムフィールド(正のID)
list_friend_info_folders
ChatGPTボットの友だち情報フォルダ一覧(category kind=12)を返すツール。
list_friends
ChatGPTボットの友だち一覧(フォロワーおよびブロック済み、ページネーション付き)を返すツール
list_handling_statuses
ChatGPTボットに設定された対応ステータス(status_chat)一覧を返すツール。各項目は 'id'(生整数)と 'name' を持つ。テンプレートボタンの detail_action.handling_status を組み立てる前に呼び出し、そこの 'id' にこのリストの実際の status_chat.id を使います。オプションの 'names' フィルタ(完全一致、大文字小文字区別なし、前後空白トリム)をサポート。'names' を指定した場合、どの対応ステータスにも完全一致しなかった名前は 'not_found_names' に含まれる。
list_lesson_calendars
ChatGPTコース数・総予約数・キャンセル数を含むレッスン予約カレンダー一覧を返すツール
list_products
ChatGPTボットの商品一覧を売上統計・ページネーション付きで返すツール
list_salons
ChatGPTサービス数・スタッフ数・総予約数を含むサロン予約センター一覧を返すツール
list_scenarios
ChatGPTフォロワー数・完了数・離脱数の統計を含むシナリオ一覧を返すツール
list_tag_folders
ChatGPTlist_tag_folders: ボットのタグフォルダ一覧(category kind=0)を返すツール。フォルダ名→数値フォルダIDを解決— create_tag(category_id)・update_tag(category_id) など folder_id が必要な呼び出し前に使用。ユーザーがフォルダ未指定の場合は呼び出し不要(category_id 省略でデフォルト 0)。
list_tags
ChatGPTタグ付きユーザー数を含むタグ一覧を返すツール
list_templates
ChatGPTボット配下のテンプレートを一覧参照・名前でtemplate_id取得するツール。names[]で名前→id変換(完全一致・大文字小文字区別なし)、省略で全件をフォルダ別・カテゴリ別に一覧表示。戻り値: { categories: [{category_id, category_name, templates: [{id, name, type}]}], not_found_names, pagination }。
list_traffic_sources
ChatGPT基本統計を含む流入経路一覧を返すツール
list_urls
ChatGPT送信数・閲覧数・クリック統計を含むURLトラッキングリンク一覧を返すツール
save_friend_info_field
ChatGPT友だち情報フィールド設定を作成または更新するツール。field_id 未指定 → 作成、正の Long → 更新。更新モードでは setting_actions[] がチェーン全体を置き換える — 既存オプションを省略すると取り除かれるため、先に init_friend_info_form(field_id) を呼んで setting_actions をコピーし、対象エントリのみ編集して完全なセットを送り返す。type_data 1/2/3/4/5/6(4=画像、5=PDF は MCP でフィールド枠を作成、実ファイルは友だちが my-page でアップロード)。組み込み負数 ID は更新不可。バックアップ中 → HTTP 500 MESSAGE_NOTIFY_BACKUP。
save_scenario_filter
ChatGPTシナリオステップ用フィルタブランチを作成または更新するツール。filter_manager_id=null → 新規作成(返り値 parentIdNew を step_id=null の save_scenario_step に渡して紐付け)。filter_manager_id=X → 既存フィルタブランチ X を上書き更新(新規ステップ不要)。FilterItem 形式は guide_filter_structure / guide_filter_grouping を参照。
save_scenario_step
ChatGPTシナリオのステップ(タイミングスロット)を作成または更新するツール。step_id が null → 新規作成、非 null → 既存ステップのタイミング更新。Laravel AJAX POST /basic/scenario/create-step に対応。保存後、サーバーが scenario 内全ステップを (start_day ASC, start_time ASC, id ASC) で自動並べ替え。同一 (delay_type, start_day, start_time, filter_manager_id) ステップは拒否。フィルター付きステップのタイミングを更新する場合は、既存の filter_manager_id を一緒に渡してフィルターを保持すること。
save_scenario_step_template
ChatGPTシナリオステップ専用テンプレート(category_id=-111)を作成または編集します。CREATE: data.templateChildId を省略(または0) → 新規作成&ステップ追加。UPDATE: data.templateChildId を指定(非ゼロ、get_scenario_detail から取得) → 既存編集(type は変更不可)。video/voice/stamp 非対応。UPDATE 前に必ず get_template_detail(template_id=templateChildId) で現在のデータを取得し、data フィールドをクローンして変更箇所だけ修正すること。ネスト配列(form の buttons/detail_action、image-map items)は全置き換え — 既存エントリを省略すると削除される(例: 既存 detail_action を省略するとボタンのアクションが消える)。
send_media_to_friend
ChatGPTボット経由でメディアファイル一覧(画像/動画/音声/PDF)を1人のLINE友だちに送信するツール。メディアの前にテキストメッセージを付加可能。メディアファイルは公開HTTPS URLでアクセス可能である必要あり。1回最大5件(LINE制限)。送信ステータスを返す。副作用: ボットの is_confirm 設定が有効の場合(チャット 1:1 フェーズ 2)、送信成功時に対応状態を自動確認(conversation.confirm_count を 0 にクリア)。以降そのスレッドは list_conversations(confirm_status=0) = 既読/対応済みで一致。
send_message
ChatGPTボット経由で特定のLINEユーザーにテキストメッセージを送信するツール
send_template_to_friend
ChatGPTボット経由で既存テンプレート(テキスト/画像/動画/ボタン等)を1人のLINE友だちに送信するツール。テキストの上書き可能。グループテンプレート(複数サブテンプレート)の場合は遅延なしで一括送信。送信ステータスを返す。副作用: ボットの is_confirm 設定が有効の場合(チャット 1:1 フェーズ 2)、送信成功時に対応状態を自動確認(conversation.confirm_count を 0 にクリア)。以降そのスレッドは list_conversations(confirm_status=0) = 既読/対応済みで一致。
update_addfriend_setting_message
ChatGPT友だち追加時の自動メッセージを設定(type_setting: new|old)。最大3件。該当 type_setting のメッセージ一式を全置換します(差分ではありません)— 残したいメッセージはすべて送ってください。含めなかったメッセージは削除されます。
update_conversation_handling_status
ChatGPT会話の対応状態を更新します。有効なステータスIDは list_handling_statuses で取得。lmessage_friend_id は list_conversations から取得してください。
update_form_template
ChatGPTスタンドアロンの FORM テンプレートを完全置換(差分不可)。呼び出し直前に get_template_detail(template_id) で最新値を取得すること — 会話の以前のデータは使わない(ウェブで編集されている可能性があるため)。その最新レスポンスから完全なペイロードを構築してから呼び出す。template_id + template_group_id 両方必須。type は変更不可 — form タイプのみ。
update_friend_info_folder
ChatGPT既存の友だち情報フォルダ名を変更。事前チェック: kind=12、指定ボット所属、未削除。 バックアップ実行中なら HTTP 500 {status:false, msg:'MESSAGE_NOTIFY_BACKUP'} を返す。
update_image_template
ChatGPTスタンドアロンの IMAGE テンプレートを完全置換(差分不可)。呼び出し直前に get_template_detail(template_id) で最新値を取得すること — 会話の以前のデータは使わない(ウェブで編集されている可能性があるため)。タップゾーム対応 — create_image_template と同じ 3 Case(layoutId / 手動 / なし)。Case 2 は get_image_fileparams の img_width/img_height を imgWidth/imgHeight に使用。template_id + template_group_id 両方必須。type は変更不可 — image タイプのみ。
update_location_template
ChatGPTスタンドアロンの LOCATION テンプレートを完全置換(差分不可)。呼び出し直前に get_template_detail(template_id) で最新値を取得すること — 会話の以前のデータは使わない(ウェブで編集されている可能性があるため)。template_id + template_group_id 両方必須。type は変更不可 — location タイプのみ。
update_park_template
ChatGPTPark テンプレート(type='group')を更新します — 子の追加/削除/並び替えは child_template_ids[] 全体を送って行います。最終的なリスト全体を送ってください。含めなかった子はパークから外れます。各 create_<type>_template レスポンスの template_id を使います。
update_scenario
ChatGPTシナリオの名前・フォルダ・次のシナリオを更新します。シナリオはボットに属している必要があります。name は毎回含めてください(20文字以内)— フォルダや次のシナリオのみ変更する場合は現在の名前を再送信します。folder_id は毎回の呼び出しに含めます:有効な kind=11 フォルダ ID を渡すと移動、現在のフォルダを維持する場合は list_scenarios[].folder_id の現在値を渡します — 0 と null はどちらも「現在のフォルダを維持」の意味なので、このツールでルートへ戻すことはできません。非ゼロの場合は kind=11 フォルダ、next_scenario_id を指定する場合はボット所属である必要があります。サーバーが検証します。next_scenario_id は folder_id とは挙動が異なります:省略(または null)すると既存の次シナリオ連携が解除されます。名前やフォルダだけを変更する場合も、get_scenario_detail で現在値を読み取って再送信してください。
update_tag
ChatGPT既存タグの設定(名前、フォルダ、アクションチェーン、人数制限)を更新するツール。 Laravel /ajax/save-tag を action=edit_tag + tag_id で呼び出す(create_tag と同一エンドポイントの編集モード)。 全置換セマンティクス: actions / limit_actions は既存チェーン全体を置き換える。現在のチェーンを保持するには、先にタグ設定詳細ツールを呼び、setting_actions / setting_limit_actions をコピーし、変更箇所のみ編集して再送する。actions を空にすると既存チェーンはクリアされる。MCP層が既存タグへのチェーン対応を自動で行う。 バリデーション: tag_id は指定ボットに属し未削除である必要があります。name は必須(空文字不可、50文字以内、改行/CR/タブの制御文字なし)。is_limit=true の場合は limit を正の整数で指定。category_id > 0 の場合、フォルダはボット所属の既存タグフォルダ(kind=0)である必要があります。アクションの data 形状は create_tag と同じ。 ID所有権: actions[] / limit_actions[] 内で参照されるエンティティID(tag/scenario/richmenu/friend_info/handling_status/template)と data.filters 内の埋め込みIDは、ボット所有権をチェックし、ボットに属さないIDをタイプ別にまとめてエラーで返す。参照するIDは事前に対応する list_* ツールで解決する。
update_tag_folder
ChatGPT既存のタグフォルダ名を変更するツール。Laravel EP-22 PUT /ajax/v2/tag/category/update/{id} に対応。 条件: フォルダは存在し、指定ボットに属し、kind=0 で、ソフト削除されていない必要があります。 name は必須(空文字不可、15文字以内)。
update_template_folder
ChatGPT既存テンプレートフォルダ名を変更。MCP: フォルダ存在+kind=2+所属+未削除、name 1〜20文字。
update_text_template
ChatGPTスタンドアロンの TEXT テンプレートを完全置換(差分不可)。呼び出し直前に get_template_detail(template_id) で最新値を取得すること — 会話の以前のデータは使わない(ウェブで編集されている可能性があるため)。その最新レスポンスから完全なペイロードを構築してから呼び出す。template_id + template_group_id 両方必須。type は変更不可 — text タイプのテンプレートのみに使用。
update_welcome_message
ChatGPTトリガータイプ(add_new/add_old/unblock)のあいさつメッセージ更新。先に get_welcome_message を呼んで現在の状態を確認します。actions を省略(または null)した場合は既存のアクションチェーンを維持します — ツールがサーバーから読み直して再送します。actions を送る場合はチェーン全体の置き換えになるため、残したいアクションもすべて含めてください。すべてのアクションを削除したい場合は、まず現在のアクションチェーンを提示して確認を得てから update_welcome_message(actions=[]) を呼び出します。テキスト(≤5000)。actions は型付き DetailAction {title,type,active,isEditContent,data}; タイプ別 data は actions 入力スキーマ参照。タイプ: tag|scenario|richmenu|text|bookmark|friend_info|block|handling_status|template。
add_broadcast_schedule
Claudeadd_broadcast_template
Claudeadd_existing_template_to_scenario_step
Claudebulk_move_templates
Claudecreate_broadcast
Claudecreate_form_template
Claudecreate_friend_info_folder
Claudecreate_image_template
Claudecreate_location_template
Claudecreate_multiple_tags
Claudecreate_park_template
Claudecreate_scenario
Claudecreate_scenario_folder
Claudecreate_tag
Claudecreate_tag_folder
Claudecreate_template_folder
Claudecreate_text_template
Claudeedit_broadcast_action
Claudeedit_broadcast_filters
Claudeedit_broadcast_info
Claudeedit_broadcast_template
Claudefilter_friends
Claudeget_audio_fileparams
Claudeget_autoreply_detail
Claudeget_autoreply_reply_history
Claudeget_conversation_detail
Claudeget_crosslytics_detail
Claudeget_crosslytics_result
Claudeget_csv_management_detail
Claudeget_field_friends
Claudeget_form_detail
Claudeget_form_responses
Claudeget_friend_detail
Claudeget_friend_stats
Claudeget_image_fileparams
Claudeget_lesson_calendar_bookings
Claudeget_lesson_calendar_detail
Claudeget_park_template_detail
Claudeget_pdf_fileparams
Claudeget_product_detail
Claudeget_product_order_history
Claudeget_salon_bookings
Claudeget_salon_detail
Claudeget_scenario_detail
Claudeget_tag_detail
Claudeget_tag_friends
Claudeget_template_detail
Claudeget_traffic_source_detail
Claudeget_url_detail
Claudeget_video_fileparams
Claudeget_welcome_message
Claudeguide_broadcast_audit
Claudeguide_broadcast_creation
Claudeguide_broadcast_images
Claudeguide_filter_grouping
Claudeguide_filter_structure
Claudeguide_text_content_tokens
Claudeguide_url_tokens
Claudeinit_friend_info_form
Claudelist_affiliaters
Claudelist_autoreply
Claudelist_bots
Claudelist_broadcast_templates
Claudelist_broadcasts
Claudelist_conversations
Claudelist_conversions
Claudelist_crosslytics
Claudelist_csv_managements
Claudelist_events
Claudelist_forms
Claudelist_friend_info_fields
Claudelist_friend_info_folders
Claudelist_friends
Claudelist_handling_statuses
Claudelist_lesson_calendars
Claudelist_products
Claudelist_salons
Claudelist_scenarios
Claudelist_tag_folders
Claudelist_tags
Claudelist_templates
Claudelist_traffic_sources
Claudelist_urls
Claudesave_friend_info_field
Claudesave_scenario_filter
Claudesave_scenario_step
Claudesave_scenario_step_template
Claudesend_media_to_friend
Claudesend_message
Claudesend_template_to_friend
Claudeupdate_addfriend_setting_message
Claudeupdate_conversation_handling_status
Claudeupdate_form_template
Claudeupdate_friend_info_folder
Claudeupdate_image_template
Claudeupdate_location_template
Claudeupdate_park_template
Claudeupdate_scenario
Claudeupdate_tag
Claudeupdate_tag_folder
Claudeupdate_template_folder
Claudeupdate_text_template
Claudeupdate_welcome_message
Claude