accept method

Future<Proposal> accept(
  1. AcceptProposalRequest request,
  2. String accountId,
  3. String proposalId, {
  4. String? $fields,
})

Mark the proposal as accepted at the given revision number.

If the number does not match the server's revision number an ABORTED error message will be returned. This call updates the proposal_state from PROPOSED to BUYER_ACCEPTED, or from SELLER_ACCEPTED to FINALIZED. Upon calling this endpoint, the buyer implicitly agrees to the terms and conditions optionally set within the proposal by the publisher.

request - The metadata request object.

Request parameters:

accountId - Account ID of the buyer.

proposalId - The ID of the proposal to accept.

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

Completes with a Proposal.

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<Proposal> accept(
  AcceptProposalRequest request,
  core.String accountId,
  core.String proposalId, {
  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_ = 'v2beta1/accounts/' +
      commons.escapeVariable('$accountId') +
      '/proposals/' +
      commons.escapeVariable('$proposalId') +
      ':accept';

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