Skip to content

asc v0.18.1

Latest

Choose a tag to compare

@github-actions github-actions released this 31 May 03:30
707592a

Added

  • asc sales-reports summary --from <date> --to <date> — aggregates daily Sales reports across a date range into a single rollup with derived metrics: downloads (first installs of phone/Mac apps, excluding Apple Watch 3F redownloads), updates, inAppPurchases, payers (distinct SKUs with non-zero customer price), customerSpend (per Customer Currency, since Customer Price is in customer-local currency and cross-currency summing is meaningless), proceeds (per Currency of Proceeds, the developer's actual payout). CLI-only like the other report commands.
  • asc sales-reports download --version <schema> — exposes Apple's filter[version] query parameter on /v1/salesReports. Previously omitted by SDKReportRepository, so Apple always returned its default schema. Invalid values now surface Apple's helpful PARAMETER_ERROR.INVALID message naming the latest supported version (e.g. 1_1 for SALES/SUMMARY/DAILY). ReportRepository.downloadSalesReport gains a trailing version: String? parameter; pass nil to keep the previous default behavior.
  • asc review-submissions get --submission-id <id> and asc review-submissions items list --submission-id <id> [--state <ITEM_STATE>] — drill into a review submission to find which attached item Apple rejected. The new items list subcommand surfaces per-item state (READY_FOR_REVIEW/ACCEPTED/APPROVED/REJECTED/REMOVED) and the linked resource id (typically the rejected AppStoreVersion), so an agent can navigate from an UNRESOLVED_ISSUES submission to the offending version with one call. ReviewSubmission gains getSubmission/listItems affordances on every record and a conditional listRejectedItems affordance when hasIssues == true. New ReviewSubmissionItem + ReviewSubmissionItemState + ReviewSubmissionItemLinkedResource domain types in Domain/Submissions/; SubmissionRepository gains getSubmission(id:) and listSubmissionItems(submissionId:). REST equivalents: GET /api/v1/review-submissions/:id and GET /api/v1/review-submissions/:id/items?state=REJECTED via ReviewSubmissionsController. Note: Apple's free-text rejection reasoning still lives only in App Store Connect's Resolution Center web UI — the public API exposes the state machine, not the narrative. See docs/features/review-submissions.md.

Fixed

  • asc app-availability get no longer crashes with PARAMETER_ERROR.INVALID ("maximum allowable limit is '50'") — Apple caps include=territoryAvailabilities on /v1/apps/{id}/appAvailabilityV2 at 50 entries, and silently truncates relationship includes regardless. SDKAppAvailabilityRepository.getAppAvailability now matches the iOS-SDK multi-call pattern documented in CLAUDE.md: one call to the parent for availableInNewTerritories (no include), then a second call to the dedicated /v2/appAvailabilities/{id}/territoryAvailabilities endpoint with limit: 200 for the full territory list. Added a regression test that round-trips 175 territories.