Add products to a promotion
Overview
Use addPromotionProducts to add products to an existing promotion.
Parameters
Parameter | Type/Description | |
---|---|---|
sessionID |
Required (string) |
|
|
Output of the Login method. |
|
promotionCode |
Required (string) |
|
|
The code corresponding to the promotion that you want to add products to. |
|
promotionProducts |
Required (object) |
|
|
Code |
Required (string) |
|
|
System generated product code. |
|
pricingConfigurationCode |
Optional (string) |
|
|
System generated pricing configuration code. |
|
pricingOptionCodes |
Optional (array of strings) |
|
|
Pricing option codes that you control. |
Response
Parameter | Type/Description |
---|---|
promotionProducts | Object |
Request
<?php function callRPC($Request, $host, $Debug = true) { $curl = curl_init($host); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_VERBOSE, true); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_SSLVERSION, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Accept: application/json')); $RequestString = json_encode($Request); curl_setopt($curl, CURLOPT_POSTFIELDS, $RequestString); if ($Debug) { $RequestString; } $ResponseString = curl_exec($curl); if ($Debug) { $ResponseString; } if (!empty($ResponseString)) { var_dump($ResponseString); $Response = json_decode($ResponseString); if (isset($Response->result)) { return $Response->result; } if (!is_null($Response->error)) { var_dump($Request->method, $Response->error); } } else { return null; } } $host = 'https://api.avangate.com/rpc/3.1/'; $merchantCode = "YOUR_MERCHANT_CODE"; // your account's merchant code available in the 'System settings' area of the cPanel: https://secure.avangate.com/cpanel/account_settings.php $key = "YOUR_SECRET_KEY"; // your account's secret key available in the 'System settings' area of the cPanel: https://secure.avangate.com/cpanel/account_settings.php $string = strlen($merchantCode) . $merchantCode . strlen(gmdate('Y-m-d H:i:s')) . gmdate('Y-m-d H:i:s'); $hash = hash_hmac('md5', $string, $key); $i = 1; $jsonRpcRequest = new stdClass(); $jsonRpcRequest->jsonrpc = '2.0'; $jsonRpcRequest->method = 'login'; $jsonRpcRequest->params = array($merchantCode, gmdate('Y-m-d H:i:s'), $hash); $jsonRpcRequest->id = $i++; $sessionID = callRPC($jsonRpcRequest, $host); $promotionCode = ''; // Define a product to add to the promotion $newProduct1 = new stdClass; $newProduct1->Code = ''; $newProduct1->PricingConfigurationCode = ''; $newProduct1->PricingOptionCodes = ['','']; // Define another product to add to the promotion $newProduct2 = new stdClass; $newProduct2->Code = ''; $newProduct2->PricingOptionCodes = ['']; $productPromotion = [$newProduct1, $newProduct2]; $jsonRpcRequest = array ( 'jsonrpc' => '2.0', 'id' => $i++, 'method' => 'addPromotionProducts', 'params' => array($sessionID, $promotionCode, $productPromotion) ); var_dump (callRPC($jsonRpcRequest, $host));