Update proposal
Last updated: 10-Dec-2020
Rate this article:
Overview
Use the updateProposal method via JSON-RPC API 6.0 to update the details of a proposal or quote.
Request parameters
Parameters | Type | Required/Optional | Description |
---|---|---|---|
proposalId | String | Required | The unique merchant proposal ID generated by the 2Checkout system. |
sessionId | String | Required | Unique 2Checkout session ID code. |
Name | String | Optional | Proposal name. |
UserId | String | Optional | The unique user ID generated by the 2Checkout system. |
BillTo | Object | Optional | The billing details associated with the proposal. |
SellTo | Object | Optional | Represents the entity using the service. Used for tax calculation. |
Request sample
<?php
require ('PATH_TO_AUTH');
$proposalID = "0573e71d-38bb-4d61-88ca-b3c557517c68";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'getProposalById';
$jsonRpcRequest->params = array($sessionID, $proposalID);
$jsonRpcRequest->id = $i++;
try {
$result = callRPC($jsonRpcRequest, $host);
}
catch (SoapFault $e) {
echo "Could not fetch proposal: " . $e->getMessage();
exit;
}
$result->Name = "Updated proposal name";
$result->UserId = "myuser";
$result->BillTo->FirstName = "Billing Contact first name";
$result->BillTo->LastName = "Billing Contact last name";
$result->BillTo->Email = "contact@email.com";
$result->BillTo->Country = "US";
$result->BillTo->State = "California";
$result->BillTo->City = "San Francisco";
$result->BillTo->Address = "Street name No. 9 San Francisco, California";
$result->SellTo->FirstName = "Contact first name";
$result->SellTo->LastName = "Contact last name";
$result->SellTo->Email = "contact@email.com";
$result->SellTo->Country = "US";
$result->SellTo->State = "California";
$result->SellTo->vatCode = "85421564";
$result->SellTo->City = "San Francisco";
$result->SellTo->Address = "Street name No. 5 San Francisco, California";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'updateProposal';
$jsonRpcRequest->params = array($sessionID, $result);
$jsonRpcRequest->id = $i++;
try {
$result = callRPC($jsonRpcRequest, $host);
echo "Proposal: </br>",
var_dump($result);
}
catch (SoapFault $e) {
echo "Could not fetch proposal: " . $e->getMessage();
exit;
}
Request sample with prorationDate
<?php
require ('PATH_TO_AUTH');
$proposalID = "0573e71d-38bb-4d61-88ca-b3c557517c68";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'getProposalById';
$jsonRpcRequest->params = array($sessionID, $proposalID);
$jsonRpcRequest->id = $i++;
try {
$result = callRPC($jsonRpcRequest, $host);
}
catch (SoapFault $e) {
echo "Could not fetch proposal: " . $e->getMessage();
exit;
}
$result->Content->LineItems[0]->ProrationDate = "2020-11-14T15:28:56+00:00";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'updateProposal';
$jsonRpcRequest->params = array($sessionID, $result);
$jsonRpcRequest->id = $i++;
try {
$result = callRPC($jsonRpcRequest, $host);
echo "Proposal: </br>",
var_dump($result);
}
catch (SoapFault $e) {
echo "Could not fetch proposal: " . $e->getMessage();
exit;
}
Request sample with vatCode
<?php
require ('PATH_TO_AUTH');
$proposalID = "0573e71d-38bb-4d61-88ca-b3c557517c68";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'getProposalById';
$jsonRpcRequest->params = array($sessionID, $proposalID);
$jsonRpcRequest->id = $i++;
try {
$result = callRPC($jsonRpcRequest, $host);
}
catch (SoapFault $e) {
echo "Could not fetch proposal: " . $e->getMessage();
exit;
}
$result->Name = "Updated proposal name";
$result->UserId = "myuser";
$result->BillTo->FirstName = "Billing Contact first name";
$result->BillTo->LastName = "Billing Contact last name";
$result->BillTo->Email = "contact@email.com";
$result->BillTo->Country = "US";
$result->BillTo->State = "California";
$result->BillTo->City = "San Francisco";
$result->BillTo->Address = "Street name No. 9 San Francisco, California";
$result->SellTo->FirstName = "Contact first name";
$result->SellTo->LastName = "Contact last name";
$result->SellTo->Email = "contact@email.com";
$result->SellTo->Country = "US";
$result->SellTo->State = "California";
$result->SellTo->vatCode = "85421564";
$result->SellTo->City = "San Francisco";
$result->SellTo->Address = "Street name No. 5 San Francisco, California";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'updateProposal';
$jsonRpcRequest->params = array($sessionID, $result);
$jsonRpcRequest->id = $i++;
try {
$result = callRPC($jsonRpcRequest, $host);
echo "Proposal: </br>",
var_dump($result);
}
catch (SoapFault $e) {
echo "Could not fetch proposal: " . $e->getMessage();
exit;
}
Request sample with TaxExemptionId
<?php
require ('PATH_TO_AUTH');
$proposalID = "0573e71d-38bb-4d61-88ca-b3c557517c68";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'getProposalById';
$jsonRpcRequest->params = array($sessionID, $proposalID);
$jsonRpcRequest->id = $i++;
try {
$result = callRPC($jsonRpcRequest, $host);
}
catch (SoapFault $e) {
echo "Could not fetch proposal: " . $e->getMessage();
exit;
}
$result->Name = "Updated proposal name";
$result->UserId = "myuser";
$result->BillTo->FirstName = "Billing Contact first name";
$result->BillTo->LastName = "Billing Contact last name";
$result->BillTo->Email = "contact@email.com";
$result->BillTo->Country = "US";
$result->BillTo->State = "California";
$result->BillTo->City = "San Francisco";
$result->BillTo->Address = "Street name No. 9 San Francisco, California";
$result->SellTo->FirstName = "Contact first name";
$result->SellTo->LastName = "Contact last name";
$result->SellTo->Email = "contact@email.com";
$result->SellTo->Country = "US";
$result->SellTo->State = "California";
$result->SellTo->TaxExemptionId = "85421564";
$result->SellTo->City = "San Francisco";
$result->SellTo->Address = "Street name No. 5 San Francisco, California";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'updateProposal';
$jsonRpcRequest->params = array($sessionID, $result);
$jsonRpcRequest->id = $i++;
try {
$result = callRPC($jsonRpcRequest, $host);
echo "Proposal: </br>",
var_dump($result);
}
catch (SoapFault $e) {
echo "Could not fetch proposal: " . $e->getMessage();
exit;
}
Response
The updateProposal call via JSON-RPC API 6.0 returns the Proposal object.
Rate this article: