Dedicated server order process API calls

Important: only registered resellers can use this functionality.

This page is an extension of the normal "Dedicated Server" API category and describes all the API calls you can make to order a dedicated server.
You will always receive the output as described in the documentation below unless an error ocurred. For more information, see the error handling section.

Prerequisites

We use a few numeric values that have a special meaning. These are described here:

Group Input Types / Item Input Type Override:

Used to indicate the selection type of items within a group. Most groups simply have the radio input type where you can only select one item. Others allow for multiple (checkbox) selection. Others have a single item but with a quantity field. Finally there are a few groups that have a default input type of radio, but selecting a certain item then allows you to enter a quantity for that particular item. That item then has an input override value to inform you of this possibility.

const INPUTTYPE_SELECT          = 0;
const INPUTTYPE_RADIO           = 1;
const INPUTTYPE_CHECKBOX        = 2;
const INPUTTYPE_CBQUANTITY      = 3;
const INPUTTYPE_HDDQUANTITY     = 4;
const INPUTTYPE_SLOTQUANTITY    = 5;
const INPUTTYPE_PARTITIONING    = 6;
const INPUTTYPE_INPUT_QUANTITY  = 7;
const INPUTTYPE_INPUT_TEXT      = 8;
const INPUTTYPE_BOGUS           = 9;
const INPUTTYPE_INPUTFIELD      = 10;
const INPUTTYPE_TEXTAREA        = 11;

Actions

POST 
getOrderGroups

Get a list of all available item groups and their items.


Request parameters
ParameterContextTypeDescription
No parameters
Response parameters
ParameterContextTypeDescription
groupsarrayCollection of groups
groupCodegroupsstringThe group's unique code
groupNamegroupsstringThe group's name
groupDefaultgroupsstringThe unique item code of the default item of this group
itemsgroupsarrayCollection of items in the group
codeitemsstringThe unique code of the item
nameitemsstringThe public name of the item
identifieritemsstringUnique identifier of the item
priceitemsfloatThe price of the item in eurocents
listPriceitemsfloatOriginal price of the item in eurocents
canOrderitemsintWhether this item can be ordered (0 or 1)
groupCodeitemsstringThe unique code of the group it belongs to
groupNameitemsstringThe name of the group it belongs to

Example
Array
(
    [status] => Success
    [msg] => OK
    [data] => stdClass Object
        (
            [groups] => Array
                (
                    [0] => Array
                        (
                            [groupCode] => 748293DC
                            [groupName] => Server Type
                            [groupDefault] => IEDC620C2
                            [items] => Array
                                (
                                    [0] => Array
                                        (
                                            [code] => IEDC620C2
                                            [name] => Dell PowerEdge PE860
                                            [identifier] => PE860
                                            [listPrice] => 28
                                            [price] => 30
                                            [canOrder] => 1
                                            [groupCode] => 748293DC
                                            [groupName] => Server Type
                                        )

                                    [1] => Array
                                        (
                                            [code] => I891FC978
                                            [name] => Dell PowerEdge PE1950
                                            [identifier] => PE1950
                                            [listPrice] => 33
                                            [price] => 35
                                            [canOrder] => 1
                                            [groupCode] => 748293DC
                                            [groupName] => Server Type
                                        )

                                )

                        )

                )

        )

)
POST 
getOrderGroup

Get a single item group and its items.


Request parameters
ParameterContextTypeDescription
groupCodestringThe order group code. All group codes can be retrieved using the getOrderGroups command.
Response parameters
ParameterContextTypeDescription
groupsarrayCollection of groups
groupCodegroupsstringThe group's unique code
groupNamegroupsstringThe group's name
groupDefaultgroupsstringThe unique item code of the default item of this group
itemsgroupsarrayCollection of items in the group
codeitemsstringThe unique code of the item
nameitemsstringThe public name of the item
identifieritemsstringUnique identifier of the item
priceitemsfloatThe price of the item in eurocents
listPriceitemsfloatOriginal price of the item in eurocents
canOrderitemsintWhether this item can be ordered (0 or 1)
groupCodeitemsstringThe unique code of the group it belongs to
groupNameitemsstringThe name of the group it belongs to

Example
Array
(
    [status] => Success
    [msg] => OK
    [data] => stdClass Object
        (
            [groups] => Array
                (
                    [0] => Array
                        (
                            [groupCode] => 748293DC
                            [groupName] => Server Type
                            [groupDefault] => IEDC620C2
                            [items] => Array
                                (
                                    [0] => Array
                                        (
                                            [code] => IEDC620C2
                                            [name] => Dell PowerEdge PE860
                                            [identifier] => PE860
                                            [listPrice] => 28
                                            [price] => 30
                                            [canOrder] => 1
                                            [groupCode] => 748293DC
                                            [groupName] => Server Type
                                        )

                                    [1] => Array
                                        (
                                            [code] => I891FC978
                                            [name] => Dell PowerEdge PE1950
                                            [identifier] => PE1950
                                            [listPrice] => 33
                                            [price] => 35
                                            [canOrder] => 1
                                            [groupCode] => 748293DC
                                            [groupName] => Server Type
                                        )

                                )

                        )

                )

        )

)
POST 
getPreConfiguredServers

Get all pre-configured servers.


Request parameters
ParameterContextTypeDescription
No parameters
Response parameters
ParameterContextTypeDescription
configsarrayCollection of server pre-configurations
nameconfigsstringThe name of the configuration
locationIdconfigsstringThe location id of the item, see getLocations
lastmodifiedconfigsintA UNIX timestamp to identify when the config is modified.
tagconfigsintA unique code to identify the configuration
priceconfigsintThe price of the configruation in eurocents
listPriceconfigsintOriginal price of the configruation in eurocents
itemsconfigsarrayA list of all items for this configuration
codeitemsstringA unique code to identify the item
nameitemsstringThe name of the item
priceitemsintThe price of the item in eurocents
groupTypeitemsstringA unique name to identify the group
groupNameitemsstringThe name of the group the item is in

Example
Array
(
    [status] => Success
    [msg] => OK
    [data] => stdClass Object
        (
            [configs] => Array
                (
                    [0] => stdClass Object
                        (
                            [name] => Example configuration
                            [locationId] => 18
                            [lastmodified] => 1417013107
                            [tag] => 1200
                            [price] => 5500
                            [items] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [code] => E800731A
                                            [name] => Example server XL pro 2000
                                            [price] => 5500
                                            [groupType] => CHASSIS
                                            [groupName] => Server Type
                                        )

                                )

                        )

                )

        )

)
POST 
getDetailedConfig

Get the details of a preconfigured dedicated server


Request parameters
ParameterContextTypeDescription
tagintThe configuration tag. All available tags can be retrieved using the getPreConfiguredServers command.
Response parameters
ParameterContextTypeDescription
configDetailsarrayDetails of a pre-defined server configuration
nameconfigDetailsstringThe name of the configuration
locationIdconfigDetailsstringThe location id of the item, see getLocations
tagconfigDetailsintThe tag of the configuration
priceconfigDetailsintThe price of the configuration, in cents
listPriceconfigDetailsintOriginal price of the configuration, in cents
itemsconfigDetailsarrayCollection of groups and items
codeitemsstringThe unique code of the default item in this group
nameitemsstringThe name of the default item in this group
priceitemsintThe price of the default item in this group, in eurocents
listPriceitemsintOriginal price of the default item in this group, in eurocents
groupCodeitemsstringThe unique code of the item group
groupTypeitemsstringThe group type
groupInputTypeitemsstringA number to identify what kind of input type is recommended.
groupNameitemsstringThe group name
allowEmptySelectionitemsintWhether it is OK to leave this group empty
optionalItemsitemsarrayA collection of items that can be selected instead of the default item
nameoptionalItemsstringName of the item
codeoptionalItemsstringUnique code of the item
shortNameoptionalItemsstringShort name of the item (if available)
identifieroptionalItemsstringPlain text identifier of the item
inputTypeOverrideoptionalItemsintIf larger than -1, indicates the item's input type (overriding the group's input type)
priceoptionalItemsintThe price of the item in eurocents
listPriceoptionalItemsintOriginal price of the item in eurocents
setupPriceoptionalItemsintThe setup price of the item in eurocents
displayOrderoptionalItemsintDisplay order
groupCodeoptionalItemsstringUnique group code
groupNameoptionalItemsstringGroup name
specificationsoptionalItemsarrayOptional item specifications. e.g. for a contract period: months, discount_percentage
namespecificationsstringThe name of the specification
valuespecificationsmixedThe value of the specification
dataTypespecificationsstringThe intended data type of the value
mandatoryspecificationsintWhether this is a mandatory specification. If it is and the value is empty, it is an error on our end

Example
Array
(
    [status] => Success
    [msg] => OK
    [data] => stdClass Object
        (
            [configDetails] => Array
                (
                    [name] => Offer Single Socket Dell R200
                    [tag] => 1207
                    [price] => 5500
                    [items] => Array
                        (
                            [0] => Array
                                (
                                    [code] => IE878731E
                                    [name] => Dell PowerEdge R200
                                    [price] => 5500
                                    [listPrice] => 5300
                                    [setupPrice] => 0
                                    [inputTypeOverride] => -1
                                    [groupCode] => 748293DC
                                    [groupType] => CHASSIS
                                    [groupName] => Server Type
                                    [specifications] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [name] => max_ram
                                                    [value] => 8
                                                    [dataType] => int
                                                    [mandatory] => 0
                                                )

                                            [1] => Array
                                                (
                                                    [name] => max_cpu
                                                    [value] => 1
                                                    [dataType] => int
                                                    [mandatory] => 0
                                                )

                                        )

                                )

                        )

                )

        )

)
POST 
getGroupsByConfigTag

Get a list of all available groups for a configuration.


Request parameters
ParameterContextTypeDescription
tagintThe configuration tag.
Response parameters
ParameterContextTypeDescription
groupsarrayCollection of groups
codegroupsstringUnique code of the item
namegroupsstringThe name of the item
shortNamegroupsstringA short name for the item (optional)
typegroupsstringA unique name to identify the group
inputTypegroupsintA number to identify what kind of input type is recommended.
dependencyGroupgroupsintGive the groupcode if there is a dependency for this group.
itemsitemsarrayA list of the items in the group.
codeitemsstringA unique code to identify the item.
nameitemsstringThe name of the item
shortNameitemsstringA short name for the item
identifieritemsstringPlain text identifier of the item
inputTypeOverrideitemsintA number to identify what kind of input type is recommended for this item. See the notes at the top of this page.
priceitemsintThe price of the item in eurocents
setupPriceitemsintThe setup cost for the item in eurocents
displayOrderitemsintThe item display order

Example
Array
(
    [status] => Success
    [msg] => OK
    [data] => stdClass Object
        (
            [groups] => Array
                (
                    [0] => stdClass Object
                        (
                            [code] => 748293DC
                            [name] => Server Type
                            [shortName] => Server Type
                            [type] => CHASSIS
                            [inputType] => 0
                            [dependencyGroup] => 487845455
                            [items] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [code] => F800731A
                                            [name] => Dell PowerEdge R410
                                            [shortName] => dpr410
                                            [identifier] => R410
                                            [inputTypeOverride] => -1
                                            [price] => 25000
                                            [setupPrice] => 1000
                                            [displayOrder] => 100
                                            [specifications] => Array
                                                (
                                                    [0] => stdClass Object
                                                        (
                                                            [name] => max_ram
                                                            [value] => 128
                                                            [dataType] => int
                                                            [mandatory] => 1
                                                        )

                                                )

                                        )

                                )

                        )

                )

        )

)
POST 
validateServerConfig

Validate a server config & get the price for it.


Request parameters
ParameterContextTypeDescription
tagintThe configuration tag.
configjsonThe configuration you want to validate. Please refer to the page Ordering a dedicated server for the structure of this object.
Response parameters
ParameterContextTypeDescription
messagestringA simple message about what happend.
configjsonThe same configuration that you have submited will be returned.
basepricecentsintThe basic price of the config without any user tax / discount / coupons.
pricecentsintThe price that you pay to i3D.net.
setupcentsintThe price that you pay to i3D.net for the setup.

Example
Array
(
    [status] => Success
    [msg] => OK
    [data] => stdClass Object
        (
            [result] => OK
            [message] => Your config is valid.
            [baseprice] => 35000
            [price] => 42000
            [setup] => 0
        )

)
POST 
orderServer

Place an order for your server config.


Request parameters
ParameterContextTypeDescription
tagintThe configuration tag.
configjsonThe configuration you want to validate. Please refer to the page Ordering a dedicated server for the structure of this object.
Response parameters
ParameterContextTypeDescription
resultstring"OK" or "error"
messagestringHuman readable result message.
invoiceIdstringThe ID of the invoice that has been created.
passwordstringThe generated server password. The user name for *nix installs is always "root". The user name for Windows installs is always "administrator"

Example
Array
(
    [status] => Success
    [msg] => OK
    [data] => stdClass Object
        (
            [result] => OK
            [message] => Server order created.
            [invoiceId] => 150308
            [password] => -wD2fLhWq6epwbFy
        )

)
POST 
orderGetDedicatedDelivery

Get dedicated server id for invoice id.


Request parameters
ParameterContextTypeDescription
invoiceIdintInvoiceId of the order
Response parameters
ParameterContextTypeDescription
dedicatedServersarrayList of dedicated servers.
dediserverIddedicatedServersintThe dedicated server id

Example
Array
(
    [status] => Success
    [msg] => OK
    [data] => stdClass Object
        (
            [dedicatedServers] => Array
                (
                    [dediserverId] => 17473
                )

        )

)