To access the Octopus system using API each request must be authorized. To authorize a request each request must have authtoken, merchantname and accessed in Header. Based on these 3 values Octopus will process your request. To obtain all these details you need to contact to your reseller or support@24sevencommerce.com
Octopus Channel API
Authorization
Overview
Sample Code
OctoServices.OctopusServiceClient octopus = new OctopusServiceClient();
octopus.Open();
using (new OperationContextScope(octopus.InnerChannel))
{
HttpRequestMessageProperty requestMessage = new HttpRequestMessageProperty();
requestMessage.Headers[“authtoken”] = “Auth Token”;
requestMessage.Headers[“merchantname”] = “Merchant Name”;
requestMessage.Headers[“accessid”] = “Access ID”;
OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = requestMessage;
try
{
bool a = octopus.IsSkuExist(“Access ID “, “SKU”);
// if a is true then SKU exist
}
catch(Exception ex) { Console.WriteLine(ex.Message); }
}
octopus.Close();
DeleteItemStore
Overview
This endpoint will allow you to delete a specific product from your account and it will clear all the data from their stores also.
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
SellerID * | int | A unique identifier of Supplier Id, it is a required field, but you can send 0. |
SKU * | string | A unique identifier for an inventory item. |
ProductID | int | A unique value of Product in inventory system (POS), it is not required. You can send 0 as default value |
status * | int | |
StorStock | List<StoreStockInfo> | List for store stock data from where you want to delete, it is not required. You can send null. |
Return
This endpoint will return integer value, if return value is 1 then item is removed successfully.
DeleteItem
Overview
This endpoint will allow you to delete a specific product from your account
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
SellerID * | int | A unique identifier of Supplier Id, it is a required field, but you can send 0. |
SKU * | string | A unique identifier for an inventory item. |
ProductID | int | A unique value of Product in inventory system (POS), it is not required. You can send 0 as default value |
status * | int |
Return
Overview
This endpoint will allow you to delete from recently changed items list. It should be used after pulling data from GetItemTblList, so that you will not get same products again and again.
DeleteTblItem
This endpoint will return integer value, if return value is 1 then item is removed successfully.
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
sku * | String | A unique identifier for an inventory item. |
Return
This endpoint will return integer value, if return value is 1 then item is removed successfully.
IsSkuExist
Overview
Retrieve whether a SKU exists in the system.
Request
Field Name |
Data Type | Description |
accountID* | string | A unique identifier representing the Octopus account you wish to access. |
sku * | string | Unique identifier for an inventory item. |
Return
It will return bool value. If requested SKU is exist, then it will return true otherwise false.
IsSkuExistList
Overview
Retrieve whether or not a list of SKUs exists.
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
skuList * | String [] | Array of SKUs NOTE: Limited to a MAX of 500 SKUs at a time. |
Return
Field Name |
Data Type | Description |
IsSkuExistListResult | List<IsSkuExistResponse> | If the Status property of the return object is set to Success, then the ResultData property will be set to an array of objects containing the existence information for the specified Suk(s). |
GetItemTblList
Overview
This endpoint is used to pull all the latest modified or new items.
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
Return
Field Name |
Data Type | Description |
InventoryItem | List<InventoryItem> | If the Status property of the return object is set to Success, then the ResultData property will be set to an array of objects containing recently changed and newly created items |
GetItemList
Overview
This endpoint is used to get specified SKUs inventory data
Request
Field Name | Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
skuList * | String [] | Array of SKUs NOTE: Limited to a maximum of 100 SKUs at a time. |
Return
Field Name |
Data Type | Description |
InventoryItem | List<InventoryItem> | If the Status property of the return object is set to Success, then the ResultData property will be set to an array of objects containing requested items. |
GetItemQuantity
Overview
This method retrieves the available quantity across all seller-managed distribution centers for an inventory item.
Request
Field Name |
Data Type | Description |
accountID * | string | Your Merchant Account ID |
sku * | string | Unique identifier for an inventory item |
Return
Field Name |
Data Type | Description |
Quantity | APIResult<int> | If the Status property of the return object is set to Success, then the ResultData property will contain the Available quantity value for the specified SKU across all seller-managed distribution centers. |
GetItemQuantityInfo
Overview
Retrieve the detailed quantity “state” values for an Inventory Item.
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
sku * | string | Unique identifier for an inventory item. |
Return
Field Name |
Data Type | Description |
QuantityInfoResponse | APIResult<QuantityInfoResponse> | If the Status property of the return object is set to Success, then the ResultData property will be set to an object containing the detailed quantity “state” values for the specified Sku. |
GetItemQuantityList
Overview
This method retrieves the available quantity across all seller-managed distribution centers for a list of inventory items.
Request
Field Name | Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
skuList * | String [] | An array of inventory item identifiers. NOTE: Limited to a MAX of 100 SKUs at a time. |
Return
Field Name |
Data Type | Description |
QuantityInfoResponse | APIResult <List<QuantityInfoResponse>> | If the Status property of the return object is set to Success, then the ResultData property will be set to an object containing the detailed quantity “state” values for the specified Sku. |
UpdateItemQuantityAndPrice
Overview
Update the Quantity and Price for a single Inventory Item.
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
iQP * | ItemQuantityAndPrice | Quantity and Price data |
Return
Field Name |
Data Type | Description |
UpdateInventoryItemQuantityAndPriceResult | APIResult<Boolean> | If the Status property of the return object is set to Success and the ResultData property is set to true, the update succeeded. |
UpdateItemQuantityAndPriceList
Overview
Update the Quantity and Price values for a list of Inventory Items.
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
itemQuantityAndPriceList * | ItemQuantityAndPrice[] | Array of inventory items NOTE: Limited to a maximum of 1000 items at a time, but smaller batch sizes are recommended to maintain performance. |
Return
Field Name |
Data Type | Description |
UpdateInventoryItemQuantityAndPriceListResult | APIResult<UpdateInventoryItemResponse []> | If the update operation for at least 1 of the specified SKUs was successful, then the Status property of the return object will be set to Success, otherwise it will be set to Failure. The collection of UpdateInventoryItemResponse objects in the ResultData property will contain the results for each sync request. |
UploadItemList
Overview
Add/Update a multiple inventory item.
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
inventoryItems * | InventoryItem [ ] | List of Inventory item data. |
Request
Field Name |
Data Type | Description |
UpdateItemResponse | APIResult<List<UpdateItemResponse>> | This method returns a type named APIResultOfArrayOfOrderResponseItem. See more information on APIResult. The array of order information returned by this method will be contained in the ResultData field. |
Return
Field Name |
Data Type | Description |
UpdateItemResponse | APIResult<List<UpdateItemResponse>> | This method returns a type named APIResultOfArrayOfOrderResponseItem. See more information on APIResult. The array of order information returned by this method will be contained in the ResultData field. |
UploadItem
Overview
Add/Update a single inventory item.
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
inventoryItem* | InventoryItem | Inventory item data. |
Request
Field Name |
Data Type | Description |
Return | long | This method returns a long value |
Return
Field Name |
Data Type | Description |
Return | long | This method returns a long value |
SetDownloadOrderConfirm
Overview
This method is used to mark orders that these were downloaded successfully now these orders should not be in orders list for downloading.
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
orderDownloadSubmitRequests* | OrderDownloadSubmitRequest [] | Order data that contain order ID and other details |
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
orderDownloadSubmitRequests* | OrderDownloadSubmitRequest [] | Order data that contain order ID and other details |
Return
It will not return anything.
SetDownloadSplitOrderConfirm
Overview
This method is used to mark split orders that these were downloaded successfully now these orders should not be in orders list for downloading. Split orders are those are not completed downloaded in one store but split in multiple store.
Request
Field Name |
Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
orderDownloadSubmitRequests* | OrderDownloadSubmitRequest[] | Order data that contain order ID and other details |
It will not return anything.
Return
It will not return anything.
GetOrderList
Overview
Retrieve a set of orders based on the criteria sent by the caller.
Request
Field Name | Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
orderCriteria * | OrderCriteria | An object describing the orders to retrieve. |
Return
Field Name |
Data Type | Description |
OrderResponseItem | APIResult< List<OrderResponseItem>> | This method returns a type named APIResultOfArrayOfOrderResponseItem. See more information on APIResult. The array of order information returned by this method will be contained in the ResultData field. |
GetOrderListStore
Overview
Retrieve a set of orders based on the criteria sent by the caller only for a specified store.
Request
Field Name | Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
orderCriteria* | OrderCriteria | An object describing the orders to retrieve. |
StoreIDs* | String | Specific Store Id for which you are downloading orders |
Return
Field Name |
Data Type | Description |
OrderResponseItem | APIResult< List<OrderResponseItem>> | This method returns a type named APIResultOfArrayOfOrderResponseItem. See more information on APIResult. The array of order information returned by this method will be contained in the ResultData field. |
SubmitOrder
Overview
SubmitOrder is a method of the service which creates a new order in the Channel.
Request
Field Name | Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
orderSubmit* | OrderSubmit | An object describing the orders to send. |
Return
Field Name |
Data Type | Description |
SubmitOrderResponseItem | APIResult< SubmitOrderResponseItem> | This method returns a type named APIResultOfArrayOfOrderResponseItem. See more information on APIResult. The array of order information returned by this method will be contained in the ResultData field. |
CustomFieldMapping
Overview
If you want to post some data for which you don’t find any specific fields in Product, then you can create your own fields.
Request
Field Name | Data Type | Description |
accountID * | string | A unique identifier representing the Octopus account you wish to access. |
FieldMapping* | List<CustomFieldMapping> | An object describing the orders to send. |
Return
Field Name | Data Type | Description |
return | string | It will return true or error message. |
Data Models
StoreStockInfo
It will contain Store wise data of the inventory
Field Name | Data Type | Description | Notes / Constraints |
StoreID | string | ||
StoreStock | Float | ||
StorePrice | Decimal | ||
StoreListPrice | Decimal | ||
StoreBToBPrice | Decimal | ||
StoreSalesPrice | Decimal | ||
StoreCost | Decimal | ||
StoreMAP | Decimal | ||
StorePriceA | Decimal | ||
StorePriceB | Decimal | ||
StorePriceC | Decimal | ||
StoreMSRP | Decimal |
IsSkuExistResponse
Field Name | Data Type | Description | Notes / Constraints |
Sku | string | Unique identifier for the Inventory Item | Maximum 50 characters |
Result | bool | ||
ErrorMessage | string |
InventoryItem
Inventory item data.
Field Name |
Data Type | Description | Notes / Constraints |
Sku | string | Unique identifier for the Inventory Item | Maximum 50 characters |
Category | string | ||
Description | string | Product title | Maximum 255 characters. This value may be overridden within each Marketplace Ad and in Stores (if Active). |
Details | string | Product Description | Maximum 1000 characters |
SUBDescription1 | string | Maximum 1000 characters | |
SUBDescription2 | string | ||
SUBDescription3 | string | ||
Weight | decimal | The weight of an item. This weight will be used to calculate shipping costs if you are using the Third Party Shipping Calculator in your ads or for the Checkout. | |
SupplierCode | string | The supplier is the company or division that supplies your inventory. | Maximum 50 characters |
Price | decimal | Identify the physical location of an item inside your company warehouse. This code is generally made up of an aisle, shelf or bin drawer location. | Maximum 80 characters |
Cost | Decimal | The tax code may be used to store the associated tax code for an item. | Maximum 25 characters |
PriceA | Decimal | Optional way of identifying an item with a reminder or note. | |
PriceB | Decimal | The flag description will appear when the user hovers the mouse over the icon in the All Items View. | Maximum 80 characters |
PriceC | Decimal | Identifies whether or not the item is blocked from Posting to a Marketplace or displaying in your Octopus Store. | |
MSRP | Decimal | Optional specification of why an item is blocked. | Maximum 80 characters |
Applicablestock | string | Maximum 14 characters | |
Stock | string | Maximum 20 characters | |
FormQuantity | string | Maximum 20 characters | |
Weight | string | Maximum 20 characters | |
DCSCode | string | Maximum 50 characters | |
ItemSID | string | Maximum 255 characters | |
Blank | string | Null or empty | |
None | string | None | |
Custom1 | string | Maximum 255 characters | |
Custom2 | string | Maximum 255 characters | |
Custom3 | string | Maximum 255 characters | |
Custom4 | string | Maximum 255 characters | |
Custom5 | string | Maximum 255 characters | |
Custom6 | string | Maximum 255 characters | |
Custom7 | string | Maximum 255 characters | |
Custom8 | string | Maximum 255 characters | |
Custom9 | string | Maximum 255 characters | |
Custom10 | string | Maximum 255 characters | |
Custom11 | string | Maximum 255 characters | |
Custom12 | string | Maximum 255 characters | |
Custom13 | string | Maximum 255 characters | |
Custom14 | string | Maximum 255 characters | |
Custom15 | string | Maximum 255 characters | |
Custom16 | string | Maximum 255 characters | |
Custom17 | string | Maximum 255 characters | |
Custom18 | string | Maximum 255 characters | |
Custom19 | string | Maximum 255 characters | |
Custom20 | string | Maximum 255 characters | |
Custom21 | string | Maximum 255 characters | |
Custom22 | string | Maximum 255 characters | |
Custom23 | string | Maximum 255 characters | |
Custom24 | string | Maximum 255 characters | |
Custom25 | string | Maximum 255 characters | |
Custom26 | string | Maximum 255 characters | |
Custom27 | string | Maximum 255 characters | |
Custom28 | string | Maximum 255 characters | |
Custom29 | string | Maximum 255 characters | |
Custom30 | string | Maximum 255 characters | |
SaleStartDate | Datetime | ||
SaleEndDate | Datetime | ||
salesprice | Decimal | Supplier Purchase Order number | Maximum 255 characters |
UPC | string | Internationally standard code for custom tariffs | Maximum 20 characters |
ImageUrl1 | string | Products Image Name | Maximum 255 characters |
ImageUrl2 | string | Products Image Name | Maximum 255 characters |
ImageUrl3 | string | Products Image Name | Maximum 255 characters |
ImageUrl4 | string | Products Image Name | Maximum 255 characters |
ImageUrl5 | string | Products Image Name | Maximum 255 characters |
StoreStockInfoList | List<StoreStockInfo> | ||
KitList | List<KitInfo> | ||
AttributeList | List<attributeInfo> | ||
VariationInfo | variationInfo | ||
FieldLocks | Locks |
KitInfo
If the main product is a Kit type of product then here, you will find it’s included products and their stock.
Field Name | Data Type | Description | Notes / Constraints |
SKU | string | Unique identifier for the Inventory Item | Maximum 50 characters |
Quantity | float |
AttributeInfo
This list will have Attribute name and Attribute value like color, Size and etc
Field Name | Data Type | Description | Notes / Constraints |
Name | string | Maximum 255 characters | |
Value | float | Maximum 255 characters |
VariationInfo
This object will have ParentSKU if it is a matrix item.
Field Name | Data Type | Description | Notes / Constraints |
IsParent | Bool | ||
ParentSku | String |
Locks
This Object is helpful when you want to lock any field to update from POS Sync.
Field Name | Data Type | Description | Notes / Constraints |
LockParentSKU | Bool | ||
LockUPC | Bool | ||
LockPrice | Bool | ||
LockPriceA | Bool | ||
LockPriceB | Bool | ||
LockPriceC | Bool | ||
LockListPrice | Bool | ||
LockMSRP | Bool | ||
LockSalesPrice | Bool | ||
LockCost | Bool | ||
LockWeight | Bool | ||
LockSUBDescription1 | Bool | ||
LockSUBDescription2 | Bool | ||
LockSUBDescription3 | Bool | ||
LockVariations | Bool | ||
LockImages | Bool | ||
LockStock | Bool | ||
LockCategory | Bool | ||
LockDescription | Bool | ||
LockDetails | Bool | ||
LockSupplier | Bool | ||
LockSaleStartDate | Bool | ||
LockSaleEndDate | Bool |
QuantityInfoResponse
Field Name | Data Type | Description | Notes / Constraints |
Sku | String | Unique identifier for the Inventory Item | Maximum 50 characters |
Applicablestock | Decimal | ||
Stock | Int | ||
FormQuantity | Int | ||
ErrorMessage | String |
ItemQuantityAndPrice
Field Name | Data Type | Description | Notes / Constraints |
Sku | String | Unique identifier for the Inventory Item | Maximum 50 characters |
Stock | Int | ||
LockStock | Bool | ||
Cost | Decimal | ||
LockCost | Bool | ||
Price | Decimal | ||
LockPrice | Bool | ||
StoreStockInfoList | List<StoreStockInfo> | ||
ErrorMessage | String |
UpdateItemResponse
Field Name | Data Type | Description | Notes / Constraints |
Sku | String | Unique identifier for the Inventory Item | Maximum 50 characters |
Result | Bool | ||
ErrorMessage | String |
OrderDownloadSubmitRequest
Field Name | Data Type | Description | Notes / Constraints |
OrderId | String | ||
ThirdPartyOrderNumber | String | ||
StoreId | String |
OrderCriteria
Field Name | Data Type | Description | Notes / Constraints |
OrderCreationFilterBeginTimeGMT | Datetime | ||
OrderCreationFilterEndTimeGMT | Datetime | ||
OrderIDList | Int [] | ||
PaymentStatusFilter | PaymentStatusCode | ||
ShippingStatusFilter | ShippingStatusCode |
PaymentStatusCode
Overview
An enumerated string which describes the Payment status of an Order.
Value | Description |
NoChange | Default value |
NotSubmitted | The buyer has not submitted a payment |
Submitted | The buyer has submitted a payment |
Deposited | Funds have been deposited but the transaction has not yet cleared |
Cleared | The payment process is successfully complete |
Failed | The payment failed |
ShippingStatusCode
Overview
An enumerated string which describes the Payment status of an Order.
Value | Description |
NoChange | Default value |
Unshipped | Those orders are not shipped yet. |
PendingShipment | Those orders whos shipment is pending. |
PartiallyShipped | Those orders whos some items shipped, and some are pending |
Shipped | Those orders are marked as shipped. |
OrderSubmit
Overview
This object contains the data of the SubmitOrder call.
Field Name | Data Type | Description |
OrderID | string | This is the Octopus identifier for the order record. |
OrderDate | Datetime | |
Ship | AddressInfo | Ship address information |
Bill |
AddressInfo | Bill address information |
Shipping |
string | |
CreditCard | string | |
orderItems | OrderItem[] | An array of items |
SubTotal | Decimal | |
ShippingTotal | decimal | |
TaxTotal | decimal | |
Total | decimal | |
WebComment | String | |
ErrorMessage | string |
AddressInfo
Field Name |
Data Type | Description |
FirstName | string | . |
LastName | string | |
Address1 | string | |
Address2 | string | |
City | string | |
State | string | |
Country | string | |
Zip | string | |
Phone | string | |
string | ||
CustomerId | string | This is the Octopus identifier for the customer record |
OrderItem
Field Name | Data Type | Description |
sku | string | This is the Octopus identifier for the order record. |
Quantity | Int32 | |
UnitPrice | decimal | Base price per unit of quantity purchased. |
Description | string | |
ItemTax | Decimal | |
ItemDiscount | Decimal |
SubmitOrderResponseItem
Field Name | Data Type | Description |
idorder | string | This is the Octopus identifier for the order record. |
Result | Bool | |
ErrorMessage | string | Base price per unit of quantity purchased. |
CustomFieldMapping
Field Name | Data Type | Description |
Text | string | This is the Octopus identifier for the order record. |
Value | string | |
IsMapping | string | Base price per unit of quantity purchased. |
Notes
- * Indicates a REQUIRED Field … Fields that are NOT required may be set to a null value or left out of a manually built SOAP packet
- Authorization
- DeleteItemStore
- DeleteItem
- DeleteTblItem
- IsSkuExist
- IsSkuExistList
- GetItemTblList
- GetItemList
- GetItemQuantity
- GetItemQuantityInfo
- GetItemQuantityList
- UpdateItemQuantityAndPrice
- UpdateItemQuantityAndPriceList
- UploadItemList
- UploadItem
- SetDownloadOrderConfirm
- SetDownloadSplitOrderConfirm
- GetOrderList
- GetOrderListStore
- SubmitOrder
- CustomFieldMapping
- Data Models