Create proposal
Last updated: 10-Dec-2020
Rate this article:
Overview
Use the createProposal method via JSON-RPC API 6.0 to add/create a new quote.
Request Parameters
Parameters | Type | Required/Optional | Description |
---|---|---|---|
proposal | Object | Required | |
proposalContent | Object | Required | |
lineItems | Object | Required | |
sessionId | String | Required | Unique 2Checkout session ID code. |
Request Sample
<?php
require ('PATH_TO_AUTH');
$proposal = new stdClass();
$proposal->Type = "acquisition";
$proposal->BillTo = new stdClass();
$proposal->BillTo->Company = "Billing company";
$proposal->Content = new stdClass();
$proposal->Content->Language = "EN";
$proposal->Content->Currency = "USD";
$proposal->Content->LineItems = array();
$lineItem = new stdClass();
$lineItem->ProductName = "My Product Name";
$lineItem->ProductCode = "5DCB30C6B0";
$lineItem->Quantity = 1;
$lineItem->Price = 54.2;
$lineItem->DiscountedPrice = 50;
$lineItem->PriceType = "net";
$lineItem->ContractPeriod = 0;
$proposal->Content->LineItems[0] = $lineItem;
$proposal->tac = new stdClass();
$proposal->tac->content = "Lorem ipsum.";
$proposal->SellTo = new stdClass();
$proposal->SellTo->Company = "End user company";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'createProposal';
$jsonRpcRequest->params = array($sessionID, $proposal);
$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');
$proposal = new stdClass();
$proposal->Type = "amendment";
$proposal->BillTo = new stdClass();
$proposal->BillTo->Company = "Billing company";
$proposal->Content = new stdClass();
$proposal->Content->Language = "EN";
$proposal->Content->Currency = "USD";
$proposal->Content->Terms = 30;
$proposal->Content->LineItems = array();
$lineItem = new stdClass();
$lineItem->ProductName = "My Product Name";
$lineItem->ProductCode = "5DCB30C6B0";
$lineItem->Quantity = 1;
$lineItem->Price = 54.2;
$lineItem->DiscountedPrice = 50;
$lineItem->PriceType = "net";
$lineItem->ContractPeriod = 0;
$lineItem->ProrationDate = "2020-11-14T15:28:56+00:00";
$lineItem->subscriptionReference ="1234567890";
$proposal->Content->LineItems[0] = $lineItem;
$proposal->tac = new stdClass();
$proposal->tac->content = "Lorem ipsum.";
$proposal->SellTo = new stdClass();
$proposal->SellTo->Company = "End user company";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'createProposal';
$jsonRpcRequest->params = array($sessionID, $proposal);
$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');
$proposal = new stdClass();
$proposal->Type = "acquisition";
$proposal->BillTo = new stdClass();
$proposal->BillTo->Company = "Billing company";
$proposal->Content = new stdClass();
$proposal->Content->Language = "EN";
$proposal->Content->Currency = "USD";
$proposal->Content->LineItems = array();
$lineItem = new stdClass();
$lineItem->ProductName = "My Product Name";
$lineItem->ProductCode = "5DCB30C6B0";
$lineItem->Quantity = 1;
$lineItem->Price = 54.2;
$lineItem->DiscountedPrice = 50;
$lineItem->PriceType = "net";
$lineItem->ContractPeriod = 0;
$proposal->Content->LineItems[0] = $lineItem;
$proposal->tac = new stdClass();
$proposal->tac->content = "Lorem ipsum.";
$proposal->SellTo = new stdClass();
$proposal->SellTo->Company = "End user company";
$proposal->SellTo->VatCode = "854234564";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'createProposal';
$jsonRpcRequest->params = array($sessionID, $proposal);
$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');
$proposal = new stdClass();
$proposal->Type = "acquisition";
$proposal->BillTo = new stdClass();
$proposal->BillTo->Company = "Billing company";
$proposal->Content = new stdClass();
$proposal->Content->Language = "EN";
$proposal->Content->Currency = "USD";
$proposal->Content->LineItems = array();
$lineItem = new stdClass();
$lineItem->ProductName = "My Product Name";
$lineItem->ProductCode = "5DCB30C6B0";
$lineItem->Quantity = 1;
$lineItem->Price = 54.2;
$lineItem->DiscountedPrice = 50;
$lineItem->PriceType = "net";
$lineItem->ContractPeriod = 0;
$proposal->Content->LineItems[0] = $lineItem;
$proposal->tac = new stdClass();
$proposal->tac->content = "Lorem ipsum.";
$proposal->SellTo = new stdClass();
$proposal->SellTo->Company = "End user company";
$proposal->SellTo->TaxExemptionId = "854234564";
$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'createProposal';
$jsonRpcRequest->params = array($sessionID, $proposal);
$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 createProposal API call returns Proposal object.
Rate this article: