archive method

Future<Subscription> archive(
  1. ArchiveSubscriptionRequest request,
  2. String packageName,
  3. String productId, {
  4. String? $fields,
})

Archives a subscription.

Can only be done if at least one base plan was active in the past, and no base plan is available for new or existing subscribers currently. This action is irreversible, and the subscription ID will remain reserved.

request - The metadata request object.

Request parameters:

packageName - Required. The parent app (package name) of the app of the subscription to delete.

productId - Required. The unique product ID of the subscription to delete.

$fields - Selector specifying which fields to include in a partial response.

Completes with a Subscription.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<Subscription> archive(
  ArchiveSubscriptionRequest request,
  core.String packageName,
  core.String productId, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'androidpublisher/v3/applications/' +
      commons.escapeVariable('$packageName') +
      '/subscriptions/' +
      commons.escapeVariable('$productId') +
      ':archive';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return Subscription.fromJson(
      response_ as core.Map<core.String, core.dynamic>);
}