Skip to content

feat: asa max conversions and loc invoicing flags - #19

Merged
adressop6789-max merged 4 commits into
mainfrom
feature/ASA-767-cli-mc-loc
Aug 27, 2026
Merged

feat: asa max conversions and loc invoicing flags#19
adressop6789-max merged 4 commits into
mainfrom
feature/ASA-767-cli-mc-loc

Conversation

@adressop6789-max

Copy link
Copy Markdown
Collaborator

Why

  • ASA-767. Max Conversions campaigns created through the CLI stayed NOT_RUNNING with AUTOMATED_KEYWORDS_REQUIRED_AD_GROUP_MISSING: Apple requires an automated ad group (automatedKeywordsRequired=true, no start_time), and the CLI could neither send that field nor omit the default start time.
  • ASA-768. Line-of-credit organizations (payment_model: LOC) must fill Invoicing Options on every campaign, otherwise Apple parks it with MISSING_BO_OR_INVOICING_FIELDS. The CLI had no way to pass loc_invoice_details.
  • The CLI never surfaced serving_status / serving_state_reasons, so users only saw "not spending".

Backend contract: feature/ASA-767-cli-mc-loc in asa-analytics (not deployed yet).

What

  • asa ad-groups create --automated — sends automated_keywords_required: true, automated_keywords_opt_in: true, no start_time, no default_bid_amount unless --default-bid is given. --default-bid is now required only without --automated; --automated --start-time exits 2 before the network.
  • asa campaigns create|update — five Invoicing Options flags (--invoice-advertiser, --invoice-order-number, --invoice-contact-name, --invoice-contact-email, --invoice-billing-email) → loc_invoice_details. All five or none; a partial set exits 2 before the network.
  • After a campaign mutation, NOT_RUNNING + serving_state_reasons are printed with the fixing command for the two reasons above (stdout only, --json stays a clean result).
  • Schemas: serving_status, serving_state_reasons, payment_model, loc_invoice_details, automated_keywords_required on the matching DTOs.
  • Docs (docs/agent/asa-management.md, skill references, README): Max Conversions and Line of credit sections, payment_model on asa orgs list.

Checks

  • pnpm build, eslint src test — clean
  • mocha — 174 passing (5 new tests in asa-writes.test.ts)
  • node scripts/check-agent-docs.mjs — docs match the manifest

@adressop6789-max
adressop6789-max merged commit 0b566a4 into main Aug 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant