 <p>I hope these php scripts can help you:</p> <p>Order SSL Certificates</p> <pre><code> &lt;?php /** * Order SSL certificate * * This script orders a SSL Certificate * * Important manual pages: * @see http://sldn.softlayer.com/reference/services/SoftLayer_Product_Order/placeOrder * @see http://sldn.softlayer.com/reference/datatypes/SoftLayer_Container_Product_Order * @see http://sldn.softlayer.com/reference/datatypes/SoftLayer_Container_Product_Order_Security_Certificate * * @license &lt;http://sldn.softlayer.com/wiki/index.php/license&gt; * @author SoftLayer Technologies, Inc. &lt;sldn@softlayer.com&gt; */ require_once "C:/PhpSoftLayer/SoftLayer/SoftLayer/XmlrpcClient.class.php"; /** * Your SoftLayer API username * @var string */ $username = "set me"; /** * Your SoftLayer API key * Generate one at: https://control.softlayer.com/account/users * @var string */ $apiKey = "set me"; // Create a SoftLayer API client object for "SoftLayer_Product_Order" services $productService = Softlayer_XmlrpcClient::getClient("SoftLayer_Product_Order", null, $username, $apiKey); /** * Define SSL Certificates Properties * @var int $quantity * @var int $packageId * @var int $serverCount * @var int $validityMonths * @var string $orderApproverEmailAddress * @var string $serverType */ $quantity = 1; $packageId = 210; $serverCount = 1; $validityMonths = 24; $serverType = "apache2"; $orderApproverEmailAddress = "admin@rubtest.com"; /** * Build a skeleton SoftLayer_Container_Product_Order_Attribute_Contact object for administrativeContact, * billingContact, technicalContact and organizationInformation properties. You can use the same information * for all of these properties, or you can create this object for each one. * @var string addressLine1 * @var string city * @var string countryCode * @var string postalCode * @var string state * @var string email * @var string firstName * @var string lastName * @var string organizationName * @var string phoneNumber * @var string title */ $addressInfo = new stdClass(); $addressInfo -&gt; address = new stdClass(); $addressInfo -&gt; address -&gt; addressLine1 = "Simon Lopez Av."; $addressInfo -&gt; address -&gt; city = "Cochabamba"; $addressInfo -&gt; address -&gt; countryCode = "BO"; $addressInfo -&gt; address -&gt; postalCode = "0591"; $addressInfo -&gt; address -&gt; state = "OT"; $addressInfo -&gt; emailAddress = "noreply@softlayer.com"; $addressInfo -&gt; firstName = "Ruber"; $addressInfo -&gt; lastName = "Cuellar"; $addressInfo -&gt; organizationName = "TestCompany"; $addressInfo -&gt; phoneNumber = "7036659886"; $addressInfo -&gt; title = "TitleTest"; /** * Define a collection of SoftLayer_Product_Item_Price objects. You can verify the item available for a given package using * SoftLayer_Product_Package::getItemPrices method * @see http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getItemPrices */ $price = new stdClass(); $price-&gt;id = 1836; /** * Declare the CSR * @var string */ $certificateSigningRequest = "-----BEGIN CERTIFICATE REQUEST----- MIIC8TCCAdkCAQAwgasxCzAJBgNVBAYTAkNaMR8wHQYDVQQIExZDemVjaCBSZXB1 YmxpYywgRXVyb3BlMRQwEgYDVQQHEwtQcmFndWUgQ2l0eTEWMBQGA1UEChMNTXkg VW5saW1pbnRlZDEMMAoGA1UECxMDVlBOMRQwEgYDVQQDEwtydWJ0ZXN0LmNvbTEp MCcGCSqGSIb3DQEJARYacnViZXIuY3VlbGxhckBqYWxhc29mdC5jb20wggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDnusRc9LDjfm21A/fz1UhuMoUqkeji BX/oTXsD/GmRaraOb0QnzjGoaM2K07nMENpQiJRpmEj3tEKwAXNitlapLwlXFvB7 rVd9lkvGmCIEkkDp5nbsdejS7BqJ8ikgEI+HATmdoyi9jxWrM/i6c9pnhF4j9ejI XQnxd3yvpuxgybF3tN+HOOpXwVH4FQC7x/FRRai8jNxd2f+VzW7EgtIYxgl3L8gr 4DPPAAiX07lEAccEEUhQ3/LbTlSPiT0hiGh8tMcImYFDDyGOIRJKXSptuvYgwHRC 67D6fzT4ITtG2XMkzo5kgyZtwemRiikAzVbmtEFKwht0j0Q+3nf1Yv2BAgMBAAGg ADANBgkqhkiG9w0BAQUFAAOCAQEAJCRjsdmVhcM+mKbG8NE4YdDyBfKvC03g/mCn wWZWca1uRbYeJUNH2/LFy9tQ/8J07Cx0KcPmRnHbXkZaSMHsorv4sg6M3XDRaIiu D/ltOZYlGYC1zFVM+pgiQd84krO0lTf/NiJxyyL3e3owO91h07jPuGGFygSOeKZa cMMNdLQlPfZIS+hwZUuJSgormGhr+dfPkHbjP3l3X+uO59VNE+1zHTctCqooyCRa HrHFjNbVD4Ou7Ff6B0LUiw9I54jH69MrtxdrsF+kvOaa44fN1NjqlM1sI4ZQs0O1 15B5NKrFMxG+5BrZYL7n8qEzra7WYFVrebjKexQqSBi4B6XU+g== -----END CERTIFICATE REQUEST-----"; /* * Build a skeleton SoftLayer_Container_Product_Order object with details required to order */ $container = new stdClass(); $container -&gt; complexType = "SoftLayer_Container_Product_Order_Security_Certificate"; $container -&gt; packageId = $packageId; $container -&gt; quantity = $quantity; $container -&gt; serverCount = $serverCount; $container -&gt; serverType = $serverType; $container -&gt; prices = array($price); $container -&gt; certificateSigningRequest = $certificateSigningRequest; $container -&gt; validityMonths = $validityMonths; $container -&gt; orderApproverEmailAddress = $orderApproverEmailAddress; // technicalContact, administrativeContact, organizationInformation and billingContact $container -&gt; technicalContact = $addressInfo; $container -&gt; administrativeContact = $addressInfo; $container -&gt; organizationInformation = $addressInfo; $container -&gt; billingContact = $addressInfo; $order = new stdClass(); $order-&gt;orderContainers = array(); $order-&gt;orderContainers[0] = $container; try { /* * SoftLayer_Product_Order::verifyOrder() method will check your order for errors. Replace this with a call * to placeOrder() when you're ready to order. Both calls return a receipt object that you can use for your * records. */ $result = $productService -&gt; verifyOrder($order); print_r($result); } catch(Exception $e) { echo "Unable to order SSL Certificates: " . $e -&gt; getMessage(); } </code></pre> <p>Order Firewall Device</p> <pre><code>&lt;?php /** * Order dedicated Firewall for a Device (Virtual Guest) * Important manual pages: * http://sldn.softlayer.com/reference/datatypes/SoftLayer_Container_Product_Order_Network_Protection_Firewall_Dedicated * http://sldn.softlayer.com/reference/datatypes/SoftLayer_Product_Item_Price * http://sldn.softlayer.com/reference/services/SoftLayer_Product_Order/verifyOrder * http://sldn.softlayer.com/reference/services/SoftLayer_Product_Order/placeOrder * * License &lt;http://sldn.softlayer.com/article/License&gt; * Author SoftLayer Technologies, Inc. &lt;sldn@softlayer.com&gt; */ require_once "C:/PhpSoftLayer/SoftLayer/SoftLayer/SoapClient.class.php"; /** * Your SoftLayer API username * @var string */ $username = "set me"; /** * Your SoftLayer API key * Generate one at: https://control.softlayer.com/account/users * @var string */ $apiKey = "set me"; // Define the virtual guest Id that you wish to add the firewall $virtualGuestId = 5074554; // Creating a SoftLayer API client object $softLayerProductOrder = SoftLayer_SoapClient::getClient('SoftLayer_Product_Order', null, $username, $apiKey); /** * Building a skeleton SoftLayer_Product_Item_Price objects. These objects contain * much more than ids, but SoftLayer's ordering system only needs the price's id * to know what you want to order. * to get the list of valid prices for the package * use the SoftLayer_Product_Package:getItems method */ $prices = array ( 409, # Price to 100Mbps Hardware Firewall ); /** * Convert our item list into an array of skeleton * SoftLayer_Product_Item_Price objects. */ $orderPrices = array(); foreach ($prices as $priceId){ $price = new stdClass(); $price-&gt;id = $priceId; $orderPrices[] = $price; } // Define location, packageId and quantity $location = "AMSTERDAM"; $packageId = 0; // The package Id for order monitoring packages is 0 $quantity = 1; // Build a skeleton SoftLayer_Virtual_Guest object to model the id // of the virtual guest where you want add the monitoring package $virtualGuests = new stdClass(); $virtualGuests-&gt;id = $virtualGuestId; $orderVirtualGuest = array ( $virtualGuests ); // Build a SoftLayer_Container_Product_Order_Network_Protection_Firewall_Dedicated object containing // the order you wish to place. $orderContainer = new stdClass(); $orderContainer-&gt;location = $location; $orderContainer-&gt;packageId = $packageId; $orderContainer-&gt;prices = $orderPrices; $orderContainer-&gt;quantity = $quantity; $orderContainer-&gt;virtualGuests = $orderVirtualGuest; try { // Re-declare the order template as a SOAP variable, so the SoftLayer // ordering system knows what type of order you're placing. $orderTemplate = new SoapVar ( $orderContainer, SOAP_ENC_OBJECT, 'SoftLayer_Container_Product_Order_Network_Protection_Firewall', 'http://api.service.softlayer.com/soap/v3.1/' ); /* * SoftLayer_Product_Order::verifyOrder() method will check your order for errors. Replace this with a call * to placeOrder() when you're ready to order. Both calls return a receipt object that you can use for your * records. */ $receipt = $softLayerProductOrder-&gt;verifyOrder($orderTemplate); print_r($receipt); } catch (Exception $e) { echo 'Unable to order the firewall for device: ' . $e-&gt;getMessage(); } </code></pre> <p>Firewall for VLAN</p> <pre><code>&lt;?php /** * Order Firewall for a VLAN * Important manual pages: * http://sldn.softlayer.com/reference/datatypes/SoftLayer_Container_Product_Order_Network_Protection_Firewall_Dedicated * http://sldn.softlayer.com/reference/datatypes/SoftLayer_Product_Item_Price * http://sldn.softlayer.com/reference/services/SoftLayer_Product_Order/verifyOrder * http://sldn.softlayer.com/reference/services/SoftLayer_Product_Order/placeOrder * * License &lt;http://sldn.softlayer.com/article/License&gt; * Author SoftLayer Technologies, Inc. &lt;sldn@softlayer.com&gt; */ require_once "C:/PhpSoftLayer/SoftLayer/SoftLayer/SoapClient.class.php"; /** * Your SoftLayer API username * @var string */ $username = "set me"; /** * Your SoftLayer API key * Generate one at: https://control.softlayer.com/account/users * @var string */ $apiKey = "set me"; // Create a SoftLayer API client object for "SoftLayer_Product_Order" services $softLayerProductOrder = Softlayer_SoapClient::getClient("SoftLayer_Product_Order", null, $username, $apiKey); // Declare the vlan id that you wish to add the firewall $vlanId = 765032; /** * Building a skeleton SoftLayer_Product_Item_Price objects. These objects contain * much more than ids, but SoftLayer's ordering system only needs the price's id * to know what you want to order. * to get the list of valid prices for the package * use the SoftLayer_Product_Package:getItemPrices method */ $prices = array ( 2390, // Hardware Firewall (Dedicated) //21514, FortiGate Security Appliance ); /** * Convert our item list into an array of skeleton * SoftLayer_Product_Item_Price objects. */ $orderPrices = array(); foreach ($prices as $priceId){ $price = new stdClass(); $price-&gt;id = $priceId; $orderPrices[] = $price; } // Declare the location, packageId and quantity $location = "AMSTERDAM"; $packageId = 0; // The package Id for order Firewalls $quantity = 1; // Build a SoftLayer_Container_Product_Order_Network_Protection_Firewall_Dedicated object containing // the order you wish to place. $orderContainer = new stdClass(); $orderContainer-&gt;location = $location; $orderContainer-&gt;packageId = $packageId; $orderContainer-&gt;prices = $orderPrices; $orderContainer-&gt;quantity = $quantity; $orderContainer-&gt; vlanId = $vlanId; try { // Re-declare the order template as a SOAP variable, so the SoftLayer // ordering system knows what type of order you're placing. $orderTemplate = new SoapVar ( $orderContainer, SOAP_ENC_OBJECT, 'SoftLayer_Container_Product_Order_Network_Protection_Firewall_Dedicated', 'http://api.service.softlayer.com/soap/v3/' ); /* * SoftLayer_Product_Order::verifyOrder() method will check your order for errors. Replace this with a call * to placeOrder() when you're ready to order. Both calls return a receipt object that you can use for your * records. */ $receipt = $softLayerProductOrder-&gt;verifyOrder($orderTemplate); print_r($receipt); } catch (Exception $e) { echo 'Unable to place the order: ' . $e-&gt;getMessage(); } </code></pre> <p>Order Security Software (Anti Virus)</p> <pre><code>&lt;?php /** * Purchase an Anti-virus for a server * * Important manual pages: * @see http://sldn.softlayer.com/reference/services/SoftLayer_Ticket * @see http://sldn.softlayer.com/reference/services/SoftLayer_Ticket/createUpgradeTicket * * @license &lt;http://sldn.softlayer.com/wiki/index.php/license&gt; * @author SoftLayer Technologies, Inc. &lt;sldn@softlayer.com&gt; */ require_once "C:/PhpSoftLayer/SoftLayer/SoftLayer/SoapClient.class.php"; /** * Your SoftLayer API username * @var string */ $username = "set me"; /** * Your SoftLayer API key * Generate one at: https://control.softlayer.com/account/users * @var string */ $apiKey = "set me"; /** * Define the hardware id where you wish to add the McAfee ANtivirus * @var int $attachmentId */ $attachmentId = 251708; // Define a brief description of what you wish to upgrade $genericUpgrade = "Add / Upgrade Software"; // $upgradeMaintenanceWindow = "9.30.2015 (Wed) 01:00(GMT-0600) - 04:00(GMT-0600)"; // Declare a detailed description of the server or account upgrade you wish to perform $details ="I would like additional information on adding McAfee AntiVirus (5$.00 monthly) to my account."; // Declare the attachmentType e.g. HARDWARE - VIRTUAL_GUEST - NONE $attachmentType = "HARDWARE"; // Create a SoftLayer API client object for "SoftLayer_Ticket" service $ticketService = SoftLayer_SoapClient::getClient("SoftLayer_Ticket", null, $username, $apiKey); try { $result = $ticketService -&gt; createUpgradeTicket($attachmentId, $genericUpgrade, $upgradeMaintenanceWindow, $details, $attachmentType); print_r($result); } catch(Exception $e) { echo "Unable to create the ticket: " . $e -&gt; getMessage(); } </code></pre>