|
Version: 1
HCnix Build: 3.00 and later
API Build: 1.00 and later
Plan Manager -SetPlanDetails updates a specified plan. This web service call can be made as http://your-domain.com/HCnixAPI/PlanManager.php?op=SetPlanDetails.
Input Parameters
HostUserName
HostPassword
OwnerName - user name under which you want to edit plan
PlanName - name of plan to be updated
OptionalParam
PlanDescription - detailed description of plan to be created
CancellationPolicy - detailed cancellation policy of plan to be created
Status - possible values are Available and Unavailable
Resources - (XML Node) list of resources to be updated
Language
Output Parameters
XML error report in case of Quota Violation embedded in Result Node of Response packet.
Sample Optional Parameters
<Parameters>
<Parameter Name = "PlanDescription">ThisPlan</Parameter>
<Parameter Name = "Status">Available</Parameter>
<Parameter Name = "DefaultDuration">1</Parameter>
<Parameter Name = "Resources">abc</Parameter>
<Parameter Name = "Language">French</Parameter>
</Parameters>
Sample SOAP Request
|
POST /HCnixAPI/PlanManager.php HTTP/1.1 Host: your-domain.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tempuri.org/SetPlanDetails" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetPlanDetailsxmlns="http://tempuri.org/"> <HostUserName>host</HostUserName> <HostPassword>host123</HostPassword> <OwnerName>david</OwnerName> <PlanName>MyPlan</PlanName> <OptionalParam>xml</OptionalParam> </SetPlanDetails> </soap:Body> </soap:Envelope> |
Sample HTTP Request
|
POST /HCnixAPI/PlanManager.php/SetPlanDetails HTTP/1.1 Host: your-domain.com Content-Type: application/x-www-form-urlencoded Content-Length: length HostUserName=host&HostPassword=host123&OwnerName=david&PlanName=MyPlan&OptionalParam=xml
|
Sample PHP Code
|
function SetPlanDetails($strHostUserName, $strHostPassword, $strOwnerName, $strPlanName, $OptionalParam) { $response=""; $soapPacket = "<?xml version=\"1.0\" encoding=\"utf-8\"?> <soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"> <soap:Body> <SetPlanDetails xmlns=\"http://tempuri.org/\"> <HostUserName>$strHostUserName</HostUserName> <HostPassword>$strHostPassword</HostPassword> <OwnerName>$strOwnerName</OwnerName> <PlanName>$strPlanName</PlanName> <OptionalParam>$OptionalParam</OptionalParam> </SetPlanDetails> </soap:Body> </soap:Envelope>"; // where $domain_name is where HCnix APIs are installed $fp = fsockopen($domain_name, 80, $errNo, $errString, 90); if($fp) { // where $name is the Virtual Directory name for HCnix APIs $header = "POST /$name/UserManager.php HTTP/1.1\r\n"; $header .= "HOST: $domain_name\n"; $header .= "Content-Type: text/xml;charset=\"utf-8\"\r\n"; $header .= "Content-Length: ".strlen($soapPacket)."\r\n\r\n"; fwrite($fp, $header.$soapPacket);
while (true) { $buffer = fread($fp, 1000); if( $buffer != "" ) $response .= $buffer; if(strstr($response, '</SOAP-ENV:Envelope>') || $buffer == "" ) break; $buffer = ""; } fclose($fp); $result = explode("<?xml",$response); return "<?xml".$result[1]; } }
|
Sample Response
|
<Response> <Method>SetPlanDetails</Method> <Status>false</Status> <ErrorCode>70100030</ErrorCode> <ErrorDescription>Update failed; some Resource exceed the allocated quantity.</ ErrorDescription> <Result> <ResultReport xmlns=""> <ViolatedResources> <RecordRow> <ResourceName>User Accounts</ResourceName> <DesiredQuantity>Unlimited</DesiredQuantity> <AllocatedQuantity>10</AllocatedQuantity> <SoldQuantity>3 + 1 (Reseller's)</SoldQuantity> <RemainingQuantity>6</RemainingQuantity> </RecordRow> ....... ....... ....... </ViolatedResources> </ResultReport> </Result> </Response>
|