addashboard-cli 0.9.0 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -31,6 +31,7 @@ webgram submit --platform <p> --json-file <path> # dry-ru
31
31
  webgram submit --platform <p> --json-file <path> --no-dry-run --yes # 実入稿
32
32
  webgram submit-plan --plan-file <入稿計画.json> # 入稿計画の一括検証 (dry-run 既定)
33
33
  webgram submit-plan --plan-file <入稿計画.json> --no-dry-run --yes # 1キャンペーンずつ実入稿 (再開可能)
34
+ webgram update-status --level <campaign|adGroup|ad> --account-id <id> --ids <id1,id2> --status <ACTIVE|PAUSED> # ステータス ON/OFF (yda のみ・dry-run 既定)
34
35
  webgram freee <login|templates|issue> # freee 請求書発行 (allowlist 制)
35
36
  webgram review --team <伊藤T|松井T> [--week <YYYY-MM-DD>] # チーム週次レビュー取得 (省略時は先週)
36
37
  webgram pl summary [--month YYYY-MM] # 予実サマリ(CV/コスト/売上/粗利/日次推移/案件別内訳/着地予測/目標、省略時は当月)
@@ -46,6 +47,8 @@ webgram pl projects [--month YYYY-MM] [--status <s>] [--platform <p>] # 案件
46
47
  入稿ボディ JSON の雛形と必須フィールドは [`fixtures/README.md`](./fixtures/README.md)。
47
48
  入稿計画 JSON は同梱の入稿プランナー ([`skills/ad-ops/ad-planner.html`](./skills/ad-ops/ad-planner.html)) が書き出す。プランナーはヘッダーの媒体セレクタで **YDA / Meta** を切り替える(アカウント参照データは `skills/ad-ops/アカウント/<platform>/<名前>.json`)。
48
49
 
50
+ `update-status` は既存のキャンペーン / 広告グループ / 広告の配信ステータスを一括で切り替える(**現状 `yda` のみ**。削除は未対応)。既定は dry-run で、対象の「現status → 新status」を表示するだけ。本実行は `--no-dry-run --yes`、**ACTIVE 化(配信開始)はさらに `--confirm-activate`** が要る。ID は `--ids`(カンマ / 空白 / 改行 区切り)か `--ids-file <path>` で渡す(併用可・重複は畳まれる)。**未解決 ID が 1 件でもあれば本実行は中断する**(部分実行させない)。上限 200 件。exit code は `0`=成功 / `1`=エラー / `2`=`--yes`・`--confirm-activate` 未指定 / `3`=一部失敗。
51
+
49
52
  `submit-plan` の本実行(`--no-dry-run --yes`)は 1 キャンペーンずつ入稿し、進捗を計画ファイルに書き戻す(途中失敗後の再開可・`submitted` はスキップ)。未登録クリエイティブは本実行時のみ解決される(YDA: `/api/submission/yda/upload-image`、Meta: `/api/submission/meta/upload-image` = imageHash / `/api/submission/meta/upload-video` = videoId)。**dry-run ではアップロードしない**。
50
53
  **Meta は本番アカウントでの入稿 PoC 未実施**のため、初回は配信オフ(`PAUSED`)・1 キャンペーン・最小予算から検証すること。
51
54
 
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseUrlsFile = parseUrlsFile;
7
+ exports.runPlacementsList = runPlacementsList;
8
+ exports.runPlacementsCreate = runPlacementsCreate;
9
+ exports.runPlacementsAddUrls = runPlacementsAddUrls;
10
+ exports.runPlacementsClone = runPlacementsClone;
11
+ const fs_1 = __importDefault(require("fs"));
12
+ const apiClient_1 = require("../lib/apiClient");
13
+ const BASE_PATH = '/api/submission/yda/placement-lists';
14
+ /**
15
+ * --urls-file を PlacementUrlEntry[] に正規化する。
16
+ *
17
+ * 受け付ける形式は 2 つ:
18
+ * 1. JSON 配列 (`[` 始まり)。要素は文字列でも { placementUrl, urlActiveFlg? } でもよい
19
+ * 2. 1 行 1 URL のテキスト。空行と `#` 始まりの行 (コメント) は捨てる
20
+ *
21
+ * 「管理画面からコピペしたテキスト」と「別リストから書き出した JSON」の
22
+ * どちらもそのまま渡せるようにするための二刀流。
23
+ */
24
+ function parseUrlsFile(filePath) {
25
+ let raw;
26
+ try {
27
+ raw = fs_1.default.readFileSync(filePath, 'utf8');
28
+ }
29
+ catch (e) {
30
+ throw new Error(`URLファイルを読み込めませんでした (${filePath}): ${e.message}`);
31
+ }
32
+ const trimmed = raw.trim();
33
+ if (!trimmed) {
34
+ throw new Error(`URLファイルが空です (${filePath})`);
35
+ }
36
+ let entries;
37
+ if (trimmed.startsWith('[')) {
38
+ let parsed;
39
+ try {
40
+ parsed = JSON.parse(trimmed);
41
+ }
42
+ catch (e) {
43
+ throw new Error(`URLファイルの JSON を解析できませんでした (${filePath}): ${e.message}`);
44
+ }
45
+ if (!Array.isArray(parsed)) {
46
+ throw new Error(`URLファイルの JSON は配列である必要があります (${filePath})`);
47
+ }
48
+ entries = parsed.map((item, i) => {
49
+ if (typeof item === 'string')
50
+ return { placementUrl: item.trim() };
51
+ if (item && typeof item === 'object' && typeof item.placementUrl === 'string') {
52
+ const o = item;
53
+ return {
54
+ placementUrl: o.placementUrl.trim(),
55
+ ...(o.urlActiveFlg ? { urlActiveFlg: o.urlActiveFlg } : {}),
56
+ };
57
+ }
58
+ throw new Error(`URLファイルの ${i + 1} 番目の要素が不正です (文字列か { placementUrl } が必要): ${JSON.stringify(item)}`);
59
+ });
60
+ }
61
+ else {
62
+ entries = trimmed
63
+ .split(/\r?\n/)
64
+ .map((line) => line.trim())
65
+ // 空行と # 始まりのコメント行を捨てる
66
+ .filter((line) => line !== '' && !line.startsWith('#'))
67
+ .map((line) => ({ placementUrl: line }));
68
+ }
69
+ entries = entries.filter((e) => e.placementUrl !== '');
70
+ if (entries.length === 0) {
71
+ throw new Error(`URLファイルに有効なURLがありません (${filePath})`);
72
+ }
73
+ return entries;
74
+ }
75
+ /** 認証 client を作る。credentials 未保存なら not_logged_in が飛ぶ。 */
76
+ function makeClient(input) {
77
+ return (input.clientFactory ?? apiClient_1.buildAuthedApiClient)(input.store);
78
+ }
79
+ /**
80
+ * axios のエラーを CLI の表示用メッセージへ畳む (freee の freeeErrMsg と同じ流儀)。
81
+ *
82
+ * ⚠ backend の errorHandler は **`{ error: { message } }` とオブジェクトで返す**。
83
+ * `data.error` を文字列前提で扱うと `[object Object]` になり、除外リスト重複や
84
+ * URL 0 件など、わざわざ日本語で書いた説明が全部消える。
85
+ * zod の検証エラーだけは `{ error: 'validation_error' }` の文字列なので両対応にする。
86
+ */
87
+ function describeError(err) {
88
+ const status = err?.response?.status;
89
+ if (status === 401)
90
+ return 'unauthorized';
91
+ const data = err?.response?.data;
92
+ const e = data?.error;
93
+ if (typeof e === 'string')
94
+ return e;
95
+ if (e && typeof e === 'object' && 'message' in e)
96
+ return String(e.message);
97
+ if (typeof data?.message === 'string')
98
+ return data.message;
99
+ return err.message ?? 'network_error';
100
+ }
101
+ /**
102
+ * JWT (検証なし) から email を取り出す。失敗時は undefined。
103
+ * submit / freee issue が監査ログに実行者を出しているので、実アカウントへ書き込む
104
+ * placements も同じ規約に揃える(両コマンドとも各ファイルに同じ helper を持っている)。
105
+ */
106
+ function decodeJwtEmail(token) {
107
+ if (!token)
108
+ return undefined;
109
+ try {
110
+ const payload = token.split('.')[1];
111
+ if (!payload)
112
+ return undefined;
113
+ const v = JSON.parse(Buffer.from(payload, 'base64url').toString('utf8'));
114
+ return typeof v?.email === 'string' ? v.email : undefined;
115
+ }
116
+ catch {
117
+ return undefined;
118
+ }
119
+ }
120
+ /** dry-run なしで --yes が無ければ拒否する安全弁 (submit / freee issue と同じ)。 */
121
+ function guardWrite(input) {
122
+ if (!input.dryRun && !input.yes) {
123
+ return {
124
+ ok: false,
125
+ exitCode: 2,
126
+ error: '本実行するには --yes を明示してください (dry-run なしで実 API を叩く操作です)',
127
+ };
128
+ }
129
+ return null;
130
+ }
131
+ /** 書き込み系ルートの共通 POST。dry-run は body の dryRun で表す (backend 側の契約)。 */
132
+ async function postWrite(input, path, body) {
133
+ const log = input.logger ?? ((line) => console.error(line));
134
+ const guarded = guardWrite(input);
135
+ if (guarded)
136
+ return guarded;
137
+ let client;
138
+ try {
139
+ client = makeClient(input);
140
+ }
141
+ catch (e) {
142
+ return { ok: false, exitCode: 1, error: e.message };
143
+ }
144
+ const user = decodeJwtEmail(input.store.load()?.accessToken) ?? 'unknown';
145
+ log(`[cli/placements] user=${user} POST ${path} dry_run=${input.dryRun}`);
146
+ try {
147
+ const res = await client.post(path, { ...body, dryRun: input.dryRun },
148
+ // 本実行は get → マージ → set と媒体 API を順に叩くので既定 15 秒では足りない
149
+ input.dryRun ? {} : { timeout: apiClient_1.SUBMIT_TIMEOUT_MS });
150
+ return { ok: true, exitCode: 0, data: res.data };
151
+ }
152
+ catch (err) {
153
+ return { ok: false, exitCode: 1, error: describeError(err) };
154
+ }
155
+ }
156
+ /** `webgram placements list` の本体。参照のみなので dry-run の概念を持たない。 */
157
+ async function runPlacementsList(input) {
158
+ let client;
159
+ try {
160
+ client = makeClient(input);
161
+ }
162
+ catch (e) {
163
+ return { ok: false, exitCode: 1, error: e.message };
164
+ }
165
+ const params = { accountId: input.accountId };
166
+ // backend 側はカンマ区切りで複数受けるが、CLI は 1 件指定のみ公開する
167
+ if (input.urlListId)
168
+ params.urlListIds = input.urlListId;
169
+ try {
170
+ const res = await client.get(BASE_PATH, { params });
171
+ return { ok: true, exitCode: 0, data: res.data };
172
+ }
173
+ catch (err) {
174
+ return { ok: false, exitCode: 1, error: describeError(err) };
175
+ }
176
+ }
177
+ /** `webgram placements create` の本体。新しい URL リストを作る。 */
178
+ async function runPlacementsCreate(input) {
179
+ // --yes チェックを URL 読込より先に置く。ファイルが不正でも「拒否理由」が
180
+ // 先に出るほうが利用者にとって分かりやすい (submit と同じ順序)。
181
+ const guarded = guardWrite(input);
182
+ if (guarded)
183
+ return guarded;
184
+ let urls;
185
+ try {
186
+ urls = parseUrlsFile(input.urlsFile);
187
+ }
188
+ catch (e) {
189
+ return { ok: false, exitCode: 1, error: e.message };
190
+ }
191
+ return postWrite(input, BASE_PATH, {
192
+ accountId: input.accountId,
193
+ name: input.name,
194
+ urls,
195
+ ...(input.description ? { description: input.description } : {}),
196
+ ...(input.exclusion ? { isExclusion: true } : {}),
197
+ // 未指定なら媒体側の既定に任せる (キー自体を送らない)
198
+ ...(input.unknownDomain ? { unknownDomainFlg: 'TRUE' } : {}),
199
+ });
200
+ }
201
+ /**
202
+ * `webgram placements add-urls` の本体。既存リストへ URL を追記する。
203
+ *
204
+ * 媒体の set は urls を渡すと**全置換**になるため、差分マージは backend が
205
+ * 「get → マージ → set」で行う。CLI は追加したい URL を渡すだけでよい。
206
+ */
207
+ async function runPlacementsAddUrls(input) {
208
+ const guarded = guardWrite(input);
209
+ if (guarded)
210
+ return guarded;
211
+ let urls;
212
+ try {
213
+ urls = parseUrlsFile(input.urlsFile);
214
+ }
215
+ catch (e) {
216
+ return { ok: false, exitCode: 1, error: e.message };
217
+ }
218
+ return postWrite(input, `${BASE_PATH}/urls`, {
219
+ accountId: input.accountId,
220
+ urlListId: input.urlListId,
221
+ urls,
222
+ });
223
+ }
224
+ /** `webgram placements clone` の本体。別アカウントへ URL リストを転記する。 */
225
+ async function runPlacementsClone(input) {
226
+ return postWrite(input, `${BASE_PATH}/clone`, {
227
+ sourceAccountId: input.sourceAccountId,
228
+ sourceUrlListId: input.sourceUrlListId,
229
+ targetAccountId: input.targetAccountId,
230
+ ...(input.name ? { name: input.name } : {}),
231
+ ...(input.mergeIntoExisting ? { mergeIntoExisting: true } : {}),
232
+ });
233
+ }
234
+ //# sourceMappingURL=placements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placements.js","sourceRoot":"","sources":["../../src/commands/placements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.STATUS_MAX_IDS = exports.STATUS_LEVELS = exports.STATUS_PLATFORMS = void 0;
7
+ exports.parseIds = parseIds;
8
+ exports.formatStatusSummary = formatStatusSummary;
9
+ exports.runUpdateStatus = runUpdateStatus;
10
+ const fs_1 = __importDefault(require("fs"));
11
+ const apiClient_1 = require("../lib/apiClient");
12
+ /** ステータス更新に対応している媒体。現状 YDA のみ (Meta 以降は未実装)。 */
13
+ exports.STATUS_PLATFORMS = ['yda'];
14
+ exports.STATUS_LEVELS = ['campaign', 'adGroup', 'ad'];
15
+ /** backend が ids に載せる上限。ここでも先に弾いて無駄な往復を避ける。 */
16
+ exports.STATUS_MAX_IDS = 200;
17
+ /**
18
+ * ID 列をパースする。
19
+ *
20
+ * 貼り付け元が管理画面のコピペ・CSV・改行区切りテキストのいずれでも通るように、
21
+ * カンマ / 空白 / 改行 / タブ をすべて区切りとして扱う。
22
+ * 重複は畳む (同じ ID を2回送っても set を2回叩く意味がなく、件数上限の判定も狂う)。
23
+ */
24
+ function parseIds(raw) {
25
+ return Array.from(new Set(raw
26
+ .split(/[\s,]+/)
27
+ .map((s) => s.trim())
28
+ .filter(Boolean)));
29
+ }
30
+ const LEVEL_LABEL = {
31
+ campaign: 'キャンペーン',
32
+ adGroup: '広告グループ',
33
+ ad: '広告',
34
+ };
35
+ /** 人が目で確認するためのサマリを組み立てる。 */
36
+ function formatStatusSummary(level, data) {
37
+ const lines = [];
38
+ const label = LEVEL_LABEL[level];
39
+ for (const t of data.targets ?? []) {
40
+ const parent = level === 'ad' ? ` (CP:${t.campaignId} AG:${t.adGroupId})`
41
+ : level === 'adGroup' ? ` (CP:${t.campaignId})`
42
+ : '';
43
+ const arrow = t.skipped
44
+ ? `${t.currentStatus} (変更なし)`
45
+ : `${t.currentStatus} → ${t.newStatus}`;
46
+ lines.push(` ${t.id} ${arrow} ${t.name ?? ''}${parent}`);
47
+ }
48
+ for (const id of data.notFound ?? []) {
49
+ lines.push(` ${id} ✗ 見つかりません`);
50
+ }
51
+ for (const id of data.unusable ?? []) {
52
+ lines.push(` ${id} ✗ 親IDが解決できません`);
53
+ }
54
+ lines.push(`${label}: 指定 ${data.requested ?? 0} 件 / 解決 ${data.resolved ?? 0} 件 / ` +
55
+ `変更 ${data.willChange ?? 0} 件 / 変更不要 ${data.unchanged ?? 0} 件 / ` +
56
+ `未解決 ${(data.notFound?.length ?? 0) + (data.unusable?.length ?? 0)} 件`);
57
+ if (data.results) {
58
+ const failed = data.results.filter((r) => !r.ok);
59
+ lines.push(`結果: 成功 ${data.successCount ?? 0} 件 / 失敗 ${data.failureCount ?? 0} 件`);
60
+ for (const f of failed)
61
+ lines.push(` ✗ ${f.id}: ${f.error ?? '不明なエラー'}`);
62
+ }
63
+ return lines.join('\n');
64
+ }
65
+ /**
66
+ * webgram update-status の本体。
67
+ *
68
+ * 安全弁 (submit / submit-plan と同思想):
69
+ * 1. dryRun=true (default) → ?dry_run=1 で POST。実 API を叩かず「現status → 新status」を返すだけ
70
+ * 2. dryRun=false AND yes=false → exit 2
71
+ * 3. status=ACTIVE の本実行は confirmActivate も必須 (配信開始・課金が発生する操作のため)
72
+ * 4. ids 上限 STATUS_MAX_IDS
73
+ */
74
+ async function runUpdateStatus(input) {
75
+ const log = input.logger ?? ((line) => console.error(line));
76
+ if (!exports.STATUS_PLATFORMS.includes(input.platform)) {
77
+ return {
78
+ ok: false,
79
+ exitCode: 1,
80
+ error: `webgram update-status は ${input.platform} に未対応です (対応: ${exports.STATUS_PLATFORMS.join(', ')})`,
81
+ };
82
+ }
83
+ if (!exports.STATUS_LEVELS.includes(input.level)) {
84
+ return { ok: false, exitCode: 1, error: `unsupported level: ${input.level}` };
85
+ }
86
+ if (input.status !== 'ACTIVE' && input.status !== 'PAUSED') {
87
+ return { ok: false, exitCode: 1, error: `--status は ACTIVE か PAUSED です (指定: ${input.status})` };
88
+ }
89
+ if (!input.accountId) {
90
+ return { ok: false, exitCode: 1, error: '--account-id は必須です' };
91
+ }
92
+ // ID の収集 (--ids と --ids-file はマージする)
93
+ const rawParts = [];
94
+ if (input.ids)
95
+ rawParts.push(input.ids);
96
+ if (input.idsFile) {
97
+ try {
98
+ rawParts.push(fs_1.default.readFileSync(input.idsFile, 'utf8'));
99
+ }
100
+ catch (e) {
101
+ return { ok: false, exitCode: 1, error: `ids_file_read_error: ${e.message}` };
102
+ }
103
+ }
104
+ if (rawParts.length === 0) {
105
+ return { ok: false, exitCode: 1, error: '--ids か --ids-file のどちらかが必要です' };
106
+ }
107
+ const ids = parseIds(rawParts.join(','));
108
+ if (ids.length === 0) {
109
+ return { ok: false, exitCode: 1, error: '有効な ID がありません' };
110
+ }
111
+ if (ids.length > exports.STATUS_MAX_IDS) {
112
+ return {
113
+ ok: false,
114
+ exitCode: 1,
115
+ error: `ids は最大 ${exports.STATUS_MAX_IDS} 件までです (指定: ${ids.length} 件)`,
116
+ };
117
+ }
118
+ // 安全弁: 本実行には --yes、ACTIVE 化にはさらに --confirm-activate。
119
+ // dry-run を挟まずいきなり ACTIVE にできてしまうと、ON 漏れの逆 (誤 ON による
120
+ // 意図しない配信・課金) が起きる。
121
+ if (!input.dryRun && !input.yes) {
122
+ return {
123
+ ok: false,
124
+ exitCode: 2,
125
+ error: '本実行するには --yes を明示してください (dry-run なしで実 API を叩く操作です)',
126
+ };
127
+ }
128
+ if (!input.dryRun && input.status === 'ACTIVE' && !input.confirmActivate) {
129
+ return {
130
+ ok: false,
131
+ exitCode: 2,
132
+ error: 'ACTIVE 化 (配信開始) の本実行には --confirm-activate も必要です ' +
133
+ '(先に dry-run で対象を確認してください)',
134
+ };
135
+ }
136
+ let client;
137
+ try {
138
+ client = (input.clientFactory ?? apiClient_1.buildAuthedApiClient)(input.store);
139
+ }
140
+ catch (e) {
141
+ return { ok: false, exitCode: 1, error: e.message };
142
+ }
143
+ log(`[cli/update-status] platform=${input.platform} level=${input.level} ` +
144
+ `account=${input.accountId} status=${input.status} ids=${ids.length} dry_run=${input.dryRun}`);
145
+ try {
146
+ const params = {};
147
+ if (input.dryRun)
148
+ params.dry_run = '1';
149
+ const res = await client.post(`/api/submission/${input.platform}/status`, {
150
+ accountId: input.accountId,
151
+ level: input.level,
152
+ ids,
153
+ status: input.status,
154
+ ...(input.status === 'ACTIVE' && !input.dryRun ? { confirmActivate: true } : {}),
155
+ }, {
156
+ params,
157
+ // 200 件を数チャンクに割って媒体 API を順に叩くため、既定 15 秒では足りない
158
+ ...(input.dryRun ? {} : { timeout: apiClient_1.SUBMIT_TIMEOUT_MS }),
159
+ });
160
+ const data = res.data;
161
+ log(formatStatusSummary(input.level, data));
162
+ // 部分失敗は成功扱いにしない。exit 0 だと CI / スクリプトが握り潰す。
163
+ if (!input.dryRun && (data.failureCount ?? 0) > 0) {
164
+ return {
165
+ ok: false,
166
+ exitCode: 3,
167
+ data,
168
+ error: `${data.failureCount} 件の更新に失敗しました`,
169
+ };
170
+ }
171
+ return { ok: true, exitCode: 0, data };
172
+ }
173
+ catch (err) {
174
+ const status = err?.response?.status;
175
+ const data = err
176
+ ?.response?.data;
177
+ if (status === 401)
178
+ return { ok: false, exitCode: 1, error: 'unauthorized' };
179
+ // 未解決IDでの中断は「何が解決できなかったか」を出さないと直しようがない
180
+ if (data?.error === 'unresolved_ids') {
181
+ log(formatStatusSummary(input.level, data));
182
+ }
183
+ const msg = data?.message ?? data?.error ?? err.message ?? 'network_error';
184
+ return { ok: false, exitCode: 1, error: msg };
185
+ }
186
+ }
187
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,9 +12,11 @@ const authGoogle_1 = require("./commands/authGoogle");
12
12
  const authDevice_1 = require("./commands/authDevice");
13
13
  const ads_1 = require("./commands/ads");
14
14
  const submission_1 = require("./commands/submission");
15
+ const status_1 = require("./commands/status");
15
16
  const pl_1 = require("./commands/pl");
16
17
  const freee_1 = require("./commands/freee");
17
18
  const review_1 = require("./commands/review");
19
+ const placements_1 = require("./commands/placements");
18
20
  // 本番エンドポイント: https://macchiato.site (Lightsail 35.73.207.72)
19
21
  // ローカル開発時は --endpoint http://localhost:3001 か WEBGRAM_ENDPOINT env で切替。
20
22
  const DEFAULT_ENDPOINT = process.env.WEBGRAM_ENDPOINT || 'https://macchiato.site';
@@ -223,6 +225,157 @@ program
223
225
  process.exit(result.exitCode);
224
226
  }
225
227
  });
228
+ // ──────────────────────────── placements (YDA プレイスメントURLリスト) ────────────────────────────
229
+ const placements = program
230
+ .command('placements')
231
+ .description('YDA のプレイスメントURLリストを参照・作成・追記・転記する (書き込みは dry-run がデフォルト)');
232
+ placements
233
+ .command('list')
234
+ .description('アカウントのプレイスメントURLリスト(URL を含む)を取得する')
235
+ .requiredOption('--account-id <id>', '対象アカウント ID')
236
+ .option('--url-list-id <id>', '特定のURLリストだけを取得する(省略時は全件)')
237
+ .action(async (opts) => {
238
+ const store = new credentialStore_1.CredentialStore((0, credentialStore_1.defaultConfigDir)());
239
+ const result = await (0, placements_1.runPlacementsList)({
240
+ store,
241
+ accountId: opts.accountId,
242
+ urlListId: opts.urlListId,
243
+ });
244
+ if (result.ok) {
245
+ console.log(JSON.stringify(result.data, null, 2));
246
+ }
247
+ else {
248
+ console.error(`✗ ${result.error}`);
249
+ process.exit(result.exitCode);
250
+ }
251
+ });
252
+ placements
253
+ .command('create')
254
+ .description('プレイスメントURLリストを新規作成する(dry-run がデフォルト)')
255
+ .requiredOption('--account-id <id>', '対象アカウント ID')
256
+ .requiredOption('--name <name>', 'URLリスト名')
257
+ .requiredOption('--urls-file <path>', 'URL 一覧ファイル(1行1URL のテキスト、または JSON 配列)')
258
+ .option('--description <text>', 'URLリストの説明')
259
+ .option('--exclusion', '除外専用リストとして作成する(1アカウントにつき1つのみ)', false)
260
+ .option('--unknown-domain', 'ドメイン不明の配信面も対象にする(unknownDomainFlg=TRUE)', false)
261
+ .option('--yes', '本実行を許可する(このフラグなしで dry-run なしの操作は exit 2 で拒否)', false)
262
+ .option('--no-dry-run', '本実行する (--yes も必須)')
263
+ .action(async (opts) => {
264
+ const store = new credentialStore_1.CredentialStore((0, credentialStore_1.defaultConfigDir)());
265
+ const result = await (0, placements_1.runPlacementsCreate)({
266
+ store,
267
+ accountId: opts.accountId,
268
+ name: opts.name,
269
+ urlsFile: opts.urlsFile,
270
+ description: opts.description,
271
+ exclusion: !!opts.exclusion,
272
+ unknownDomain: !!opts.unknownDomain,
273
+ dryRun: opts.dryRun !== false, // commander の --no-dry-run で false 化
274
+ yes: !!opts.yes,
275
+ });
276
+ if (result.ok) {
277
+ console.log(JSON.stringify(result.data, null, 2));
278
+ }
279
+ else {
280
+ console.error(`✗ ${result.error}`);
281
+ process.exit(result.exitCode);
282
+ }
283
+ });
284
+ placements
285
+ .command('add-urls')
286
+ .description('既存のプレイスメントURLリストへ URL を追記する(既に載っている URL はスキップ。dry-run がデフォルト)')
287
+ .requiredOption('--account-id <id>', '対象アカウント ID')
288
+ .requiredOption('--url-list-id <id>', '追記先のURLリスト ID')
289
+ .requiredOption('--urls-file <path>', 'URL 一覧ファイル(1行1URL のテキスト、または JSON 配列)')
290
+ .option('--yes', '本実行を許可する(このフラグなしで dry-run なしの操作は exit 2 で拒否)', false)
291
+ .option('--no-dry-run', '本実行する (--yes も必須)')
292
+ .action(async (opts) => {
293
+ const store = new credentialStore_1.CredentialStore((0, credentialStore_1.defaultConfigDir)());
294
+ const result = await (0, placements_1.runPlacementsAddUrls)({
295
+ store,
296
+ accountId: opts.accountId,
297
+ urlListId: opts.urlListId,
298
+ urlsFile: opts.urlsFile,
299
+ dryRun: opts.dryRun !== false,
300
+ yes: !!opts.yes,
301
+ });
302
+ if (result.ok) {
303
+ console.log(JSON.stringify(result.data, null, 2));
304
+ }
305
+ else {
306
+ console.error(`✗ ${result.error}`);
307
+ process.exit(result.exitCode);
308
+ }
309
+ });
310
+ placements
311
+ .command('clone')
312
+ .description('プレイスメントURLリストを別アカウントへ転記する(dry-run がデフォルト)')
313
+ .requiredOption('--source-account-id <id>', '転記元アカウント ID')
314
+ .requiredOption('--source-url-list-id <id>', '転記元のURLリスト ID')
315
+ .requiredOption('--target-account-id <id>', '転記先アカウント ID')
316
+ .option('--name <name>', '転記先のリスト名(省略時は元リスト名を踏襲)')
317
+ .option('--merge-into-existing', '転記先の既存リストへ追記する(除外リストなら転記先の既存の除外リスト、通常リストなら同名かつ通常リスト。該当が無ければ新規作成)', false)
318
+ .option('--yes', '本実行を許可する(このフラグなしで dry-run なしの操作は exit 2 で拒否)', false)
319
+ .option('--no-dry-run', '本実行する (--yes も必須)')
320
+ .action(async (opts) => {
321
+ const store = new credentialStore_1.CredentialStore((0, credentialStore_1.defaultConfigDir)());
322
+ const result = await (0, placements_1.runPlacementsClone)({
323
+ store,
324
+ sourceAccountId: opts.sourceAccountId,
325
+ sourceUrlListId: opts.sourceUrlListId,
326
+ targetAccountId: opts.targetAccountId,
327
+ name: opts.name,
328
+ mergeIntoExisting: !!opts.mergeIntoExisting,
329
+ dryRun: opts.dryRun !== false,
330
+ yes: !!opts.yes,
331
+ });
332
+ if (result.ok) {
333
+ console.log(JSON.stringify(result.data, null, 2));
334
+ }
335
+ else {
336
+ console.error(`✗ ${result.error}`);
337
+ process.exit(result.exitCode);
338
+ }
339
+ });
340
+ // ──────────────────────────── update-status (ステータス ON/OFF) ────────────────────────────
341
+ program
342
+ .command('update-status')
343
+ .description('既存のキャンペーン / 広告グループ / 広告のステータスを ACTIVE / PAUSED に一括変更する ' +
344
+ `(対応: ${status_1.STATUS_PLATFORMS.join(', ')})。既定は dry-run で、対象の「現status → 新status」を表示するだけ`)
345
+ .option('--platform <platform>', `対象媒体 (${status_1.STATUS_PLATFORMS.join(' | ')})`, 'yda')
346
+ .requiredOption('--level <level>', `対象階層 (${status_1.STATUS_LEVELS.join(' | ')})`)
347
+ .requiredOption('--account-id <id>', '広告アカウントID')
348
+ .option('--ids <ids>', '対象ID (カンマ / 空白 / 改行 区切り)')
349
+ .option('--ids-file <path>', '対象IDを書いたファイル (--ids と併用可)')
350
+ .requiredOption('--status <status>', 'ACTIVE | PAUSED')
351
+ .option('--yes', '本実行を許可する(このフラグなしで dry-run なしの操作は exit 2 で拒否)', false)
352
+ .option('--confirm-activate', 'ACTIVE 化 (配信開始) の本実行に必要な追加確認フラグ', false)
353
+ .option('--no-dry-run', '本実行する (--yes も必須。ACTIVE 化はさらに --confirm-activate)')
354
+ .action(async (opts) => {
355
+ const store = new credentialStore_1.CredentialStore((0, credentialStore_1.defaultConfigDir)());
356
+ const result = await (0, status_1.runUpdateStatus)({
357
+ store,
358
+ platform: opts.platform,
359
+ level: opts.level,
360
+ accountId: opts.accountId,
361
+ ids: opts.ids,
362
+ idsFile: opts.idsFile,
363
+ status: String(opts.status).toUpperCase(),
364
+ dryRun: opts.dryRun !== false,
365
+ yes: !!opts.yes,
366
+ confirmActivate: !!opts.confirmActivate,
367
+ });
368
+ if (result.ok) {
369
+ console.log(JSON.stringify(result.data, null, 2));
370
+ }
371
+ else {
372
+ if (result.data)
373
+ console.log(JSON.stringify(result.data, null, 2));
374
+ if (result.error)
375
+ console.error(`✗ ${result.error}`);
376
+ process.exit(result.exitCode);
377
+ }
378
+ });
226
379
  // ──────────────────────────── review (チーム週次レビュー) ────────────────────────────
227
380
  program
228
381
  .command('review')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "addashboard-cli",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "description": "webgram CLI — ad-dashboard (https://macchiato.site) を Claude Code / Codex CLI から操作するための CLI",
5
5
  "bin": {
6
6
  "webgram": "./dist/index.js"
@@ -482,6 +482,30 @@ TikTok の削除は `/campaign/status/update/` の `operation_status=DELETE`。*
482
482
  | 汎用入稿 (JSON) 実入稿 | `npx -y addashboard-cli@latest submit --platform <媒体> --json-file <path> --no-dry-run --yes` |
483
483
  | 入稿計画 順次入稿 dry-run | `npx -y addashboard-cli@latest submit-plan --plan-file <入稿計画.json>`(yda / meta。`plan.platform` 未記載は yda 扱い) |
484
484
  | 入稿計画 順次入稿 実入稿 | `npx -y addashboard-cli@latest submit-plan --plan-file <入稿計画.json> --no-dry-run --yes`(1CPずつ・再開可能) |
485
+ | **ステータス ON/OFF (YDA)** | `npx -y addashboard-cli@latest update-status --level <campaign\|adGroup\|ad> --account-id <id> --ids <id1,id2> --status <ACTIVE\|PAUSED>`(既定 dry-run。本実行は `--no-dry-run --yes`、**ACTIVE 化はさらに `--confirm-activate`**) |
486
+
487
+ ### ステータス ON/OFF(`update-status`)
488
+
489
+ 入稿は PAUSED で作られる。**検品後の ON 化を管理画面の手作業でやらない**(ON 漏れの原因)。
490
+
491
+ ```bash
492
+ # 1. まず dry-run。対象の「現status → 新status」を目視する(必須)
493
+ npx -y addashboard-cli@latest update-status \
494
+ --level campaign --account-id <id> --ids 900,901,902 --status ACTIVE
495
+
496
+ # 2. 内容が合っていたら本実行。ACTIVE 化は --confirm-activate も要る
497
+ npx -y addashboard-cli@latest update-status \
498
+ --level campaign --account-id <id> --ids 900,901,902 --status ACTIVE \
499
+ --no-dry-run --yes --confirm-activate
500
+ ```
501
+
502
+ - `--level` は `campaign` / `adGroup` / `ad`。**入稿した CP をまとめて ON にするなら `campaign`**
503
+ - ID が多いときは `--ids-file <path>`(改行区切りのテキストで可。`--ids` と併用してマージされる)
504
+ - **未解決 ID が 1 件でもあると本実行は中断する**(部分実行させない)。dry-run で `✗ 見つかりません` が出たら先に直す
505
+ - 既にそのステータスの対象は自動でスキップされる(`(変更なし)` と表示)
506
+ - **停止 (`--status PAUSED`) は `--confirm-activate` 不要**。審査落ちの広告を止めるのはこれで足りる
507
+ - 削除 (remove) は**未対応**。配信を止めるだけなら PAUSED で十分
508
+ - exit code: `0`=成功 / `1`=エラー / `2`=`--yes` or `--confirm-activate` 未指定 / `3`=一部失敗
485
509
 
486
510
  **【重要】画像が「掲載不可」でも広告は「承認済み」のままになる。** 広告単位の審査状況(`--resource ads` の `approvalStatus`)が全件 APPROVED でも、画像単位で掲載不可になっていることがある。**画像の掲載可否は `--resource media` でしか分からない**ので、入稿後の確認は両方を見る。掲載不可があったら「別名で再アップロード → 差し替え広告を追加」する(同名で上げ直しても否認判定が引き継がれる)。
487
511