@soku-ai/cli 0.1.0-alpha.16 → 0.1.0-alpha.17
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/dist/commands/ads.d.ts +3 -0
- package/dist/commands/ads.d.ts.map +1 -1
- package/dist/commands/ads.js +373 -10
- package/dist/commands/ads.js.map +1 -1
- package/dist/generated/capabilities.json +527 -9
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/skills/soku/references/ads-write.md +48 -19
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -157,32 +157,61 @@ The command path determines platform. Do not add `--platform`; the CLI injects
|
|
|
157
157
|
|
|
158
158
|
## ChatGPT Ads Writes
|
|
159
159
|
|
|
160
|
-
|
|
161
|
-
ad unit first, campaign second:
|
|
160
|
+
Use:
|
|
162
161
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
162
|
+
```bash
|
|
163
|
+
soku ads chatgpt --help
|
|
164
|
+
soku ads chatgpt account --help
|
|
165
|
+
soku ads chatgpt campaign --help
|
|
166
|
+
soku ads chatgpt ad-group --help
|
|
167
|
+
soku ads chatgpt ad --help
|
|
168
|
+
```
|
|
169
169
|
|
|
170
|
-
|
|
170
|
+
The command path determines platform. Do not add `--platform`; the CLI injects
|
|
171
|
+
`platform=chatgpt_ads`.
|
|
172
|
+
|
|
173
|
+
The object model is `Campaign → Ad Group → Ad`. `campaign create` requires a
|
|
174
|
+
non-empty inline ad-groups array (`--ad-groups '<json>'` or
|
|
175
|
+
`--ad-groups-file groups.json`); each group is `manual` (with authored `ads`)
|
|
176
|
+
or `generative`. Campaign, ad group, and ad creates are all forced paused by
|
|
177
|
+
the backend; activation is a separate review-gated
|
|
178
|
+
`soku ads chatgpt campaign activate` that the user must explicitly request and
|
|
179
|
+
approve. ChatGPT Ads status literals are lowercase `active` / `paused`, ads
|
|
180
|
+
live under `ad_group_id` (never `adset_id`), and every mutation requires
|
|
181
|
+
`--account-id`.
|
|
171
182
|
|
|
172
183
|
```bash
|
|
173
|
-
soku
|
|
174
|
-
--
|
|
175
|
-
--
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
--payload '{"platform":"chatgpt_ads","account_id":"<account_id>","name":"Launch Test","budget_daily_micros":300000000,"platform_extras":{"landing_page":"https://example.com/?utm_source=chatgpt_ads","campaign_objective":"clicks","ad_unit_ids":["<ad_unit_id>"]}}' \
|
|
184
|
+
soku ads chatgpt campaign create \
|
|
185
|
+
--account-id <account_id> --name "Launch Test" \
|
|
186
|
+
--landing-page "https://example.com/?utm_source=chatgpt_ads" \
|
|
187
|
+
--objective clicks --budget-daily 300 \
|
|
188
|
+
--ad-groups '[{"group_type":"manual","name":"AG 1","landing_page":"https://example.com/?utm_source=chatgpt_ads","brand_name":"Example","ads":[{"name":"Ad 1","headline":"Headline","copy":"Body","cta":"Learn more","landing_page":"https://example.com/?utm_source=chatgpt_ads"}]}]' \
|
|
179
189
|
--summary "Create paused ChatGPT Ads campaign Launch Test"
|
|
190
|
+
|
|
191
|
+
soku ads chatgpt ad-group create \
|
|
192
|
+
--account-id <account_id> --campaign-id <campaign_id> \
|
|
193
|
+
--name "AG 2" --landing-page "https://example.com/?utm_source=chatgpt_ads" \
|
|
194
|
+
--brand-name "Example" --group-type generative \
|
|
195
|
+
--summary "Add generative ad group AG 2"
|
|
196
|
+
|
|
197
|
+
soku ads chatgpt ad create \
|
|
198
|
+
--account-id <account_id> --ad-group-id <ad_group_id> \
|
|
199
|
+
--name "Ad 2" --headline "Headline" --copy "Body" --cta "Learn more" \
|
|
200
|
+
--landing-page "https://example.com/?utm_source=chatgpt_ads" \
|
|
201
|
+
--summary "Add authored ad Ad 2"
|
|
180
202
|
```
|
|
181
203
|
|
|
182
|
-
|
|
183
|
-
`
|
|
184
|
-
`
|
|
185
|
-
verify current state
|
|
204
|
+
Reads need no `--summary`: `soku ads chatgpt account info` (billing facts plus
|
|
205
|
+
activation/tracking preflight), `campaign list|get`, `ad-group list|get`.
|
|
206
|
+
Archives (`campaign remove`, `ad-group archive`, `ad archive`) are
|
|
207
|
+
provider-side archive toggles — verify current state with a read first.
|
|
208
|
+
|
|
209
|
+
Legacy ad-unit campaigns (`create_ad_unit`, `generate_ad_units`,
|
|
210
|
+
`add_campaign_ad_units`, `replace_campaign_ad_units`, `archive_ad_unit`) are
|
|
211
|
+
deprecated and stay on the raw `soku call ads <action>` surface for existing
|
|
212
|
+
campaigns only; do not use them for new deployments. Migrate a legacy campaign
|
|
213
|
+
with `soku ads chatgpt campaign migrate-legacy` (moves ad units into paused Ad
|
|
214
|
+
Groups and authored Ads).
|
|
186
215
|
|
|
187
216
|
## Review Gate
|
|
188
217
|
|