Create proposal
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.