Create an upsell campaign
Overview
Use the createUpSellCampaign method to create an upsell campaign via SOAP API 6.0.
Request sample
<?php require ('PATH_TO_AUTH'); $upsell = new \stdClass(); $upsell->Name = 'December 2020 upsell campaign’; $upsell->StartDate = '2020-12-21'; $upsell->EndDate = '2020-12-25'; $upsell->DisplayForManualRenewals = false; // setup percent discount $discountPercent = new \stdClass(); $discountPercent->Type = 'PERCENT'; $discountPercent->Value = 5; // setup fixed discount $discountFixed = new \stdClass(); $discountFixed->Type = 'FIXED'; $discountValues = [ 'USD' => 10, 'EUR' => 8, 'TRY' => 80, 'RUB' => 1100, ]; $dv = []; foreach ($discountValues as $curr => $amt) { $disc = new \stdClass(); $disc->Currency = $curr; $disc->Amount = $amt; $dv[] = $disc; } $discountFixed->Values = $dv; // assign discount $upsell->Discount = $discountPercent; # OR # $upsell->Discount = $discountFixed; // setup primary product $primaryProduct = new \stdClass(); $primaryProduct->Code = $productCode; $primaryProduct->Quantity = 1; $ppPriceOptionGroup1 = new \stdClass(); $ppPriceOptionGroup1->Code = 'OPTGRP2'; $ppPriceOptionGroup1Option = new \stdClass(); $ppPriceOptionGroup1Option->Code = 'OptGrp2Code2'; $ppPriceOptionGroup1->Options = [$ppPriceOptionGroup1Option]; $ppPriceOptionGroup2 = new \stdClass(); $ppPriceOptionGroup2->Code = 'interval_scale_grp1'; $ppPriceOptionGroup2Option = new \stdClass(); $ppPriceOptionGroup2Option->Code = 'interval_scale_grp1-1-10'; $ppPriceOptionGroup2Option->Value = '6'; $ppPriceOptionGroup2->Options = [$ppPriceOptionGroup2Option]; $primaryProduct->PriceOptions = [$ppPriceOptionGroup1, $ppPriceOptionGroup2]; $upsell->PrimaryProduct = $primaryProduct; // setup recommended product $recommProduct = new \stdClass(); $recommProduct->Code = $recProductCode; $recommProduct->Quantity = 0; // stands for “match quantity” $rpPriceOptionGroup1 = new \stdClass(); $rpPriceOptionGroup1->Code = 'CHECKB_LIST'; $rpPriceOptionGroup1Option1 = new \stdClass(); $rpPriceOptionGroup1Option1->Code = 'chk1'; $rpPriceOptionGroup1Option2 = new \stdClass(); $rpPriceOptionGroup1Option2->Code = 'chk3'; $rpPriceOptionGroup1->Options = [$rpPriceOptionGroup1Option1, $rpPriceOptionGroup1Option2]; $recommProduct->PriceOptions = [$rpPriceOptionGroup1]; $upsell->RecommendedProduct = $recommProduct; $upsell->Enabled = true; // setup languagte descriptions / texts $enDescription = new \stdClass(); $enDescription->Language = 'EN'; $enDescription->Text = 'Buy <!--{RECOMMENDED_PRODUCT_NAME}--> for just <!--{RECOMMENDED_PRODUCT_PRICE}--> until Dec 25th'; $upsell->Description = [$enDescription]; try { $upsellResponse = $client->createUpsellCampaign($sessionID, $upsell); } catch (SoapFault $e) { echo 'SOAP Exception caught: ' . $e->getMessage() }