Search

Page tree
Skip to end of metadata
Go to start of metadata

The interworks.cloud storefront REST API designed to display product details, register customers, add products to the basket, single sign-on customers to the interworks.cloud storefront. 

Table of Contents


 

Overview


API Responses

Currently interworks.cloud storefront REST API supports JSON format as output.

Authorization

In order to make calls to interworks.cloud storefront API you must be authorized. interworks.cloud storefront API uses APIKey for authorization.

Every request to resources must include in the request header the valid APIKey along with the rest parameters.

X-ApiKey: <your_api_key>

APIKey can be generated through interworks.cloud Platform Billing (Setup->System Options -> API Credentials). 

Authentication

Some of interworks.cloud storefront APIs require a custom header called X-Auth-Token.

Developers are required to call login or registration APIs and use the returned authToken as the value of X-Auth-Token header.

Every request to such resources must include in the request header a valid  along with the rest parameters.

X-Auth-Token: <user_auth_token>

The methods require Authentication are marked with *Authentication required comment.

Pagination / Pagination metadata

Check interworks.cloud storefront API for details

API Methods

Products List

Get Products List

The Products API call returns a list of main products in marketplace catalog and information about respective products. The call supports pagination. Each page contains 25 products.

API Call:

GET: https://<host_name>/api/Products?PageId=<page_id>

Parameters:

ParameterDescriptionType
PageId(optional)The id of the pageint

Call Examples:

Call example to load the products of the first page.

GET: https://<host_name>/api/Products    

or

GET: https://<host_name>/api/Products?PageId=1    

Call example to get the products of the 2nd page:

GET: https://<host_name>/api/Products?PageId=2

Response:

These API calls will return a list of products:

[

 {
"ID": "dd1a4f45-abe2-4a3a-8e21-c31953bb8116",
"IsGroup": false,
"Currency": "EUR",
"Name": "Product1 Name",
"SKU": "99999-02",
"Price": 12.24,
"Unit": "Piece",
"IDUnit": "80D76079-AB54-45A1-83F3-1AFF1F45E0FE",
"ChargeType": "OT",
"Vendor": "",
"ShortDescription": "Product1 Short Description",
"FullDescription": "",
"LogoURL": "Product1 Logo Url",
"OrderEnabled": true,
"OfferEnabled": false,
"TrialEnabled": false,
"CategoryName": "Folding",
"IsConfigurable": true
},
{
"ID": "186fcbda-17eb-43a2-b178-d4052865289d",
"IsGroup": false,
"Currency": "EUR",
"Name": "Product2 Name",
"SKU": "417096-9200-000",
"Price": 47.76,
"Unit": "Piece",
"IDUnit": "80D76079-AB54-45A1-83F3-1AFF1F45E0FE",
"ChargeType": "OT",
"Vendor": "",
"ShortDescription": "Product2 Short Description",
"FullDescription": "Product2 Long Description",
"LogoURL": "Product2 LogoUrl",
"OrderEnabled": true,
"OfferEnabled": false,
"TrialEnabled": false,
"CategoryName": "",
"IsConfigurable": false
},

 

...
]


Get Products By Category Name

This API call will filter the products list by category name. The call requires to pass the category name as parameterGet Products By Category Name

API call:

GET: https://<host_name>/api/Products?CategoryName=<category_name>

Parameters:

ParameterDescriptionType
CategoryNameThe name of the category to filter products liststring
PageId(optional)The id of the pageint

 

Call Example:

GET: https://<host_name>/api/Products?CategoryName=TestCategory

The above call will load the list of products that belong to category "TestCategory"


Get Products By Industry Name

This API call will filter the products list by industry name. The call requires to pass the industry name as parameter

API call:

GET: https://<host_name>/api/Products?IndustryName=<industry_name>

Parameters:

ParameterDescriptionType
IndustryNameThe name of the industry to filter products liststring
PageId (optional)The id of the pageint

Call Example:

GET: https://<host_name>/api/Products?IndustryName=TestIndustry

The above call will load the list of products that belong to industry "TestIndustry"

 

Get Products Enabled for Ordering

This API call will return the list of products that are available for ordering

API Call:

GET: https://<host_name>/api/Products/OrderEnabled

Parameters:

ParameterDescriptionType
PageId(optional)The id of the pageint

Call Example:

GET: https://<host_name>/api/Products/OrderEnabled?PageId=2

The above call will the enabled for ordering products of the second page

 

Get Products Enabled for Offering (Tell Me More)

This API call will return the list of products that are enabled for offering

API Call:

GET: https://<host_name>/api/Products/OfferEnabled

Parameters:

ParameterDescriptionType
PageId(optional)The id of the pageint

Call Example:

GET: https://<host_name>/api/Products/OfferEnabled?PageId=2

The above call will return the enabled for offering products of the second page

 

Get Trial Products

This API call will return the list of trial products

API Call:

GET: https://<host_name>/api/Products/Trial

Parameters:

ParameterDescriptionType
PageId(optional)The id of the pageint

Call Example:

GET: https://<host_name>/api/Products/Trial?PageId=2

The above call will return the trial products of the second page

Get Product Groups

This API call will return the list of product groups

API Call:

GET: https://<host_name>/api/Products/ProductGroups

Parameters

ParameterDescriptionType
PageId(optional)The id of the pageint

Call Example:

GET: https://<host_name>/api/Products/ProductGroups?PageId=2

The above call will return all product groups available.

Order Products List

ordering options:

Note: By default the products list is ordered alphabetically


ordering optionsdescriptionParemeterValueAPI Call
newest firstorder products list by most recent
OrderBy
newest
GET: https://<host_name>/api/Products/?OrderBy=newest
popularityorder products list by most popular
OrderBy
popularity
GET: https://<host_name>/api/Products/?OrderBy=popularity

 

Products

Load Product Data

This call returns the data of a single product. Requires the id of the product.

API Call:

GET: https://<host_name>/api/Products/<Product_Id>

Parameters:

ParameterDescriptionType
ProductIdThe id of the productstring

Call Example:

GET:https://<host_name>/api/Products?ProductId=DD1A4F45-ABE2-4A3A-8E21-C31953BB8116

The above call will return the data of the product with id: DD1A4F45-ABE2-4A3A-8E21-C31953BB8116.

Response:

[
{
ID: "DD1A4F45-ABE2-4A3A-8E21-C31953BB8116",
Name: ""Alumil" Viom Product2",
ShortDescription: "",
FullDescription: "",
IsGroup: false,
IsMainProduct: true,
Currency: "EUR",
IndustryName: "",
IndustryId: "",
CategoryName: "Category",
CategoryId: "D625D5AF-0D19-412F-857A-C4C13614E74E",
LogoURL: "ProductLogoUrl",
OrderEnabled: true,
TrialEnabled: false,
IsConfigurable: true,
ChargeType: "OT",
ProductType: "5FECA22B-2602-4A95-A163-41813989FE17",
ProductGroupId: "",
ProductGroupName: ""
}
]

Calculate Cost For Configurable Products

This API call will return the price and the volume discount matrix (if available) of a configurable product for a specific unit

API Call:

POST:https://<host_name>/api/Products/CalculateCost

POST Parameters:

Required:

ParameterDescriptionType
ProductIdthe id of the productstring
UnitIdthe id of the unitstring
AttributesGroupListthe list of attributes groupsList<AttributeGroup>

Response:

On success the API call will return the price of the product for the unit provided and the volume discount matrix if any discount is applied for this unit.

Product Groups

Load Product Group Data

This API call will return the data of a product group

API Call:

GET:https://<host_name>/api/ProductGroups?ProductGroupId=<Product_Id>

Parameters:

ParameterDescriptionType
ProductId
The id of the product groupstring

Example API Call:

GET:https://<host_name>/api/ProductGroups?ProductId=123C5C41-297C-48AA-A78C-F5AB5F06466B

The above API call will return the data of the product group with id: 123C5C41-297C-48AA-A78C-F5AB5F06466B

Response:

[
    {
        ID: "123C5C41-297C-48AA-A78C-F5AB5F06466B",
        Name: "test product group",
        ShortDescription: "Product Group Short Description",
        FullDescription: "Product Family Long Description",
        IsGroup: true,
        IsMainProduct: true,
        Currency: "EUR",
        IndustryName: "",
        IndustryId: "",
        CategoryName: "",
        CategoryId: "",
        LogoURL: "ProductGroupLogoUrl",
        OrderEnabled: false,
        TrialEnabled: false,
        IsConfigurable: false,
        ChargeType: "",
        ProductType: "87FF78D8-8840-4613-B98D-149F008DA33D",
        ProductGroupId: "",
        ProductGroupName: ""
    }
]

Load the Products of a Product Group

This API call will return the products of a product group including units and attributes for each product

GET:https://<host_name>/api/ProductGroups?ProductGroupId=<ProductGroup_Id>

Parameters:

ParameterDescriptionType
ProductGroupId
The id of the product groupstring

Example API Call:

GET:https://<host_name>/api/ProductGroups?ProductGroupId=123C5C41-297C-48AA-A78C-F5AB5F06466B

The above call will return the list of products included in the product group with id: 123C5C41-297C-48AA-A78C-F5AB5F06466B

Response:

{
GroupProducts: [
{
ID: "E132CF5D-A657-4A0B-B09B-3BB89302B3B6",
Name: "test product group",
ShortDescription: "",
IsActivated: true,
IsDeleted: false,
IsConfigurable: false,
IsTrial: true,
Units: [
{
ID: "CC808968-B9E4-42C3-B8F6-A6E609C7B89C",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "1A30B84A-9E9A-428A-84F7-F8B2347CCED3",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "EB71C74B-2E97-404D-AFD5-363C4E8405F3",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "1B9EDD45-DE8E-4606-B3C2-611AB880B124",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "8F892C4C-919C-4ED1-A0FE-15B88C71638D",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "C3F7D6F3-E4F5-40B6-8256-80AE81870D03",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "B1E6CE55-D3C7-4984-9724-0F05A77186E2",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "402773F6-24F9-403F-AF64-1767B894E34C",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "E0CEFA5D-29C9-4FC3-B238-1EED222913C2",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "440D023F-4099-4389-9B06-C253E10C7116",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "BCCC9D88-7E3C-4B05-962C-23E341F84CBA",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "75E17F7F-3D1F-438D-8802-0BFDEB34AE9F",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "CE51D564-9658-4ECC-8E45-CC7D2869D0C0",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "D2FB27A3-BEED-40EC-973E-CFF57C43A7E6",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "B59BAED7-C8D0-40D9-93AD-B1B504491B2C",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
},
{
ID: "9952C16A-2BAD-432F-9E04-D4B2A03E0E00",
Name: null,
Price: "0.0000000000",
IsSetupFee: null,
IsDefault: null,
DiscPerc: null,
UnitType: null,
Promotion: {
IDPromotion: null,
PromotionMessage: "",
PromotionDiscount: null,
PromotionDiscountType: null
}
}
],
Attributes: [
{
ID: "5526FA2D-0FBD-4AF8-B18C-31A0EB88D665",
Name: "0.0000000000"
},
{
ID: "A4741D97-2D93-4CEE-B7C7-72EA6206EB35",
Name: "0.0000000000"
}
]
}
]
}

Units

Load Units of a Product

This API Call returns the units of a product

API Call:

GET:https://<host_name>/api/Units?ProductId=<Product_Id>

Parameters:

ParameterDescriptionType
ProductIdId of the productstring

API Call Example:

GET:https://<host_name>/api/Units?ProductId=E132CF5D-A657-4A0B-B09B-3BB89302B3B6

The above call will return the units of the product with id: E132CF5D-A657-4A0B-B09B-3BB89302B3B6

Response:

[
{
ID: "EB71C74B-2E97-404D-AFD5-363C4E8405F3",
Name: "Monthly",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "1",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
},
{
ID: "1A30B84A-9E9A-428A-84F7-F8B2347CCED3",
Name: "Setup Fee",
Price: "0.0000000000",
IsSetupFee: "1",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 },
{
ID: "1B9EDD45-DE8E-4606-B3C2-611AB880B124",
Name: "Quarterly",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 },
{
ID: "8F892C4C-919C-4ED1-A0FE-15B88C71638D",
Name: "Semi-Annually",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 },
{
ID: "C3F7D6F3-E4F5-40B6-8256-80AE81870D03",
Name: "test8",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 },
{
ID: "402773F6-24F9-403F-AF64-1767B894E34C",
Name: "test4",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null 
 },
{
ID: "E0CEFA5D-29C9-4FC3-B238-1EED222913C2",
Name: "test7",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 },
{
ID: "B1E6CE55-D3C7-4984-9724-0F05A77186E2",
Name: "Annually",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 },
{
ID: "440D023F-4099-4389-9B06-C253E10C7116",
Name: "test",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
}
},
{
ID: "75E17F7F-3D1F-438D-8802-0BFDEB34AE9F",
Name: "test6",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 },
{
ID: "BCCC9D88-7E3C-4B05-962C-23E341F84CBA",
Name: "test9",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 },
{
ID: "CE51D564-9658-4ECC-8E45-CC7D2869D0C0",
Name: "test2",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 },
{
ID: "D2FB27A3-BEED-40EC-973E-CFF57C43A7E6",
Name: "test5",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 },
{
ID: "B59BAED7-C8D0-40D9-93AD-B1B504491B2C",
Name: "test12",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 },
{
ID: "9952C16A-2BAD-432F-9E04-D4B2A03E0E00",
Name: "test10",
Price: "0.0000000000",
IsSetupFee: "0",
IsDefault: "0",
DiscPerc: "",
UnitType: "",
Promotion: {
IDPromotion: "",
PromotionMessage: "",
PromotionDiscount: "",
PromotionDiscountType: null
},
  DiscountList: null
 }
]

Attributes

Load Attributes of a Product

This API call returns the attributes of a configurable product
API Call:

GET:https://<host_name>/api/Attributes?ProductId=<Product_Id>

Parameters:

ParameterDescriptionType
ProductIdId of the productstring

API Call Example:

GET:https://<host_name>/api/Attributes?ProductId=117915CB-7F77-489D-BAC7-309A48EC19BF

The above call will return the attributes of the product with id:117915CB-7F77-489D-BAC7-309A48EC19BF

Response:

[
{
AttributesGroup: [
{
ID: "D866B94A-D680-4C07-96A4-C6F7B773B773",
Name: "order char config 3",
Usage: "OrderCharacteristic",
Kind: "DateTime",
IsRequired: "0",
AllowUnlimited: "-1",
SliderMin: "0",
SliderMax: "0",
SliderStep: "0",
Value: "1.0000000000",
Suffix: "",
Values: [

],
Description: ""
},
{
ID: "47D5571F-AE8E-4A59-832B-2607C1497BBC",
Name: "order char config 5",
Usage: "OrderCharacteristic",
Kind: "PredefinedChooseMany",
IsRequired: "0",
AllowUnlimited: "-1",
SliderMin: "0",
SliderMax: "0",
SliderStep: "0",
Value: "1",
Suffix: "",
Values: [

],
Description: ""
},
{
ID: "DBEA4E19-00FD-43C0-8D0B-5788CCC4BA6C",
Name: "order char config 6",
Usage: "OrderCharacteristic",
Kind: "CustomMultipleValues",
IsRequired: "0",
AllowUnlimited: "-1",
SliderMin: "0",
SliderMax: "0",
SliderStep: "0",
Value: "{61BD8183-C17D-4916-A87C-AAB4F7043C1F}",
Suffix: "",
Values: [
{
ID: "61BD8183-C17D-4916-A87C-AAB4F7043C1F",
Value: "Basic",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "1"
},
{
ID: "9D3E0A16-69ED-4FF4-A1B2-DEBB4E1B6DAC",
Value: "Standard",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "14DB9B60-CC83-4286-BD50-3A3A740D81AE",
Value: "Standard Plus",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "03760514-5B2B-4266-89F2-B0B50AD693C8",
Value: "Enterprise",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "366754CF-97A5-4C17-B8AD-C88D66C8E7CC",
Value: "Enterprise Plus",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "7F6D5A21-9EFD-4E59-BE30-FEF099F02746",
Value: "test1",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "DDF657DB-D7F0-42C4-978A-E68D969BBC9E",
Value: "test2",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "98C7DD89-FCA7-43D7-AE71-AAFD81DF12C7",
Value: "test3",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "6DD84EA1-7EFC-4E4B-BF47-1634A632A936",
Value: "test4",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "DB31C620-9193-41B5-9715-EAE6F610B58C",
Value: "test5",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "BF1473C8-89AC-4A14-9CEF-7D674EB2FC39",
Value: "test6",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "FBB22E9F-2C29-4D92-9E1A-609C3B9CCC03",
Value: "test7",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "888B9FC2-0E60-49FE-83FE-C06E0D48FD80",
Value: "test8",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
}
],
Description: ""
},
{
ID: "0ECD26B4-47EB-42DB-9381-B5A4B0B1AD70",
Name: "order char config 8",
Usage: "OrderCharacteristic",
Kind: 8,
IsRequired: "0",
AllowUnlimited: "-1",
SliderMin: "0",
SliderMax: "0",
SliderStep: "0",
Value: "10",
Suffix: "",
Values: [

],
Description: ""
}
]
},
{
AttributesGroup: [
{
ID: "0B2A96FD-44BD-4528-9462-0ADC63344B11",
Name: "order char config 1",
Usage: "OrderCharacteristic",
Kind: "CustomMultipleValues",
IsRequired: "0",
AllowUnlimited: "-1",
SliderMin: "0",
SliderMax: "0",
SliderStep: "0",
Value: "{1AB17BCF-42BD-43D3-9C3D-A656DB75F2D4}",
Suffix: "",
Values: [
{
ID: "A74BCC92-D112-4AF5-971A-4B89ECE24059",
Value: "0.0000000000",
Code: null,
DataType: "2",
ExtraCharge: "20.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "13695FE8-82A6-4349-8AB5-085B5039398C",
Value: "0.0000000000",
Code: null,
DataType: "2",
ExtraCharge: "30.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "BC5659CE-BBCF-4887-92D4-231938F676FE",
Value: "0.0000000000",
Code: null,
DataType: "2",
ExtraCharge: "40.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
}
],
Description: ""
},
{
ID: "53887B9E-9D78-4E29-8901-1DC346B537F1",
Name: "order char config 2",
Usage: "OrderCharacteristic",
Kind: "Slider",
IsRequired: "0",
AllowUnlimited: "-1",
SliderMin: "0",
SliderMax: "0",
SliderStep: "0",
Value: "",
Suffix: "",
Values: [
{
ID: "A74BCC92-D112-4AF5-971A-4B89ECE24059",
Value: "0.0000000000",
Code: null,
DataType: "2",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "13695FE8-82A6-4349-8AB5-085B5039398C",
Value: "0.0000000000",
Code: null,
DataType: "2",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "BC5659CE-BBCF-4887-92D4-231938F676FE",
Value: "0.0000000000",
Code: null,
DataType: "2",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
}
],
Description: ""
},
{
ID: "88F4A207-4C1F-431B-93ED-A7C9FEB01332",
Name: "order char config 4",
Usage: "OrderCharacteristic",
Kind: "Boolean",
IsRequired: "0",
AllowUnlimited: "-1",
SliderMin: "0",
SliderMax: "0",
SliderStep: "0",
Value: "5.0000000000",
Suffix: "",
Values: [

],
Description: ""
},
{
ID: "204526CD-0531-43C5-AF9E-47C3195BB213",
Name: "order char config 7",
Usage: "OrderCharacteristic",
Kind: "Slider",
IsRequired: "0",
AllowUnlimited: "-1",
SliderMin: "0",
SliderMax: "0",
SliderStep: "0",
Value: "{D4E6CC2B-D5DD-43B5-A29E-27FDEBE0248F}",
Suffix: "",
Values: [
{
ID: "D4E6CC2B-D5DD-43B5-A29E-27FDEBE0248F",
Value: "1 γβ",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "1"
},
{
ID: "A5EBBC54-6D6E-40E9-B268-B2FD9AB70B67",
Value: "1 GB",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "E66D1108-8E17-4D11-B65C-6C0BE9139AF4",
Value: "2 GB",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
},
{
ID: "6F3C757F-15AC-44B6-AB5C-9A3F40FF79BF",
Value: "4 GB",
Code: null,
DataType: "1",
ExtraCharge: "0.0000000000",
ExtraChargeType: "1",
IsDefault: "0"
}
],
Description: ""
},
{
ID: "AF5706B2-0F9C-488E-92DC-79ADFC575076",
Name: "order char config 9",
Usage: "OrderCharacteristic",
Kind: 9,
IsRequired: "0",
AllowUnlimited: "-1",
SliderMin: "0",
SliderMax: "10",
SliderStep: "2",
Value: "0",
Suffix: "",
Values: [

],
Description: ""
}
]
}
]

Basket

Add Order to Basket

*Authentication required

This call will add an order to basket. To be able to create an order you must first be authenticated. Otherwise the call will return a 400 bad request response with message : "Anonymous Users are not allowed to save orders. Please login"

API Call:

POST:https://<host_name>/api/Basket/Add

POST Parameters:

Required:

ParameterDescriptionType
ProductIdthe id of the productstring
UnitIdthe id of the product's unitstring
Quantitythe quantitystring

Response:

On success the API call return the id of the order created

Get Basket By Customer Code

This API call returns the basket using the customer code.

API Call:

GET: https://<host_name>/api/customer/Basket?customerCode=<customer_code>

Parameters:

ParameterDescriptionTypeConstraints
customerCode
The customer codestringrequired

Call Examples:

Call example to get the basket for the customer TESTCUST.

GET: https://<host_name>/api/customer/Basket?customerCode=TESTCUST


Response:

This API call will return a list of subscriptions:

{
   "id":"cf7de6ed-3bb7-45d9-ac3b-87fce792a945",
   "createdDate":"2016-03-10T12:56:30.453+02:00",
   "totalPrice":10,
   "firstPaymentAmount":0
}

Get Basket Items By Basket Code

This API call returns the basket items using the unique basket code.

API Call:

GET: https://<host_name>/api/Basket/Items?basketCode=<basket_code>&page=<page_number>&size=<page_size>

Parameters:

ParameterDescriptionTypeConstraints
basketCode
The unique basket codestringrequired
page
The number of the page to be displayed (default: 1)intoptional
size
The number of items per page (default: 25)intoptional

Call Examples:

Call example to get the basket for the basket with code ORD00167/2016.

GET: https://<host_name>/api/Basket/Items?basketCode=ORD00167/2016


Response:

This API call will return a list of subscriptions:

[
   {
      "id":"60070421-ab3d-49df-a064-668682b986b8",
      "basketId":"cf7de6ed-3bb7-45d9-ac3b-87fce792a945",
      "productId":"59d86e7b-503b-4eb1-b533-91f4439606e5",
      "price":20,
      "discount":0,
      "discountType":"Percent",
      "finalPrice":20,
      "unit":{
         "id":"062ac5fb-60fd-483d-8636-d6e6126ff91f",
         "name":"Monthly"
      },
      "description":"Apply Once Promo Product",
      "quantity":1,
      "unitOfMeasure":null,
      "tax":null,
      "relatedLeaseId":null,
      "relatedItemId":null,
      "itemType":"Addon",
      "billingOption":"OnSubscriptionStart",
	  "productType": {
			"id": "74248797-5821-4bef-b731-d003ac04854e",
			"name": "Test Product Type"
		},
      "pricelist":{
         "id":0,
         "name":null
      },
      "contract":{
         "id":null,
         "name":null
      },
      "promotion":{
         "id":"5ea06df6-891e-4892-9056-f1fd84936252",
         "name":"Get 50% off for 1st purchase",
         "discount":50,
         "discountType":"Percent"
      }
   }
]
 
(*) billingOption could be: OnSubscriptionStart, OnSubscriptionEnd

Get Basket Items By Basket ID

This API call returns the basket items using the unique basket id.

API Call:

GET: https://<host_name>/api/Basket/{basketId}/Items?page=<page_number>&size=<page_size>

Parameters:

ParameterDescriptionTypeConstraints
basketId
The unique basket idstringrequired
page
The number of the page to be displayed (default: 1)intoptional
size
The number of items per page (default: 25)intoptional

Call Examples:

Call example to get the basket for the basket with id 'CF7DE6ED-3BB7-45D9-AC3B-87FCE792A945'.

GET: https://<host_name>/api/Basket/CF7DE6ED-3BB7-45D9-AC3B-87FCE792A945/Items


Response:

This API call will return a list of subscriptions:

[
   {
      "id":"60070421-ab3d-49df-a064-668682b986b8",
      "basketId":"cf7de6ed-3bb7-45d9-ac3b-87fce792a945",
      "productId":"59d86e7b-503b-4eb1-b533-91f4439606e5",
      "price":20,
      "discount":0,
      "discountType":"Percent",
      "finalPrice":20,
      "unit":{
         "id":"062ac5fb-60fd-483d-8636-d6e6126ff91f",
         "name":"Monthly"
      },
      "description":"Apply Once Promo Product",
      "quantity":1,
      "unitOfMeasure":null,
      "tax":null,
      "relatedLeaseId":null,
      "relatedItemId":null,
      "itemType":"Addon",
      "billingOption":"OnSubscriptionStart",
	  "productType": {
			"id": "74248797-5821-4bef-b731-d003ac04854e",
			"name": "Test Product Type"
		},
      "pricelist":{
         "id":0,
         "name":null
      },
      "contract":{
         "id":null,
         "name":null
      },
      "promotion":{
         "id":"5ea06df6-891e-4892-9056-f1fd84936252",
         "name":"Get 50% off for 1st purchase",
         "discount":50,
         "discountType":"Percent"
      }
   }
]
 
(*) billingOption could be: OnSubscriptionStart, OnSubscriptionEnd


ApiUser

Register Customer to interworks.cloud storefront

This call will register a customer to interworks.cloud storefront and return an authentication token that can be used for user authentication via X-Auth-Token header described in "Authentication" paragraph.

The registration process includes the creation of Account, a Contact, a Storefront User and synchronization options for available systems (OSS, WSP, CITRIX)

API Call:

POST:https://<host_name>/api/ApiUser/Register

POST Parameters:

Required:

ParameterDescriptionType
FirstNameCustomer's first namestring
LastNameCustomer's last namestring
EmailCustomer's emailstring
PasswordPasswordstring
CompanyNameCustomer's company namestring
CountryCodeCustomer's Country Codestring
StateCustomer's State (should belong to country)string
CompanyDomainCustomer's domain (required only if primary domain is requiredstring

Optional:

ParameterDescriptionType
PhoneNumberCustomer's phone numberstring
AddressCustomer's addressstring
CityCustomer's Citystring
ZipCodeCustomer's ZipCodestring
VATNumberCustomer's VAT numberstring

Validations:

ConditionDescription
Email should belong to company's domain

if the company domain is  "test.com"  then the email domain should be the same. A valid email for this company domain would be

"test@test.com"

Email should be uniquethe registration requires unique email addresses
Email validationthe email provided should have the form of a valid email. We use regular expression for validation. E.g test@test.com
Domain validationthe domain provided should have the form of a valid domain. We use regular expression for validation. E.g test.com


Log In to Strorefront

This API call check user credentials for a storefront user and return an authentication token that can be used for user authentication via X-Auth-Token header described in "Authentication" paragraph.

API Call:

POST:https://<host_name>/api/ApiUser/Login

POST Parameters:

Required:

ParameterDescriptionType
UserNamethe email provided during registrationstring
Passwordthe password provided during registrationstring


Leads

Create Lead

This API call will crate a lead

API Call:

POST:https://<host_name>/api/Leads/Save

POST Parameters:

Required:

ParameterDescriptionType
NameLead's namestring
StatusLead's statusstring

Optional Parameters:

ParameterDescriptionType
FirstNameLead's first namestring
MiddleNameLead's middle namestring
TitleLead's title (abbreviations)string
JobTitleLead's jobstring
CompellationLead's compellationstring
CompanyLead's company namestring
IndustryIndustry namestring
AnnualRevenueLead's annual revenuestring
Sourcethe primary source by which the lead found youstring
Ratingcharacterize the lead's level of intereststring
PhoneLead's phone numberstring
MobileLead's mobile numberstring
EmailLead's email addressstring
WebSiteLead's websitestring
EmployeeNoNumber of Employeesint
Address1Lead's addressstring
Address2Alternative addressstring
CityLead's city / regionstring
CountryLead's country code (e.g. US for United States)string
StateLead's state (should belong to country)string
PostCodeLead's PostCodestring
Commentscommentsstring

On success the API call will return the id of the lead created.

Error Codes Description

ErrorError CodeDescription
OrganizationNotFound-1Organization not found
UsernameNotExist-3User Name does not exist
InvalidPassword-4Invalid Password
NoAccessToWCBilling-5The Contact has No Access To interworks.cloud storefront
InvalidPlaceholderUser-7The specified user is a interworks.cloud storefront user and cannot login.
Invalidinterworks.cloud storefrontUser-8The specified user is not a interworks.cloud storefront user.
NotApiUser-9The specified API user is not apiuser.
InvalidAnonymousUser-10Attempting to connect with an anonymous user but the user is incompatible with anonymous access.
ClientIdShouldBePositive-11Client ID should be a positive number.
InvalidLogin-12Application is Locked or not Activated. Please contact your administrator in order to Unlock or Activate the application to continue.
AccountCreateError-100Account Create Error
ContactCreateError-200Contact Create Error

Products List Errors

ErrorError CodeStatus
No products found404Not Found
Category with name = <Category_Name> does not exists404Not Found
Industry with name = <Industry_Name> does not exists404Not Found
No available for ordering products found404Not Found
No offer products found404Not Found
No trial products found404Not Found
No product groups found404Not Found

Products Errors

ErrorErrorCodeStatus
Product with id = <product_id> not found404Not Found

Product Groups Errors

ErrorErrorCodeStatus
Product with id = <product_group_id> not found404Not Found
Products of Product Group with id =<product_group_id> not found404Not Found

Attributes Errors

ErrorErrorCodeStatus
No attributes found for product with id=<product_id>404Not Found

Add To Basket Errors

ErrorErrorCodeStatus
Anonymous Users are not allowed to save orders. Please login400Bad Request

Leads Errors

ErrorErrorCodeStatus
Invalid Lead Title400Bad Request
Invalid Lead Industry400Bad Request
Invalid Lead Source400Bad Request
Invalid Lead Status400Bad Request
Invalid Lead Rating400Bad Request
Invalid Lead Country400Bad Request
Invalid Lead State400Bad Request