StitchLabs_ChannelIntegration - Version 1.0.2

Version Notes

1.0.2
* Added missing stock_data to product info WSDL

1.0.1
* Add pagination functionality

1.0.0
* Initial working release

Download this release

Release Info

Developer Robert Navarro
Extension StitchLabs_ChannelIntegration
Version 1.0.2
Comparing to
See all releases


Version 1.0.2

app/code/community/StitchLabs/ChannelIntegration/Helper/Data.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * StitchLabs_ChannelIntegration extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category StitchLabs
13
+ * @package StitchLabs_ChannelIntegration
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * ChannelIntegration default helper
19
+ *
20
+ * @category StitchLabs
21
+ * @package StitchLabs_ChannelIntegration
22
+ * @author Ultimate Module Creator
23
+ */
24
+ class StitchLabs_ChannelIntegration_Helper_Data
25
+ extends Mage_Core_Helper_Abstract {
26
+ /**
27
+ * convert array to options
28
+ * @access public
29
+ * @param $options
30
+ * @return array
31
+ * @author Ultimate Module Creator
32
+ */
33
+ public function convertOptions($options){
34
+ $converted = array();
35
+ foreach ($options as $option){
36
+ if (isset($option['value']) && !is_array($option['value']) && isset($option['label']) && !is_array($option['label'])){
37
+ $converted[$option['value']] = $option['label'];
38
+ }
39
+ }
40
+ return $converted;
41
+ }
42
+ }
app/code/community/StitchLabs/ChannelIntegration/Model/Order/Api.php ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * StitchLabs_ChannelIntegration extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the MIT License
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/mit-license.php
12
+ *
13
+ * @category StitchLabs
14
+ * @package StitchLabs_ChannelIntegration
15
+ * @copyright Copyright (c) 2014
16
+ * @license http://opensource.org/licenses/mit-license.php MIT License
17
+ */
18
+ class StitchLabs_ChannelIntegration_Model_Order_Api
19
+ extends Mage_Sales_Model_Order_Api
20
+ {
21
+ /**
22
+ * Retrieve list of orders. Filtration could be applied
23
+ *
24
+ * @param null|object|array $filters
25
+ * @return array
26
+ */
27
+ public function items($filters = null)
28
+ {
29
+ $orders = array();
30
+
31
+ //TODO: add full name logic
32
+ $billingAliasName = 'billing_o_a';
33
+ $shippingAliasName = 'shipping_o_a';
34
+
35
+ /** @var $orderCollection Mage_Sales_Model_Mysql4_Order_Collection */
36
+ $orderCollection = Mage::getModel("sales/order")->getCollection();
37
+ $billingFirstnameField = "$billingAliasName.firstname";
38
+ $billingLastnameField = "$billingAliasName.lastname";
39
+ $shippingFirstnameField = "$shippingAliasName.firstname";
40
+ $shippingLastnameField = "$shippingAliasName.lastname";
41
+ $orderCollection->addAttributeToSelect('*')
42
+ ->addAddressFields()
43
+ ->addExpressionFieldToSelect('billing_firstname', "{{billing_firstname}}",
44
+ array('billing_firstname' => $billingFirstnameField))
45
+ ->addExpressionFieldToSelect('billing_lastname', "{{billing_lastname}}",
46
+ array('billing_lastname' => $billingLastnameField))
47
+ ->addExpressionFieldToSelect('shipping_firstname', "{{shipping_firstname}}",
48
+ array('shipping_firstname' => $shippingFirstnameField))
49
+ ->addExpressionFieldToSelect('shipping_lastname', "{{shipping_lastname}}",
50
+ array('shipping_lastname' => $shippingLastnameField))
51
+ ->addExpressionFieldToSelect('billing_name', "CONCAT({{billing_firstname}}, ' ', {{billing_lastname}})",
52
+ array('billing_firstname' => $billingFirstnameField, 'billing_lastname' => $billingLastnameField))
53
+ ->addExpressionFieldToSelect('shipping_name', 'CONCAT({{shipping_firstname}}, " ", {{shipping_lastname}})',
54
+ array('shipping_firstname' => $shippingFirstnameField, 'shipping_lastname' => $shippingLastnameField)
55
+ );
56
+
57
+ /** @var $apiHelper Mage_Api_Helper_Data */
58
+ $apiHelper = Mage::helper('api');
59
+ $filters = $apiHelper->parseFilters($filters, $this->_attributesMap['order']);
60
+ try {
61
+ foreach ($filters as $field => $value) {
62
+ $orderCollection->addFieldToFilter($field, $value);
63
+ }
64
+ } catch (Mage_Core_Exception $e) {
65
+ $this->_fault('filters_invalid', $e->getMessage());
66
+ }
67
+ foreach ($orderCollection as $order) {
68
+ if ($order->getGiftMessageId() > 0) {
69
+ $order->setGiftMessage(
70
+ Mage::getSingleton('giftmessage/message')->load($order->getGiftMessageId())->getMessage()
71
+ );
72
+ }
73
+
74
+ $result = $this->_getAttributes($order, 'order');
75
+
76
+ $result['shipping_address'] = $this->_getAttributes($order->getShippingAddress(), 'order_address');
77
+ $result['billing_address'] = $this->_getAttributes($order->getBillingAddress(), 'order_address');
78
+ $result['items'] = array();
79
+
80
+ foreach ($order->getAllItems() as $item) {
81
+ if ($item->getGiftMessageId() > 0) {
82
+ $item->setGiftMessage(
83
+ Mage::getSingleton('giftmessage/message')->load($item->getGiftMessageId())->getMessage()
84
+ );
85
+ }
86
+
87
+ $result['items'][] = $this->_getAttributes($item, 'order_item');
88
+ }
89
+
90
+ $result['payment'] = $this->_getAttributes($order->getPayment(), 'order_payment');
91
+
92
+ $result['status_history'] = array();
93
+
94
+ foreach ($order->getAllStatusHistory() as $history) {
95
+ $result['status_history'][] = $this->_getAttributes($history, 'order_status_history');
96
+ }
97
+
98
+ $orders[] = $result;
99
+ }
100
+ return $orders;
101
+ }
102
+ }
app/code/community/StitchLabs/ChannelIntegration/Model/Order/Api/V2.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * StitchLabs_ChannelIntegration extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category StitchLabs
13
+ * @package StitchLabs_ChannelIntegration
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ class StitchLabs_ChannelIntegration_Model_Order_Api_V2
18
+ extends StitchLabs_ChannelIntegration_Model_Order_Api {
19
+ /**
20
+ * Test_Label info
21
+ * @access public
22
+ * @param int $orderId
23
+ * @return object
24
+ * @author Ultimate Module Creator
25
+ */
26
+ public function info($orderId){
27
+ $result = parent::info($orderId);
28
+ $result = Mage::helper('api')->wsiArrayPacker($result);
29
+ return $result;
30
+ }
31
+ }
app/code/community/StitchLabs/ChannelIntegration/Model/Product.php ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * StitchLabs_ChannelIntegration extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category StitchLabs
13
+ * @package StitchLabs_ChannelIntegration
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * Test_Label model
19
+ *
20
+ * @category StitchLabs
21
+ * @package StitchLabs_ChannelIntegration
22
+ * @author Ultimate Module Creator
23
+ */
24
+ class StitchLabs_ChannelIntegration_Model_Product
25
+ extends Mage_Core_Model_Abstract {
26
+ /**
27
+ * Entity code.
28
+ * Can be used as part of method name for entity processing
29
+ */
30
+ const ENTITY = 'stitchlabs_channelintegration_product';
31
+ const CACHE_TAG = 'stitchlabs_channelintegration_product';
32
+ /**
33
+ * Prefix of model events names
34
+ * @var string
35
+ */
36
+ protected $_eventPrefix = 'stitchlabs_channelintegration_product';
37
+
38
+ /**
39
+ * Parameter name in event
40
+ * @var string
41
+ */
42
+ protected $_eventObject = 'product';
43
+ /**
44
+ * constructor
45
+ * @access public
46
+ * @return void
47
+ * @author Ultimate Module Creator
48
+ */
49
+ public function _construct(){
50
+ parent::_construct();
51
+ $this->_init('stitchlabs_channelintegration/product');
52
+ }
53
+ /**
54
+ * before save test_label
55
+ * @access protected
56
+ * @return StitchLabs_ChannelIntegration_Model_Product
57
+ * @author Ultimate Module Creator
58
+ */
59
+ protected function _beforeSave(){
60
+ parent::_beforeSave();
61
+ $now = Mage::getSingleton('core/date')->gmtDate();
62
+ if ($this->isObjectNew()){
63
+ $this->setCreatedAt($now);
64
+ }
65
+ $this->setUpdatedAt($now);
66
+ return $this;
67
+ }
68
+ /**
69
+ * save product relation
70
+ * @access public
71
+ * @return StitchLabs_ChannelIntegration_Model_Product
72
+ * @author Ultimate Module Creator
73
+ */
74
+ protected function _afterSave() {
75
+ return parent::_afterSave();
76
+ }
77
+ /**
78
+ * get default values
79
+ * @access public
80
+ * @return array
81
+ * @author Ultimate Module Creator
82
+ */
83
+ public function getDefaultValues() {
84
+ $values = array();
85
+ $values['status'] = 1;
86
+ return $values;
87
+ }
88
+ }
app/code/community/StitchLabs/ChannelIntegration/Model/Product/Api.php ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * StitchLabs_ChannelIntegration extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the MIT License
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/mit-license.php
12
+ *
13
+ * @category StitchLabs
14
+ * @package StitchLabs_ChannelIntegration
15
+ * @copyright Copyright (c) 2014
16
+ * @license http://opensource.org/licenses/mit-license.php MIT License
17
+ */
18
+ class StitchLabs_ChannelIntegration_Model_Product_Api
19
+ extends Mage_Catalog_Model_Product_Api
20
+ {
21
+
22
+ /**
23
+ * Retrieve list of products with basic info (id, sku, type, set, name)
24
+ *
25
+ * @param null|object|array $filters
26
+ * @param string|int $store
27
+ * @return array
28
+ */
29
+ public function items($filters = null, $store = null)
30
+ {
31
+ echo '';
32
+ $collection = Mage::getModel('catalog/product')->getCollection()
33
+ ->addStoreFilter($this->_getStoreId($store))
34
+ ->addAttributeToSelect('*');
35
+
36
+ /** @var $apiHelper Mage_Api_Helper_Data */
37
+ $apiHelper = Mage::helper('api');
38
+ $filters = $apiHelper->parseFilters($filters, $this->_filtersMap);
39
+ try {
40
+ $page = 1;
41
+ $page_size = 50;
42
+
43
+ foreach ($filters as $field => $value) {
44
+ if ($field == 'page') {
45
+ $page = $value;
46
+ } elseif ($field == 'size') {
47
+ $page_size = $value;
48
+ } else {
49
+ $collection->addFieldToFilter($field, $value);
50
+ }
51
+ }
52
+
53
+ $collection->setPage($page, $page_size);
54
+ } catch (Mage_Core_Exception $e) {
55
+ $this->_fault('filters_invalid', $e->getMessage());
56
+ }
57
+ $result = array();
58
+
59
+ Mage::getSingleton('cataloginventory/stock_item')->addCatalogInventoryToProductCollection($collection);
60
+
61
+ foreach ($collection as $product) {
62
+ $temp_result = array(
63
+ 'product_id' => $product->getId(),
64
+ 'sku' => $product->getSku(),
65
+ 'name' => $product->getName(),
66
+ 'set' => $product->getAttributeSetId(),
67
+ 'type' => $product->getTypeId(),
68
+ 'category_ids' => $product->getCategoryIds(),
69
+ 'image_url' => $product->getImageUrl(),
70
+ 'configurable_parent_product_ids' => array(),
71
+ 'grouped_parent_product_ids' => array(),
72
+ 'configurable_child_product_ids' => array(),
73
+ 'grouped_child_product_ids' => array(),
74
+ );
75
+
76
+ if ($product->isConfigurable()) {
77
+ $child_product_ids = $product->getTypeInstance()->getUsedProductIds();
78
+ $temp_result['configurable_child_product_ids'] = $child_product_ids;
79
+ } elseif ($product->isGrouped()) {
80
+ $child_product_ids = $product->getTypeInstance()->getAssociatedProductIds();
81
+ $temp_result['grouped_child_product_ids'] = $child_product_ids;
82
+ } else {
83
+ $grouped_parent_ids = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($product->getId());
84
+ $temp_result['grouped_parent_product_ids'] = $grouped_parent_ids;
85
+
86
+ $parent_ids = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
87
+ $temp_result['configurable_parent_product_ids'] = $parent_ids;
88
+ }
89
+
90
+ $result[] = $this->infoResult($temp_result, $product);;
91
+ }
92
+ return $result;
93
+ }
94
+
95
+ /**
96
+ * Retrieve product info
97
+ *
98
+ * @param int|string $productId
99
+ * @param string|int $store
100
+ * @param array $attributes
101
+ * @return array
102
+ */
103
+ public function info($productId, $store = null, $attributes = null, $identifierType = null)
104
+ {
105
+ $product = $this->_getProduct($productId, $store, $identifierType);
106
+
107
+ $result = array(
108
+ 'product_id' => $product->getId(),
109
+ 'sku' => $product->getSku(),
110
+ 'name' => $product->getName(),
111
+ 'set' => $product->getAttributeSetId(),
112
+ 'type' => $product->getTypeId(),
113
+ 'category_ids' => $product->getCategoryIds(),
114
+ 'image_url' => $product->getImageUrl(),
115
+ 'configurable_parent_product_ids' => array(),
116
+ 'grouped_parent_product_ids' => array(),
117
+ 'configurable_child_product_ids' => array(),
118
+ 'grouped_child_product_ids' => array(),
119
+ );
120
+
121
+ if ($product->isConfigurable()) {
122
+ $child_product_ids = $product->getTypeInstance()->getUsedProductIds();
123
+ $result['configurable_child_product_ids'] = $child_product_ids;
124
+ } elseif ($product->isGrouped()) {
125
+ $child_product_ids = $product->getTypeInstance()->getAssociatedProductIds();
126
+ $result['grouped_child_product_ids'] = $child_product_ids;
127
+ } else {
128
+ $grouped_parent_ids = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($product->getId());
129
+ $result['grouped_parent_product_ids'] = $grouped_parent_ids;
130
+
131
+ $parent_ids = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
132
+ $result['configurable_parent_product_ids'] = $parent_ids;
133
+ }
134
+
135
+ return $this->infoResult($result, $product);
136
+ }
137
+
138
+ public function infoResult($result, $product, $attributes = array(), $store = null, $all_attributes = true)
139
+ {
140
+ $productId = $product->getId();
141
+ if (in_array('url_complete', $attributes) || $all_attributes) {
142
+ $result['url_complete'] = $product->setStoreId($store)->getProductUrl();
143
+ }
144
+
145
+ if (in_array('description', $attributes) || $all_attributes) {
146
+ $result['description'] = $product->setStoreId($store)->getDescription();
147
+ }
148
+
149
+ if (in_array('price', $attributes) || $all_attributes) {
150
+ $result['price'] = $product->setStoreId($store)->getPrice();
151
+ }
152
+
153
+ if (in_array('weight', $attributes) || $all_attributes) {
154
+ $result['weight'] = $product->setStoreId($store)->getWeight();
155
+ }
156
+
157
+ if (in_array('status', $attributes) || $all_attributes) {
158
+ $result['status'] = $product->setStoreId($store)->getStatus();
159
+ }
160
+
161
+ if (in_array('stock_data', $attributes) || $all_attributes) {
162
+ $result['stock_data'] = Mage::getSingleton('Mage_CatalogInventory_Model_Stock_Item_Api')->items($productId);
163
+ }
164
+
165
+ if (in_array('images', $attributes) || $all_attributes) {
166
+ $result['images'] = Mage::getSingleton('Mage_Catalog_Model_Product_Attribute_Media_Api')->items(
167
+ $productId,
168
+ $store
169
+ );
170
+ }
171
+
172
+ if (!$product->isSuper() && (in_array('parent_sku', $attributes) || $all_attributes)) {
173
+ $parentIds = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
174
+ if (!$parentIds) {
175
+ $parentIds = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($product->getId());
176
+ }
177
+ if (isset($parentIds[0])) {
178
+ $parent = Mage::getModel('catalog/product')->load($parentIds[0]);
179
+ $result['parent_sku'] = $parent->getSku();
180
+ }
181
+ } elseif ($product->isConfigurable()) {
182
+ $attributesData = $product->getTypeInstance()->getConfigurableAttributesAsArray();
183
+ // configurable_options
184
+ if (in_array('configurable_attributes_data', $attributes) || $all_attributes) {
185
+ $options = array();
186
+ $k = 0;
187
+ foreach ($attributesData as $attribute) {
188
+ $options[$k]['code'] = $attribute['attribute_code'];
189
+ foreach ($attribute['values'] as $value) {
190
+ $value['attribute_code'] = $attribute['attribute_code'];
191
+ $options[$k]['options'][] = $value;
192
+ }
193
+ $k++;
194
+ }
195
+ $result['configurable_attributes_data'] = $options;
196
+ // children
197
+ // @todo use $childProducts = $product->getTypeInstance()->getUsedProducts();
198
+ $childProducts = Mage::getModel('catalog/product_type_configurable')
199
+ ->getUsedProducts(null, $product);
200
+ $skus = array();
201
+ $i = 0;
202
+ foreach ($childProducts as $childProduct) {
203
+ $skus[$i]['product_id'] = $childProduct->getId();
204
+ $skus[$i]['sku'] = $childProduct->getSku();
205
+ $j = 0;
206
+ foreach ($attributesData as $attribute) {
207
+ $skus[$i]['options'][$j]['label'] = $attribute['label'];
208
+ $skus[$i]['options'][$j]['attribute_code'] = $attribute['attribute_code'];
209
+ $skus[$i]['options'][$j]['value_index'] = $childProduct[$attribute['attribute_code']];
210
+ $skus[$i]['options'][$j]['value_text'] = $childProduct->getAttributeText($attribute['attribute_code']);
211
+ $j++;
212
+ }
213
+ $i++;
214
+ }
215
+ $result['configurable_products_data'] = $skus;
216
+ }
217
+ }
218
+
219
+ return $result;
220
+ }
221
+ }
app/code/community/StitchLabs/ChannelIntegration/Model/Product/Api/V2.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * StitchLabs_ChannelIntegration extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category StitchLabs
13
+ * @package StitchLabs_ChannelIntegration
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ class StitchLabs_ChannelIntegration_Model_Product_Api_V2
18
+ extends StitchLabs_ChannelIntegration_Model_Product_Api {
19
+ /**
20
+ * Test_Label info
21
+ * @access public
22
+ * @param int $productId
23
+ * @return object
24
+ * @author Ultimate Module Creator
25
+ */
26
+ public function info($productId){
27
+ $result = parent::info($productId);
28
+ $result = Mage::helper('api')->wsiArrayPacker($result);
29
+ return $result;
30
+ }
31
+ }
app/code/community/StitchLabs/ChannelIntegration/Model/Resource/Order.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * StitchLabs_ChannelIntegration extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category StitchLabs
13
+ * @package StitchLabs_ChannelIntegration
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * Test_Label resource model
19
+ *
20
+ * @category StitchLabs
21
+ * @package StitchLabs_ChannelIntegration
22
+ * @author Ultimate Module Creator
23
+ */
24
+ class StitchLabs_ChannelIntegration_Model_Resource_Order
25
+ extends Mage_Core_Model_Resource_Db_Abstract {
26
+ /**
27
+ * constructor
28
+ * @access public
29
+ * @author Ultimate Module Creator
30
+ */
31
+ public function _construct(){
32
+ $this->_init('stitchlabs_channelintegration/order', 'entity_id');
33
+ }
34
+ }
app/code/community/StitchLabs/ChannelIntegration/Model/Resource/Order/Collection.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * StitchLabs_ChannelIntegration extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category StitchLabs
13
+ * @package StitchLabs_ChannelIntegration
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * Test_Label collection resource model
19
+ *
20
+ * @category StitchLabs
21
+ * @package StitchLabs_ChannelIntegration
22
+ * @author Ultimate Module Creator
23
+ */
24
+ class StitchLabs_ChannelIntegration_Model_Resource_Order_Collection
25
+ extends Mage_Core_Model_Resource_Db_Collection_Abstract {
26
+ protected $_joinedFields = array();
27
+ /**
28
+ * constructor
29
+ * @access public
30
+ * @return void
31
+ * @author Ultimate Module Creator
32
+ */
33
+ protected function _construct(){
34
+ parent::_construct();
35
+ $this->_init('stitchlabs_channelintegration/order');
36
+ }
37
+ /**
38
+ * get orders as array
39
+ * @access protected
40
+ * @param string $valueField
41
+ * @param string $labelField
42
+ * @param array $additional
43
+ * @return array
44
+ * @author Ultimate Module Creator
45
+ */
46
+ protected function _toOptionArray($valueField='entity_id', $labelField='tattribute', $additional=array()){
47
+ return parent::_toOptionArray($valueField, $labelField, $additional);
48
+ }
49
+ /**
50
+ * get options hash
51
+ * @access protected
52
+ * @param string $valueField
53
+ * @param string $labelField
54
+ * @return array
55
+ * @author Ultimate Module Creator
56
+ */
57
+ protected function _toOptionHash($valueField='entity_id', $labelField='tattribute'){
58
+ return parent::_toOptionHash($valueField, $labelField);
59
+ }
60
+ /**
61
+ * Get SQL for get record count.
62
+ * Extra GROUP BY strip added.
63
+ * @access public
64
+ * @return Varien_Db_Select
65
+ * @author Ultimate Module Creator
66
+ */
67
+ public function getSelectCountSql(){
68
+ $countSelect = parent::getSelectCountSql();
69
+ $countSelect->reset(Zend_Db_Select::GROUP);
70
+ return $countSelect;
71
+ }
72
+ }
app/code/community/StitchLabs/ChannelIntegration/Model/Resource/Product.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * StitchLabs_ChannelIntegration extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category StitchLabs
13
+ * @package StitchLabs_ChannelIntegration
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * Test_Label resource model
19
+ *
20
+ * @category StitchLabs
21
+ * @package StitchLabs_ChannelIntegration
22
+ * @author Ultimate Module Creator
23
+ */
24
+ class StitchLabs_ChannelIntegration_Model_Resource_Product
25
+ extends Mage_Core_Model_Resource_Db_Abstract {
26
+ /**
27
+ * constructor
28
+ * @access public
29
+ * @author Ultimate Module Creator
30
+ */
31
+ public function _construct(){
32
+ $this->_init('stitchlabs_channelintegration/product', 'entity_id');
33
+ }
34
+ }
app/code/community/StitchLabs/ChannelIntegration/Model/Resource/Product/Collection.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * StitchLabs_ChannelIntegration extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category StitchLabs
13
+ * @package StitchLabs_ChannelIntegration
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * Test_Label collection resource model
19
+ *
20
+ * @category StitchLabs
21
+ * @package StitchLabs_ChannelIntegration
22
+ * @author Ultimate Module Creator
23
+ */
24
+ class StitchLabs_ChannelIntegration_Model_Resource_Product_Collection
25
+ extends Mage_Core_Model_Resource_Db_Collection_Abstract {
26
+ protected $_joinedFields = array();
27
+ /**
28
+ * constructor
29
+ * @access public
30
+ * @return void
31
+ * @author Ultimate Module Creator
32
+ */
33
+ protected function _construct(){
34
+ parent::_construct();
35
+ $this->_init('stitchlabs_channelintegration/product');
36
+ }
37
+ /**
38
+ * get products as array
39
+ * @access protected
40
+ * @param string $valueField
41
+ * @param string $labelField
42
+ * @param array $additional
43
+ * @return array
44
+ * @author Ultimate Module Creator
45
+ */
46
+ protected function _toOptionArray($valueField='entity_id', $labelField='tattribute', $additional=array()){
47
+ return parent::_toOptionArray($valueField, $labelField, $additional);
48
+ }
49
+ /**
50
+ * get options hash
51
+ * @access protected
52
+ * @param string $valueField
53
+ * @param string $labelField
54
+ * @return array
55
+ * @author Ultimate Module Creator
56
+ */
57
+ protected function _toOptionHash($valueField='entity_id', $labelField='tattribute'){
58
+ return parent::_toOptionHash($valueField, $labelField);
59
+ }
60
+ /**
61
+ * Get SQL for get record count.
62
+ * Extra GROUP BY strip added.
63
+ * @access public
64
+ * @return Varien_Db_Select
65
+ * @author Ultimate Module Creator
66
+ */
67
+ public function getSelectCountSql(){
68
+ $countSelect = parent::getSelectCountSql();
69
+ $countSelect->reset(Zend_Db_Select::GROUP);
70
+ return $countSelect;
71
+ }
72
+ }
app/code/community/StitchLabs/ChannelIntegration/Model/Resource/Setup.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * StitchLabs_ChannelIntegration extension
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the MIT License
8
+ * that is bundled with this package in the file LICENSE.txt.
9
+ * It is also available through the world-wide-web at this URL:
10
+ * http://opensource.org/licenses/mit-license.php
11
+ *
12
+ * @category StitchLabs
13
+ * @package StitchLabs_ChannelIntegration
14
+ * @copyright Copyright (c) 2014
15
+ * @license http://opensource.org/licenses/mit-license.php MIT License
16
+ */
17
+ /**
18
+ * ChannelIntegration setup
19
+ *
20
+ * @category StitchLabs
21
+ * @package StitchLabs_ChannelIntegration
22
+ * @author Ultimate Module Creator
23
+ */
24
+ class StitchLabs_ChannelIntegration_Model_Resource_Setup
25
+ extends Mage_Core_Model_Resource_Setup {
26
+ }
app/code/community/StitchLabs/ChannelIntegration/etc/api.xml ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * StitchLabs_ChannelIntegration extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the MIT License
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/mit-license.php
12
+ *
13
+ * @category StitchLabs
14
+ * @package StitchLabs_ChannelIntegration
15
+ * @copyright Copyright (c) 2014
16
+ * @license http://opensource.org/licenses/mit-license.php MIT License
17
+ */
18
+ -->
19
+ <config>
20
+ <api>
21
+ <resources>
22
+ <channelintegration_product translate="title" module="stitchlabs_channelintegration">
23
+ <title>Test_Label API</title>
24
+ <model>stitchlabs_channelintegration/product_api</model>
25
+ <acl>channelintegration/product</acl>
26
+ <methods>
27
+ <list translate="title" module="stitchlabs_channelintegration">
28
+ <title>Retrieve list of test_labels</title>
29
+ <method>items</method>
30
+ <acl>channelintegration/product/list</acl>
31
+ </list>
32
+ <info translate="title" module="stitchlabs_channelintegration">
33
+ <title>Retrieve test_label info</title>
34
+ <acl>channelintegration/product/info</acl>
35
+ </info>
36
+ <add translate="title" module="stitchlabs_channelintegration">
37
+ <title>Add test_label</title>
38
+ <acl>channelintegration/product/add</acl>
39
+ </add>
40
+ <update translate="title" module="stitchlabs_channelintegration">
41
+ <title>Update test_label</title>
42
+ <acl>channelintegration/product/update</acl>
43
+ </update>
44
+ <remove translate="title" module="stitchlabs_channelintegration">
45
+ <title>Remove test_label</title>
46
+ <acl>channelintegration/product/remove</acl>
47
+ </remove>
48
+ </methods>
49
+ <faults module="stitchlabs_channelintegration">
50
+ <product_not_exists>
51
+ <code>101</code>
52
+ <message>Requested test_label does not exist.</message>
53
+ </product_not_exists>
54
+ <invalid_data>
55
+ <code>102</code>
56
+ <message>Provided data is invalid.</message>
57
+ </invalid_data>
58
+ <save_error>
59
+ <code>103</code>
60
+ <message>Error while saving test_label. Details in error message.</message>
61
+ </save_error>
62
+ <remove_error>
63
+ <code>104</code>
64
+ <message>Error while removing test_label. Details in error message.</message>
65
+ </remove_error>
66
+ </faults>
67
+ </channelintegration_product>
68
+ <channelintegration_order translate="title" module="stitchlabs_channelintegration">
69
+ <title>Test_Label API</title>
70
+ <model>stitchlabs_channelintegration/order_api</model>
71
+ <acl>channelintegration/order</acl>
72
+ <methods>
73
+ <list translate="title" module="stitchlabs_channelintegration">
74
+ <title>Retrieve list of test_labels</title>
75
+ <method>items</method>
76
+ <acl>channelintegration/order/list</acl>
77
+ </list>
78
+ <info translate="title" module="stitchlabs_channelintegration">
79
+ <title>Retrieve test_label info</title>
80
+ <acl>channelintegration/order/info</acl>
81
+ </info>
82
+ <add translate="title" module="stitchlabs_channelintegration">
83
+ <title>Add test_label</title>
84
+ <acl>channelintegration/order/add</acl>
85
+ </add>
86
+ <update translate="title" module="stitchlabs_channelintegration">
87
+ <title>Update test_label</title>
88
+ <acl>channelintegration/order/update</acl>
89
+ </update>
90
+ <remove translate="title" module="stitchlabs_channelintegration">
91
+ <title>Remove test_label</title>
92
+ <acl>channelintegration/order/remove</acl>
93
+ </remove>
94
+ </methods>
95
+ <faults module="stitchlabs_channelintegration">
96
+ <order_not_exists>
97
+ <code>101</code>
98
+ <message>Requested test_label does not exist.</message>
99
+ </order_not_exists>
100
+ <invalid_data>
101
+ <code>102</code>
102
+ <message>Provided data is invalid.</message>
103
+ </invalid_data>
104
+ <save_error>
105
+ <code>103</code>
106
+ <message>Error while saving test_label. Details in error message.</message>
107
+ </save_error>
108
+ <remove_error>
109
+ <code>104</code>
110
+ <message>Error while removing test_label. Details in error message.</message>
111
+ </remove_error>
112
+ </faults>
113
+ </channelintegration_order>
114
+ </resources>
115
+ <resources_alias>
116
+ <stitch_product>channelintegration_product</stitch_product>
117
+ <stitch_order>channelintegration_order</stitch_order>
118
+ </resources_alias>
119
+ <v2>
120
+ <resources_function_prefix>
121
+ <stitch_product>channelintegrationProduct</stitch_product>
122
+ <stitch_order>channelintegrationOrder</stitch_order>
123
+ </resources_function_prefix>
124
+ </v2>
125
+ <acl>
126
+ <resources>
127
+ <stitchlabs_channelintegration translate="title" module="stitchlabs_channelintegration">
128
+ <title>ChannelIntegration</title>
129
+ <product translate="title" module="stitchlabs_channelintegration">
130
+ <title>Test_Label</title>
131
+ <sort_order>0</sort_order>
132
+ <list translate="title" module="stitchlabs_channelintegration">
133
+ <title>List</title>
134
+ </list>
135
+ <info translate="title" module="stitchlabs_channelintegration">
136
+ <title>Info</title>
137
+ </info>
138
+ <add translate="title" module="stitchlabs_channelintegration">
139
+ <title>Add</title>
140
+ </add>
141
+ <update translate="title" module="stitchlabs_channelintegration">
142
+ <title>Update</title>
143
+ </update>
144
+ <remove translate="title" module="stitchlabs_channelintegration">
145
+ <title>Remove</title>
146
+ </remove>
147
+ </product>
148
+ <order translate="title" module="stitchlabs_channelintegration">
149
+ <title>Test_Label</title>
150
+ <sort_order>0</sort_order>
151
+ <list translate="title" module="stitchlabs_channelintegration">
152
+ <title>List</title>
153
+ </list>
154
+ <info translate="title" module="stitchlabs_channelintegration">
155
+ <title>Info</title>
156
+ </info>
157
+ <add translate="title" module="stitchlabs_channelintegration">
158
+ <title>Add</title>
159
+ </add>
160
+ <update translate="title" module="stitchlabs_channelintegration">
161
+ <title>Update</title>
162
+ </update>
163
+ <remove translate="title" module="stitchlabs_channelintegration">
164
+ <title>Remove</title>
165
+ </remove>
166
+ </order>
167
+ </stitchlabs_channelintegration>
168
+ </resources>
169
+ </acl>
170
+ </api>
171
+ </config>
app/code/community/StitchLabs/ChannelIntegration/etc/config.xml ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * StitchLabs_ChannelIntegration extension
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the MIT License
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/mit-license.php
12
+ *
13
+ * @category StitchLabs
14
+ * @package StitchLabs_ChannelIntegration
15
+ * @copyright Copyright (c) 2014
16
+ * @license http://opensource.org/licenses/mit-license.php MIT License
17
+ */
18
+ -->
19
+ <config>
20
+ <modules>
21
+ <StitchLabs_ChannelIntegration>
22
+ <version>0.0.1</version>
23
+ </StitchLabs_ChannelIntegration>
24
+ </modules>
25
+ <global>
26
+ <resources>
27
+ <stitchlabs_channelintegration_setup>
28
+ <setup>
29
+ <module>StitchLabs_ChannelIntegration</module>
30
+ <class>StitchLabs_ChannelIntegration_Model_Resource_Setup</class>
31
+ </setup>
32
+ </stitchlabs_channelintegration_setup>
33
+ </resources>
34
+ <blocks>
35
+ <stitchlabs_channelintegration>
36
+ <class>StitchLabs_ChannelIntegration_Block</class>
37
+ </stitchlabs_channelintegration>
38
+ </blocks>
39
+ <helpers>
40
+ <stitchlabs_channelintegration>
41
+ <class>StitchLabs_ChannelIntegration_Helper</class>
42
+ </stitchlabs_channelintegration>
43
+ </helpers>
44
+ <models>
45
+ <stitchlabs_channelintegration>
46
+ <class>StitchLabs_ChannelIntegration_Model</class>
47
+ <resourceModel>stitchlabs_channelintegration_resource</resourceModel>
48
+ </stitchlabs_channelintegration>
49
+ <stitchlabs_channelintegration_resource>
50
+ <class>StitchLabs_ChannelIntegration_Model_Resource</class>
51
+ <entities>
52
+ <product>
53
+ <table>stitchlabs_channelintegration_product</table>
54
+ </product>
55
+ <order>
56
+ <table>stitchlabs_channelintegration_order</table>
57
+ </order>
58
+ </entities>
59
+ </stitchlabs_channelintegration_resource>
60
+ </models>
61
+ </global>
62
+ </config>
app/code/community/StitchLabs/ChannelIntegration/etc/wsdl.xml ADDED
@@ -0,0 +1,466 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
3
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
4
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
5
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
6
+ name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
7
+ <types>
8
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
9
+ <import namespace="http://schemas.xmlsoap.org/soap/encoding/"
10
+ schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
11
+ <complexType name="channelintegrationProductListEntity">
12
+ <all>
13
+ <element name="product_id" type="xsd:string" minOccurs="0"/>
14
+ <element name="sku" type="xsd:string" minOccurs="0"/>
15
+ <element name="set" type="xsd:string" minOccurs="0"/>
16
+ <element name="type" type="xsd:string" minOccurs="0"/>
17
+ <element name="categories" type="typens:ArrayOfString" minOccurs="0"/>
18
+ <element name="websites" type="typens:ArrayOfString" minOccurs="0"/>
19
+ <element name="created_at" type="xsd:string" minOccurs="0"/>
20
+ <element name="updated_at" type="xsd:string" minOccurs="0"/>
21
+ <element name="type_id" type="xsd:string" minOccurs="0"/>
22
+ <element name="name" type="xsd:string" minOccurs="0"/>
23
+ <element name="description" type="xsd:string" minOccurs="0"/>
24
+ <element name="short_description" type="xsd:string" minOccurs="0"/>
25
+ <element name="weight" type="xsd:string" minOccurs="0"/>
26
+ <element name="status" type="xsd:string" minOccurs="0"/>
27
+ <element name="url_key" type="xsd:string" minOccurs="0"/>
28
+ <element name="url_path" type="xsd:string" minOccurs="0"/>
29
+ <element name="visibility" type="xsd:string" minOccurs="0"/>
30
+ <element name="category_ids" type="typens:ArrayOfString" minOccurs="0"/>
31
+ <element name="website_ids" type="typens:ArrayOfString" minOccurs="0"/>
32
+ <element name="has_options" type="xsd:string" minOccurs="0"/>
33
+ <element name="gift_message_available" type="xsd:string" minOccurs="0"/>
34
+ <element name="price" type="xsd:string" minOccurs="0"/>
35
+ <element name="special_price" type="xsd:string" minOccurs="0"/>
36
+ <element name="special_from_date" type="xsd:string" minOccurs="0"/>
37
+ <element name="special_to_date" type="xsd:string" minOccurs="0"/>
38
+ <element name="tax_class_id" type="xsd:string" minOccurs="0"/>
39
+ <element name="tier_price" type="typens:catalogProductTierPriceEntityArray" minOccurs="0"/>
40
+ <element name="meta_title" type="xsd:string" minOccurs="0"/>
41
+ <element name="meta_keyword" type="xsd:string" minOccurs="0"/>
42
+ <element name="meta_description" type="xsd:string" minOccurs="0"/>
43
+ <element name="custom_design" type="xsd:string" minOccurs="0"/>
44
+ <element name="custom_layout_update" type="xsd:string" minOccurs="0"/>
45
+ <element name="options_container" type="xsd:string" minOccurs="0"/>
46
+ <element name="image_url" type="xsd:string" minOccurs="0"/>
47
+ <element name="qty" type="xsd:string" minOccurs="0"/>
48
+ <element name="additional_attributes" type="typens:associativeArray" minOccurs="0"/>
49
+ <element name="configurable_parent_product_ids" type="typens:ArrayOfString"/>
50
+ <element name="grouped_parent_product_ids" type="typens:ArrayOfString"/>
51
+ <element name="configurable_child_product_ids" type="typens:ArrayOfString"/>
52
+ <element name="grouped_child_product_ids" type="typens:ArrayOfString"/>
53
+ <element name="parent_sku" type="xsd:string" minOccurs="0"/>
54
+ <element name="url_complete" type="xsd:string" minOccurs="0"/>
55
+ <element name="configurable_products_data" type="typens:childrenEntityArray" minOccurs="0"/>
56
+ <element name="configurable_attributes_data" type="typens:configurableOptionsEntityArray"
57
+ minOccurs="0"/>
58
+ <element name="stock_data" type="typens:catalogInventoryStockItemEntityArray" minOccurs="0"/>
59
+ <element name="images" type="typens:catalogProductImageEntityArray" minOccurs="0"/>
60
+ </all>
61
+ </complexType>
62
+ <complexType name="channelintegrationOrderListEntity">
63
+ <all>
64
+ <element name="increment_id" type="xsd:string" minOccurs="0"/>
65
+ <element name="store_id" type="xsd:string" minOccurs="0"/>
66
+ <element name="created_at" type="xsd:string" minOccurs="0"/>
67
+ <element name="updated_at" type="xsd:string" minOccurs="0"/>
68
+ <element name="customer_id" type="xsd:string" minOccurs="0"/>
69
+ <element name="tax_amount" type="xsd:string" minOccurs="0"/>
70
+ <element name="shipping_amount" type="xsd:string" minOccurs="0"/>
71
+ <element name="discount_amount" type="xsd:string" minOccurs="0"/>
72
+ <element name="subtotal" type="xsd:string" minOccurs="0"/>
73
+ <element name="grand_total" type="xsd:string" minOccurs="0"/>
74
+ <element name="total_paid" type="xsd:string" minOccurs="0"/>
75
+ <element name="total_refunded" type="xsd:string" minOccurs="0"/>
76
+ <element name="total_qty_ordered" type="xsd:string" minOccurs="0"/>
77
+ <element name="total_canceled" type="xsd:string" minOccurs="0"/>
78
+ <element name="total_invoiced" type="xsd:string" minOccurs="0"/>
79
+ <element name="total_online_refunded" type="xsd:string" minOccurs="0"/>
80
+ <element name="total_offline_refunded" type="xsd:string" minOccurs="0"/>
81
+ <element name="base_tax_amount" type="xsd:string" minOccurs="0"/>
82
+ <element name="base_shipping_amount" type="xsd:string" minOccurs="0"/>
83
+ <element name="base_discount_amount" type="xsd:string" minOccurs="0"/>
84
+ <element name="base_subtotal" type="xsd:string" minOccurs="0"/>
85
+ <element name="base_grand_total" type="xsd:string" minOccurs="0"/>
86
+ <element name="base_total_paid" type="xsd:string" minOccurs="0"/>
87
+ <element name="base_total_refunded" type="xsd:string" minOccurs="0"/>
88
+ <element name="base_total_qty_ordered" type="xsd:string" minOccurs="0"/>
89
+ <element name="base_total_canceled" type="xsd:string" minOccurs="0"/>
90
+ <element name="base_total_invoiced" type="xsd:string" minOccurs="0"/>
91
+ <element name="base_total_online_refunded" type="xsd:string" minOccurs="0"/>
92
+ <element name="base_total_offline_refunded" type="xsd:string" minOccurs="0"/>
93
+ <element name="billing_address_id" type="xsd:string" minOccurs="0"/>
94
+ <element name="billing_firstname" type="xsd:string" minOccurs="0"/>
95
+ <element name="billing_lastname" type="xsd:string" minOccurs="0"/>
96
+ <element name="shipping_address_id" type="xsd:string" minOccurs="0"/>
97
+ <element name="shipping_firstname" type="xsd:string" minOccurs="0"/>
98
+ <element name="shipping_lastname" type="xsd:string" minOccurs="0"/>
99
+ <element name="billing_name" type="xsd:string" minOccurs="0"/>
100
+ <element name="shipping_name" type="xsd:string" minOccurs="0"/>
101
+ <element name="store_to_base_rate" type="xsd:string" minOccurs="0"/>
102
+ <element name="store_to_order_rate" type="xsd:string" minOccurs="0"/>
103
+ <element name="base_to_global_rate" type="xsd:string" minOccurs="0"/>
104
+ <element name="base_to_order_rate" type="xsd:string" minOccurs="0"/>
105
+ <element name="weight" type="xsd:string" minOccurs="0"/>
106
+ <element name="store_name" type="xsd:string" minOccurs="0"/>
107
+ <element name="remote_ip" type="xsd:string" minOccurs="0"/>
108
+ <element name="status" type="xsd:string" minOccurs="0"/>
109
+ <element name="state" type="xsd:string" minOccurs="0"/>
110
+ <element name="applied_rule_ids" type="xsd:string" minOccurs="0"/>
111
+ <element name="global_currency_code" type="xsd:string" minOccurs="0"/>
112
+ <element name="base_currency_code" type="xsd:string" minOccurs="0"/>
113
+ <element name="store_currency_code" type="xsd:string" minOccurs="0"/>
114
+ <element name="order_currency_code" type="xsd:string" minOccurs="0"/>
115
+ <element name="shipping_method" type="xsd:string" minOccurs="0"/>
116
+ <element name="shipping_description" type="xsd:string" minOccurs="0"/>
117
+ <element name="customer_email" type="xsd:string" minOccurs="0"/>
118
+ <element name="customer_firstname" type="xsd:string" minOccurs="0"/>
119
+ <element name="customer_lastname" type="xsd:string" minOccurs="0"/>
120
+ <element name="quote_id" type="xsd:string" minOccurs="0"/>
121
+ <element name="is_virtual" type="xsd:string" minOccurs="0"/>
122
+ <element name="customer_group_id" type="xsd:string" minOccurs="0"/>
123
+ <element name="customer_note_notify" type="xsd:string" minOccurs="0"/>
124
+ <element name="customer_is_guest" type="xsd:string" minOccurs="0"/>
125
+ <element name="email_sent" type="xsd:string" minOccurs="0"/>
126
+ <element name="order_id" type="xsd:string" minOccurs="0"/>
127
+ <element name="gift_message_id" type="xsd:string" minOccurs="0"/>
128
+ <element name="coupon_code" type="xsd:string" minOccurs="0"/>
129
+ <element name="protect_code" type="xsd:string" minOccurs="0"/>
130
+ <element name="base_discount_canceled" type="xsd:string" minOccurs="0"/>
131
+ <element name="base_discount_invoiced" type="xsd:string" minOccurs="0"/>
132
+ <element name="base_discount_refunded" type="xsd:string" minOccurs="0"/>
133
+ <element name="base_shipping_canceled" type="xsd:string" minOccurs="0"/>
134
+ <element name="base_shipping_invoiced" type="xsd:string" minOccurs="0"/>
135
+ <element name="base_shipping_refunded" type="xsd:string" minOccurs="0"/>
136
+ <element name="base_shipping_tax_amount" type="xsd:string" minOccurs="0"/>
137
+ <element name="base_shipping_tax_refunded" type="xsd:string" minOccurs="0"/>
138
+ <element name="base_subtotal_canceled" type="xsd:string" minOccurs="0"/>
139
+ <element name="base_subtotal_invoiced" type="xsd:string" minOccurs="0"/>
140
+ <element name="base_subtotal_refunded" type="xsd:string" minOccurs="0"/>
141
+ <element name="base_tax_canceled" type="xsd:string" minOccurs="0"/>
142
+ <element name="base_tax_invoiced" type="xsd:string" minOccurs="0"/>
143
+ <element name="base_tax_refunded" type="xsd:string" minOccurs="0"/>
144
+ <element name="base_total_invoiced_cost" type="xsd:string" minOccurs="0"/>
145
+ <element name="discount_canceled" type="xsd:string" minOccurs="0"/>
146
+ <element name="discount_invoiced" type="xsd:string" minOccurs="0"/>
147
+ <element name="discount_refunded" type="xsd:string" minOccurs="0"/>
148
+ <element name="shipping_canceled" type="xsd:string" minOccurs="0"/>
149
+ <element name="shipping_invoiced" type="xsd:string" minOccurs="0"/>
150
+ <element name="shipping_refunded" type="xsd:string" minOccurs="0"/>
151
+ <element name="shipping_tax_amount" type="xsd:string" minOccurs="0"/>
152
+ <element name="shipping_tax_refunded" type="xsd:string" minOccurs="0"/>
153
+ <element name="subtotal_canceled" type="xsd:string" minOccurs="0"/>
154
+ <element name="subtotal_invoiced" type="xsd:string" minOccurs="0"/>
155
+ <element name="subtotal_refunded" type="xsd:string" minOccurs="0"/>
156
+ <element name="tax_canceled" type="xsd:string" minOccurs="0"/>
157
+ <element name="tax_invoiced" type="xsd:string" minOccurs="0"/>
158
+ <element name="tax_refunded" type="xsd:string" minOccurs="0"/>
159
+ <element name="can_ship_partially" type="xsd:string" minOccurs="0"/>
160
+ <element name="can_ship_partially_item" type="xsd:string" minOccurs="0"/>
161
+ <element name="edit_increment" type="xsd:string" minOccurs="0"/>
162
+ <element name="forced_do_shipment_with_invoice" type="xsd:string" minOccurs="0"/>
163
+ <element name="payment_authorization_expiration" type="xsd:string" minOccurs="0"/>
164
+ <element name="paypal_ipn_customer_notified" type="xsd:string" minOccurs="0"/>
165
+ <element name="quote_address_id" type="xsd:string" minOccurs="0"/>
166
+ <element name="adjustment_negative" type="xsd:string" minOccurs="0"/>
167
+ <element name="adjustment_positive" type="xsd:string" minOccurs="0"/>
168
+ <element name="base_adjustment_negative" type="xsd:string" minOccurs="0"/>
169
+ <element name="base_adjustment_positive" type="xsd:string" minOccurs="0"/>
170
+ <element name="base_shipping_discount_amount" type="xsd:string" minOccurs="0"/>
171
+ <element name="base_subtotal_incl_tax" type="xsd:string" minOccurs="0"/>
172
+ <element name="base_total_due" type="xsd:string" minOccurs="0"/>
173
+ <element name="payment_authorization_amount" type="xsd:string" minOccurs="0"/>
174
+ <element name="shipping_discount_amount" type="xsd:string" minOccurs="0"/>
175
+ <element name="subtotal_incl_tax" type="xsd:string" minOccurs="0"/>
176
+ <element name="total_due" type="xsd:string" minOccurs="0"/>
177
+ <element name="customer_dob" type="xsd:string" minOccurs="0"/>
178
+ <element name="customer_middlename" type="xsd:string" minOccurs="0"/>
179
+ <element name="customer_prefix" type="xsd:string" minOccurs="0"/>
180
+ <element name="customer_suffix" type="xsd:string" minOccurs="0"/>
181
+ <element name="customer_taxvat" type="xsd:string" minOccurs="0"/>
182
+ <element name="discount_description" type="xsd:string" minOccurs="0"/>
183
+ <element name="ext_customer_id" type="xsd:string" minOccurs="0"/>
184
+ <element name="ext_order_id" type="xsd:string" minOccurs="0"/>
185
+ <element name="hold_before_state" type="xsd:string" minOccurs="0"/>
186
+ <element name="hold_before_status" type="xsd:string" minOccurs="0"/>
187
+ <element name="original_increment_id" type="xsd:string" minOccurs="0"/>
188
+ <element name="relation_child_id" type="xsd:string" minOccurs="0"/>
189
+ <element name="relation_child_real_id" type="xsd:string" minOccurs="0"/>
190
+ <element name="relation_parent_id" type="xsd:string" minOccurs="0"/>
191
+ <element name="relation_parent_real_id" type="xsd:string" minOccurs="0"/>
192
+ <element name="x_forwarded_for" type="xsd:string" minOccurs="0"/>
193
+ <element name="customer_note" type="xsd:string" minOccurs="0"/>
194
+ <element name="total_item_count" type="xsd:string" minOccurs="0"/>
195
+ <element name="customer_gender" type="xsd:string" minOccurs="0"/>
196
+ <element name="hidden_tax_amount" type="xsd:string" minOccurs="0"/>
197
+ <element name="base_hidden_tax_amount" type="xsd:string" minOccurs="0"/>
198
+ <element name="shipping_hidden_tax_amount" type="xsd:string" minOccurs="0"/>
199
+ <element name="base_shipping_hidden_tax_amount" type="xsd:string" minOccurs="0"/>
200
+ <element name="hidden_tax_invoiced" type="xsd:string" minOccurs="0"/>
201
+ <element name="base_hidden_tax_invoiced" type="xsd:string" minOccurs="0"/>
202
+ <element name="hidden_tax_refunded" type="xsd:string" minOccurs="0"/>
203
+ <element name="base_hidden_tax_refunded" type="xsd:string" minOccurs="0"/>
204
+ <element name="shipping_incl_tax" type="xsd:string" minOccurs="0"/>
205
+ <element name="base_shipping_incl_tax" type="xsd:string" minOccurs="0"/>
206
+ <element name="base_customer_balance_amount" type="xsd:string" minOccurs="0"/>
207
+ <element name="customer_balance_amount" type="xsd:string" minOccurs="0"/>
208
+ <element name="base_customer_balance_invoiced" type="xsd:string" minOccurs="0"/>
209
+ <element name="customer_balance_invoiced" type="xsd:string" minOccurs="0"/>
210
+ <element name="base_customer_balance_refunded" type="xsd:string" minOccurs="0"/>
211
+ <element name="customer_balance_refunded" type="xsd:string" minOccurs="0"/>
212
+ <element name="base_customer_balance_total_refunded" type="xsd:string" minOccurs="0"/>
213
+ <element name="customer_balance_total_refunded" type="xsd:string" minOccurs="0"/>
214
+ <element name="gift_cards" type="xsd:string" minOccurs="0"/>
215
+ <element name="base_gift_cards_amount" type="xsd:string" minOccurs="0"/>
216
+ <element name="gift_cards_amount" type="xsd:string" minOccurs="0"/>
217
+ <element name="base_gift_cards_invoiced" type="xsd:string" minOccurs="0"/>
218
+ <element name="gift_cards_invoiced" type="xsd:string" minOccurs="0"/>
219
+ <element name="base_gift_cards_refunded" type="xsd:string" minOccurs="0"/>
220
+ <element name="gift_cards_refunded" type="xsd:string" minOccurs="0"/>
221
+ <element name="reward_points_balance" type="xsd:string" minOccurs="0"/>
222
+ <element name="base_reward_currency_amount" type="xsd:string" minOccurs="0"/>
223
+ <element name="reward_currency_amount" type="xsd:string" minOccurs="0"/>
224
+ <element name="base_reward_currency_amount_invoiced" type="xsd:string" minOccurs="0"/>
225
+ <element name="reward_currency_amount_invoiced" type="xsd:string" minOccurs="0"/>
226
+ <element name="base_reward_currency_amount_refunded" type="xsd:string" minOccurs="0"/>
227
+ <element name="reward_currency_amount_refunded" type="xsd:string" minOccurs="0"/>
228
+ <element name="reward_points_balance_refunded" type="xsd:string" minOccurs="0"/>
229
+ <element name="reward_points_balance_to_refund" type="xsd:string" minOccurs="0"/>
230
+ <element name="reward_salesrule_points" type="xsd:string" minOccurs="0"/>
231
+ <element name="firstname" type="xsd:string" minOccurs="0"/>
232
+ <element name="lastname" type="xsd:string" minOccurs="0"/>
233
+ <element name="telephone" type="xsd:string" minOccurs="0"/>
234
+ <element name="postcode" type="xsd:string" minOccurs="0"/>
235
+ <element name="shipping_address" type="typens:salesOrderAddressEntity" minOccurs="0"/>
236
+ <element name="billing_address" type="typens:salesOrderAddressEntity" minOccurs="0"/>
237
+ <element name="items" type="typens:salesOrderItemEntityArray" minOccurs="0"/>
238
+ <element name="payment" type="typens:salesOrderPaymentEntity" minOccurs="0"/>
239
+ <element name="status_history" type="typens:salesOrderStatusHistoryEntityArray" minOccurs="0"/>
240
+ </all>
241
+ </complexType>
242
+ <complexType name="childrenEntityArray">
243
+ <complexContent>
244
+ <restriction base="soapenc:Array">
245
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:childrenEntity[]"/>
246
+ </restriction>
247
+ </complexContent>
248
+ </complexType>
249
+ <complexType name="childrenEntity">
250
+ <all>
251
+ <element name="product_id" type="xsd:string" minOccurs="0"/>
252
+ <element name="sku" type="xsd:string" minOccurs="0"/>
253
+ <element name="options" type="typens:optionsEntityArray" minOccurs="0"/>
254
+ </all>
255
+ </complexType>
256
+ <complexType name="configurableOptionsEntityArray">
257
+ <complexContent>
258
+ <restriction base="soapenc:Array">
259
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:configurableOptionsEntity[]"/>
260
+ </restriction>
261
+ </complexContent>
262
+ </complexType>
263
+ <complexType name="configurableOptionsEntity">
264
+ <all>
265
+ <element name="code" type="xsd:string" minOccurs="0"/>
266
+ <element name="options" type="typens:optionsEntityArray" minOccurs="0"/>
267
+ </all>
268
+ </complexType>
269
+ <complexType name="optionsEntityArray">
270
+ <complexContent>
271
+ <restriction base="soapenc:Array">
272
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:optionsEntity[]"/>
273
+ </restriction>
274
+ </complexContent>
275
+ </complexType>
276
+ <complexType name="optionsEntity">
277
+ <all>
278
+ <element name="product_super_attribute_id" type="xsd:string" minOccurs="0"/>
279
+ <element name="value_index" type="xsd:string" minOccurs="0"/>
280
+ <element name="value_text" type="xsd:string" minOccurs="0"/>
281
+ <element name="label" type="xsd:string" minOccurs="0"/>
282
+ <element name="default_label" type="xsd:string" minOccurs="0"/>
283
+ <element name="store_label" type="xsd:string" minOccurs="0"/>
284
+ <element name="is_percent" type="xsd:int" minOccurs="0"/>
285
+ <element name="pricing_value" type="xsd:double" minOccurs="0"/>
286
+ <element name="use_default_value" type="xsd:boolean" minOccurs="0"/>
287
+ <element name="attribute_code" type="xsd:string" minOccurs="0"/>
288
+ </all>
289
+ </complexType>
290
+ <complexType name="channelintegrationProductListEntityArray">
291
+ <complexContent>
292
+ <restriction base="soapenc:Array">
293
+ <attribute ref="soapenc:arrayType"
294
+ wsdl:arrayType="typens:channelintegrationProductListEntity[]"/>
295
+ </restriction>
296
+ </complexContent>
297
+ </complexType>
298
+ <complexType name="channelintegrationOrderListEntityArray">
299
+ <complexContent>
300
+ <restriction base="soapenc:Array">
301
+ <attribute ref="soapenc:arrayType"
302
+ wsdl:arrayType="typens:channelintegrationOrderListEntity[]"/>
303
+ </restriction>
304
+ </complexContent>
305
+ </complexType>
306
+ <complexType name="channelintegrationProductInfoEntity">
307
+ <all>
308
+ <element name="product_id" type="xsd:string" minOccurs="0"/>
309
+ <element name="sku" type="xsd:string" minOccurs="0"/>
310
+ <element name="set" type="xsd:string" minOccurs="0"/>
311
+ <element name="type" type="xsd:string" minOccurs="0"/>
312
+ <element name="categories" type="typens:ArrayOfString" minOccurs="0"/>
313
+ <element name="websites" type="typens:ArrayOfString" minOccurs="0"/>
314
+ <element name="created_at" type="xsd:string" minOccurs="0"/>
315
+ <element name="updated_at" type="xsd:string" minOccurs="0"/>
316
+ <element name="type_id" type="xsd:string" minOccurs="0"/>
317
+ <element name="name" type="xsd:string" minOccurs="0"/>
318
+ <element name="description" type="xsd:string" minOccurs="0"/>
319
+ <element name="short_description" type="xsd:string" minOccurs="0"/>
320
+ <element name="weight" type="xsd:string" minOccurs="0"/>
321
+ <element name="status" type="xsd:string" minOccurs="0"/>
322
+ <element name="url_key" type="xsd:string" minOccurs="0"/>
323
+ <element name="url_path" type="xsd:string" minOccurs="0"/>
324
+ <element name="visibility" type="xsd:string" minOccurs="0"/>
325
+ <element name="category_ids" type="typens:ArrayOfString" minOccurs="0"/>
326
+ <element name="website_ids" type="typens:ArrayOfString" minOccurs="0"/>
327
+ <element name="has_options" type="xsd:string" minOccurs="0"/>
328
+ <element name="gift_message_available" type="xsd:string" minOccurs="0"/>
329
+ <element name="price" type="xsd:string" minOccurs="0"/>
330
+ <element name="special_price" type="xsd:string" minOccurs="0"/>
331
+ <element name="special_from_date" type="xsd:string" minOccurs="0"/>
332
+ <element name="special_to_date" type="xsd:string" minOccurs="0"/>
333
+ <element name="tax_class_id" type="xsd:string" minOccurs="0"/>
334
+ <element name="tier_price" type="typens:catalogProductTierPriceEntityArray" minOccurs="0"/>
335
+ <element name="meta_title" type="xsd:string" minOccurs="0"/>
336
+ <element name="meta_keyword" type="xsd:string" minOccurs="0"/>
337
+ <element name="meta_description" type="xsd:string" minOccurs="0"/>
338
+ <element name="custom_design" type="xsd:string" minOccurs="0"/>
339
+ <element name="custom_layout_update" type="xsd:string" minOccurs="0"/>
340
+ <element name="options_container" type="xsd:string" minOccurs="0"/>
341
+ <element name="image_url" type="xsd:string" minOccurs="0"/>
342
+ <element name="qty" type="xsd:string" minOccurs="0"/>
343
+ <element name="additional_attributes" type="typens:associativeArray" minOccurs="0"/>
344
+ <element name="configurable_parent_product_ids" type="typens:ArrayOfString"/>
345
+ <element name="grouped_parent_product_ids" type="typens:ArrayOfString"/>
346
+ <element name="configurable_child_product_ids" type="typens:ArrayOfString"/>
347
+ <element name="grouped_child_product_ids" type="typens:ArrayOfString"/>
348
+ <element name="parent_sku" type="xsd:string" minOccurs="0"/>
349
+ <element name="url_complete" type="xsd:string" minOccurs="0"/>
350
+ <element name="configurable_products_data" type="typens:childrenEntityArray" minOccurs="0"/>
351
+ <element name="configurable_attributes_data" type="typens:configurableOptionsEntityArray"
352
+ minOccurs="0"/>
353
+ <element name="stock_data" type="typens:catalogInventoryStockItemEntityArray" minOccurs="0"/>
354
+ <element name="images" type="typens:catalogProductImageEntityArray" minOccurs="0"/>
355
+ </all>
356
+ </complexType>
357
+ </schema>
358
+ </types>
359
+
360
+ <message name="channelintegrationProductListRequest">
361
+ <part name="sessionId" type="xsd:string"/>
362
+ <part name="filters" type="typens:filters"/>
363
+ </message>
364
+ <message name="channelintegrationProductListResponse">
365
+ <part name="result" type="typens:channelintegrationProductListEntityArray"/>
366
+ </message>
367
+ <message name="channelintegrationProductInfoRequest">
368
+ <part name="sessionId" type="xsd:string"/>
369
+ <part name="productId" type="xsd:string"/>
370
+ </message>
371
+ <message name="channelintegrationProductInfoResponse">
372
+ <part name="result" type="typens:channelintegrationProductInfoEntity"/>
373
+ </message>
374
+
375
+ <message name="channelintegrationOrderListRequest">
376
+ <part name="sessionId" type="xsd:string"/>
377
+ <part name="filters" type="typens:filters"/>
378
+ </message>
379
+ <message name="channelintegrationOrderListResponse">
380
+ <part name="result" type="typens:channelintegrationOrderListEntityArray"/>
381
+ </message>
382
+ <message name="channelintegrationOrderInfoRequest">
383
+ <part name="sessionId" type="xsd:string"/>
384
+ <part name="orderId" type="xsd:string"/>
385
+ </message>
386
+ <message name="channelintegrationOrderInfoResponse">
387
+ <part name="result" type="typens:channelintegrationOrderInfoEntity"/>
388
+ </message>
389
+
390
+ <portType name="{{var wsdl.handler}}PortType">
391
+ <operation name="channelintegrationProductList">
392
+ <documentation>Retrieve list of test_label</documentation>
393
+ <input message="typens:channelintegrationProductListRequest"/>
394
+ <output message="typens:channelintegrationProductListResponse"/>
395
+ </operation>
396
+ <operation name="channelintegrationProductInfo">
397
+ <documentation>Retrieve test_label info</documentation>
398
+ <input message="typens:channelintegrationProductInfoRequest"/>
399
+ <output message="typens:channelintegrationProductInfoResponse"/>
400
+ </operation>
401
+
402
+ <operation name="channelintegrationOrderList">
403
+ <documentation>Retrieve list of test_label</documentation>
404
+ <input message="typens:channelintegrationOrderListRequest"/>
405
+ <output message="typens:channelintegrationOrderListResponse"/>
406
+ </operation>
407
+ <operation name="channelintegrationOrderInfo">
408
+ <documentation>Retrieve test_label info</documentation>
409
+ <input message="typens:channelintegrationOrderInfoRequest"/>
410
+ <output message="typens:channelintegrationOrderInfoResponse"/>
411
+ </operation>
412
+ </portType>
413
+ <binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
414
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
415
+ <operation name="channelintegrationProductList">
416
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
417
+ <input>
418
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
419
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
420
+ </input>
421
+ <output>
422
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
423
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
424
+ </output>
425
+ </operation>
426
+ <operation name="channelintegrationProductInfo">
427
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
428
+ <input>
429
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
430
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
431
+ </input>
432
+ <output>
433
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
434
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
435
+ </output>
436
+ </operation>
437
+
438
+ <operation name="channelintegrationOrderList">
439
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
440
+ <input>
441
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
442
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
443
+ </input>
444
+ <output>
445
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
446
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
447
+ </output>
448
+ </operation>
449
+ <operation name="channelintegrationOrderInfo">
450
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
451
+ <input>
452
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
453
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
454
+ </input>
455
+ <output>
456
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
457
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
458
+ </output>
459
+ </operation>
460
+ </binding>
461
+ <service name="{{var wsdl.name}}Service">
462
+ <port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
463
+ <soap:address location="{{var wsdl.url}}"/>
464
+ </port>
465
+ </service>
466
+ </definitions>
app/code/community/StitchLabs/ChannelIntegration/etc/wsi.xml ADDED
@@ -0,0 +1,243 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <wsdl:definitions xmlns:typens="urn:{{var wsdl.name}}"
3
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
5
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
6
+ name="{{var wsdl.name}}"
7
+ targetNamespace="urn:{{var wsdl.name}}">
8
+ <wsdl:types>
9
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:{{var wsdl.name}}">
10
+ <xsd:complexType name="channelintegrationProductEntityArray">
11
+ <xsd:sequence>
12
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray"
13
+ type="typens:channelintegrationProductEntity"/>
14
+ </xsd:sequence>
15
+ </xsd:complexType>
16
+ <xsd:complexType name="channelintegrationProductEntity">
17
+ <xsd:sequence>
18
+ <xsd:element name="entity_id" type="xsd:string"/>
19
+ <xsd:element name="tattribute" type="xsd:string"/>
20
+ <xsd:element name="status" type="xsd:string"/>
21
+
22
+ <xsd:element name="created_at" type="xsd:string"/>
23
+ <xsd:element name="updated_at" type="xsd:string"/>
24
+ </xsd:sequence>
25
+ </xsd:complexType>
26
+ <xsd:complexType name="channelintegrationProductAddEntity">
27
+ <xsd:sequence>
28
+ <xsd:element name="tattribute" type="xsd:string"/>
29
+ <xsd:element name="status" type="xsd:string"/>
30
+
31
+ </xsd:sequence>
32
+ </xsd:complexType>
33
+ <xsd:complexType name="channelintegrationProductUpdateEntity">
34
+ <xsd:sequence>
35
+ <xsd:element name="tattribute" type="xsd:string"/>
36
+ <xsd:element name="status" type="xsd:string"/>
37
+
38
+ </xsd:sequence>
39
+ </xsd:complexType>
40
+ <xsd:complexType name="channelintegrationProductInfoEntity">
41
+ <xsd:sequence>
42
+ <xsd:element name="entity_id" type="xsd:string"/>
43
+ <xsd:element name="tattribute" type="xsd:string"/>
44
+ <xsd:element name="status" type="xsd:string"/>
45
+
46
+ <xsd:element name="created_at" type="xsd:string"/>
47
+ <xsd:element name="updated_at" type="xsd:string"/>
48
+ </xsd:sequence>
49
+ </xsd:complexType>
50
+
51
+ <xsd:element name="channelintegrationProductListRequestParam">
52
+ <xsd:complexType>
53
+ <xsd:sequence>
54
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string"/>
55
+ <xsd:element minOccurs="0" maxOccurs="1" name="filters" type="typens:filters"/>
56
+ </xsd:sequence>
57
+ </xsd:complexType>
58
+ </xsd:element>
59
+ <xsd:element name="channelintegrationProductListResponseParam">
60
+ <xsd:complexType>
61
+ <xsd:sequence>
62
+ <xsd:element minOccurs="0" maxOccurs="1" name="result"
63
+ type="typens:channelintegrationProductEntityArray"/>
64
+ </xsd:sequence>
65
+ </xsd:complexType>
66
+ </xsd:element>
67
+ <xsd:element name="channelintegrationProductInfoRequestParam">
68
+ <xsd:complexType>
69
+ <xsd:sequence>
70
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string"/>
71
+ <xsd:element minOccurs="1" maxOccurs="1" name="productId" type="xsd:string"/>
72
+ </xsd:sequence>
73
+ </xsd:complexType>
74
+ </xsd:element>
75
+ <xsd:element name="channelintegrationProductInfoResponseParam">
76
+ <xsd:complexType>
77
+ <xsd:sequence>
78
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
79
+ type="typens:channelintegrationProductInfoEntity"/>
80
+ </xsd:sequence>
81
+ </xsd:complexType>
82
+ </xsd:element>
83
+ <xsd:element name="channelintegrationProductAddRequestParam">
84
+ <xsd:complexType>
85
+ <xsd:sequence>
86
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string"/>
87
+ <xsd:element minOccurs="1" maxOccurs="1" name="data"
88
+ type="typens:channelintegrationProductAddEntity"/>
89
+ </xsd:sequence>
90
+ </xsd:complexType>
91
+ </xsd:element>
92
+ <xsd:element name="channelintegrationProductAddResponseParam">
93
+ <xsd:complexType>
94
+ <xsd:sequence>
95
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int"/>
96
+ </xsd:sequence>
97
+ </xsd:complexType>
98
+ </xsd:element>
99
+ <xsd:element name="channelintegrationProductUpdateRequestParam">
100
+ <xsd:complexType>
101
+ <xsd:sequence>
102
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string"/>
103
+ <xsd:element minOccurs="1" maxOccurs="1" name="productId" type="xsd:string"/>
104
+ <xsd:element minOccurs="1" maxOccurs="1" name="data"
105
+ type="typens:channelintegrationProductUpdateEntity"/>
106
+ </xsd:sequence>
107
+ </xsd:complexType>
108
+ </xsd:element>
109
+ <xsd:element name="channelintegrationProductUpdateResponseParam">
110
+ <xsd:complexType>
111
+ <xsd:sequence>
112
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean"/>
113
+ </xsd:sequence>
114
+ </xsd:complexType>
115
+ </xsd:element>
116
+ <xsd:element name="channelintegrationProductRemoveRequestParam">
117
+ <xsd:complexType>
118
+ <xsd:sequence>
119
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string"/>
120
+ <xsd:element minOccurs="1" maxOccurs="1" name="productId" type="xsd:string"/>
121
+ </xsd:sequence>
122
+ </xsd:complexType>
123
+ </xsd:element>
124
+ <xsd:element name="channelintegrationProductRemoveResponseParam">
125
+ <xsd:complexType>
126
+ <xsd:sequence>
127
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean"/>
128
+ </xsd:sequence>
129
+ </xsd:complexType>
130
+ </xsd:element>
131
+ </xsd:schema>
132
+ </wsdl:types>
133
+ <wsdl:message name="channelintegrationProductListRequest">
134
+ <wsdl:part name="parameters" element="typens:channelintegrationProductListRequestParam"/>
135
+ </wsdl:message>
136
+ <wsdl:message name="channelintegrationProductListResponse">
137
+ <wsdl:part name="parameters" element="typens:channelintegrationProductListResponseParam"/>
138
+ </wsdl:message>
139
+ <wsdl:message name="channelintegrationProductInfoRequest">
140
+ <wsdl:part name="parameters" element="typens:channelintegrationProductInfoRequestParam"/>
141
+ </wsdl:message>
142
+ <wsdl:message name="channelintegrationProductInfoResponse">
143
+ <wsdl:part name="parameters" element="typens:channelintegrationProductInfoResponseParam"/>
144
+ </wsdl:message>
145
+ <wsdl:message name="channelintegrationProductAddRequest">
146
+ <wsdl:part name="parameters" element="typens:channelintegrationProductAddRequestParam"/>
147
+ </wsdl:message>
148
+ <wsdl:message name="channelintegrationProductAddResponse">
149
+ <wsdl:part name="parameters" element="typens:channelintegrationProductAddResponseParam"/>
150
+ </wsdl:message>
151
+ <wsdl:message name="channelintegrationProductUpdateRequest">
152
+ <wsdl:part name="parameters" element="typens:channelintegrationProductUpdateRequestParam"/>
153
+ </wsdl:message>
154
+ <wsdl:message name="channelintegrationProductUpdateResponse">
155
+ <wsdl:part name="parameters" element="typens:channelintegrationProductUpdateResponseParam"/>
156
+ </wsdl:message>
157
+ <wsdl:message name="channelintegrationProductRemoveRequest">
158
+ <wsdl:part name="parameters" element="typens:channelintegrationProductRemoveRequestParam"/>
159
+ </wsdl:message>
160
+ <wsdl:message name="channelintegrationProductRemoveResponse">
161
+ <wsdl:part name="parameters" element="typens:channelintegrationProductRemoveResponseParam"/>
162
+ </wsdl:message>
163
+ <wsdl:portType name="{{var wsdl.handler}}PortType">
164
+ <wsdl:operation name="channelintegrationProductList">
165
+ <wsdl:documentation>Retrieve list of test_labels</wsdl:documentation>
166
+ <wsdl:input message="typens:channelintegrationProductListRequest"/>
167
+ <wsdl:output message="typens:channelintegrationProductListResponse"/>
168
+ </wsdl:operation>
169
+ <wsdl:operation name="channelintegrationProductInfo">
170
+ <wsdl:documentation>Retrieve test_label info</wsdl:documentation>
171
+ <wsdl:input message="typens:channelintegrationProductInfoRequest"/>
172
+ <wsdl:output message="typens:channelintegrationProductInfoResponse"/>
173
+ </wsdl:operation>
174
+ <wsdl:operation name="channelintegrationProductAdd">
175
+ <wsdl:documentation>Add test_label</wsdl:documentation>
176
+ <wsdl:input message="typens:channelintegrationProductAddRequest"/>
177
+ <wsdl:output message="typens:channelintegrationProductAddResponse"/>
178
+ </wsdl:operation>
179
+ <wsdl:operation name="channelintegrationProductUpdate">
180
+ <wsdl:documentation>Update test_label</wsdl:documentation>
181
+ <wsdl:input message="typens:channelintegrationProductUpdateRequest"/>
182
+ <wsdl:output message="typens:channelintegrationProductUpdateResponse"/>
183
+ </wsdl:operation>
184
+ <wsdl:operation name="channelintegrationProductRemove">
185
+ <wsdl:documentation>Remove test_label</wsdl:documentation>
186
+ <wsdl:input message="typens:channelintegrationProductRemoveRequest"/>
187
+ <wsdl:output message="typens:channelintegrationProductRemoveResponse"/>
188
+ </wsdl:operation>
189
+ </wsdl:portType>
190
+ <wsdl:binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
191
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
192
+ <wsdl:operation name="channelintegrationProductList">
193
+ <soap:operation soapAction=""/>
194
+ <wsdl:input>
195
+ <soap:body use="literal"/>
196
+ </wsdl:input>
197
+ <wsdl:output>
198
+ <soap:body use="literal"/>
199
+ </wsdl:output>
200
+ </wsdl:operation>
201
+ <wsdl:operation name="channelintegrationProductInfo">
202
+ <soap:operation soapAction=""/>
203
+ <wsdl:input>
204
+ <soap:body use="literal"/>
205
+ </wsdl:input>
206
+ <wsdl:output>
207
+ <soap:body use="literal"/>
208
+ </wsdl:output>
209
+ </wsdl:operation>
210
+ <wsdl:operation name="channelintegrationProductAdd">
211
+ <soap:operation soapAction=""/>
212
+ <wsdl:input>
213
+ <soap:body use="literal"/>
214
+ </wsdl:input>
215
+ <wsdl:output>
216
+ <soap:body use="literal"/>
217
+ </wsdl:output>
218
+ </wsdl:operation>
219
+ <wsdl:operation name="channelintegrationProductUpdate">
220
+ <soap:operation soapAction=""/>
221
+ <wsdl:input>
222
+ <soap:body use="literal"/>
223
+ </wsdl:input>
224
+ <wsdl:output>
225
+ <soap:body use="literal"/>
226
+ </wsdl:output>
227
+ </wsdl:operation>
228
+ <wsdl:operation name="channelintegrationProductRemove">
229
+ <soap:operation soapAction=""/>
230
+ <wsdl:input>
231
+ <soap:body use="literal"/>
232
+ </wsdl:input>
233
+ <wsdl:output>
234
+ <soap:body use="literal"/>
235
+ </wsdl:output>
236
+ </wsdl:operation>
237
+ </wsdl:binding>
238
+ <wsdl:service name="{{var wsdl.name}}Service">
239
+ <wsdl:port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
240
+ <soap:address location="{{var wsdl.url}}"/>
241
+ </wsdl:port>
242
+ </wsdl:service>
243
+ </wsdl:definitions>
app/etc/modules/StitchLabs_ChannelIntegration.xml ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is bundled with this package in the file LICENSE.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/osl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * @category StitchLabs
17
+ * @package StitchLabs_ChannelIntegration
18
+ * @copyright Copyright (c) 2012 StitchLabs Medien GmbH & Co. KG (http://www.phoenix-medien.de)
19
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
20
+ */
21
+ -->
22
+ <config>
23
+ <modules>
24
+ <StitchLabs_ChannelIntegration>
25
+ <active>true</active>
26
+ <codePool>community</codePool>
27
+ </StitchLabs_ChannelIntegration>
28
+ </modules>
29
+ </config>
package.xml ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>StitchLabs_ChannelIntegration</name>
4
+ <version>1.0.2</version>
5
+ <stability>stable</stability>
6
+ <license>MIT</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>This extension provides integration with StitchLabs</summary>
10
+ <description>This extension provides integration with StitchLabs</description>
11
+ <notes>1.0.2&#xD;
12
+ * Added missing stock_data to product info WSDL&#xD;
13
+ &#xD;
14
+ 1.0.1&#xD;
15
+ * Add pagination functionality&#xD;
16
+ &#xD;
17
+ 1.0.0&#xD;
18
+ * Initial working release</notes>
19
+ <authors><author><name>Stitch Labs</name><user>rnavarro</user><email>dev@stitchlabs.com</email></author></authors>
20
+ <date>2014-09-22</date>
21
+ <time>17:33:59</time>
22
+ <contents><target name="magecommunity"><dir name="StitchLabs"><dir name="ChannelIntegration"><dir name="Helper"><file name="Data.php" hash="99816c036bf2e85ee80532eea931d364"/></dir><dir name="Model"><dir name="Order"><dir name="Api"><file name="V2.php" hash="069f37eed8455d193c69dcb10ee761c4"/></dir><file name="Api.php" hash="e3e771c8ec9ec0344a99f29dd446ad8f"/></dir><dir name="Product"><dir name="Api"><file name="V2.php" hash="58a2ceef48359730fc22d53896ea0086"/></dir><file name="Api.php" hash="d0eba04915b75905a477ec624b77f4b3"/></dir><file name="Product.php" hash="98fee14cbed0a95ad2426612226d526c"/><dir name="Resource"><dir name="Order"><file name="Collection.php" hash="a7d05e49a418f467c887752f3ea25ee7"/></dir><file name="Order.php" hash="accdce477026b896d190027987229d55"/><dir name="Product"><file name="Collection.php" hash="2e05486fcb4474fcad3c2681c628b74e"/></dir><file name="Product.php" hash="2e38d111342b23c574101e0344adbc6b"/><file name="Setup.php" hash="dbaff42087358b9a6451a4971dce3817"/></dir></dir><dir name="etc"><file name="api.xml" hash="13ae978dea5c8eedabb7333f808b7545"/><file name="config.xml" hash="c7cc22b4f87c4bd8a9e17e6b9bcaa59d"/><file name="wsdl.xml" hash="30fabcb814767d6a79ec59e54d652d6f"/><file name="wsi.xml" hash="9dd060c265efa9b4302f66306b808374"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="StitchLabs_ChannelIntegration.xml" hash="3b9a13293b9d8dc3bb795450c4fe271a"/></dir></target></contents>
23
+ <compatible/>
24
+ <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
25
+ </package>