accept method
- AcceptProposalRequest request,
- String accountId,
- String proposalId, {
- 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.toJson());
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>);
}