Skip to content

v4 Live: expose deferred methods not shipped in 0.4.0 CLI #459

Description

@axisrow

Follow-up to #111 (the V4 Live umbrella). The 0.4.0 plan (#111 closing comment) explicitly deferred a subset of SUPPORTED_V4_METHODS to a separate tracker:

All other groups (tags, ad_image, keywords suggestion, meta, offline_reports, PayCampaignsByCard, CreateInvoice) are deferred to the next milestone with a separate tracker.

This is that tracker. (tags, meta, CreateInvoice have since been implemented; this issue covers what is still unexposed.)

Methods present in the vendored registry (SUPPORTED_V4_METHODS, 32 total) but with NO CLI command

Verified against direct_cli/commands/v4*.py on current main:

Method Group Notes
AdImageAssociation ad_image contract row exists (PARAM_UNDOCUMENTED); investigated in #436. Live docs sparse — gated by docs availability.
GetKeywordsSuggestion keywords contract row exists; investigated in #435. Docs: dg-v4/reference/GetKeywordsSuggestion (live page is 404).
PayCampaignsByCard finance financially sensitive — must stay dry-run-only until verified per the #111 contract-source rule.
DeleteReport reports docs: dg-v4/reference/DeleteReport (live page 404).
DeleteOfflineReport reports pre-Live-4.

Probe / version methods — decide expose vs. intentionally-omit

Method Notes
GetAvailableVersions service/version probe
GetVersion service/version probe
PingAPI health probe
PingAPI_X health probe

These four are unlikely to be useful as user-facing CLI commands. Decision needed: either expose them (e.g. a v4meta-style diagnostics group) or document them as intentionally omitted in the README (mirroring how GetBalance is documented).

Acceptance criteria

  • For each functional deferred method (AdImageAssociation, GetKeywordsSuggestion, PayCampaignsByCard, DeleteReport, DeleteOfflineReport): either implement a typed CLI command (verified against official Yandex docs / safe live probe per the Добавить поддержку API v4 и V4 live #111 contract-source rule) or document it as intentionally not exposed in the README with the reason.
  • Financially sensitive PayCampaignsByCard stays dry-run-only unless explicitly verified otherwise.
  • Probe/version methods: documented decision (expose or omit).
  • No public V4 command accepts a raw --json payload (typed/canonical only).
  • README "V4 Live commands" section updated to reflect the final exposed surface.

Contract source rule

Same as #111: official Yandex Direct docs and safe live probes are the only authoritative wire-shape sources. Update direct_cli/v4_contracts.py source status and add focused request-body tests. Note: live pages for GetKeywordsSuggestion / DeleteReport are confirmed 404 today (clean 404, not a captcha gate) — dg-v4/reference/ is the correct docs source for those, do not "fix" the notes to dg-v4/live/.

Refs #111, #435, #436.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions