Skip to main content

Crate smbcloud_ascapi_aso

Crate smbcloud_ascapi_aso 

Source
Expand description

App Store Connect’s App Metadata resources: apps, app infos and their localizations, app store versions and their localizations, builds, bundle IDs, and screenshots.

Everything here is an extension trait on Client, because that type belongs to the core crate and Rust only allows inherent impls in the crate that defines a type. Import prelude to get all of them at once.

use smbcloud_ascapi_core::{ApiKey, Client};
use smbcloud_ascapi_aso::prelude::*;

let api_key = ApiKey::from_p8_file("L84N624YQH", "b4e8d369-…", "AuthKey.p8")?;
let client = Client::new(api_key);
let apps = client.list_apps(Some("xyz.smbcloud.mailx")).await?;

Modules§

app
GET /v1/apps, GET/PATCH /v1/apps/{id}. Note there is no POST /v1/apps — App Store Connect has no “create an app” endpoint. An app record comes into existence the first time you register its bundle ID (see crate::bundle_id) and give it a first crate::app_store_version; the App Store Connect UI (or, per platform, a build upload) is what actually provisions the App row. This module only reads and updates one that already exists.
app_info
An AppInfo is the platform-independent, category/age-rating side of an app’s metadata; its localized name/subtitle live on crate::app_info_localization. App Store Connect creates and manages AppInfo rows itself (there is no create/delete endpoint) — this module only reads them and updates category/age-rating relationships.
app_info_localization
app_screenshot
An AppScreenshot is one image binary within an AppScreenshotSet. Uploading one is a three-step JSON:API + raw-HTTP dance (see https://developer.apple.com/documentation/appstoreconnectapi/uploading-assets-to-app-store-connect):
app_screenshot_set
An AppScreenshotSet groups the screenshots for one device/display class (e.g. Apple Vision Pro, iPhone 6.7“) within one localization of an AppStoreVersion. Screenshots themselves are a separate resource (crate::app_screenshot) that belongs to a set.
app_store_version
An AppStoreVersion is App Store Connect’s per-platform record for an app: platform is one of IOS / MAC_OS / TV_OS / VISION_OS. Since there is no direct “create app for platform X” endpoint (see crate::app), creating an AppStoreVersion for a platform an app doesn’t have one for yet — e.g. adding visionOS to an app that so far only ships on iOS/macOS — is how you add that platform.
app_store_version_localization
beta_app_review_detail
BetaAppReviewDetail — contact and demo info that Apple’s Beta App Review team uses when reviewing an app for external TestFlight distribution.
beta_app_review_submission
BetaAppReviewSubmission — submit a build to Apple’s Beta App Review for external TestFlight distribution approval.
beta_build_localization
BetaBuildLocalization — per-locale “What to Test” notes on a TestFlight build.
beta_group
BetaGroup — a TestFlight distribution group that can receive builds.
build
Lookup for Build — the processed artifact behind an uploaded .ipa/.pkg — and PreReleaseVersion, the version string App Store Connect groups builds under for TestFlight. The one write is a build’s export-compliance answer (BuildsApi::update_build).
bundle_id
prelude
Every extension trait in this crate, for one glob import.
review_submission
ReviewSubmission — how an App Store Version reaches App Review.