Apple-AppStoreConnect

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN


# 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 )