Skip to content

Releases: yasserstudio/gmc

v1.0.14 — lfp: Local Feeds Partnership (Merchant API lfp/v1) — 11/11 sub-APIs

14 Jun 20:09
551ea26

Choose a tag to compare

What's Changed

  • LFP: new gmc lfp — the Local Feeds Partnership API (lfp/v1), completing all 11 Merchant API sub-APIs. Providers submit local stores (list / get / insert / delete), inventory and sales (insert), and read a merchant's onboarding state — on behalf of target merchants. Inserts take convenience flags (--target-account, --store-code, --offer-id, --price/--currency, --quantity, …) or a full --file body.

Tests: 640. Commands: 19.
Full Changelog: v1.0.13...v1.0.14

v1.0.13 — conversions: conversion sources (Merchant API conversions/v1)

14 Jun 18:28
b226117

Choose a tag to compare

What's Changed

  • Conversions: new gmc conversions (list / get / create / update / delete / undelete) manages conversion sources — link a Merchant Center account to a Merchant Center destination or a Google Analytics property for conversion measurement. create takes --ga-property or --merchant-center --currency (or --file); delete archives a source and undelete restores it. Covers the conversions/v1 Merchant API — 10 of 11 sub-APIs now.

Tests: 617. Commands: 18.
Full Changelog: v1.0.12...v1.0.13

v1.0.12 — accounts: developer registration + doctor hint

14 Jun 17:18
3171836

Choose a tag to compare

What's Changed

  • Accounts: new gmc accounts developer-registration (register / get / unregister) registers the Cloud project that calls the API with your Merchant Center account — the one-time step that clears the "GCP project … is not registered" 401 (previously this needed a raw API call).
  • Doctor: a "not registered" 401 now points you at developer-registration register instead of suggesting re-authentication — the token is valid, the project just isn't registered.
  • Docs: corrected the gmc issues example-output severity to [ERROR] (the value the live API actually returns).

Tests: 594. Commands: 17.
Full Changelog: v1.0.11...v1.0.12

v1.0.11 — fix: products work against Merchant API v1 (productAttributes)

13 Jun 14:42
654dd2e

Choose a tag to compare

What's Changed

A correctness fix for the Merchant API v1 product surface — found by the first end-to-end test against a live Merchant Center account.

  • products now works against live v1. The API renamed the product attributes field attributesproductAttributes (reads and writes). gmc still used attributes, so products list/get showed blank titles and products insert failed with 400 Unknown name "attributes". The field is renamed across the typed client and every consumer — products, feeds, migrate products, and preflight --remote.
  • ItemLevelIssue updated to the v1 shape (severity / reportingContext / applicableCountries), so products get shows issue details and products list reports accurate N disapproved / M issue(s) counts.
  • gmc issues severity is documented correctly (ERROR, not the prior v1beta enum).
  • Added a recorded-shape v1 contract test so a future field rename fails CI instead of shipping silently.

Packages

@gmc-cli/cli 1.0.10 → 1.0.11 · @gmc-cli/api → 0.9.17 (internal)

Install

npm i -g @gmc-cli/cli · brew install yasserstudio/tap/gmc · or the standalone binaries below.

Tests: 585. Full changelog: v1.0.10...v1.0.11

v1.0.10 — issues: account & product issue resolution

13 Jun 11:02
be24d65

Choose a tag to compare

What's Changed

A read-only window over issueresolution/v1 — the issues Merchant Center surfaces, with Google's own resolution content, in the terminal.

  • gmc issues account — render account-level issues (renderaccountissues): why the account is limited and how to fix it.
  • gmc issues product <id> — render item-level issues for one product (renderproductissues); accepts a bare product id or the full resource name from products list.

Each issue prints [SEVERITY] (DISAPPROVED / DEMOTED / NOT_IMPACTED), the impact message, and a region/destination breakdown; --language / --time-zone localize the rendered content. --json emits the raw RenderedIssues, including the prerendered HTML detail and actions. Completes the diagnostics trio alongside doctor (access) and preflight (pre-upload). The allowlist-gated triggeraction write flow is intentionally not exposed.

New read-only IssuesService (renderAccountIssues / renderProductIssues) + RenderedIssue types; product ids are canonicalized via productSegment so a hostile id can neither escape the configured account nor reach :triggeraction. Adds issueresolution as the 9th Merchant API rate-limit bucket. Ran the multi-agent review (security · code-quality · API-design — 0 critical/high; applied the suggested empty-id guard, a helper extraction, and edge-case tests).

Packages

@gmc-cli/cli 1.0.9 → 1.0.10 · @gmc-cli/api → 0.9.16 (internal)

Install

npm i -g @gmc-cli/cli · brew install yasserstudio/tap/gmc · or the standalone binaries below.

Tests: api 132 (+7) · cli 260 (+8). Full changelog: v1.0.9...v1.0.10

v1.0.9 — quota: API call quota usage

12 Jun 18:13
ffc51e3

Choose a tag to compare

What's Changed

A small, read-only ops command over quota/v1 accounts.quotas.

  • gmc quota list — show your daily Merchant API call quota and usage per method group, plus the per-minute limit, so you can see your rate-limit headroom in CI/ops. The daily counters reset at 12:00 UTC; --json emits the raw QuotaGroups (including methodDetails).

New read-only QuotaService (listQuotas) + QuotaGroup / MethodDetail types (int64 counts typed as strings). The quota sub-API bucket + scope were already wired, so this is the service + command only. Ran the multi-agent review (security · code-quality · correctness — 0 actionable findings).

Packages

@gmc-cli/cli 1.0.8 → 1.0.9 · @gmc-cli/api → 0.9.15 (internal)

Install

npm i -g @gmc-cli/cli · brew install yasserstudio/tap/gmc · or the standalone binaries below.

Tests: api 125 · cli 252 (+5). Full changelog: v1.0.8...v1.0.9

v1.0.8 — notifications: webhook subscriptions

12 Jun 17:54
3d1a1f8

Choose a tag to compare

What's Changed

The first event-driven capability — subscribe to Merchant Center change events delivered to a webhook, over a new notifications/v1 sub-API. When a registered event fires (currently product-status changes), the Merchant API sends an HTTP POST to your callBackUri.

  • gmc notifications create --callback-uri <https-url> (--all-managed-accounts | --target-account <id>) — the id is auto-generated; the callback must be HTTPS; exactly one target is required.
  • gmc notifications list / get / update / deleteupdate patches only the fields you pass (derived updateMask) and clears the other union side when you switch the target.

Adds notifications as the 8th sub-API (its own rate-limit bucket + OAuth-scope entry). Surface web-verified against the live accounts.notificationsubscriptions docs; ran the multi-agent review (security · code-quality · correctness — 0 critical/high; applied the union-switch mask fix).

Packages

@gmc-cli/cli 1.0.7 → 1.0.8 · @gmc-cli/api → 0.9.14 · @gmc-cli/auth → 0.7.2 (internal)

Install

npm i -g @gmc-cli/cli · brew install yasserstudio/tap/gmc · or the standalone binaries below.

Tests: api 123 · cli 249 (+19). Full changelog: v1.0.7...v1.0.8

v1.0.7 — datasources: update + fetch

12 Jun 16:07
3f460c0

Choose a tag to compare

What's Changed

Completes the datasources group — fills the two commands that were previously "not yet implemented".

  • gmc datasources update <id> — patch a data source (--name, or a full body via --file/stdin, with --update-mask). Output-only fields (name/dataSourceId/input) in a --file body are stripped, so a body saved from datasources get re-applies cleanly; --name overrides a --file displayName.
  • gmc datasources fetch <id> — trigger an immediate fetch of a scheduled file feed, outside its schedule (file-input sources only).

API surface web-verified against the live datasources/v1 docs; ran the multi-agent review (security · code-quality · correctness — 0 critical/high, 3 polish fixes applied). Also excludes the changesets-generated packages/*/CHANGELOG.md from the prettier gate.

Packages

@gmc-cli/cli 1.0.6 → 1.0.7 · @gmc-cli/api → 0.9.13 (internal)

Install

npm i -g @gmc-cli/cli · brew install yasserstudio/tap/gmc · or the standalone binaries below.

Tests: api 117 · cli 236 (+7). Full changelog: v1.0.6...v1.0.7

v1.0.6 — accounts: business-identity, autofeed, shipping & return-policies

12 Jun 12:44
93dfc4c

Choose a tag to compare

What's Changed

Fills the remaining accounts/v1 sub-resources, in one patch.

  • gmc accounts business-identity get|update — diversity/identity attributes (--promotions-consent given|denied, --black-owned/--women-owned/--veteran-owned/--latino-owned/--small-business <yes|no>).
  • gmc accounts autofeed get|update--enable-products <true|false>.
  • gmc accounts shipping get|set — read or replace the shipping-settings singleton. set is a full replace; the --file body must carry the etag from get (the API rejects a stale one).
  • gmc accounts return-policies list|get|create|delete — manage online return policies. The id is auto-generated on create; bodies via --file/stdin (no patch in v1 — recreate to change).

API surface web-verified against the live accounts/v1 docs; ran the multi-agent review (security · code-quality · correctness — 0 critical/high, 3 consistency fixes applied).

Packages

@gmc-cli/cli 1.0.5 → 1.0.6 · @gmc-cli/api → 0.9.12 (internal)

Install

npm i -g @gmc-cli/cli · brew install yasserstudio/tap/gmc · or the standalone binaries below.

Tests: api 114 · cli 232 (+17). Full changelog: v1.0.5...v1.0.6

v1.0.5 — accounts: lifecycle (create + delete)

12 Jun 12:16
4893900

Choose a tag to compare

What's Changed

Account lifecycle — create and (irreversibly) delete accounts on Merchant API accounts/v1. Completes the account-management surface (profile writes in 1.0.3, access in 1.0.4, lifecycle here).

  • gmc accounts createaccounts:createAndConfigure, typically a sub-account under an aggregator. Build it from --name / --time-zone / --language / --adult-content + --aggregator <id>, or pass a full body via --file (kept whole, so user[] / setAlias[] round-trip).
  • gmc accounts delete <accountId> --yes [--force]irreversible: the id is required (no profile fallback) and --yes must confirm; --force maps to the API's force (delete an account with sub-accounts or processed offers).

API surface web-verified against the live accounts.createAndConfigure / delete docs; ran the multi-agent review (security · code-quality · correctness — 0 actionable findings).

Packages

@gmc-cli/cli 1.0.4 → 1.0.5 · @gmc-cli/api → 0.9.11 (internal)

Install

npm i -g @gmc-cli/cli · brew install yasserstudio/tap/gmc · or the standalone binaries below.

Tests: api 107 · cli 222 (+11). Full changelog: v1.0.4...v1.0.5