0% found this document useful (0 votes)
129 views

WEBAPI Nop Commerce

The plugin provides a Web API for the nopCommerce e-commerce platform. It exposes business data from the nopCommerce database through OData endpoints. The API supports CRUD operations through GET, POST, PUT, PATCH and DELETE requests. Examples are provided for common entities like categories, customers, products and orders to demonstrate how clients can access and modify data programmatically. Registration, authorization and configuration steps are outlined. Supported methods, request headers, signatures and URL structures are also described.

Uploaded by

Reynaldo Leiva
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
129 views

WEBAPI Nop Commerce

The plugin provides a Web API for the nopCommerce e-commerce platform. It exposes business data from the nopCommerce database through OData endpoints. The API supports CRUD operations through GET, POST, PUT, PATCH and DELETE requests. Examples are provided for common entities like categories, customers, products and orders to demonstrate how clients can access and modify data programmatically. Registration, authorization and configuration steps are outlined. Supported methods, request headers, signatures and URL structures are also described.

Uploaded by

Reynaldo Leiva
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Web API Plugin for nopCommerce

List of Content
About the plugin .............................................................................................................................................. 3
Installation and configuration ......................................................................................................................... 3
Web API - description ...................................................................................................................................... 3
Examples.......................................................................................................................................................... 5
Example for CATEGORIES ............................................................................................................................ 6
1. GET all categories ............................................................................................................................ 6
2. GET category by id ({id=1}) .............................................................................................................. 6
3. GET Product list from category id ({id=2}) ....................................................................................... 6
4. POST (update) new category ........................................................................................................... 6
5. PATCH (partial update - the client specifies just the properties to update) ................................... 7
6. PUT (update category)..................................................................................................................... 7
7. DELETE category .............................................................................................................................. 8
Examples for CUSTOMERS........................................................................................................................... 8
1. GET customer (with expand options) .............................................................................................. 8
2. PUT (add) address for customer (which exists in table Addresses) ................................................ 8
3. DELETE address for customer (reference) ....................................................................................... 9
4. PUT (add) role to customer ............................................................................................................. 9
5. DELETE role for customer (existing role) ......................................................................................... 9
Examples for PRODUCTS ........................................................................................................................... 10
1. PUT (add) tag for product (existing tag) ........................................................................................ 10
Example for ORDERS ................................................................................................................................. 10
1. GET OrderDate .............................................................................................................................. 10
Example for IMAGE ................................................................................................................................... 11
1. Prepare Picture model................................................................................................................... 11
2. Prepare ProductPicture model ...................................................................................................... 11
Clear Cache (version 3.70) ......................................................................................................................... 12
Enabling Cross-Origin (version 3.70) ......................................................................................................... 12
Cross-Origin Example ................................................................................................................................ 12
Show data without value (count option) .................................................................................................. 15
Show all methods used ............................................................................................................................. 15
Order example ........................................................................................................................................... 16
List of supported tables ............................................................................................................................. 17

2
nop4you.com
About the plugin
Plugin Web API for nopCommerce (version 3.60) gives an access to business data stored in nopCommerce database.
It has been built in ASP.NET Web API and the OData provider.
More info about Web API can be found on http://www.asp.net/web-api.
Note: User should be familiar with nopCommerce database structure.

Installation and configuration

First of all, the Web API plugin has to be installed on the nopCommerce.

Only registered customers (in nopCommerce) with both keys (public and secret key) have got an access to the API. Web
API plugin uses customer roles and rights to authorize client (for getting/updating data) -> based on ACL in
nopCommerce.

Register customer for Web API (user should exist in nopCommerce as a registered user). Go to Plugin List -> (on
WebAPI plugin) Configure.

Web API - description


Plugin provides following methods:

 GET – queries database (like a select);


 POST – insert data to database;
 PUT – updates data in dataset (all fields are required);
 PATCH (recommended update) – updates data in database (only do-not-allow-null fields in database are
required).

3
nop4you.com
Data model (metadata - i.e. structure and organization of all the resources) can be found under following link:
http://yourstore.com/odata/$metadata (Request Header is required).

Web API client can use OData options (like $filter, $top, $select etc.) and Web API specific options. More can be found
on http://www.asp.net/web-api.

Paging is required for querying multiple records. It can be done with OData $skip and $top.

Code page: Request body needs to be UTF8 encoded.

Request Header is required when client is calling WebAPI.

Request HTTP header fields:

Field Is required Example/Description

User-Agent Optional Short description of the API consumer


Accept Required Example for JSON: 'application/json, text/javascript'
Accept-Charset Required Always UTF-8
Content-Type and Conditional Necessary for the methods POST, PATCH, PUT, if new data is
Content-Length send via the HTTP body. Example: 'application/json; charset=utf-8'
Content-MD5 Optional Only for methods POST, PUT
Authorization Required The authorization schema and the HMAC signature. The schema is Basic.
Example: 'your_email:Signature' is converted to base64.
Example how to prepare signature: blow
PublicKey Required The public key of the customer, ex. 9cbc46ab0289979b3af3b96f532fad44

Example 1:
How to prepare signature:
private string Signature()
{
string publicKey = YourPublicKey;
string secretKey = YourSecretKey;

if (String.IsNullOrWhiteSpace(secretKey) ||
String.IsNullOrWhiteSpace(publicKey))
return "";

string signature;
var secretBytes = Encoding.UTF8.GetBytes(secretKey);
var valueBytes = Encoding.UTF8.GetBytes(publicKey);

using (var hmac = new HMACSHA256(secretBytes))


{
var hash = hmac.ComputeHash(valueBytes);
signature = Convert.ToBase64String(hash);
}
return signature;

string authInfo = Convert.ToBase64String(Encoding.Default.GetBytes( YourMail + ":" +


Signature()));

Result: authInfo =
YWRtaW5AeW91cnN0b3JlLmNvbTpjUGZzeC9GaWRCbE9TRzZGUVAvei9pVGt2RnNhMWNJaTY5ZDBKekMxWVh
JPQ==

4
nop4you.com
Examples

Examples (based on sample application) show how to build JSON client app.
It can be downloaded from http://nop4you.com/WebApi.zip
This is a sample application with source code to get/put/post/patch and delete request to your store using format
JSON.

Methods:

 GET - Gets data or Get by Id - ({Id});


 POST - Adds new data;
 PUT - Updates data ({Id});
 DELETE - Deletes data ({Id});
 PATCH - Updates data ({Id}) (recommended).

URL (first part): URL your store (example: http://nop4you.com)


URL (second part): odata/ENTITY_TYPE({id})

URL example for calories (client want to get information about category with Id=1): odata/Category or
odata/Category(1) (full address is: http://yourstore.com/odata/Category(1))

Client can use filters, for example:


http://yourstore.com/odata/Category?$filter=Name+eq+'Books'
http://yourstore.com/odata/Customer?$filter=Email+eq+'[email protected]'
http://yourstore/odata/Customer?$filter=startswith(Name, 'A')

5
nop4you.com
Client can get columns, for example:
http://yourstore.com/odata/Category(1)?$select=*
http://yourstore.com/odata/Category(1)?$select=Id,Name

Client can use select extensions (to get additional data joined with ‘main’ data), for example you client call customer
with Id=1 and its addresses:
http://yourstore.com/odata/Customer(1)?$expand=Addresses

Example for CATEGORIES

1. GET all categories

URL: http://yourstore.com/odata/Category

REQUEST HEADER:

Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ== <- it should be generated for client (see example: link) - for all examples
PublicKey: 0c31c4ce25114e728504682d9aee5ca1 <- it should be generated for client
User-Agent: WebApiFornopCommerce
Accept: application/json
Accept-Charset: UTF-8

2. GET category by id ({id=1})

URL: http://yourstore.com/odata/Category(1)

REQUEST HEADERS:

Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ==
PublicKey: 0c31c4ce25114e728504682d9aee5ca1
User-Agent: WebApiFornopCommerce
Accept: application/json
Accept-Charset: UTF-8

3. GET Product list from category id ({id=2})

URL: http://yourstore.com/odata/
ProductCategory?$filter=CategoryId+eq+2&$expand=Category,Product

4. POST (update) new category

URL: http://yourstore.com/odata/Category

REQUEST HEADERS:

6
nop4you.com
Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ==
PublicKey: 0c31c4ce25114e728504682d9aee5ca1
Content-Type: application/json; charset=utf-8
User-Agent: WebApiFornopCommerce

BODY:

{"Name":"Books55","Description":"test","CategoryTemplateId":1,"MetaKeywords":"Books, Dictionary,
Textbooks","MetaDescription":"Books category
description","MetaTitle":null,"ParentCategoryId":0,"PictureId":1,"PageSize":4,"AllowCustomersToSelec
tPageSize":true,"PageSizeOptions":"8, 4, 12","PriceRanges":"-25;25-50;50-
;","ShowOnHomePage":false,"IncludeInTopMenu":true,"HasDiscountsApplied":false,"SubjectToAcl":fal
se,"LimitedToStores":false,"Published":true,"Deleted":false,"DisplayOrder":1,"CreatedOnUtc":"2014-
04-05T08:46:31.007","UpdatedOnUtc":"2014-04-05T08:46:31.007","Id":16}

5. PATCH (partial update - the client specifies just the properties to update)

URL: http://yourstore.com/odata/Category(16)

REQUEST HEADERS:

Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ==
PublicKey: 0c31c4ce25114e728504682d9aee5ca1
Content-Type: application/json; charset=utf-8

BODY:

{"Name":"Books3","Description":"test"}

6. PUT (update category)

URL: http://yourstore.com/odata/Category(16)

REQUEST HEADERS:

Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ==
PublicKey: 0c31c4ce25114e728504682d9aee5ca1
Content-Type: application/json; charset=utf-8

BODY:

{"Name":"Books33","Description":"test","CategoryTemplateId":1,"MetaKeywords":"Books, Dictionary,
Textbooks","MetaDescription":"Books category
description","MetaTitle":null,"ParentCategoryId":0,"PictureId":1,"PageSize":4,"AllowCustomersToSelec
tPageSize":true,"PageSizeOptions":"8, 4, 12","PriceRanges":"-25;25-50;50-
;","ShowOnHomePage":false,"IncludeInTopMenu":true,"HasDiscountsApplied":false,"SubjectToAcl":fal
se,"LimitedToStores":false,"Published":true,"Deleted":false,"DisplayOrder":1}

7
nop4you.com
7. DELETE category

URL: http://yourstore.com/odata/Category(17)

REQUEST HEADERS:

Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ==
PublicKey: 0c31c4ce25114e728504682d9aee5ca1
User-Agent: WebApiFornopCommerce

Examples for CUSTOMERS

1. GET customer (with expand options)

Get list of address for customer:


URL: http://yourstore.com/odata/Customer(1)?$expand=Addresses

Get Default Billing address for customer:


URL: http://yourstore.com/odata/Customer(1)?$expand=BillingAddress

Get Default Shipping address for customer:


URL: http://yourstore.com/odata/Customer(1)?$expand=ShippingAddress

Get list of roles for customer:


URL: http://yourstore.com/odata/Customer(1)?$expand=CustomerRoles

*User the same “REQUEST HEADERS” like for categories

2. PUT (add) address for customer (which exists in table Addresses)

Description: Method will create reference between Customer and Address tables in nopCommerce database.

URL: http://yourstore.com/odata/Customer(1)/Addresses/$ref

REQUEST HEADERS:

Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ==
PublicKey: 0c31c4ce25114e728504682d9aee5ca1
User-Agent: WebApiFornopCommerce
Accept: application/json
Accept-Charset: UTF-8
Content-Type: application/json

BODY:

{"@odata.id":"http://yourstore.com/odata/Address(7)"}

8
nop4you.com
3. DELETE address for customer (reference)

Decription: Methods deletes address for customer (existing address) – deletes reference between Customer
and Address tables in nopCommerce database.

URL:
http://yourstore.com/odata/Customer(1)/Addresses/$ref?$id=http://yourstore.com/odata/Address(7)

REQUEST HEADERS:

Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ==
PublicKey: 0c31c4ce25114e728504682d9aee5ca1
User-Agent: WebApiFornopCommerce
Accept: application/json
Accept-Charset: UTF-8
Content-Type: application/json

4. PUT (add) role to customer

Description: Adds role to customer (existing role) – creates reference between Customer and Roles tables in
nopCommerce database.

URL: http://yourstore.com/odata/Customer(1)/CustomerRoles/$ref

REQUEST HEADERS:

Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ==
PublicKey: 0c31c4ce25114e728504682d9aee5ca1
User-Agent: WebApiFornopCommerce
Accept: application/json
Accept-Charset: UTF-8
Content-Type: application/json

BODY:

{"@odata.id":"http://yourstore.com/odata/CustomerRole(5)"}

5. DELETE role for customer (existing role)

Description: Deletes role for customer (existing role) – deletes reference between Customer and Role tables in
nopCommerce database.

URL:
http://yourstore.com/odata/Customer(1)/CustomerRoles/$ref?$id=http://yourstore.com/odata/Custo
merRole(5)

REQUEST HEADERS:

Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ==

9
nop4you.com
PublicKey: 0c31c4ce25114e728504682d9aee5ca1
User-Agent: WebApiFornopCommerce
Accept: application/json
Accept-Charset: UTF-8
Content-Type: application/json

Examples for PRODUCTS

1. PUT (add) tag for product (existing tag)

Description: Adds tag for product (existing tag) – creates reference between Product and Tag tables in
nopCommerce database.

URL: http://yourstore.com/odata/Product(1)/ProductTags/$ref

REQUEST HEADER:

Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ==
PublicKey: 0c31c4ce25114e728504682d9aee5ca1
User-Agent: WebApiFornopCommerce
Content-Type: application/json

BODY:

{"@odata.id":"http://yourstore.com/odata/ProductTag(3)"}

Example for ORDERS

1. GET OrderDate

URL: http://yourstore.com/odata/Order/GetCreateDate(Id=1)

REQUEST HEADER:

Authorization: Basic
YWRtaW5AeW91cnN0b3JlLmNvbTozMVlQOGNleDJwNEZORlNxOXlSUm80NWp2N2V2SlIyZVFEYlRJS2R
hT0VNPQ==
PublicKey: 0c31c4ce25114e728504682d9aee5ca1
User-Agent: WebApiFornopCommerce
Accept: application/json
Accept-Charset: UTF-8

10
nop4you.com
Example for IMAGE

1. Prepare Picture model

Sample code:

string fileName = @"d:\test.jpg";


string base64String = "";
using (Image image = Image.FromFile(fileName))
{
using (MemoryStream m = new MemoryStream())
{
image.Save(m, image.RawFormat);
byte[] imageBytes = m.ToArray();

// Convert byte[] to Base64 String


base64String =
Convert.ToBase64String(imageBytes);
}
}
txtUri.Text = @"oData/Picture";
string RequestBody = "{ \"PictureBinary\":\"" +
base64String+"\"";
RequestBody +=
",\"MimeType\":\"image/jpeg\",\"SeoFilename\":\"book\",\"IsNew\":true
}";

Method type: POST


URL: http://localhost:15536/odata/Picture
Content: RequestBody
User-Agent: WebApiFornopCommerce
Accept: application/json
Accept-Charset: UTF-8

After sent you will get Id.

2. Prepare ProductPicture model

Sample:

{
"ProductId":1,
"PictureId": 81,
"DisplayOrder":1
}

11
nop4you.com
Method type: POST
URL: http://localhost:15536/odata/ProductPicture
User-Agent: WebApiFornopCommerce
Accept: application/json
Accept-Charset: UTF-8

Clear Cache (version 3.70)


To clear cache you need to send request:

Method type: GET


URL: http://localhost:15536/odata/ClearCache
Content: RequestBody
User-Agent: WebApiFornopCommerce
Accept: application/json
Accept-Charset: UTF-8

To run request you need to have ManageMaintenance permissions.

Enabling Cross-Origin (version 3.70)

To enable cross-origin you need to modify your main Web.config file, by adding:

<appSettings>

<add key="WebApiEnableCors" value="true"/>

Cross-Origin Example

<script src="https://code.jquery.com/jquery-3.0.0.min.js "></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/hmac-sha256.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/enc-base64.js"></script>

<script>

CryptoJS.enc.u8array = {

stringify: function (wordArray) {

// Shortcuts

var words = wordArray.words;

var sigBytes = wordArray.sigBytes;

// Convert

12
nop4you.com
var u8 = new Uint8Array(sigBytes);

for (var i = 0; i < sigBytes; i++) {

var byte = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;

u8[i]=byte;

return u8;

},

parse: function (u8arr) {

// Shortcut

var len = u8arr.length;

// Convert

var words = [];

for (var i = 0; i < len; i++) {

words[i >>> 2] |= (u8arr[i] & 0xff) << (24 - (i % 4) * 8);

return CryptoJS.lib.WordArray.create(words, len);

};

function getByte(str){

var bytes = [];

for (var i = 0; i < str.length; ++i) {

bytes.push(str.charCodeAt(i));

return bytes;

};

function getHmacSHA256Key(publicKey,secretKey,userEmail) {

var publicKey = publicKey;

var secretKey = secretKey;

var encoder = new TextEncoder();

var secretBytes = encoder.encode(secretKey);

var valueBytes = encoder.encode(publicKey);

13
nop4you.com
secretBytes = CryptoJS.enc.u8array.parse(secretBytes);

valueBytes = CryptoJS.enc.u8array.parse(valueBytes);

var hash = CryptoJS.HmacSHA256(valueBytes, secretBytes);

var hashInBase64 = CryptoJS.enc.Base64.stringify(hash);

var Bytes = getByte( userEmail+ ":" + hashInBase64);

var result = CryptoJS.enc.Base64.stringify(CryptoJS.enc.u8array.parse(Bytes));

return result;

};

$(document).ready(function(e) {

var publicKey = "83eff6991a2a32ae9e8829e0d1ce906d";

var priveteKey = "47fbb90a3f439cd3a2d09364e67501ca";

var email = "[email protected]";

var authInfo = getHmacSHA256Key(publicKey,priveteKey,email);

$.ajax({

type : 'GET',

contentType: "application/json; charset=utf-8",

url : 'http://localhost:15536/odata/Category',

dataType : 'json',

headers : {Accept : "application/json","Access-Control-Allow-Origin" : "*"},

beforeSend: function (xhr) {

xhr.setRequestHeader('Authorization', 'Basic '+authInfo);

xhr.setRequestHeader('PublicKey', publicKey);

xhr.setRequestHeader('Access-Control-Allow-Origin', '*');

},

crossDomain : true,

success : function(data){

console.log(data);

},

error : function(data, textStatus, errorThrown) {

14
nop4you.com
console.log("error"+' '+JSON.stringify(data) + textStatus + errorThrown);}

});

});

</script>

Show data without value (count option)


To show data without values, you may use odata/Category?$count=true&$top=0

Show all methods used


You may list all methods use for any object, by typing “odata/$metadata”. As a result you will get XML with
full list grouped with object.

15
nop4you.com
Order example
You may make order, but this option require two steps. First need to call Order by POST method:

"OrderGuid":"6ae2c5c9-beb9-4e94-a0c5-f6d7d6327b58",

"StoreId":2,

"CustomerId":1,

"BillingAddressId":21,

"ShippingAddressId":22,

"PickUpInStore":false,

"OrderStatusId":10,

"ShippingStatusId":20,

"PaymentStatusId":10,

"PaymentMethodSystemName":"Payments.CheckMoneyOrder",

"CustomerCurrencyCode":"USD",

"CurrencyRate":1,

"CustomerTaxDisplayTypeId":10,

"CustomerLanguageId":1,

"OrderSubtotalInclTax":0.0000,

"OrderSubtotalExclTax":0.0000,

"OrderSubTotalDiscountInclTax":0.0000,

"OrderSubTotalDiscountExclTax":0.0000,

"OrderShippingInclTax":0.0000,

"OrderShippingExclTax":0.0000,

"PaymentMethodAdditionalFeeInclTax":0.0000,

"PaymentMethodAdditionalFeeExclTax":0.0000,

"OrderTax":0.0000,

"OrderDiscount":0.0000,

"OrderTotal":245.0000,

"RefundedAmount":0.0000,

"AffiliateId":0,

"AllowStoringCreditCardNumber":false,

"Deleted":false,

"CreatedOnUtc":"2017-05-26T09:01:16.197Z",

"CustomOrderNumber":"26/5/2017"

16
nop4you.com
Second need to add items to that order, by calling OrderItem:

"OrderItemGuid":"713d9686-ee2e-4368-82c0-7e700745ff42",

"OrderId":26,

"ProductId":17,

"Quantity":1,

"UnitPriceInclTax":1300.0000,

"UnitPriceExclTax":1300.0000,

"PriceInclTax":1300.0000,

"PriceExclTax":1300.0000,

"DiscountAmountInclTax":0.0000,

"DiscountAmountExclTax":0.0000,

"OriginalProductCost":0.0000,

"DownloadCount":0,

"IsDownloadActivated":false

List of supported tables

Category
Manufacturer
Product
Customer
CategoryTemplate
CheckoutAttribute
CheckoutAttributeValue
Country
CrossSellProduct
Currency
CustomerRole
CustomerAttribute
CustomerAttributeValue
DeliveryDate
Discount
DiscountRequirement
EmailAccount
ExternalAuthenticationRecord
GenericAttribute
GiftCard
GiftCardUsageHistory
Language
LocaleStringResource
LocalizedProperty
ManufacturerTemplate
MeasureDimension
MeasureWeight

17
nop4you.com
Order
OrderItem
OrderNote
Picture
ProductCategory
ProductManufacturer
ProductPicture
ProductAttributeMapping
ProductTag
ProductSpecificationAttribute
ProductAttribute
ProductReviewHelpfulness
ProductTemplate
ProductAttributeCombination
ProductAttributeValue
QueuedEmail
RelatedProduct
ReturnRequest
Setting
Shipment
ShipmentItem
ShippingMethod
ShoppingCartItem
ShoppingCartItem
SpecificationAttribute
SpecificationAttributeOption
StateProvince
Store
StoreMapping
TaxCategory
TierPrice
UrlRecord
Vendor
Warehouse
RewardPointsHistory
Address
PermissionRecord
AclRecord
NewsItem
Topic
TopicTemplate
MessageTemplate
Download

18
nop4you.com

You might also like