Difference between revisions of "AbleCommerce Gold Web Api"
(→Introduction) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
− | AbleCommerce Web API allows you to interact with a subset of the store data. | + | AbleCommerce Web API allows you to interact with a subset of the store data. It can be used to interact with a subset of all data including Products, Categories, Users, Orders, Order Items and Order Shipments. It offers post / put / delete functionality for these domains. |
Line 12: | Line 12: | ||
This will list an index of all available functions. Clicking through to one of the functions shows examples. The test buttons on the help pages can be used to specify/send formatted data and read the responses. For detailed and up to date information about API usage check the integrated api help. | This will list an index of all available functions. Clicking through to one of the functions shows examples. The test buttons on the help pages can be used to specify/send formatted data and read the responses. For detailed and up to date information about API usage check the integrated api help. | ||
+ | For the above mentioned domains mostly two controllers are available for each, one is admin and one is for retail. The admin controller requires authorization and SSL, while the retail controller works over plain HTTP and does not require authentication. However retail controller will only let you examine public data. This is discussed in more details in next section. | ||
− | |||
− | == | + | == Managing Web API Access == |
− | + | Retail controllers are accessible to everyone (e.g. Product and Category controllers), while the admin controllers require SSL and authorization. Though all admin level users can access the admin controllers but to allow third parties to access the Web API without full admin rights a new User Role "Web API Access" is created. So, this way merchants can grant right to access Web API to specific users by assigning them to "Web API Access" role. For example Order, Shipment and User controllers require authorization and users with at least "Web API Access" rights can access those. | |
− | == | + | == Version and Update History == |
− | + | A basic Web API feature was added for AbleCommerce Gold R4, and improved continuously with later releases. | |
− | + | ||
− | + | For AbleCommerce Gold R7 new admin and retail controllers were added for Category domain. And following new API end points were added for Products domain: | |
− | + | /api/products/featured | |
+ | /api/products/topsellers | ||
− | + | /api/products/recentlyviewed | |
− | + | ||
− | + | /api/products/[productid]/related | |
− | + | /api/products/[productid]/accessories | |
− | + | For AbleCommerce Gold R12 new admin and retail controllers for Users, Orders, Order Items and Order Shipments are added. | |
− | + | == Requirements == | |
− | + | Web API requires IIS7 using Integrated Pipeline mode. | |
− | + | == API DETAILS == | |
+ | Each controller allow performing different operations, and detailed help is available for each controller at your store "/api/help" page. For example here we list complete list of available functions for admin and retail controllers of Product domain: | ||
− | |||
− | |||
− | + | == AdminProducts : API DETAILS == | |
− | + | === GET api/AdminProducts/List === | |
+ | Gets all products. | ||
+ | === GET api/AdminProducts/List?id={id} === | ||
+ | Gets a specific product. | ||
− | + | === GET api/AdminProducts/Featured === | |
+ | Gets all featured products. | ||
− | + | === GET api/AdminProducts/Related?id={id} === | |
+ | Gets related products. | ||
− | + | === GET api/AdminProducts/Accessories?id={id} === | |
+ | Gets upsell products. | ||
− | + | === POST api/AdminProducts/PostProduct === | |
+ | Creates a product | ||
− | === | + | === PUT api/AdminProducts/PutProduct?id={id} === |
− | + | Updates a product | |
− | + | === DELETE api/AdminProducts/DeleteProduct?id={id} === | |
+ | Deletes a product. | ||
− | + | === GET api/AdminProducts/List/{id} === | |
+ | Gets a specific product. | ||
+ | === GET api/AdminProducts/Related/{id} === | ||
+ | Gets related products. | ||
− | + | === GET api/AdminProducts/Accessories/{id} === | |
+ | Gets upsell products. | ||
− | + | === PUT api/AdminProducts/PutProduct/{id} === | |
+ | Updates a product | ||
− | + | === DELETE api/AdminProducts/DeleteProduct/{id} === | |
+ | Deletes a product. | ||
− | + | === GET api/AdminProducts/{id}/List === | |
+ | Gets a specific product. | ||
+ | === GET api/AdminProducts/{id}/Related === | ||
+ | Gets related products. | ||
− | + | === GET api/AdminProducts/{id}/Accessories === | |
+ | Gets upsell products. | ||
− | + | === PUT api/AdminProducts/{id}/PutProduct === | |
+ | Updates a product | ||
− | === DELETE api/AdminProducts/{id} === | + | === DELETE api/AdminProducts/{id}/DeleteProduct === |
− | + | Deletes a product. | |
− | + | === GET api/AdminProducts === | |
+ | Gets all products. | ||
− | + | === GET api/AdminProducts/{id} === | |
+ | Gets a specific product. | ||
− | + | == Products : API DETAILS == | |
− | + | === GET api/Products/List === | |
+ | Gets all products. | ||
− | + | === GET api/Products/List?id={id} === | |
+ | Gets a specific product. | ||
− | + | === GET api/Products/Featured === | |
+ | Gets all featured products. | ||
− | == Products | + | === GET api/Products/Featured?id={id} === |
+ | Gets a specific featured product. | ||
+ | |||
+ | === GET api/Products/TopSellers === | ||
+ | Gets all popular products. | ||
+ | |||
+ | === GET api/Products/MostViewed === | ||
+ | Gets most viewed products. | ||
+ | |||
+ | === GET api/Products/RecentlyViewed === | ||
+ | Gets all recently viewed products. | ||
+ | |||
+ | === GET api/Products/Related?id={id} === | ||
+ | Gets related products. | ||
+ | |||
+ | === GET api/Products/Accessories?id={id} === | ||
+ | Gets upsell products. | ||
+ | |||
+ | === GET api/Products/Reviews?id={id} === | ||
+ | Gets product reviews. | ||
− | === GET api/Products === | + | === GET api/Products/List/{id} === |
− | + | Gets a specific product. | |
− | + | === GET api/Products/Featured/{id} === | |
+ | Gets a specific featured product. | ||
− | + | === GET api/Products/Related/{id} === | |
+ | Gets related products. | ||
+ | === GET api/Products/Accessories/{id} === | ||
+ | Gets upsell products. | ||
− | === GET api/Products/{id} === | + | === GET api/Products/Reviews/{id} === |
− | + | Gets product reviews. | |
− | + | === GET api/Products/{id}/List === | |
+ | Gets a specific product. | ||
− | + | === GET api/Products/{id}/Featured === | |
+ | Gets a specific featured product. | ||
+ | === GET api/Products/{id}/Related === | ||
+ | Gets related products. | ||
− | + | === GET api/Products/{id}/Accessories === | |
+ | Gets upsell products. | ||
− | + | === GET api/Products/{id}/Reviews === | |
+ | Gets product reviews. | ||
− | + | === GET api/Products === | |
+ | Gets all products. | ||
− | + | === GET api/Products/{id} === | |
+ | Gets a specific product. | ||
== List of Available Fields for AdminProducts == | == List of Available Fields for AdminProducts == | ||
Line 186: | Line 239: | ||
Description | Description | ||
ExtendedDescription | ExtendedDescription | ||
+ | </pre> | ||
+ | |||
+ | == List of Available Fields for Users == | ||
+ | <pre> | ||
+ | Id | ||
+ | Username | ||
+ | Email | ||
+ | AffiliateId | ||
+ | IsApproved | ||
+ | IsAnonymous | ||
+ | IsLockedOut | ||
+ | CreateDate | ||
+ | LastActivityDate | ||
+ | LastLoginDate | ||
+ | Comment | ||
+ | </pre> | ||
+ | |||
+ | == List of Available Fields for Categories and AdminCategories == | ||
+ | <pre> | ||
+ | Id | ||
+ | ParentId | ||
+ | Name | ||
+ | Summary | ||
+ | Description | ||
+ | ThumbnailUrl | ||
+ | ThumbnailAltText | ||
+ | MetaDescription | ||
+ | MetaKeywords | ||
+ | Title | ||
+ | HtmlHead | ||
+ | </pre> | ||
+ | |||
+ | == List of Available Fields for Orders == | ||
+ | <pre> | ||
+ | Id | ||
+ | OrderNumber | ||
+ | OrderDate | ||
+ | StoreId | ||
+ | Store | ||
+ | UserId | ||
+ | UserName | ||
+ | OrderStatus | ||
+ | BillToFirstName | ||
+ | BillToLastName | ||
+ | BillToCompany | ||
+ | BillToAddress1 | ||
+ | BillToAddress2 | ||
+ | BillToCity | ||
+ | BillToProvince | ||
+ | BillToPostalCode | ||
+ | BillToCountryCode | ||
+ | BillToPhone | ||
+ | BillToFax | ||
+ | BillToEmail | ||
+ | ProductSubtotal | ||
+ | TotalCharges | ||
+ | TotalPayments | ||
+ | Exported | ||
+ | RemoteIP | ||
+ | Referrer | ||
+ | ShippingAmount | ||
+ | TaxAmount | ||
+ | </pre> | ||
+ | |||
+ | == List of Available Fields for Order Items == | ||
+ | <pre> | ||
+ | Id | ||
+ | OrderId | ||
+ | OrderItemTypeId | ||
+ | OrderShipmentId | ||
+ | Name | ||
+ | VariantName | ||
+ | Sku | ||
+ | Price | ||
+ | Weight | ||
+ | CostOfGoods | ||
+ | Quantity | ||
+ | LineMessage | ||
+ | OrderBy | ||
+ | GiftMessage | ||
+ | TaxRate | ||
+ | TaxAmount | ||
+ | KitList | ||
+ | IsSubscription | ||
+ | Frequency | ||
+ | FrequencyUnitId | ||
+ | </pre> | ||
+ | |||
+ | == List of Available Fields for Order Shipments == | ||
+ | <pre> | ||
+ | Id | ||
+ | OrderId | ||
+ | OrderNumber | ||
+ | ShipMethod | ||
+ | Warehouse | ||
+ | ShipToFirstName | ||
+ | ShipToLastName | ||
+ | ShipToCompany | ||
+ | ShipToAddress1 | ||
+ | ShipToAddress2 | ||
+ | ShipToCity | ||
+ | ShipToProvince | ||
+ | ShipToPostalCode | ||
+ | ShipToCountry | ||
+ | ShipToPhone | ||
+ | ShipToFax | ||
+ | ShipToEmail | ||
+ | OriginCountry | ||
+ | ShipToResidence | ||
+ | ShipMessage | ||
+ | ShipDate | ||
+ | ProductSubtotal | ||
+ | TotalCharges | ||
+ | ShippingAmount | ||
</pre> | </pre> | ||
[[Category:AbleCommerce Gold]] | [[Category:AbleCommerce Gold]] |
Latest revision as of 12:32, 22 April 2016
Contents
- 1 Introduction
- 2 Managing Web API Access
- 3 Version and Update History
- 4 Requirements
- 5 API DETAILS
- 6 AdminProducts : API DETAILS
- 6.1 GET api/AdminProducts/List
- 6.2 GET api/AdminProducts/List?id={id}
- 6.3 GET api/AdminProducts/Featured
- 6.4 GET api/AdminProducts/Related?id={id}
- 6.5 GET api/AdminProducts/Accessories?id={id}
- 6.6 POST api/AdminProducts/PostProduct
- 6.7 PUT api/AdminProducts/PutProduct?id={id}
- 6.8 DELETE api/AdminProducts/DeleteProduct?id={id}
- 6.9 GET api/AdminProducts/List/{id}
- 6.10 GET api/AdminProducts/Related/{id}
- 6.11 GET api/AdminProducts/Accessories/{id}
- 6.12 PUT api/AdminProducts/PutProduct/{id}
- 6.13 DELETE api/AdminProducts/DeleteProduct/{id}
- 6.14 GET api/AdminProducts/{id}/List
- 6.15 GET api/AdminProducts/{id}/Related
- 6.16 GET api/AdminProducts/{id}/Accessories
- 6.17 PUT api/AdminProducts/{id}/PutProduct
- 6.18 DELETE api/AdminProducts/{id}/DeleteProduct
- 6.19 GET api/AdminProducts
- 6.20 GET api/AdminProducts/{id}
- 7 Products : API DETAILS
- 7.1 GET api/Products/List
- 7.2 GET api/Products/List?id={id}
- 7.3 GET api/Products/Featured
- 7.4 GET api/Products/Featured?id={id}
- 7.5 GET api/Products/TopSellers
- 7.6 GET api/Products/MostViewed
- 7.7 GET api/Products/RecentlyViewed
- 7.8 GET api/Products/Related?id={id}
- 7.9 GET api/Products/Accessories?id={id}
- 7.10 GET api/Products/Reviews?id={id}
- 7.11 GET api/Products/List/{id}
- 7.12 GET api/Products/Featured/{id}
- 7.13 GET api/Products/Related/{id}
- 7.14 GET api/Products/Accessories/{id}
- 7.15 GET api/Products/Reviews/{id}
- 7.16 GET api/Products/{id}/List
- 7.17 GET api/Products/{id}/Featured
- 7.18 GET api/Products/{id}/Related
- 7.19 GET api/Products/{id}/Accessories
- 7.20 GET api/Products/{id}/Reviews
- 7.21 GET api/Products
- 7.22 GET api/Products/{id}
- 8 List of Available Fields for AdminProducts
- 9 List of Available Fields for Retail Products
- 10 List of Available Fields for Users
- 11 List of Available Fields for Categories and AdminCategories
- 12 List of Available Fields for Orders
- 13 List of Available Fields for Order Items
- 14 List of Available Fields for Order Shipments
Introduction
AbleCommerce Web API allows you to interact with a subset of the store data. It can be used to interact with a subset of all data including Products, Categories, Users, Orders, Order Items and Order Shipments. It offers post / put / delete functionality for these domains.
The Web API includes a help documentation generator and test harness. The help documentation can be accessed using a URL like this:
/api/help
This will list an index of all available functions. Clicking through to one of the functions shows examples. The test buttons on the help pages can be used to specify/send formatted data and read the responses. For detailed and up to date information about API usage check the integrated api help.
For the above mentioned domains mostly two controllers are available for each, one is admin and one is for retail. The admin controller requires authorization and SSL, while the retail controller works over plain HTTP and does not require authentication. However retail controller will only let you examine public data. This is discussed in more details in next section.
Managing Web API Access
Retail controllers are accessible to everyone (e.g. Product and Category controllers), while the admin controllers require SSL and authorization. Though all admin level users can access the admin controllers but to allow third parties to access the Web API without full admin rights a new User Role "Web API Access" is created. So, this way merchants can grant right to access Web API to specific users by assigning them to "Web API Access" role. For example Order, Shipment and User controllers require authorization and users with at least "Web API Access" rights can access those.
Version and Update History
A basic Web API feature was added for AbleCommerce Gold R4, and improved continuously with later releases.
For AbleCommerce Gold R7 new admin and retail controllers were added for Category domain. And following new API end points were added for Products domain:
/api/products/featured
/api/products/topsellers
/api/products/recentlyviewed
/api/products/[productid]/related
/api/products/[productid]/accessories
For AbleCommerce Gold R12 new admin and retail controllers for Users, Orders, Order Items and Order Shipments are added.
Requirements
Web API requires IIS7 using Integrated Pipeline mode.
API DETAILS
Each controller allow performing different operations, and detailed help is available for each controller at your store "/api/help" page. For example here we list complete list of available functions for admin and retail controllers of Product domain:
AdminProducts : API DETAILS
GET api/AdminProducts/List
Gets all products.
GET api/AdminProducts/List?id={id}
Gets a specific product.
GET api/AdminProducts/Featured
Gets all featured products.
GET api/AdminProducts/Related?id={id}
Gets related products.
GET api/AdminProducts/Accessories?id={id}
Gets upsell products.
POST api/AdminProducts/PostProduct
Creates a product
PUT api/AdminProducts/PutProduct?id={id}
Updates a product
DELETE api/AdminProducts/DeleteProduct?id={id}
Deletes a product.
GET api/AdminProducts/List/{id}
Gets a specific product.
GET api/AdminProducts/Related/{id}
Gets related products.
GET api/AdminProducts/Accessories/{id}
Gets upsell products.
PUT api/AdminProducts/PutProduct/{id}
Updates a product
DELETE api/AdminProducts/DeleteProduct/{id}
Deletes a product.
GET api/AdminProducts/{id}/List
Gets a specific product.
GET api/AdminProducts/{id}/Related
Gets related products.
GET api/AdminProducts/{id}/Accessories
Gets upsell products.
PUT api/AdminProducts/{id}/PutProduct
Updates a product
DELETE api/AdminProducts/{id}/DeleteProduct
Deletes a product.
GET api/AdminProducts
Gets all products.
GET api/AdminProducts/{id}
Gets a specific product.
Products : API DETAILS
GET api/Products/List
Gets all products.
GET api/Products/List?id={id}
Gets a specific product.
GET api/Products/Featured
Gets all featured products.
GET api/Products/Featured?id={id}
Gets a specific featured product.
GET api/Products/TopSellers
Gets all popular products.
GET api/Products/MostViewed
Gets most viewed products.
GET api/Products/RecentlyViewed
Gets all recently viewed products.
GET api/Products/Related?id={id}
Gets related products.
GET api/Products/Accessories?id={id}
Gets upsell products.
GET api/Products/Reviews?id={id}
Gets product reviews.
GET api/Products/List/{id}
Gets a specific product.
GET api/Products/Featured/{id}
Gets a specific featured product.
GET api/Products/Related/{id}
Gets related products.
GET api/Products/Accessories/{id}
Gets upsell products.
GET api/Products/Reviews/{id}
Gets product reviews.
GET api/Products/{id}/List
Gets a specific product.
GET api/Products/{id}/Featured
Gets a specific featured product.
GET api/Products/{id}/Related
Gets related products.
GET api/Products/{id}/Accessories
Gets upsell products.
GET api/Products/{id}/Reviews
Gets product reviews.
GET api/Products
Gets all products.
GET api/Products/{id}
Gets a specific product.
List of Available Fields for AdminProducts
Id Name Price CostOfGoods MSRP Weight Length Width Height Manufacturer Sku ModelNumber TaxCode Warehouse InStock InStockWarningLevel InventoryMode ThumbnailUrl ThumbnailAltText ImageUrl ImageAltText Summary Description ExtendedDescription Vendor CreatedDate LastModifiedDate IsFeatured IsProhibited AllowReviews AllowBackorder ExcludeFromFeed DisablePurchase MinQuantity MaxQuantity IsGiftCertificate WrapGroup Visibility Shippable
List of Available Fields for Retail Products
Id Name Price MSRP Weight Length Width Height Manufacturer Sku ModelNumber ImageUrl ImageAltText Summary Description ExtendedDescription
List of Available Fields for Users
Id Username Email AffiliateId IsApproved IsAnonymous IsLockedOut CreateDate LastActivityDate LastLoginDate Comment
List of Available Fields for Categories and AdminCategories
Id ParentId Name Summary Description ThumbnailUrl ThumbnailAltText MetaDescription MetaKeywords Title HtmlHead
List of Available Fields for Orders
Id OrderNumber OrderDate StoreId Store UserId UserName OrderStatus BillToFirstName BillToLastName BillToCompany BillToAddress1 BillToAddress2 BillToCity BillToProvince BillToPostalCode BillToCountryCode BillToPhone BillToFax BillToEmail ProductSubtotal TotalCharges TotalPayments Exported RemoteIP Referrer ShippingAmount TaxAmount
List of Available Fields for Order Items
Id OrderId OrderItemTypeId OrderShipmentId Name VariantName Sku Price Weight CostOfGoods Quantity LineMessage OrderBy GiftMessage TaxRate TaxAmount KitList IsSubscription Frequency FrequencyUnitId
List of Available Fields for Order Shipments
Id OrderId OrderNumber ShipMethod Warehouse ShipToFirstName ShipToLastName ShipToCompany ShipToAddress1 ShipToAddress2 ShipToCity ShipToProvince ShipToPostalCode ShipToCountry ShipToPhone ShipToFax ShipToEmail OriginCountry ShipToResidence ShipMessage ShipDate ProductSubtotal TotalCharges ShippingAmount