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);
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>);
}