Apple-AppStoreConnect
view release on metacpan or search on metacpan
# CONVENIENCE METHODS
## `jwt`
my $jwt = $asc->jwt(
iat => $iat?,
exp => $exp?
);
Returns the JSON Web Token string in case you need it. Will return a cached one
if it has more than 5 minutes until expiration and you don't explicitly pass an
`exp` argument.
- `iat` : Specify the token creation timestamp. Default is `time()`.
- `exp` : Specify the token expiration timestamp. Passing this parameter
will force the creation of a new token. Default is `time()+900` (or what you
specified in the constructor).
## `get_apps`
my $res = $asc->get_apps(
id => $app_id?,
path => $path?,
platform => $platform?,
params => \%query_params?
);
Without arguments it is similar to `get(url=>"apps"`, fetching the list of apps,
but does some extra processing to return a Perl hash with app IDs as keys and the
app attributes as values.
There are optional arguments to get details of a specific app or app resource:
- `id` : The app ID. Specifying just the id will return the details for a
single app.
- `path` : Requires `id` and is similar to `get(url=>"apps/$app_id/$path")`,
returning a specific resource type for an app, except it does the convenience processing
where a hash with the ids of this resource as keys are returned and the attributes
as values (unless the specific resource does not follow that pattern).
See API documentation for `path` support (e.g. `builds`, `appAvailability`,
`appPriceSchedule`, `customerReviews` etc.).
- `platform` : Optional shortcut for `filter[platform]`, for example
`IOS`, `MAC_OS`, `TV_OS`, or `VISION_OS`.
- `params` : Any other query params that you need to pass
(see [API documentation](https://developer.apple.com/documentation/appstoreconnectapi)).
## `get_app_store_versions`
my $res = $asc->get_app_store_versions(
id => $app_id,
platform => $platform?,
localizations => $localizations?,
localization_fields => $localization_fields?,
params => \%query_params?
);
my $versions = $asc->get_app_store_versions(
id => $app_id,
platform => 'IOS',
localization_fields => 'locale,whatsNew',
params => {
'fields[appStoreVersions]' => 'platform,versionString,appVersionState'
}
);
Returns an arrayref of App Store versions for the app, automatically fetching
all pages. Each entry is a hash of the resource attributes, with `id` and
`type` added.
When `localizations` is requested, one additional API call is made per
version to fetch its localizations.
- `id` : The app ID.
- `platform` : Optional shortcut for `filter[platform]`, for example
`IOS`, `MAC_OS`, `TV_OS`, or `VISION_OS`.
- `localizations` : If true, each version entry will include a
`localizations` arrayref. Passing `1` fetches all localizations. Passing a
locale string, for example `en-US`, fetches only that locale.
- `localization_fields` : Optional fields to return for each
`appStoreVersionLocalizations` resource, for example `locale,whatsNew`. If
specified, `localizations` defaults to `1`.
- `params` : Any other query params to pass to the
`apps/$app_id/appStoreVersions` request.
## `get_beta_feedback_screenshot_submissions`
my $res = $asc->get_beta_feedback_screenshot_submissions(
id => $app_id,
platform => $platform?,
limit => $limit?,
sort => $sort?,
params => \%query_params?
);
Returns an arrayref of beta feedback screenshot submissions for the app. By
default, results are sorted newest first using `-createdDate`, with `limit`
set to `50`. Only up to `limit` results are returned; pagination is not
performed.
- `id` : The app ID.
- `platform` : Optional shortcut for `filter[appPlatform]`, for example
`IOS`, `MAC_OS`, `TV_OS`, or `VISION_OS`.
- `limit` : Optional maximum number of results to return. Default `50`.
- `sort` : Optional sort order. Default `-createdDate`.
- `params` : Any other query params to pass to the
`apps/$app_id/betaFeedbackScreenshotSubmissions` request, for example
`fields[betaFeedbackScreenshotSubmissions]` or `include`.
## `get_beta_feedback_crash_submissions`
my $res = $asc->get_beta_feedback_crash_submissions(
id => $app_id,
platform => $platform?,
limit => $limit?,
sort => $sort?,
crash_log => $crash_log?,
crash_log_fields => $crash_log_fields?,
params => \%query_params?
);
Returns an arrayref of beta feedback crash submissions for the app. By default,
results are sorted newest first using `-createdDate`, with `limit` set to
`50`. Only up to `limit` results are returned; pagination is not performed.
If `crash_log` is true, each returned crash submission includes a `crashLog`
hashref with the linked crash log; one additional API call is made per
submission to fetch it.
- `id` : The app ID.
- `platform` : Optional shortcut for `filter[appPlatform]`, for example
`IOS`, `MAC_OS`, `TV_OS`, or `VISION_OS`.
- `limit` : Optional maximum number of results to return. Default `50`.
- `sort` : Optional sort order. Default `-createdDate`.
- `crash_log` : If true, fetch `betaFeedbackCrashSubmissions/$id/crashLog`
for each crash submission and attach it as `crashLog`.
- `crash_log_fields` : Optional fields to return for each `betaCrashLogs`
resource, for example `logText`.
- `params` : Any other query params to pass to the
`apps/$app_id/betaFeedbackCrashSubmissions` request, for example
`fields[betaFeedbackCrashSubmissions]` or `include`. Passing
`fields[betaCrashLogs]` here is also supported; it is applied to the crash log
( run in 0.946 second using v1.01-cache-2.11-cpan-bbcb1afb8fc )