Oro_Api - Version 1.2.0.0

Version Notes

OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.

Download this release

Release Info

Developer Oro, Inc
Extension Oro_Api
Version 1.2.0.0
Comparing to
See all releases


Code changes from version 1.1.4.4 to 1.2.0.0

Files changed (41) hide show
  1. app/code/community/Oro/Api/Helper/Data.php +259 -151
  2. app/code/community/Oro/Api/Model/Catalog/Product/Api/V2.php +60 -60
  3. app/code/community/Oro/Api/Model/Customer/Address/Api.php +143 -0
  4. app/code/community/Oro/Api/Model/Customer/Address/Api/V2.php +21 -0
  5. app/code/community/Oro/Api/Model/Customer/Api.php +244 -123
  6. app/code/community/Oro/Api/Model/Customer/Api/V2.php +22 -22
  7. app/code/community/Oro/Api/Model/Newsletter/Subscriber/Api.php +241 -39
  8. app/code/community/Oro/Api/Model/Newsletter/Subscriber/Api/V2.php +21 -21
  9. app/code/community/Oro/Api/Model/Observer.php +29 -0
  10. app/code/community/Oro/Api/Model/Observer/Crm/Controller.php +171 -171
  11. app/code/community/Oro/Api/Model/Observer/Sales/Order.php +36 -36
  12. app/code/community/Oro/Api/Model/Ping.php +31 -32
  13. app/code/community/Oro/Api/Model/Ping/V2.php +20 -20
  14. app/code/community/Oro/Api/Model/Report/Product/Viewed/Api.php +43 -43
  15. app/code/community/Oro/Api/Model/Report/Product/Viewed/Api/V2.php +22 -22
  16. app/code/community/Oro/Api/Model/Resource/Reports/Product/Index/Viewed/Collection.php +43 -43
  17. app/code/community/Oro/Api/Model/Sales/Order/Api.php +223 -156
  18. app/code/community/Oro/Api/Model/Sales/Order/Api/V2.php +22 -22
  19. app/code/community/Oro/Api/Model/Sales/Quote/Api.php +176 -96
  20. app/code/community/Oro/Api/Model/Sales/Quote/Api/V2.php +21 -21
  21. app/code/community/Oro/Api/Model/Website/Api.php +38 -0
  22. app/code/community/Oro/Api/Model/Website/Api/V2.php +21 -0
  23. app/code/community/Oro/Api/Model/Wishlist/Api.php +44 -44
  24. app/code/community/Oro/Api/Model/Wishlist/Api/V2.php +21 -21
  25. app/code/community/Oro/Api/Model/Wishlist/Item/Api.php +44 -44
  26. app/code/community/Oro/Api/Model/Wishlist/Item/Api/V2.php +21 -21
  27. app/code/community/Oro/Api/controllers/Adminhtml/Oro/GatewayController.php +73 -73
  28. app/code/community/Oro/Api/controllers/Adminhtml/Oro/SalesController.php +106 -106
  29. app/code/community/Oro/Api/etc/api.xml +347 -205
  30. app/code/community/Oro/Api/etc/config.xml +115 -105
  31. app/code/community/Oro/Api/etc/system.xml +53 -0
  32. app/code/community/Oro/Api/etc/workflow.xml +9 -9
  33. app/code/community/Oro/Api/etc/wsdl.xml +658 -419
  34. app/code/community/Oro/Api/etc/wsi.xml +991 -497
  35. app/design/adminhtml/default/default/template/oro/api/check.phtml +57 -57
  36. app/design/adminhtml/default/default/template/oro/api/login_styles.phtml +10 -10
  37. app/design/adminhtml/default/default/template/oro/api/page.phtml +61 -61
  38. app/design/adminhtml/default/default/template/oro/api/script.phtml +18 -18
  39. app/etc/modules/Oro_Api.xml +27 -27
  40. package.xml +4 -4
  41. skin/adminhtml/default/default/oro_style.css +289 -289
app/code/community/Oro/Api/Helper/Data.php CHANGED
@@ -1,151 +1,259 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Helper_Data
19
- extends Mage_Api_Helper_Data
20
- {
21
- /**
22
- * @return string
23
- */
24
- public function getModuleName()
25
- {
26
- return $this->_getModuleName();
27
- }
28
-
29
- /**
30
- * Parse filters and format them to be applicable for collection filtration
31
- *
32
- * @param null|object|array $filters
33
- * @param array $fieldsMap Map of field names in format: array('field_name_in_filter' => 'field_name_in_db')
34
- * @return array
35
- */
36
- public function parseFilters($filters, $fieldsMap = null)
37
- {
38
- // if filters are used in SOAP they must be represented in array format to be used for collection filtration
39
- if (is_object($filters)) {
40
- $parsedFilters = array();
41
- // parse simple filter
42
- if (isset($filters->filter) && is_array($filters->filter)) {
43
- foreach ($filters->filter as $field => $value) {
44
- if (is_object($value) && isset($value->key) && isset($value->value)) {
45
- $parsedFilters[$value->key] = $value->value;
46
- } else {
47
- $parsedFilters[$field] = $value;
48
- }
49
- }
50
- }
51
- // parse complex filter
52
- if (isset($filters->complex_filter) && is_array($filters->complex_filter)) {
53
- $parsedFilters += $this->_parseComplexFilter($filters->complex_filter);
54
- }
55
-
56
- $filters = $parsedFilters;
57
- }
58
- // make sure that method result is always array
59
- if (!is_array($filters)) {
60
- $filters = array();
61
- }
62
- // apply fields mapping
63
- if (isset($fieldsMap) && is_array($fieldsMap)) {
64
- foreach ($filters as $field => $value) {
65
- if (isset($fieldsMap[$field])) {
66
- unset($filters[$field]);
67
- $field = $fieldsMap[$field];
68
- $filters[$field] = $value;
69
- }
70
- }
71
- }
72
- return $filters;
73
- }
74
-
75
- /**
76
- * Parses complex filter, which may contain several nodes, e.g. when user want to fetch orders which were updated
77
- * between two dates.
78
- *
79
- * @param array $complexFilter
80
- * @return array
81
- */
82
- protected function _parseComplexFilter($complexFilter)
83
- {
84
- $parsedFilters = array();
85
-
86
- foreach ($complexFilter as $filter) {
87
- if (!isset($filter->key) || !isset($filter->value)) {
88
- continue;
89
- }
90
-
91
- list($fieldName, $condition) = array($filter->key, $filter->value);
92
- $conditionName = $condition->key;
93
- $conditionValue = $condition->value;
94
- $this->formatFilterConditionValue($conditionName, $conditionValue);
95
-
96
- if (array_key_exists($fieldName, $parsedFilters)) {
97
- $parsedFilters[$fieldName] += array($conditionName => $conditionValue);
98
- } else {
99
- $parsedFilters[$fieldName] = array($conditionName => $conditionValue);
100
- }
101
- }
102
-
103
- return $parsedFilters;
104
- }
105
-
106
- /**
107
- * Convert condition value from the string into the array
108
- * for the condition operators that require value to be an array.
109
- * Condition value is changed by reference
110
- *
111
- * @param string $conditionOperator
112
- * @param string $conditionValue
113
- */
114
- public function formatFilterConditionValue($conditionOperator, &$conditionValue)
115
- {
116
- if (is_string($conditionOperator) && in_array($conditionOperator, array('in', 'nin', 'finset'))
117
- && is_string($conditionValue)
118
- ) {
119
- $delimiter = ',';
120
- $conditionValue = explode($delimiter, $conditionValue);
121
- }
122
- }
123
-
124
- /**
125
- * @param Varien_Data_Collection_Db $collection
126
- * @param \stdClass|null $pager
127
- *
128
- * @return boolean
129
- */
130
- public function applyPager($collection, $pager)
131
- {
132
- if ($pager->pageSize && $pager->page) {
133
- $collection->setCurPage($pager->page);
134
- $collection->setPageSize($pager->pageSize);
135
-
136
- if ($collection->getCurPage() != $pager->page) {
137
- return false;
138
- }
139
- }
140
-
141
- return true;
142
- }
143
-
144
- /**
145
- * @return bool
146
- */
147
- public function isOroRequest()
148
- {
149
- return (bool) Mage::registry('is-oro-request');
150
- }
151
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Helper_Data
19
+ extends Mage_Api_Helper_Data
20
+ {
21
+ const XPATH_ATTRIBUTES_ENABLED = 'oro/api/enable_attributes';
22
+
23
+ /**
24
+ * @return string
25
+ */
26
+ public function getModuleName()
27
+ {
28
+ return $this->_getModuleName();
29
+ }
30
+
31
+ /**
32
+ * Parse filters and format them to be applicable for collection filtration
33
+ *
34
+ * @param null|object|array $filters
35
+ * @param array $fieldsMap Map of field names in format: array('field_name_in_filter' => 'field_name_in_db')
36
+ * @return array
37
+ */
38
+ public function parseFilters($filters, $fieldsMap = null)
39
+ {
40
+ // if filters are used in SOAP they must be represented in array format to be used for collection filtration
41
+ if (is_object($filters)) {
42
+ $parsedFilters = array();
43
+ // parse simple filter
44
+ if (isset($filters->filter) && is_array($filters->filter)) {
45
+ foreach ($filters->filter as $field => $value) {
46
+ if (is_object($value) && isset($value->key) && isset($value->value)) {
47
+ $parsedFilters[$value->key] = $value->value;
48
+ } else {
49
+ $parsedFilters[$field] = $value;
50
+ }
51
+ }
52
+ }
53
+ // parse complex filter
54
+ if (isset($filters->complex_filter) && is_array($filters->complex_filter)) {
55
+ $parsedFilters += $this->_parseComplexFilter($filters->complex_filter);
56
+ }
57
+
58
+ $filters = $parsedFilters;
59
+ }
60
+ // make sure that method result is always array
61
+ if (!is_array($filters)) {
62
+ $filters = array();
63
+ }
64
+ // apply fields mapping
65
+ if (isset($fieldsMap) && is_array($fieldsMap)) {
66
+ foreach ($filters as $field => $value) {
67
+ if (isset($fieldsMap[$field])) {
68
+ unset($filters[$field]);
69
+ $field = $fieldsMap[$field];
70
+ $filters[$field] = $value;
71
+ }
72
+ }
73
+ }
74
+ return $filters;
75
+ }
76
+
77
+ /**
78
+ * Parses complex filter, which may contain several nodes, e.g. when user want to fetch orders which were updated
79
+ * between two dates.
80
+ *
81
+ * @param array $complexFilter
82
+ * @return array
83
+ */
84
+ protected function _parseComplexFilter($complexFilter)
85
+ {
86
+ $parsedFilters = array();
87
+
88
+ foreach ($complexFilter as $filter) {
89
+ if (!isset($filter->key) || !isset($filter->value)) {
90
+ continue;
91
+ }
92
+
93
+ list($fieldName, $condition) = array($filter->key, $filter->value);
94
+ $conditionName = $condition->key;
95
+ $conditionValue = $condition->value;
96
+ $this->formatFilterConditionValue($conditionName, $conditionValue);
97
+
98
+ if (array_key_exists($fieldName, $parsedFilters)) {
99
+ $parsedFilters[$fieldName] += array($conditionName => $conditionValue);
100
+ } else {
101
+ $parsedFilters[$fieldName] = array($conditionName => $conditionValue);
102
+ }
103
+ }
104
+
105
+ return $parsedFilters;
106
+ }
107
+
108
+ /**
109
+ * Convert condition value from the string into the array
110
+ * for the condition operators that require value to be an array.
111
+ * Condition value is changed by reference
112
+ *
113
+ * @param string $conditionOperator
114
+ * @param string $conditionValue
115
+ */
116
+ public function formatFilterConditionValue($conditionOperator, &$conditionValue)
117
+ {
118
+ if (is_string($conditionOperator) && in_array($conditionOperator, array('in', 'nin', 'finset'))
119
+ && is_string($conditionValue)
120
+ ) {
121
+ $delimiter = ',';
122
+ $conditionValue = explode($delimiter, $conditionValue);
123
+ }
124
+ }
125
+
126
+ /**
127
+ * @param Varien_Data_Collection_Db $collection
128
+ * @param \stdClass|null $pager
129
+ *
130
+ * @return boolean
131
+ */
132
+ public function applyPager($collection, $pager)
133
+ {
134
+ if ($pager->pageSize && $pager->page) {
135
+ $collection->setCurPage($pager->page);
136
+ $collection->setPageSize($pager->pageSize);
137
+
138
+ if ($collection->getCurPage() != $pager->page) {
139
+ return false;
140
+ }
141
+ }
142
+
143
+ return true;
144
+ }
145
+
146
+ /**
147
+ * @return bool
148
+ */
149
+ public function isOroRequest()
150
+ {
151
+ return (bool) Mage::registry('is-oro-request');
152
+ }
153
+
154
+ /**
155
+ * Get WSDL/WSI complexType attributes by complex type name.
156
+ *
157
+ * @param string $typeName
158
+ * @return array
159
+ */
160
+ public function getComplexTypeAttributes($typeName)
161
+ {
162
+ /** @var Mage_Api_Model_Wsdl_Config $wsdlModel */
163
+ $wsdlModel = Mage::getModel('api/wsdl_config');
164
+ $wsdlModel->init();
165
+
166
+ $elements = array();
167
+ if ($this->isComplianceWSI()) {
168
+ $elements = $wsdlModel->getXpath(
169
+ 'wsdl:types/xsd:schema/xsd:complexType[@name="' . $typeName . '"]/xsd:sequence/xsd:element'
170
+ );
171
+ } else {
172
+ $typeDefinition = $wsdlModel->getNode('types/schema/complexType@name="' . $typeName . '"/all');
173
+ if ($typeDefinition && $typeDefinition->children()->count() > 0) {
174
+ $elements = $typeDefinition->children();
175
+ }
176
+ }
177
+
178
+ $exposedAttributes = array();
179
+ /** @var Mage_Api_Model_Wsdl_Config_Element $definitionNode */
180
+ foreach ($elements as $definitionNode) {
181
+ $name = (string)$definitionNode->getAttribute('name');
182
+ $type = (string)$definitionNode->getAttribute('type');
183
+ $exposedAttributes[$name] = $type;
184
+ }
185
+
186
+ return $exposedAttributes;
187
+ }
188
+
189
+ /**
190
+ * Get WSDL/WSI complexType scalar attributes by complex type name.
191
+ *
192
+ * @param string $typeName
193
+ * @return array
194
+ */
195
+ public function getComplexTypeScalarAttributes($typeName)
196
+ {
197
+ $scalarTypes = array('xsd:string', 'xsd:int', 'xsd:double', 'xsd:boolean', 'xsd:long');
198
+
199
+ $result = array();
200
+ $attributes = $this->getComplexTypeAttributes($typeName);
201
+ foreach ($attributes as $typeName => $type) {
202
+ if (in_array($type, $scalarTypes, true)) {
203
+ $result[] = $typeName;
204
+ }
205
+ }
206
+
207
+ return $result;
208
+ }
209
+
210
+ /**
211
+ * Get entity attributes that are not not present in known attributes list.
212
+ *
213
+ * @param Varien_Object $entity
214
+ * @param array $data
215
+ * @param array $exclude
216
+ * @param array $include
217
+ * @return array
218
+ */
219
+ public function getNotIncludedAttributes(
220
+ Varien_Object $entity,
221
+ array $data,
222
+ array $exclude = array(),
223
+ array $include = array()
224
+ ) {
225
+ if (!Mage::getStoreConfig(self::XPATH_ATTRIBUTES_ENABLED)) {
226
+ return array();
227
+ }
228
+
229
+ $entityData = $entity->__toArray();
230
+ $knownAttributes = array_diff(array_keys($entityData), $exclude);
231
+ $attributesToExpose = array_merge($knownAttributes, $include);
232
+
233
+ $attributes = array_intersect_key(
234
+ array_merge($data, $entityData),
235
+ array_combine($attributesToExpose, $attributesToExpose)
236
+ );
237
+
238
+ return $this->packAssoc($attributes);
239
+ }
240
+
241
+ /**
242
+ * Pack associative array to format supported by API.
243
+ *
244
+ * @param array $data
245
+ * @return array
246
+ */
247
+ public function packAssoc(array $data)
248
+ {
249
+ $result = array();
250
+ foreach ($data as $key => $value) {
251
+ $result[] = array(
252
+ 'key' => $key,
253
+ 'value' => $value
254
+ );
255
+ }
256
+
257
+ return $result;
258
+ }
259
+ }
app/code/community/Oro/Api/Model/Catalog/Product/Api/V2.php CHANGED
@@ -1,61 +1,61 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Catalog_Product_Api_V2
19
- extends Mage_Catalog_Model_Product_Api_V2
20
- {
21
- /**
22
- * Retrieve list of products with basic info (id, sku, type, set, name)
23
- *
24
- * @param null|object|array $filters
25
- * @param string|int $store
26
- * @return array
27
- */
28
- public function items($filters = null, $store = null)
29
- {
30
- /** @var Mage_Catalog_Model_Resource_Product_Collection $collection */
31
- $collection = Mage::getModel('catalog/product')->getCollection();
32
- $collection->addStoreFilter($this->_getStoreId($store));
33
- $collection->addAttributeToSelect(array('name', 'price', 'special_price'));
34
-
35
- /** @var $apiHelper Mage_Api_Helper_Data */
36
- $apiHelper = Mage::helper('oro_api');
37
- $filters = $apiHelper->parseFilters($filters, $this->_filtersMap);
38
- try {
39
- foreach ($filters as $field => $value) {
40
- $collection->addFieldToFilter($field, $value);
41
- }
42
- } catch (Mage_Core_Exception $e) {
43
- $this->_fault('filters_invalid', $e->getMessage());
44
- }
45
- $result = array();
46
- foreach ($collection as $product) {
47
- $result[] = array(
48
- 'product_id' => $product->getId(),
49
- 'sku' => $product->getSku(),
50
- 'name' => $product->getName(),
51
- 'set' => $product->getAttributeSetId(),
52
- 'type' => $product->getTypeId(),
53
- 'category_ids' => $product->getCategoryIds(),
54
- 'website_ids' => $product->getWebsiteIds(),
55
- 'price' => $product->getPrice(),
56
- 'special_price' => $product->getSpecialPrice(),
57
- );
58
- }
59
- return $result;
60
- }
61
  }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Catalog_Product_Api_V2
19
+ extends Mage_Catalog_Model_Product_Api_V2
20
+ {
21
+ /**
22
+ * Retrieve list of products with basic info (id, sku, type, set, name)
23
+ *
24
+ * @param null|object|array $filters
25
+ * @param string|int $store
26
+ * @return array
27
+ */
28
+ public function items($filters = null, $store = null)
29
+ {
30
+ /** @var Mage_Catalog_Model_Resource_Product_Collection $collection */
31
+ $collection = Mage::getModel('catalog/product')->getCollection();
32
+ $collection->addStoreFilter($this->_getStoreId($store));
33
+ $collection->addAttributeToSelect(array('name', 'price', 'special_price'));
34
+
35
+ /** @var $apiHelper Mage_Api_Helper_Data */
36
+ $apiHelper = Mage::helper('oro_api');
37
+ $filters = $apiHelper->parseFilters($filters, $this->_filtersMap);
38
+ try {
39
+ foreach ($filters as $field => $value) {
40
+ $collection->addFieldToFilter($field, $value);
41
+ }
42
+ } catch (Mage_Core_Exception $e) {
43
+ $this->_fault('filters_invalid', $e->getMessage());
44
+ }
45
+ $result = array();
46
+ foreach ($collection as $product) {
47
+ $result[] = array(
48
+ 'product_id' => $product->getId(),
49
+ 'sku' => $product->getSku(),
50
+ 'name' => $product->getName(),
51
+ 'set' => $product->getAttributeSetId(),
52
+ 'type' => $product->getTypeId(),
53
+ 'category_ids' => $product->getCategoryIds(),
54
+ 'website_ids' => $product->getWebsiteIds(),
55
+ 'price' => $product->getPrice(),
56
+ 'special_price' => $product->getSpecialPrice(),
57
+ );
58
+ }
59
+ return $result;
60
+ }
61
  }
app/code/community/Oro/Api/Model/Customer/Address/Api.php ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Customer_Address_Api extends Mage_Customer_Model_Api_Resource
19
+ {
20
+ /** @var array */
21
+ protected $_mapAttributes = array(
22
+ 'customer_address_id' => 'entity_id'
23
+ );
24
+
25
+ /**
26
+ * @var Oro_Api_Helper_Data
27
+ */
28
+ protected $_apiHelper;
29
+
30
+ /**
31
+ * @var array|null
32
+ */
33
+ protected $_knownApiAttributes;
34
+
35
+ public function __construct()
36
+ {
37
+ $this->_apiHelper = Mage::helper('oro_api');
38
+ }
39
+
40
+ /**
41
+ * Retrieve customer addresses list
42
+ *
43
+ * @param int $customerId
44
+ * @return array
45
+ */
46
+ public function items($customerId)
47
+ {
48
+ /* @var Mage_Customer_Model_Customer $customer */
49
+ $customer = Mage::getModel('customer/customer')->load($customerId);
50
+
51
+ if (!$customer->getId()) {
52
+ $this->_fault('not_exists');
53
+ }
54
+
55
+ return $this->getAddressItems($customer);
56
+ }
57
+
58
+ /**
59
+ * Retrieve address data
60
+ *
61
+ * @param int $addressId
62
+ * @return array
63
+ */
64
+ public function info($addressId)
65
+ {
66
+ /** @var Mage_Customer_Model_Address $address */
67
+ $address = Mage::getModel('customer/address')->load($addressId);
68
+
69
+ if (!$address->getId()) {
70
+ $this->_fault('address_not_exists');
71
+ }
72
+
73
+ return $this->getAddressData($address);
74
+ }
75
+
76
+ /**
77
+ * Retrieve customer addresses list
78
+ *
79
+ * @param Mage_Customer_Model_Customer $customer
80
+ * @return array
81
+ */
82
+ public function getAddressItems($customer)
83
+ {
84
+ $result = array();
85
+ /** @var Mage_Customer_Model_Address $address */
86
+ foreach ($customer->getAddresses() as $address) {
87
+ $result[] = $this->getAddressData($address, $customer);
88
+ }
89
+
90
+ return $result;
91
+ }
92
+
93
+ /**
94
+ * Get customer address data applicable for API response.
95
+ *
96
+ * @param Mage_Customer_Model_Address $address
97
+ * @param Mage_Customer_Model_Customer|null $customer
98
+ * @return array
99
+ */
100
+ public function getAddressData($address, $customer = null)
101
+ {
102
+ if (!$customer) {
103
+ $customer = $address->getCustomer();
104
+ }
105
+
106
+ $data = $address->toArray();
107
+ $row = array();
108
+
109
+ foreach ($this->_mapAttributes as $attributeAlias => $attributeCode) {
110
+ $row[$attributeAlias] = isset($data[$attributeCode]) ? $data[$attributeCode] : null;
111
+ }
112
+
113
+ foreach ($this->getAllowedAttributes($address) as $attributeCode => $attribute) {
114
+ if (isset($data[$attributeCode])) {
115
+ $row[$attributeCode] = $data[$attributeCode];
116
+ }
117
+ }
118
+
119
+ $row['attributes'] = $this->_apiHelper
120
+ ->getNotIncludedAttributes($address, $row, $this->_getKnownApiAttributes());
121
+ $row['is_default_billing'] = $customer->getDefaultBilling() == $address->getId();
122
+ $row['is_default_shipping'] = $customer->getDefaultShipping() == $address->getId();
123
+
124
+ return $row;
125
+ }
126
+
127
+ /**
128
+ * Get list of attributes exposed to API.
129
+ *
130
+ * @return array
131
+ */
132
+ protected function _getKnownApiAttributes()
133
+ {
134
+ if (!$this->_knownApiAttributes) {
135
+ $this->_knownApiAttributes = array_merge(
136
+ $this->_apiHelper->getComplexTypeScalarAttributes('customerAddressEntityItem'),
137
+ array('entity_id')
138
+ );
139
+ }
140
+
141
+ return $this->_knownApiAttributes;
142
+ }
143
+ }
app/code/community/Oro/Api/Model/Customer/Address/Api/V2.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Customer_Address_Api_V2
19
+ extends Oro_Api_Model_Customer_Address_Api
20
+ {
21
+ }
app/code/community/Oro/Api/Model/Customer/Api.php CHANGED
@@ -1,123 +1,244 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Customer_Api extends Mage_Customer_Model_Api_Resource
19
- {
20
- protected $_mapAttributes = array(
21
- 'customer_id' => 'entity_id'
22
- );
23
-
24
- protected $_mapAddressAttributes = array(
25
- 'customer_address_id' => 'entity_id'
26
- );
27
-
28
- /**
29
- * Attributes must be processed with source
30
- *
31
- * @var array
32
- */
33
- protected $_sourcedAttributes = array(
34
- 'gender',
35
- );
36
-
37
- /**
38
- * Retrieve customers data
39
- *
40
- * @param object|array $filters
41
- * @param \stdClass $pager
42
- *
43
- * @return array
44
- */
45
- public function items($filters, $pager)
46
- {
47
- $collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('*');
48
-
49
- /** @var $apiHelper Oro_Api_Helper_Data */
50
- $apiHelper = Mage::helper('oro_api');
51
-
52
- $filters = $apiHelper->parseFilters($filters, $this->_mapAttributes);
53
- try {
54
- foreach ($filters as $field => $value) {
55
- $collection->addFieldToFilter($field, $value);
56
- }
57
- } catch (Mage_Core_Exception $e) {
58
- $this->_fault('filters_invalid', $e->getMessage());
59
- }
60
-
61
- $collection->setOrder('entity_id', Varien_Data_Collection_Db::SORT_ORDER_ASC);
62
- if (!$apiHelper->applyPager($collection, $pager)) {
63
- // there's no such page, so no results for it
64
- return array();
65
- }
66
-
67
- $result = array();
68
- foreach ($collection as $customer) {
69
- $row = array();
70
-
71
- foreach ($this->_mapAttributes as $attributeAlias => $attributeCode) {
72
- $row[$attributeAlias] = $customer->getData($attributeCode);
73
- }
74
-
75
- foreach ($this->getAllowedAttributes($customer) as $attributeCode => $attribute) {
76
- /** @var $attribute Mage_Customer_Model_Attribute */
77
- $row[$attributeCode] = $customer->getData($attributeCode);
78
- if (in_array($attributeCode, $this->_sourcedAttributes)) {
79
- $attributeValue = $attribute->getSource()->getOptionText($customer->getData($attributeCode));
80
- $row[$attributeCode] = !empty($attributeValue) ? $attributeValue : null;
81
- }
82
- }
83
-
84
- $row['addresses'] = $this->getAddressItems($customer);
85
- $result[] = $row;
86
- }
87
-
88
- return $result;
89
- }
90
-
91
- /**
92
- * Retrieve customer addresses list
93
- *
94
- * @param Mage_Customer_Model_Customer $customer
95
- *
96
- * @return array
97
- */
98
- protected function getAddressItems($customer)
99
- {
100
- $result = array();
101
- foreach ($customer->getAddresses() as $address) {
102
- $data = $address->toArray();
103
- $row = array();
104
-
105
- foreach ($this->_mapAddressAttributes as $attributeAlias => $attributeCode) {
106
- $row[$attributeAlias] = isset($data[$attributeCode]) ? $data[$attributeCode] : null;
107
- }
108
-
109
- foreach ($this->getAllowedAttributes($address) as $attributeCode => $attribute) {
110
- if (isset($data[$attributeCode])) {
111
- $row[$attributeCode] = $data[$attributeCode];
112
- }
113
- }
114
-
115
- $row['is_default_billing'] = $customer->getDefaultBilling() == $address->getId();
116
- $row['is_default_shipping'] = $customer->getDefaultShipping() == $address->getId();
117
-
118
- $result[] = $row;
119
- }
120
-
121
- return $result;
122
- }
123
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Customer_Api extends Mage_Customer_Model_Api_Resource
19
+ {
20
+ /** @var array */
21
+ protected $_mapAttributes = array(
22
+ 'customer_id' => 'entity_id'
23
+ );
24
+
25
+ /**
26
+ * Attributes must be processed with source
27
+ *
28
+ * @var array
29
+ */
30
+ protected $_sourcedAttributes = array(
31
+ 'gender'
32
+ );
33
+
34
+ /**
35
+ * @var Oro_Api_Helper_Data
36
+ */
37
+ protected $_apiHelper;
38
+
39
+ /**
40
+ * @var array
41
+ */
42
+ protected $_knownApiAttributes = array();
43
+
44
+ /**
45
+ * @var Oro_Api_Model_Customer_Address_Api
46
+ */
47
+ protected $_addressModel;
48
+
49
+ public function __construct()
50
+ {
51
+ $this->_apiHelper = Mage::helper('oro_api');
52
+ $this->_addressModel = Mage::getModel('oro_api/customer_address_api');
53
+ }
54
+
55
+ /**
56
+ * Create new customer
57
+ *
58
+ * @param array $customerData
59
+ * @return int
60
+ */
61
+ public function create($customerData)
62
+ {
63
+ $customerData = $this->_prepareData($customerData);
64
+
65
+ /** @var Mage_Customer_Model_Customer $customer */
66
+ $customer = Mage::getModel('customer/customer');
67
+ try {
68
+ $customer->setData($customerData);
69
+ $customer->save();
70
+ } catch (Mage_Core_Exception $e) {
71
+ $this->_fault('data_invalid', $e->getMessage());
72
+ }
73
+
74
+ return $customer->getId();
75
+ }
76
+
77
+ /**
78
+ * Update customer data
79
+ *
80
+ * @param int $customerId
81
+ * @param array $customerData
82
+ * @return boolean
83
+ */
84
+ public function update($customerId, $customerData)
85
+ {
86
+ $customerData = $this->_prepareData($customerData);
87
+
88
+ /** @var Mage_Customer_Model_Customer $customer */
89
+ $customer = Mage::getModel('customer/customer')->load($customerId);
90
+
91
+ if (!$customer->getId()) {
92
+ $this->_fault('not_exists');
93
+ }
94
+
95
+ foreach ($this->getAllowedAttributes($customer) as $attributeCode => $attribute) {
96
+ if (isset($customerData[$attributeCode])) {
97
+ $customer->setData($attributeCode, $customerData[$attributeCode]);
98
+ }
99
+ }
100
+
101
+ $customer->save();
102
+
103
+ if (!empty($customerData['password'])) {
104
+ $customer->changePassword($customerData['password']);
105
+ }
106
+
107
+ return true;
108
+ }
109
+
110
+ /**
111
+ * Retrieve customers data
112
+ *
113
+ * @param object|array $filters
114
+ * @param \stdClass $pager
115
+ *
116
+ * @return array
117
+ */
118
+ public function items($filters, $pager)
119
+ {
120
+ /** @var Mage_Customer_Model_Entity_Customer_Collection $collection */
121
+ $collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('*');
122
+
123
+ $filters = $this->_apiHelper->parseFilters($filters, $this->_mapAttributes);
124
+ try {
125
+ foreach ($filters as $field => $value) {
126
+ $collection->addFieldToFilter($field, $value);
127
+ }
128
+ } catch (Mage_Core_Exception $e) {
129
+ $this->_fault('filters_invalid', $e->getMessage());
130
+ }
131
+
132
+ $collection->setOrder('entity_id', Varien_Data_Collection_Db::SORT_ORDER_ASC);
133
+ if (!$this->_apiHelper->applyPager($collection, $pager)) {
134
+ // there's no such page, so no results for it
135
+ return array();
136
+ }
137
+
138
+ $result = array();
139
+ /** @var Mage_Customer_Model_Customer $customer */
140
+ foreach ($collection as $customer) {
141
+ $row = $this->_getCustomerData($customer);
142
+
143
+ $result[] = $row;
144
+ }
145
+
146
+ return $result;
147
+ }
148
+
149
+ /**
150
+ * Retrieve customer data
151
+ *
152
+ * @param int $customerId
153
+ * @param array $attributes
154
+ * @return array
155
+ */
156
+ public function info($customerId, array $attributes = null)
157
+ {
158
+ /** @var Mage_Customer_Model_Customer $customer */
159
+ $customer = Mage::getModel('customer/customer')->load($customerId);
160
+
161
+ if (!$customer->getId()) {
162
+ $this->_fault('not_exists');
163
+ }
164
+
165
+ return $this->_getCustomerData($customer, $attributes);
166
+ }
167
+
168
+ /**
169
+ * Get customer data applicable for API response.
170
+ *
171
+ * @param Mage_Customer_Model_Customer $customer
172
+ * @param array $allowedAttributes
173
+ * @return array
174
+ * @throws Mage_Core_Exception
175
+ */
176
+ protected function _getCustomerData($customer, array $allowedAttributes = null)
177
+ {
178
+ $row = array();
179
+
180
+ if (!is_null($allowedAttributes) && !is_array($allowedAttributes)) {
181
+ $allowedAttributes = array($allowedAttributes);
182
+ }
183
+
184
+ foreach ($this->_mapAttributes as $attributeAlias => $attributeCode) {
185
+ $row[$attributeAlias] = $customer->getData($attributeCode);
186
+ }
187
+
188
+ foreach ($this->getAllowedAttributes($customer, $allowedAttributes) as $attributeCode => $attribute) {
189
+ /** @var $attribute Mage_Customer_Model_Attribute */
190
+ $row[$attributeCode] = $customer->getData($attributeCode);
191
+ if (in_array($attributeCode, $this->_sourcedAttributes)) {
192
+ $attributeValue = $attribute->getSource()->getOptionText($customer->getData($attributeCode));
193
+ $row[$attributeCode] = !empty($attributeValue) ? $attributeValue : null;
194
+ }
195
+ }
196
+ $row['addresses'] = $this->_addressModel->getAddressItems($customer);
197
+
198
+ $attributes = $this->_apiHelper->getNotIncludedAttributes(
199
+ $customer,
200
+ $row,
201
+ $this->_getKnownApiAttributes(),
202
+ array('confirmation')
203
+ );
204
+ if ($attributes) {
205
+ $row['attributes'] = $attributes;
206
+ }
207
+
208
+ return $row;
209
+ }
210
+
211
+ /**
212
+ * @param array|\stdClass $data
213
+ * @return array
214
+ */
215
+ protected function _prepareData($data)
216
+ {
217
+ $data = (array)$data;
218
+ foreach ($this->_mapAttributes as $attributeAlias => $attributeCode) {
219
+ if (isset($data[$attributeAlias])) {
220
+ $data[$attributeCode] = $data[$attributeAlias];
221
+ unset($data[$attributeAlias]);
222
+ }
223
+ }
224
+
225
+ return $data;
226
+ }
227
+
228
+ /**
229
+ * Get list of attributes exposed to API.
230
+ *
231
+ * @return array
232
+ */
233
+ protected function _getKnownApiAttributes()
234
+ {
235
+ if (!$this->_knownApiAttributes) {
236
+ $this->_knownApiAttributes = array_merge(
237
+ $this->_apiHelper->getComplexTypeScalarAttributes('oroCustomerEntity'),
238
+ array('entity_id', 'default_shipping', 'default_billing')
239
+ );
240
+ }
241
+
242
+ return $this->_knownApiAttributes;
243
+ }
244
+ }
app/code/community/Oro/Api/Model/Customer/Api/V2.php CHANGED
@@ -1,22 +1,22 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Customer_Api_V2
19
- extends Oro_Api_Model_Customer_Api
20
- {
21
-
22
- }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Customer_Api_V2
19
+ extends Oro_Api_Model_Customer_Api
20
+ {
21
+
22
+ }
app/code/community/Oro/Api/Model/Newsletter/Subscriber/Api.php CHANGED
@@ -1,40 +1,242 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Newsletter_Subscriber_Api
19
- extends Mage_Checkout_Model_Api_Resource
20
- {
21
- public function items($filters)
22
- {
23
- /** @var Mage_Newsletter_Model_Resource_Subscriber_Collection $collection */
24
- $collection = Mage::getResourceModel('newsletter/subscriber_collection');
25
- /** @var $apiHelper Mage_Api_Helper_Data */
26
- $apiHelper = Mage::helper('oro_api');
27
- $filters = $apiHelper->parseFilters($filters);
28
- try {
29
- foreach ($filters as $field => $value) {
30
- $collection->addFieldToFilter($field, $value);
31
- }
32
- } catch (Mage_Core_Exception $e) {
33
- $this->_fault('filters_invalid', $e->getMessage());
34
- }
35
-
36
- $arr = $collection->toArray();
37
-
38
- return $arr['items'];
39
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Newsletter_Subscriber_Api
19
+ extends Mage_Checkout_Model_Api_Resource
20
+ {
21
+ /**
22
+ * Retrieve list of newsletter subscribers. Filtration could be applied
23
+ *
24
+ * @param object|array $filters
25
+ * @param object $pager
26
+ * @return array
27
+ * @throws Mage_Api_Exception
28
+ */
29
+ public function items($filters, $pager)
30
+ {
31
+ /** @var Mage_Newsletter_Model_Resource_Subscriber_Collection $collection */
32
+ $collection = Mage::getResourceModel('newsletter/subscriber_collection');
33
+ /** @var $apiHelper Oro_Api_Helper_Data */
34
+ $apiHelper = Mage::helper('oro_api');
35
+ $filters = $apiHelper->parseFilters($filters);
36
+ try {
37
+ foreach ($filters as $field => $value) {
38
+ $collection->addFieldToFilter($field, $value);
39
+ }
40
+ } catch (Mage_Core_Exception $e) {
41
+ $this->_fault('filters_invalid', $e->getMessage());
42
+ }
43
+ $collection->setOrder('subscriber_id', Varien_Data_Collection_Db::SORT_ORDER_DESC);
44
+
45
+ if ($apiHelper->applyPager($collection, $pager)) {
46
+ $result = $collection->toArray();
47
+
48
+ if (array_key_exists('items', $result)) {
49
+ return $result['items'];
50
+ }
51
+ }
52
+
53
+ return array();
54
+ }
55
+
56
+ /**
57
+ * Create new newsletter subscriber.
58
+ *
59
+ * @param object|array $subscriberData
60
+ * @return array
61
+ */
62
+ public function create($subscriberData)
63
+ {
64
+ /** @var Mage_Newsletter_Model_Subscriber $subscriber */
65
+ $subscriber = Mage::getModel('newsletter/subscriber');
66
+
67
+ $subscriberData = (array)$subscriberData;
68
+ if (empty($subscriberData['subscriber_confirm_code'])) {
69
+ $subscriberData['subscriber_confirm_code'] = $subscriber->randomSequence();
70
+ }
71
+
72
+ $hasCustomer = !empty($subscriberData['customer_id']);
73
+ /** @var Mage_Customer_Model_Customer $customer */
74
+ $customer = null;
75
+ if ($hasCustomer) {
76
+ $customer = Mage::getModel('customer/customer')->load($subscriberData['customer_id']);
77
+ if (!$customer->getId()) {
78
+ $this->_fault('customer_not_found');
79
+ }
80
+
81
+ $subscriber->loadByCustomer($customer);
82
+ if ($subscriber->getId()) {
83
+ $this->_fault('customer_already_subscribed');
84
+ }
85
+ }
86
+ if (!empty($subscriberData['subscriber_email'])) {
87
+ $subscriber->loadByEmail($subscriberData['subscriber_email']);
88
+ if ($subscriber->getId()) {
89
+ if (!$subscriber->getCustomerId()) {
90
+ $subscriber->setCustomerId($subscriberData['customer_id']);
91
+ $subscriber->save();
92
+ } else {
93
+ $this->_fault('email_already_subscribed');
94
+ }
95
+ }
96
+ } else {
97
+ if ($customer && $customer->getEmail()) {
98
+ $subscriberData['subscriber_email'] = $customer->getEmail();
99
+ } else {
100
+ $this->_fault('email_is_empty');
101
+ }
102
+ }
103
+
104
+ // store_id can be 0
105
+ if ($customer && $customer->getStore()
106
+ && (!array_key_exists('store_id', $subscriberData) || strlen($subscriberData['store_id']) === 0)
107
+ ) {
108
+ $subscriberData['store_id'] = $customer->getStore()->getId();
109
+ }
110
+
111
+ if (!$subscriber->getId()) {
112
+ $this->_saveSubscriber($subscriber, $subscriberData);
113
+ }
114
+
115
+ // Send subscribe confirmation email if needed.
116
+ $isConfirmNeed = Mage::getStoreConfig(Mage_Newsletter_Model_Subscriber::XML_PATH_CONFIRMATION_FLAG) == 1;
117
+ if ($isConfirmNeed) {
118
+ if ($subscriber->getStatus() === Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED) {
119
+ $subscriber->sendConfirmationSuccessEmail();
120
+ } elseif ($subscriber->getStatus() === Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE) {
121
+ $subscriber->sendConfirmationRequestEmail();
122
+ }
123
+ }
124
+
125
+ return $subscriber->toArray();
126
+ }
127
+
128
+ /**
129
+ * Update newsletter subscriber data
130
+ *
131
+ * @param int $subscriberId
132
+ * @param object|array $subscriberData
133
+ * @return array
134
+ * @throws Mage_Api_Exception
135
+ */
136
+ public function update($subscriberId, $subscriberData)
137
+ {
138
+ $subscriberData = (array)$subscriberData;
139
+
140
+ /** @var Mage_Newsletter_Model_Subscriber $subscriber */
141
+ $subscriber = Mage::getModel('newsletter/subscriber')
142
+ ->load($subscriberId);
143
+ if (!$subscriber->getId()) {
144
+ $this->_fault('not_exists');
145
+ }
146
+
147
+ if (!empty($subscriberData['customer_id'])) {
148
+ if ($subscriber->getCustomerId() && $subscriber->getCustomerId() != $subscriberData['customer_id']) {
149
+ $this->_fault('subscriber_customer_change_forbidden');
150
+ } elseif (!$subscriber->getCustomerId()) {
151
+ /** @var Mage_Customer_Model_Customer $customer */
152
+ $customer = Mage::getModel('customer/customer')->load($subscriberData['customer_id']);
153
+ if (!$customer->getId()) {
154
+ $this->_fault('customer_not_found');
155
+ }
156
+
157
+ $subscriber->loadByCustomer($customer);
158
+ if ($subscriber->getId() != $subscriberId) {
159
+ $this->_fault('customer_already_subscribed');
160
+ }
161
+ }
162
+ }
163
+ if (!empty($subscriberData['subscriber_email'])) {
164
+ $subscriber->loadByEmail($subscriberData['subscriber_email']);
165
+ if ($subscriber->getId() != $subscriberId) {
166
+ $this->_fault('email_already_subscribed');
167
+ }
168
+ } else {
169
+ unset($subscriberData['subscriber_email']);
170
+ }
171
+
172
+ $this->_saveSubscriber($subscriber, $subscriberData);
173
+
174
+ return $subscriber->toArray();
175
+ }
176
+
177
+ /**
178
+ * Subscribe by email.
179
+ *
180
+ * @param string $email
181
+ * @return array
182
+ * @throws Mage_Api_Exception
183
+ */
184
+ public function subscribeEmail($email)
185
+ {
186
+ /** @var Mage_Newsletter_Model_Subscriber $subscriber */
187
+ $subscriber = Mage::getModel('newsletter/subscriber');
188
+ try {
189
+ $subscriber->subscribe($email);
190
+ } catch (Mage_Core_Exception $e) {
191
+ $this->_fault('data_invalid', $e->getMessage());
192
+ }
193
+
194
+ return $subscriber->toArray();
195
+ }
196
+
197
+ /**
198
+ * Unsubscribe newsletter subscriber.
199
+ *
200
+ * @param int $subscriberId
201
+ * @return bool
202
+ * @throws Mage_Api_Exception
203
+ */
204
+ public function unsubscribe($subscriberId)
205
+ {
206
+ /** @var Mage_Newsletter_Model_Subscriber $subscriber */
207
+ $subscriber = Mage::getModel('newsletter/subscriber')
208
+ ->load($subscriberId);
209
+
210
+ if (!$subscriber->getId()) {
211
+ $this->_fault('not_exists');
212
+ }
213
+
214
+ try {
215
+ $subscriber->unsubscribe();
216
+ } catch (Mage_Core_Exception $e) {
217
+ $this->_fault('data_invalid', $e->getMessage());
218
+ }
219
+
220
+ return true;
221
+ }
222
+
223
+ /**
224
+ * @param Mage_Newsletter_Model_Subscriber $subscriber
225
+ * @param array $data
226
+ * @throws Exception
227
+ * @throws Mage_Api_Exception
228
+ */
229
+ protected function _saveSubscriber(Mage_Newsletter_Model_Subscriber $subscriber, array $data)
230
+ {
231
+ unset($data['subscriber_id']);
232
+ foreach ($data as $key => $value) {
233
+ $subscriber->setData($key, $value);
234
+ }
235
+
236
+ try {
237
+ $subscriber->save();
238
+ } catch (Mage_Core_Exception $e) {
239
+ $this->_fault('data_invalid', $e->getMessage());
240
+ }
241
+ }
242
  }
app/code/community/Oro/Api/Model/Newsletter/Subscriber/Api/V2.php CHANGED
@@ -1,22 +1,22 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Newsletter_Subscriber_Api_V2
19
- extends Oro_Api_Model_Newsletter_Subscriber_Api
20
- {
21
-
22
  }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Newsletter_Subscriber_Api_V2
19
+ extends Oro_Api_Model_Newsletter_Subscriber_Api
20
+ {
21
+
22
  }
app/code/community/Oro/Api/Model/Observer.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Observer
19
+ {
20
+ /**
21
+ * @param Varien_Event_Observer $observer
22
+ */
23
+ public function beforeNewsletterSubscriberSave($observer)
24
+ {
25
+ $subscriber = $observer->getSubscriber();
26
+ $now = new \DateTime('now', new \DateTimeZone('UTC'));
27
+ $subscriber['change_status_at'] = $now->format('Y-m-d H:i:s');
28
+ }
29
+ }
app/code/community/Oro/Api/Model/Observer/Crm/Controller.php CHANGED
@@ -1,171 +1,171 @@
1
- <?php
2
-
3
- /**
4
- * Oro Inc.
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is published at http://opensource.org/licenses/osl-3.0.php.
10
- * If you did not receive a copy of the license and are unable to
11
- * obtain it through the world-wide-web, please send an email
12
- * to license@magecore.com so we can send you a copy immediately
13
- *
14
- * @category Oro
15
- * @package Api
16
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
- */
19
- class Oro_Api_Model_Observer_Crm_Controller
20
- {
21
- /**
22
- * Catch Oro requests and set required flags
23
- *
24
- * @param Varien_Event_Observer $observer
25
- */
26
- public function handleRequest(Varien_Event_Observer $observer)
27
- {
28
- /** @var Mage_Core_Controller_Front_Action $controller */
29
- $controller = $observer->getEvent()->getData('controller_action');
30
-
31
- if (!preg_match('/^.+?\\/oro_gateway\\/clearSession/ui', $controller->getRequest()->getPathInfo())) {
32
- if (preg_match('/^.+?\\/oro_gateway\\/do$/ui', $controller->getRequest()->getOriginalPathInfo()) || $controller->getRequest()->getParam('is-oro-request') || $controller->getRequest()->getCookie('is-oro-request')) {
33
- $controller->setFlag('', 'is-oro-request', true);
34
- if (!Mage::registry('is-oro-request')) {
35
- Mage::register('is-oro-request', true);
36
- }
37
- }
38
- }
39
- }
40
-
41
- /**
42
- * @param Varien_Event_Observer $observer
43
- */
44
- public function handleResponse(Varien_Event_Observer $observer)
45
- {
46
- /** @var Mage_Core_Controller_Front_Action $controller */
47
- $controller = $observer->getEvent()->getData('controller_action');
48
- $session = Mage::getSingleton('adminhtml/session');
49
- if (Mage::helper('oro_api')->isOroRequest()) {
50
- if ($controller->getFullActionName() == $session->getData('oro_end_point')) {
51
- $messages = Mage::getSingleton('adminhtml/session')->getMessages(false);
52
- $quoteMessages = Mage::getSingleton('adminhtml/session_quote')->getMessages(false);
53
- $errors = array_merge($messages->getErrors(), $quoteMessages->getErrors());
54
-
55
- // assume that if error messages exist then do no redirect to "success_url"
56
- if (empty($errors)) {
57
- $this->_setCookieValue(0);
58
-
59
- // clear all messages
60
- Mage::getSingleton('adminhtml/session')->getMessages(true);
61
- Mage::getSingleton('adminhtml/session_quote')->getMessages(true);
62
-
63
- $controller->getResponse()->clearHeader('Location');
64
- $controller->getResponse()->clearBody();
65
- $controller->getResponse()->appendBody(
66
- '<script type="text/javascript">setTimeout(function(){location.href = "'
67
- . $session->getData('oro_success_url')
68
- . '"}, 1000)</script>'
69
- )->sendResponse();
70
- exit;
71
- }
72
- }
73
-
74
- $this->_setCookieValue(1);
75
- }
76
- }
77
-
78
- /**
79
- * @param Varien_Event_Observer $observer
80
- */
81
- public function handleRenderLayout(Varien_Event_Observer $observer)
82
- {
83
- $layout = Mage::app()->getLayout();
84
-
85
- //add check cookies script
86
- $layout->createBlock('adminhtml/template', 'oro_check_script', array('template' => 'oro/api/check.phtml'));
87
- $this->_insertBlock('oro_check_script', $layout);
88
-
89
- if (Mage::helper('oro_api')->isOroRequest()) {
90
- // Remove back button on Manage Shopping Cart of Customer if it's rendered in Oro Request.
91
- if (class_exists('Enterprise_Checkout_Block_Adminhtml_Manage', false) &&
92
- ($manageBlock = $layout->getBlock('ID')) instanceof Enterprise_Checkout_Block_Adminhtml_Manage
93
- ) {
94
- $manageBlock->removeButton('back');
95
- }
96
-
97
- if (($contentBlock = $layout->getBlock('content')) instanceof Mage_Adminhtml_Block_Sales_Order_Create) {
98
- $contentBlock->removeButton('reset');
99
-
100
- // remove cart sidebar in case if we create order for active shopping cart
101
- // because it has no sense to duplicate items info in two blocks
102
- $sidebar = $layout->getBlock('sidebar');
103
- /** @var $cartBlock Mage_Adminhtml_Block_Sales_Order_Create_Sidebar_Cart */
104
- $cartBlock = $sidebar->getChild('cart');
105
- if ($cartBlock && (bool)$cartBlock->getQuote()->getOrigData('is_active')) {
106
- $sidebar->unsetChild('cart');
107
- }
108
- }
109
-
110
- /** @var Mage_Core_Block_Text $script */
111
- $layout->createBlock('adminhtml/template', 'oro_script', array('template' => 'oro/api/script.phtml'));
112
-
113
- if (($loginForm = $layout->getBlock('form.additional.info')) instanceof Mage_Core_Block_Text_List) {
114
- $layout->createBlock(
115
- 'adminhtml/template',
116
- 'oro_login_styles',
117
- array('template' => 'oro/api/login_styles.phtml')
118
- );
119
- $loginForm->insert('oro_login_styles');
120
- } elseif ($layout->getBlock('head')) {
121
- $layout->getBlock('head')->addCss('oro_style.css');
122
- }
123
-
124
- $this->_insertBlock('oro_script', $layout);
125
-
126
- if ($layout->getBlock('root') instanceof Mage_Core_Block_Template) {
127
- $layout->getBlock('root')->setTemplate('oro/api/page.phtml');
128
- }
129
- }
130
- }
131
-
132
- /**
133
- * Insert block
134
- *
135
- * @param string $blockName
136
- * @param Mage_Core_Model_Layout $layout
137
- */
138
- protected function _insertBlock($blockName, Mage_Core_Model_Layout $layout)
139
- {
140
- $destination = null;
141
-
142
- switch (true) {
143
- case $layout->getBlock('form.additional.info') instanceof Mage_Core_Block_Text_List:
144
- $destination = $layout->getBlock('form.additional.info');
145
- break;
146
- case $layout->getBlock('before_body_end') instanceof Mage_Core_Block_Text_List:
147
- $destination = $layout->getBlock('before_body_end');
148
- break;
149
- case $layout->getBlock('content') instanceof Mage_Core_Block_Text_List:
150
- $destination = $layout->getBlock('content');
151
- break;
152
- default:
153
- $destination = null;
154
- break;
155
- }
156
-
157
- if ($destination) {
158
- $destination->insert($blockName);
159
- }
160
- }
161
-
162
- /**
163
- * Set oro cookie value
164
- *
165
- * @param mixed $value
166
- */
167
- protected function _setCookieValue($value)
168
- {
169
- Mage::getSingleton('core/cookie')->set('is-oro-request', $value, null, null, null, null, false);
170
- }
171
- }
1
+ <?php
2
+
3
+ /**
4
+ * Oro Inc.
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magecore.com so we can send you a copy immediately
13
+ *
14
+ * @category Oro
15
+ * @package Api
16
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
+ */
19
+ class Oro_Api_Model_Observer_Crm_Controller
20
+ {
21
+ /**
22
+ * Catch Oro requests and set required flags
23
+ *
24
+ * @param Varien_Event_Observer $observer
25
+ */
26
+ public function handleRequest(Varien_Event_Observer $observer)
27
+ {
28
+ /** @var Mage_Core_Controller_Front_Action $controller */
29
+ $controller = $observer->getEvent()->getData('controller_action');
30
+
31
+ if (!preg_match('/^.+?\\/oro_gateway\\/clearSession/ui', $controller->getRequest()->getPathInfo())) {
32
+ if (preg_match('/^.+?\\/oro_gateway\\/do$/ui', $controller->getRequest()->getOriginalPathInfo()) || $controller->getRequest()->getParam('is-oro-request') || $controller->getRequest()->getCookie('is-oro-request')) {
33
+ $controller->setFlag('', 'is-oro-request', true);
34
+ if (!Mage::registry('is-oro-request')) {
35
+ Mage::register('is-oro-request', true);
36
+ }
37
+ }
38
+ }
39
+ }
40
+
41
+ /**
42
+ * @param Varien_Event_Observer $observer
43
+ */
44
+ public function handleResponse(Varien_Event_Observer $observer)
45
+ {
46
+ /** @var Mage_Core_Controller_Front_Action $controller */
47
+ $controller = $observer->getEvent()->getData('controller_action');
48
+ $session = Mage::getSingleton('adminhtml/session');
49
+ if (Mage::helper('oro_api')->isOroRequest()) {
50
+ if ($controller->getFullActionName() == $session->getData('oro_end_point')) {
51
+ $messages = Mage::getSingleton('adminhtml/session')->getMessages(false);
52
+ $quoteMessages = Mage::getSingleton('adminhtml/session_quote')->getMessages(false);
53
+ $errors = array_merge($messages->getErrors(), $quoteMessages->getErrors());
54
+
55
+ // assume that if error messages exist then do no redirect to "success_url"
56
+ if (empty($errors)) {
57
+ $this->_setCookieValue(0);
58
+
59
+ // clear all messages
60
+ Mage::getSingleton('adminhtml/session')->getMessages(true);
61
+ Mage::getSingleton('adminhtml/session_quote')->getMessages(true);
62
+
63
+ $controller->getResponse()->clearHeader('Location');
64
+ $controller->getResponse()->clearBody();
65
+ $controller->getResponse()->appendBody(
66
+ '<script type="text/javascript">setTimeout(function(){location.href = "'
67
+ . $session->getData('oro_success_url')
68
+ . '"}, 1000)</script>'
69
+ )->sendResponse();
70
+ exit;
71
+ }
72
+ }
73
+
74
+ $this->_setCookieValue(1);
75
+ }
76
+ }
77
+
78
+ /**
79
+ * @param Varien_Event_Observer $observer
80
+ */
81
+ public function handleRenderLayout(Varien_Event_Observer $observer)
82
+ {
83
+ $layout = Mage::app()->getLayout();
84
+
85
+ //add check cookies script
86
+ $layout->createBlock('adminhtml/template', 'oro_check_script', array('template' => 'oro/api/check.phtml'));
87
+ $this->_insertBlock('oro_check_script', $layout);
88
+
89
+ if (Mage::helper('oro_api')->isOroRequest()) {
90
+ // Remove back button on Manage Shopping Cart of Customer if it's rendered in Oro Request.
91
+ if (class_exists('Enterprise_Checkout_Block_Adminhtml_Manage', false) &&
92
+ ($manageBlock = $layout->getBlock('ID')) instanceof Enterprise_Checkout_Block_Adminhtml_Manage
93
+ ) {
94
+ $manageBlock->removeButton('back');
95
+ }
96
+
97
+ if (($contentBlock = $layout->getBlock('content')) instanceof Mage_Adminhtml_Block_Sales_Order_Create) {
98
+ $contentBlock->removeButton('reset');
99
+
100
+ // remove cart sidebar in case if we create order for active shopping cart
101
+ // because it has no sense to duplicate items info in two blocks
102
+ $sidebar = $layout->getBlock('sidebar');
103
+ /** @var $cartBlock Mage_Adminhtml_Block_Sales_Order_Create_Sidebar_Cart */
104
+ $cartBlock = $sidebar->getChild('cart');
105
+ if ($cartBlock && (bool)$cartBlock->getQuote()->getOrigData('is_active')) {
106
+ $sidebar->unsetChild('cart');
107
+ }
108
+ }
109
+
110
+ /** @var Mage_Core_Block_Text $script */
111
+ $layout->createBlock('adminhtml/template', 'oro_script', array('template' => 'oro/api/script.phtml'));
112
+
113
+ if (($loginForm = $layout->getBlock('form.additional.info')) instanceof Mage_Core_Block_Text_List) {
114
+ $layout->createBlock(
115
+ 'adminhtml/template',
116
+ 'oro_login_styles',
117
+ array('template' => 'oro/api/login_styles.phtml')
118
+ );
119
+ $loginForm->insert('oro_login_styles');
120
+ } elseif ($layout->getBlock('head')) {
121
+ $layout->getBlock('head')->addCss('oro_style.css');
122
+ }
123
+
124
+ $this->_insertBlock('oro_script', $layout);
125
+
126
+ if ($layout->getBlock('root') instanceof Mage_Core_Block_Template) {
127
+ $layout->getBlock('root')->setTemplate('oro/api/page.phtml');
128
+ }
129
+ }
130
+ }
131
+
132
+ /**
133
+ * Insert block
134
+ *
135
+ * @param string $blockName
136
+ * @param Mage_Core_Model_Layout $layout
137
+ */
138
+ protected function _insertBlock($blockName, Mage_Core_Model_Layout $layout)
139
+ {
140
+ $destination = null;
141
+
142
+ switch (true) {
143
+ case $layout->getBlock('form.additional.info') instanceof Mage_Core_Block_Text_List:
144
+ $destination = $layout->getBlock('form.additional.info');
145
+ break;
146
+ case $layout->getBlock('before_body_end') instanceof Mage_Core_Block_Text_List:
147
+ $destination = $layout->getBlock('before_body_end');
148
+ break;
149
+ case $layout->getBlock('content') instanceof Mage_Core_Block_Text_List:
150
+ $destination = $layout->getBlock('content');
151
+ break;
152
+ default:
153
+ $destination = null;
154
+ break;
155
+ }
156
+
157
+ if ($destination) {
158
+ $destination->insert($blockName);
159
+ }
160
+ }
161
+
162
+ /**
163
+ * Set oro cookie value
164
+ *
165
+ * @param mixed $value
166
+ */
167
+ protected function _setCookieValue($value)
168
+ {
169
+ Mage::getSingleton('core/cookie')->set('is-oro-request', $value, null, null, null, null, false);
170
+ }
171
+ }
app/code/community/Oro/Api/Model/Observer/Sales/Order.php CHANGED
@@ -1,36 +1,36 @@
1
- <?php
2
-
3
- /**
4
- * Oro Inc.
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is published at http://opensource.org/licenses/osl-3.0.php.
10
- * If you did not receive a copy of the license and are unable to
11
- * obtain it through the world-wide-web, please send an email
12
- * to license@magecore.com so we can send you a copy immediately
13
- *
14
- * @category Oro
15
- * @package Api
16
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
- */
19
- class Oro_Api_Model_Observer_Sales_Order
20
- {
21
- /**
22
- * Deactivates quote after succeed order placement, this is temporary solution for correct CRM processing
23
- *
24
- * @param Varien_Event_Observer $observer
25
- */
26
- public function onSubmitAllAfter(Varien_Event_Observer $observer)
27
- {
28
- /** @var Mage_Sales_Model_Quote $quote */
29
- $quote = $observer->getQuote();
30
-
31
- if (Mage::helper('oro_api')->isOroRequest() && (bool)$quote->getOrigData('is_active')) {
32
- $quote->setIsActive(false)
33
- ->save();
34
- }
35
- }
36
- }
1
+ <?php
2
+
3
+ /**
4
+ * Oro Inc.
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magecore.com so we can send you a copy immediately
13
+ *
14
+ * @category Oro
15
+ * @package Api
16
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
+ */
19
+ class Oro_Api_Model_Observer_Sales_Order
20
+ {
21
+ /**
22
+ * Deactivates quote after succeed order placement, this is temporary solution for correct CRM processing
23
+ *
24
+ * @param Varien_Event_Observer $observer
25
+ */
26
+ public function onSubmitAllAfter(Varien_Event_Observer $observer)
27
+ {
28
+ /** @var Mage_Sales_Model_Quote $quote */
29
+ $quote = $observer->getQuote();
30
+
31
+ if (Mage::helper('oro_api')->isOroRequest() && (bool)$quote->getOrigData('is_active')) {
32
+ $quote->setIsActive(false)
33
+ ->save();
34
+ }
35
+ }
36
+ }
app/code/community/Oro/Api/Model/Ping.php CHANGED
@@ -1,32 +1,31 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Ping extends Mage_Api_Model_Resource_Abstract
19
- {
20
- const VERSION = '1.1.0';
21
- /**
22
- * @return array
23
- */
24
- public function ping()
25
- {
26
- return array(
27
- 'version' => self::VERSION,
28
- 'mage_version' => Mage::getVersion(),
29
- 'admin_url' => Mage::getUrl('adminhtml'),
30
- );
31
- }
32
- }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Ping extends Mage_Api_Model_Resource_Abstract
19
+ {
20
+ /**
21
+ * @return array
22
+ */
23
+ public function ping()
24
+ {
25
+ return array(
26
+ 'version' => (string)Mage::getConfig()->getNode('modules/Oro_Api/version'),
27
+ 'mage_version' => Mage::getVersion(),
28
+ 'admin_url' => Mage::getUrl('adminhtml'),
29
+ );
30
+ }
31
+ }
 
app/code/community/Oro/Api/Model/Ping/V2.php CHANGED
@@ -1,20 +1,20 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Ping_V2 extends Oro_Api_Model_Ping
19
- {
20
- }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Ping_V2 extends Oro_Api_Model_Ping
19
+ {
20
+ }
app/code/community/Oro/Api/Model/Report/Product/Viewed/Api.php CHANGED
@@ -1,43 +1,43 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Report_Product_Viewed_Api
19
- extends Mage_Checkout_Model_Api_Resource
20
- {
21
- /**
22
- * @param array|object $filters
23
- * @return array
24
- */
25
- public function items($filters)
26
- {
27
- /** @var Oro_Api_Model_Resource_Reports_Product_Index_Viewed_Collection $collection */
28
- $collection = Mage::getResourceModel('oro_api/reports_product_index_viewed_collection');
29
- $collection->addIndexFilter();
30
- /** @var $apiHelper Mage_Api_Helper_Data */
31
- $apiHelper = Mage::helper('oro_api');
32
- $filters = $apiHelper->parseFilters($filters);
33
- try {
34
- foreach ($filters as $field => $value) {
35
- $collection->addFieldToFilter($field, $value);
36
- }
37
- } catch (Mage_Core_Exception $e) {
38
- $this->_fault('filters_invalid', $e->getMessage());
39
- }
40
-
41
- return $collection->load()->toArray();
42
- }
43
- }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Report_Product_Viewed_Api
19
+ extends Mage_Checkout_Model_Api_Resource
20
+ {
21
+ /**
22
+ * @param array|object $filters
23
+ * @return array
24
+ */
25
+ public function items($filters)
26
+ {
27
+ /** @var Oro_Api_Model_Resource_Reports_Product_Index_Viewed_Collection $collection */
28
+ $collection = Mage::getResourceModel('oro_api/reports_product_index_viewed_collection');
29
+ $collection->addIndexFilter();
30
+ /** @var $apiHelper Mage_Api_Helper_Data */
31
+ $apiHelper = Mage::helper('oro_api');
32
+ $filters = $apiHelper->parseFilters($filters);
33
+ try {
34
+ foreach ($filters as $field => $value) {
35
+ $collection->addFieldToFilter($field, $value);
36
+ }
37
+ } catch (Mage_Core_Exception $e) {
38
+ $this->_fault('filters_invalid', $e->getMessage());
39
+ }
40
+
41
+ return $collection->load()->toArray();
42
+ }
43
+ }
app/code/community/Oro/Api/Model/Report/Product/Viewed/Api/V2.php CHANGED
@@ -1,22 +1,22 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Report_Product_Viewed_Api_V2
19
- extends Oro_Api_Model_Report_Product_Viewed_Api
20
- {
21
-
22
- }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Report_Product_Viewed_Api_V2
19
+ extends Oro_Api_Model_Report_Product_Viewed_Api
20
+ {
21
+
22
+ }
app/code/community/Oro/Api/Model/Resource/Reports/Product/Index/Viewed/Collection.php CHANGED
@@ -1,44 +1,44 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Resource_Reports_Product_Index_Viewed_Collection
19
- extends Mage_Reports_Model_Resource_Product_Index_Viewed_Collection
20
- {
21
- protected function _joinIdxTable()
22
- {
23
- if (!$this->getFlag('is_idx_table_joined')) {
24
- $this->joinTable(
25
- array('idx_table' => $this->_getTableName()),
26
- 'product_id=entity_id',
27
- '*',
28
- $this->_getWhereCondition()
29
- );
30
- $this->setFlag('is_idx_table_joined', true);
31
- }
32
- return $this;
33
- }
34
-
35
- /**
36
- * Retrieve Where Condition to Index table
37
- *
38
- * @return array
39
- */
40
- protected function _getWhereCondition()
41
- {
42
- return array();
43
- }
44
  }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Resource_Reports_Product_Index_Viewed_Collection
19
+ extends Mage_Reports_Model_Resource_Product_Index_Viewed_Collection
20
+ {
21
+ protected function _joinIdxTable()
22
+ {
23
+ if (!$this->getFlag('is_idx_table_joined')) {
24
+ $this->joinTable(
25
+ array('idx_table' => $this->_getTableName()),
26
+ 'product_id=entity_id',
27
+ '*',
28
+ $this->_getWhereCondition()
29
+ );
30
+ $this->setFlag('is_idx_table_joined', true);
31
+ }
32
+ return $this;
33
+ }
34
+
35
+ /**
36
+ * Retrieve Where Condition to Index table
37
+ *
38
+ * @return array
39
+ */
40
+ protected function _getWhereCondition()
41
+ {
42
+ return array();
43
+ }
44
  }
app/code/community/Oro/Api/Model/Sales/Order/Api.php CHANGED
@@ -1,156 +1,223 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Sales_Order_Api extends Mage_Sales_Model_Api_Resource
19
- {
20
- protected $_attributesMap = array(
21
- 'order' => array('order_id' => 'entity_id'),
22
- );
23
-
24
- /**
25
- * Retrieve list of orders. Filtration could be applied
26
- *
27
- * @param null|object|array $filters
28
- * @param null|\stdClass $pager
29
- *
30
- * @return array
31
- */
32
- public function items($filters = null, $pager = null)
33
- {
34
- $orders = array();
35
- $orderCollection = $this->getOrderCollection();
36
-
37
- /** @var $apiHelper Oro_Api_Helper_Data */
38
- $apiHelper = Mage::helper('oro_api');
39
-
40
- $filters = $apiHelper->parseFilters($filters, $this->_attributesMap['order']);
41
- try {
42
- foreach ($filters as $field => $value) {
43
- $orderCollection->addFieldToFilter($field, $value);
44
- }
45
- } catch (Mage_Core_Exception $e) {
46
- $this->_fault('filters_invalid', $e->getMessage());
47
- }
48
-
49
- $orderCollection->setOrder('entity_id', Varien_Data_Collection_Db::SORT_ORDER_ASC);
50
- if (!$apiHelper->applyPager($orderCollection, $pager)) {
51
- // there's no such page, so no results for it
52
- return array();
53
- }
54
-
55
- foreach ($orderCollection as $order) {
56
- $orderArray = $this->_getAttributes($order, 'order');
57
-
58
- $orders[] = array_merge($orderArray, $this->info($order));
59
- }
60
-
61
- return $orders;
62
- }
63
-
64
- /**
65
- * Retrieve full order information
66
- *
67
- * @param object $order
68
- * @return array
69
- */
70
- protected function info($order)
71
- {
72
- if ($order->getGiftMessageId() > 0) {
73
- $order->setGiftMessage(
74
- Mage::getSingleton('giftmessage/message')->load($order->getGiftMessageId())->getMessage()
75
- );
76
- }
77
-
78
- $result = array();
79
- $result['shipping_address'] = $this->_getAttributes($order->getShippingAddress(), 'order_address');
80
- $result['billing_address'] = $this->_getAttributes($order->getBillingAddress(), 'order_address');
81
- $result['items'] = array();
82
-
83
- foreach ($order->getAllItems() as $item) {
84
- if ($item->getGiftMessageId() > 0) {
85
- $item->setGiftMessage(
86
- Mage::getSingleton('giftmessage/message')->load($item->getGiftMessageId())->getMessage()
87
- );
88
- }
89
-
90
- $result['items'][] = $this->_getAttributes($item, 'order_item');
91
- }
92
-
93
- $result['payment'] = $this->_getAttributes($order->getPayment(), 'order_payment');
94
-
95
- $result['status_history'] = array();
96
-
97
- foreach ($order->getAllStatusHistory() as $history) {
98
- $result['status_history'][] = $this->_getAttributes($history, 'order_status_history');
99
- }
100
-
101
- return $result;
102
- }
103
-
104
- /**
105
- * @return Mage_Sales_Model_Mysql4_Order_Collection
106
- */
107
- protected function getOrderCollection()
108
- {
109
- //TODO: add full name logic
110
- $billingAliasName = 'billing_o_a';
111
- $shippingAliasName = 'shipping_o_a';
112
-
113
- /** @var $orderCollection Mage_Sales_Model_Mysql4_Order_Collection */
114
- $orderCollection = Mage::getModel("sales/order")->getCollection();
115
-
116
- $billingFirstnameField = "$billingAliasName.firstname";
117
- $billingLastnameField = "$billingAliasName.lastname";
118
- $shippingFirstnameField = "$shippingAliasName.firstname";
119
- $shippingLastnameField = "$shippingAliasName.lastname";
120
-
121
- $orderCollection->addAttributeToSelect('*')
122
- ->addAddressFields()
123
- ->addExpressionFieldToSelect(
124
- 'billing_firstname',
125
- "{{billing_firstname}}",
126
- array('billing_firstname' => $billingFirstnameField)
127
- )
128
- ->addExpressionFieldToSelect(
129
- 'billing_lastname',
130
- "{{billing_lastname}}",
131
- array('billing_lastname' => $billingLastnameField)
132
- )
133
- ->addExpressionFieldToSelect(
134
- 'shipping_firstname',
135
- "{{shipping_firstname}}",
136
- array('shipping_firstname' => $shippingFirstnameField)
137
- )
138
- ->addExpressionFieldToSelect(
139
- 'shipping_lastname',
140
- "{{shipping_lastname}}",
141
- array('shipping_lastname' => $shippingLastnameField)
142
- )
143
- ->addExpressionFieldToSelect(
144
- 'billing_name',
145
- "CONCAT({{billing_firstname}}, ' ', {{billing_lastname}})",
146
- array('billing_firstname' => $billingFirstnameField, 'billing_lastname' => $billingLastnameField)
147
- )
148
- ->addExpressionFieldToSelect(
149
- 'shipping_name',
150
- 'CONCAT({{shipping_firstname}}, " ", {{shipping_lastname}})',
151
- array('shipping_firstname' => $shippingFirstnameField, 'shipping_lastname' => $shippingLastnameField)
152
- );
153
-
154
- return $orderCollection;
155
- }
156
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Sales_Order_Api extends Mage_Sales_Model_Api_Resource
19
+ {
20
+ /** @var array */
21
+ protected $_attributesMap = array(
22
+ 'order' => array('order_id' => 'entity_id'),
23
+ 'order_address' => array('address_id' => 'entity_id')
24
+ );
25
+
26
+ /**
27
+ * @var Oro_Api_Helper_Data
28
+ */
29
+ protected $_apiHelper;
30
+
31
+ /**
32
+ * @var array
33
+ */
34
+ protected $_knownApiAttributes = array();
35
+
36
+ public function __construct()
37
+ {
38
+ $this->_apiHelper = Mage::helper('oro_api');
39
+ }
40
+
41
+ /**
42
+ * Retrieve list of orders. Filtration could be applied
43
+ *
44
+ * @param null|object|array $filters
45
+ * @param null|\stdClass $pager
46
+ *
47
+ * @return array
48
+ */
49
+ public function items($filters = null, $pager = null)
50
+ {
51
+ $orders = array();
52
+ $orderCollection = $this->getOrderCollection();
53
+
54
+ $filters = $this->_apiHelper->parseFilters($filters, $this->_attributesMap['order']);
55
+ try {
56
+ foreach ($filters as $field => $value) {
57
+ $orderCollection->addFieldToFilter($field, $value);
58
+ }
59
+ } catch (Mage_Core_Exception $e) {
60
+ $this->_fault('filters_invalid', $e->getMessage());
61
+ }
62
+
63
+ $orderCollection->setOrder('entity_id', Varien_Data_Collection_Db::SORT_ORDER_ASC);
64
+ if (!$this->_apiHelper->applyPager($orderCollection, $pager)) {
65
+ // there's no such page, so no results for it
66
+ return array();
67
+ }
68
+
69
+ foreach ($orderCollection as $order) {
70
+ $orders[] = $this->_getOrderData($order);
71
+ }
72
+
73
+ return $orders;
74
+ }
75
+
76
+ /**
77
+ * Retrieve full order information
78
+ *
79
+ * @param string $orderIncrementId
80
+ * @return array
81
+ */
82
+ public function info($orderIncrementId)
83
+ {
84
+ /** @var Mage_Sales_Model_Order $order */
85
+ $order = Mage::getModel('sales/order');
86
+ $order->loadByIncrementId($orderIncrementId);
87
+
88
+ if (!$order->getId()) {
89
+ $this->_fault('not_exists');
90
+ }
91
+
92
+ return $this->_getOrderData($order);
93
+ }
94
+
95
+ /**
96
+ * @param Mage_Sales_Model_Order $order
97
+ * @return array
98
+ */
99
+ protected function _getOrderData($order)
100
+ {
101
+ /** @var array $orderData */
102
+ $orderData = $this->_getAttributes($order, 'order');
103
+
104
+ $attributes = $this->_apiHelper->getNotIncludedAttributes($order, $orderData, $this->getKnownApiAttributes());
105
+ if ($attributes) {
106
+ $orderData['attributes'] = $attributes;
107
+ }
108
+ $orderData = array_merge($orderData, $this->_getOrderAdditionalInfo($order));
109
+
110
+ return $orderData;
111
+ }
112
+
113
+ /**
114
+ * Retrieve detailed order information
115
+ *
116
+ * @param Mage_Sales_Model_Order $order
117
+ * @return array
118
+ */
119
+ protected function _getOrderAdditionalInfo($order)
120
+ {
121
+ if ($order->getGiftMessageId() > 0) {
122
+ $order->setGiftMessage(
123
+ Mage::getSingleton('giftmessage/message')->load($order->getGiftMessageId())->getMessage()
124
+ );
125
+ }
126
+
127
+ $result = array();
128
+ $result['shipping_address'] = $this->_getAttributes($order->getShippingAddress(), 'order_address');
129
+ $result['billing_address'] = $this->_getAttributes($order->getBillingAddress(), 'order_address');
130
+ $result['items'] = array();
131
+
132
+ /** @var Mage_Sales_Model_Order_Item $item */
133
+ foreach ($order->getAllItems() as $item) {
134
+ if ($item->getGiftMessageId() > 0) {
135
+ $item->setGiftMessage(
136
+ Mage::getSingleton('giftmessage/message')->load($item->getGiftMessageId())->getMessage()
137
+ );
138
+ }
139
+
140
+ $result['items'][] = $this->_getAttributes($item, 'order_item');
141
+ }
142
+
143
+ $result['payment'] = $this->_getAttributes($order->getPayment(), 'order_payment');
144
+
145
+ $result['status_history'] = array();
146
+
147
+ foreach ($order->getAllStatusHistory() as $history) {
148
+ $result['status_history'][] = $this->_getAttributes($history, 'order_status_history');
149
+ }
150
+
151
+ return $result;
152
+ }
153
+
154
+ /**
155
+ * @return Mage_Sales_Model_Mysql4_Order_Collection
156
+ */
157
+ protected function getOrderCollection()
158
+ {
159
+ //TODO: add full name logic
160
+ $billingAliasName = 'billing_o_a';
161
+ $shippingAliasName = 'shipping_o_a';
162
+
163
+ /** @var $orderCollection Mage_Sales_Model_Mysql4_Order_Collection */
164
+ $orderCollection = Mage::getModel("sales/order")->getCollection();
165
+
166
+ $billingFirstnameField = "$billingAliasName.firstname";
167
+ $billingLastnameField = "$billingAliasName.lastname";
168
+ $shippingFirstnameField = "$shippingAliasName.firstname";
169
+ $shippingLastnameField = "$shippingAliasName.lastname";
170
+
171
+ $orderCollection->addAttributeToSelect('*')
172
+ ->addAddressFields()
173
+ ->addExpressionFieldToSelect(
174
+ 'billing_firstname',
175
+ "{{billing_firstname}}",
176
+ array('billing_firstname' => $billingFirstnameField)
177
+ )
178
+ ->addExpressionFieldToSelect(
179
+ 'billing_lastname',
180
+ "{{billing_lastname}}",
181
+ array('billing_lastname' => $billingLastnameField)
182
+ )
183
+ ->addExpressionFieldToSelect(
184
+ 'shipping_firstname',
185
+ "{{shipping_firstname}}",
186
+ array('shipping_firstname' => $shippingFirstnameField)
187
+ )
188
+ ->addExpressionFieldToSelect(
189
+ 'shipping_lastname',
190
+ "{{shipping_lastname}}",
191
+ array('shipping_lastname' => $shippingLastnameField)
192
+ )
193
+ ->addExpressionFieldToSelect(
194
+ 'billing_name',
195
+ "CONCAT({{billing_firstname}}, ' ', {{billing_lastname}})",
196
+ array('billing_firstname' => $billingFirstnameField, 'billing_lastname' => $billingLastnameField)
197
+ )
198
+ ->addExpressionFieldToSelect(
199
+ 'shipping_name',
200
+ 'CONCAT({{shipping_firstname}}, " ", {{shipping_lastname}})',
201
+ array('shipping_firstname' => $shippingFirstnameField, 'shipping_lastname' => $shippingLastnameField)
202
+ );
203
+
204
+ return $orderCollection;
205
+ }
206
+
207
+ /**
208
+ * Get list of attributes exposed to API.
209
+ *
210
+ * @return array
211
+ */
212
+ protected function getKnownApiAttributes()
213
+ {
214
+ if (!$this->_knownApiAttributes) {
215
+ $this->_knownApiAttributes = array_merge(
216
+ $this->_apiHelper->getComplexTypeScalarAttributes('salesOrderEntity'),
217
+ array('entity_id')
218
+ );
219
+ }
220
+
221
+ return $this->_knownApiAttributes;
222
+ }
223
+ }
app/code/community/Oro/Api/Model/Sales/Order/Api/V2.php CHANGED
@@ -1,22 +1,22 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Sales_Order_Api_V2
19
- extends Oro_Api_Model_Sales_Order_Api
20
- {
21
-
22
- }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Sales_Order_Api_V2
19
+ extends Oro_Api_Model_Sales_Order_Api
20
+ {
21
+
22
+ }
app/code/community/Oro/Api/Model/Sales/Quote/Api.php CHANGED
@@ -1,96 +1,176 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Sales_Quote_Api
19
- extends Mage_Checkout_Model_Api_Resource
20
- {
21
- /**
22
- * @param array|object $filters
23
- * @param \stdClass $pager
24
- *
25
- * @return array
26
- */
27
- public function items($filters, $pager)
28
- {
29
- /** @var Mage_Sales_Model_Resource_Quote_Collection $quoteCollection */
30
- $quoteCollection = Mage::getResourceModel('sales/quote_collection');
31
-
32
- /** @var $apiHelper Oro_Api_Helper_Data */
33
- $apiHelper = Mage::helper('oro_api');
34
-
35
- $filters = $apiHelper->parseFilters($filters);
36
- try {
37
- foreach ($filters as $field => $value) {
38
- $quoteCollection->addFieldToFilter($field, $value);
39
- }
40
- } catch (Mage_Core_Exception $e) {
41
- $this->_fault('filters_invalid', $e->getMessage());
42
- }
43
-
44
- $quoteCollection->setOrder('entity_id', Varien_Data_Collection_Db::SORT_ORDER_ASC);
45
- if (!$apiHelper->applyPager($quoteCollection, $pager)) {
46
- // there's no such page, so no results for it
47
- return array();
48
- }
49
-
50
- $resultArray = array();
51
- foreach ($quoteCollection as $quote) {
52
- $resultArray[] = array_merge($quote->__toArray(), $this->info($quote));
53
- }
54
-
55
- return $resultArray;
56
- }
57
-
58
- /**
59
- * Retrieve full information about quote
60
- *
61
- * @param $quote
62
- * @return array
63
- */
64
- protected function info($quote)
65
- {
66
- if ($quote->getGiftMessageId() > 0) {
67
- $quote->setGiftMessage(
68
- Mage::getSingleton('giftmessage/message')->load($quote->getGiftMessageId())->getMessage()
69
- );
70
- }
71
-
72
- $result = $this->_getAttributes($quote, 'quote');
73
- $result['shipping_address'] = $this->_getAttributes($quote->getShippingAddress(), 'quote_address');
74
- $result['billing_address'] = $this->_getAttributes($quote->getBillingAddress(), 'quote_address');
75
- $result['items'] = array();
76
-
77
- foreach ($quote->getAllItems() as $item) {
78
- if ($item->getGiftMessageId() > 0) {
79
- $item->setGiftMessage(
80
- Mage::getSingleton('giftmessage/message')->load($item->getGiftMessageId())->getMessage()
81
- );
82
- }
83
-
84
- $result['items'][] = $this->_getAttributes($item, 'quote_item');
85
- }
86
-
87
- $result['payment'] = $this->_getAttributes($quote->getPayment(), 'quote_payment');
88
- if (isset($result['payment'], $result['payment']['additional_information'])
89
- && is_array($result['payment']['additional_information'])
90
- ) {
91
- $result['payment']['additional_information'] = serialize($result['payment']['additional_information']);
92
- }
93
-
94
- return $result;
95
- }
96
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Sales_Quote_Api
19
+ extends Mage_Checkout_Model_Api_Resource
20
+ {
21
+ /**
22
+ * @var array
23
+ */
24
+ protected $_knownAttributes = array();
25
+
26
+ /**
27
+ * @var Oro_Api_Helper_Data
28
+ */
29
+ protected $_apiHelper;
30
+
31
+ public function __construct()
32
+ {
33
+ $this->_apiHelper = Mage::helper('oro_api');
34
+ }
35
+
36
+ /**
37
+ * Retrieve list of quotes. Filtration could be applied
38
+ *
39
+ * @param array|object $filters
40
+ * @param \stdClass $pager
41
+ *
42
+ * @return array
43
+ */
44
+ public function items($filters, $pager)
45
+ {
46
+ /** @var Mage_Sales_Model_Resource_Quote_Collection $quoteCollection */
47
+ $quoteCollection = Mage::getResourceModel('sales/quote_collection');
48
+
49
+ $filters = $this->_apiHelper->parseFilters($filters);
50
+ try {
51
+ foreach ($filters as $field => $value) {
52
+ $quoteCollection->addFieldToFilter($field, $value);
53
+ }
54
+ } catch (Mage_Core_Exception $e) {
55
+ $this->_fault('filters_invalid', $e->getMessage());
56
+ }
57
+
58
+ $quoteCollection->setOrder('entity_id', Varien_Data_Collection_Db::SORT_ORDER_ASC);
59
+ if (!$this->_apiHelper->applyPager($quoteCollection, $pager)) {
60
+ // there's no such page, so no results for it
61
+ return array();
62
+ }
63
+
64
+ $resultArray = array();
65
+ /** @var Mage_Sales_Model_Quote $quote */
66
+ foreach ($quoteCollection as $quote) {
67
+ $row = $quote->__toArray();
68
+ $attributes = $this->_apiHelper->getNotIncludedAttributes($quote, $row, $this->_getKnownQuoteAttributes());
69
+ if ($attributes) {
70
+ $row['attributes'] = $attributes;
71
+ }
72
+ $row = array_merge($row, $this->info($quote));
73
+ $resultArray[] = $row;
74
+ }
75
+
76
+ return $resultArray;
77
+ }
78
+
79
+ /**
80
+ * Retrieve full information about quote
81
+ *
82
+ * @param Mage_Sales_Model_Quote $quote
83
+ * @return array
84
+ */
85
+ protected function info($quote)
86
+ {
87
+ if ($quote->getGiftMessageId() > 0) {
88
+ $quote->setGiftMessage(
89
+ Mage::getSingleton('giftmessage/message')->load($quote->getGiftMessageId())->getMessage()
90
+ );
91
+ }
92
+
93
+ $result = $this->_getAttributes($quote, 'quote');
94
+ $result['shipping_address'] = $this->_getAttributes($quote->getShippingAddress(), 'quote_address');
95
+ $result['billing_address'] = $this->_getAttributes($quote->getBillingAddress(), 'quote_address');
96
+ $result['items'] = array();
97
+
98
+ /** @var Mage_Sales_Model_Quote_Item $item */
99
+ foreach ($quote->getAllItems() as $item) {
100
+ if ($item->getGiftMessageId() > 0) {
101
+ $item->setGiftMessage(
102
+ Mage::getSingleton('giftmessage/message')->load($item->getGiftMessageId())->getMessage()
103
+ );
104
+ }
105
+
106
+ $quoteItem = $this->_getAttributes($item, 'quote_item');
107
+ $productAttributes = $this->_getProductAttributes($item);
108
+ $quoteItem = array_merge($quoteItem, $productAttributes);
109
+
110
+ $result['items'][] = $quoteItem;
111
+ }
112
+
113
+ $result['payment'] = $this->_getAttributes($quote->getPayment(), 'quote_payment');
114
+ if (isset($result['payment'], $result['payment']['additional_information'])
115
+ && is_array($result['payment']['additional_information'])
116
+ ) {
117
+ $result['payment']['additional_information'] = serialize($result['payment']['additional_information']);
118
+ }
119
+
120
+ return $result;
121
+ }
122
+
123
+ /**
124
+ * @param Mage_Sales_Model_Quote_Item $item
125
+ * @return array
126
+ */
127
+ protected function _getProductAttributes($item)
128
+ {
129
+ $result = array();
130
+ /** @var Mage_Catalog_Model_Product $productModel */
131
+ $productModel = Mage::getModel('catalog/product');
132
+ /** @var Mage_Catalog_Model_Resource_Eav_Attribute[] $mediaAttributes */
133
+ $mediaAttributes = $productModel->getMediaAttributes();
134
+ if (is_array($mediaAttributes) && array_key_exists('image', $mediaAttributes)) {
135
+ /** @var Mage_Catalog_Model_Product $product */
136
+ $product = $productModel
137
+ ->setStoreId($item->getQuote()->getStoreId())
138
+ ->load($item->getProductId(), $mediaAttributes['image']->getAttributeCode());
139
+
140
+ if ($product) {
141
+ /** @var Mage_Catalog_Model_Product_Media_Config $productMediaConfig */
142
+ $productMediaConfig = Mage::getSingleton('catalog/product_media_config');
143
+
144
+ $productImage = $product->getData('image');
145
+ if ($productImage) {
146
+ $result['product_image_url'] = $productMediaConfig->getMediaUrl($productImage);
147
+ }
148
+ }
149
+ } else {
150
+ $product = $item->getProduct();
151
+ }
152
+
153
+ if ($product) {
154
+ $result['product_url'] = $product->getProductUrl(false);
155
+ }
156
+
157
+ return $result;
158
+ }
159
+
160
+ /**
161
+ * Get list of attributes exposed to API.
162
+ *
163
+ * @return array
164
+ */
165
+ protected function _getKnownQuoteAttributes()
166
+ {
167
+ if (!$this->_knownAttributes) {
168
+ $this->_knownAttributes = array_merge(
169
+ $this->_apiHelper->getComplexTypeScalarAttributes('salesQuoteEntity'),
170
+ array('entity_id')
171
+ );
172
+ }
173
+
174
+ return $this->_knownAttributes;
175
+ }
176
+ }
app/code/community/Oro/Api/Model/Sales/Quote/Api/V2.php CHANGED
@@ -1,22 +1,22 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Sales_Quote_Api_V2
19
- extends Oro_Api_Model_Sales_Quote_Api
20
- {
21
-
22
  }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Sales_Quote_Api_V2
19
+ extends Oro_Api_Model_Sales_Quote_Api
20
+ {
21
+
22
  }
app/code/community/Oro/Api/Model/Website/Api.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Website_Api extends Mage_Api_Model_Resource_Abstract
19
+ {
20
+ /**
21
+ * Retrieve websites list
22
+ *
23
+ * @return array
24
+ */
25
+ public function items()
26
+ {
27
+ /** @var Mage_Core_Model_Website[] $websites */
28
+ $websites = Mage::app()->getWebsites(true);
29
+
30
+ // Make result array
31
+ $result = array();
32
+ foreach ($websites as $website) {
33
+ $result[] = $website->toArray();
34
+ }
35
+
36
+ return $result;
37
+ }
38
+ }
app/code/community/Oro/Api/Model/Website/Api/V2.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Website_Api_V2
19
+ extends Oro_Api_Model_Website_Api
20
+ {
21
+ }
app/code/community/Oro/Api/Model/Wishlist/Api.php CHANGED
@@ -1,44 +1,44 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Wishlist_Api
19
- extends Mage_Checkout_Model_Api_Resource
20
- {
21
- /**
22
- * @param array|object $filters
23
- * @return array
24
- */
25
- public function items($filters)
26
- {
27
- /** @var Mage_Wishlist_Model_Resource_Wishlist_Collection $collection */
28
- $collection = Mage::getResourceModel('wishlist/wishlist_collection');
29
- /** @var $apiHelper Mage_Api_Helper_Data */
30
- $apiHelper = Mage::helper('oro_api');
31
- $filters = $apiHelper->parseFilters($filters);
32
- try {
33
- foreach ($filters as $field => $value) {
34
- $collection->addFieldToFilter($field, $value);
35
- }
36
- } catch (Mage_Core_Exception $e) {
37
- $this->_fault('filters_invalid', $e->getMessage());
38
- }
39
-
40
- $arr = $collection->toArray();
41
-
42
- return $arr['items'];
43
- }
44
- }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Wishlist_Api
19
+ extends Mage_Checkout_Model_Api_Resource
20
+ {
21
+ /**
22
+ * @param array|object $filters
23
+ * @return array
24
+ */
25
+ public function items($filters)
26
+ {
27
+ /** @var Mage_Wishlist_Model_Resource_Wishlist_Collection $collection */
28
+ $collection = Mage::getResourceModel('wishlist/wishlist_collection');
29
+ /** @var $apiHelper Mage_Api_Helper_Data */
30
+ $apiHelper = Mage::helper('oro_api');
31
+ $filters = $apiHelper->parseFilters($filters);
32
+ try {
33
+ foreach ($filters as $field => $value) {
34
+ $collection->addFieldToFilter($field, $value);
35
+ }
36
+ } catch (Mage_Core_Exception $e) {
37
+ $this->_fault('filters_invalid', $e->getMessage());
38
+ }
39
+
40
+ $arr = $collection->toArray();
41
+
42
+ return $arr['items'];
43
+ }
44
+ }
app/code/community/Oro/Api/Model/Wishlist/Api/V2.php CHANGED
@@ -1,22 +1,22 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Wishlist_Api_V2
19
- extends Oro_Api_Model_Wishlist_Api
20
- {
21
-
22
  }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Wishlist_Api_V2
19
+ extends Oro_Api_Model_Wishlist_Api
20
+ {
21
+
22
  }
app/code/community/Oro/Api/Model/Wishlist/Item/Api.php CHANGED
@@ -1,44 +1,44 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Wishlist_Item_Api
19
- extends Mage_Checkout_Model_Api_Resource
20
- {
21
- /**
22
- * @param array|object $filters
23
- * @return array
24
- */
25
- public function items($filters)
26
- {
27
- /** @var Mage_Wishlist_Model_Resource_Item_Collection $collection */
28
- $collection = Mage::getResourceModel('wishlist/item_collection');
29
- /** @var $apiHelper Mage_Api_Helper_Data */
30
- $apiHelper = Mage::helper('oro_api');
31
- $filters = $apiHelper->parseFilters($filters);
32
- try {
33
- foreach ($filters as $field => $value) {
34
- $collection->addFieldToFilter($field, $value);
35
- }
36
- } catch (Mage_Core_Exception $e) {
37
- $this->_fault('filters_invalid', $e->getMessage());
38
- }
39
-
40
- $arr = $collection->toArray();
41
-
42
- return $arr['items'];
43
- }
44
- }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Wishlist_Item_Api
19
+ extends Mage_Checkout_Model_Api_Resource
20
+ {
21
+ /**
22
+ * @param array|object $filters
23
+ * @return array
24
+ */
25
+ public function items($filters)
26
+ {
27
+ /** @var Mage_Wishlist_Model_Resource_Item_Collection $collection */
28
+ $collection = Mage::getResourceModel('wishlist/item_collection');
29
+ /** @var $apiHelper Mage_Api_Helper_Data */
30
+ $apiHelper = Mage::helper('oro_api');
31
+ $filters = $apiHelper->parseFilters($filters);
32
+ try {
33
+ foreach ($filters as $field => $value) {
34
+ $collection->addFieldToFilter($field, $value);
35
+ }
36
+ } catch (Mage_Core_Exception $e) {
37
+ $this->_fault('filters_invalid', $e->getMessage());
38
+ }
39
+
40
+ $arr = $collection->toArray();
41
+
42
+ return $arr['items'];
43
+ }
44
+ }
app/code/community/Oro/Api/Model/Wishlist/Item/Api/V2.php CHANGED
@@ -1,22 +1,22 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Model_Wishlist_Item_Api_V2
19
- extends Oro_Api_Model_Wishlist_Item_Api
20
- {
21
-
22
  }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Model_Wishlist_Item_Api_V2
19
+ extends Oro_Api_Model_Wishlist_Item_Api
20
+ {
21
+
22
  }
app/code/community/Oro/Api/controllers/Adminhtml/Oro/GatewayController.php CHANGED
@@ -1,73 +1,73 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Adminhtml_Oro_GatewayController
19
- extends Mage_Adminhtml_Controller_Action
20
- {
21
- protected $_publicActions = array('do');
22
-
23
- /**
24
- * Go to real admin url with session secret key
25
- */
26
- public function doAction()
27
- {
28
- $request = $this->getRequest();
29
- $params = $request->getParams();
30
-
31
- if (isset($params['route'])) {
32
- $route = $params['route'];
33
- unset($params['route']);
34
- $params['is-oro-request'] = true;
35
-
36
- $url = $this->getUrl('adminhtml/' . $route, array('_query' => $params));
37
-
38
- $configFile = Mage::getConfig()->getModuleDir('etc',Mage::helper('oro_api')->getModuleName()) . DS . 'workflow.xml';
39
- /** @var Mage_Catalog_Model_Config $config */
40
- $config = Mage::getModel('core/config');
41
- $config->loadFile($configFile);
42
-
43
- $workFlow = $request->getParam('workflow');
44
-
45
- $endPoints = $config->getXpath("{$workFlow}/end_point_action");
46
- if (count($endPoints)) {
47
- $endPoint = (string)array_shift($endPoints);
48
-
49
- Mage::getSingleton('adminhtml/session')->setData('oro_end_point', $endPoint);
50
- Mage::getSingleton('adminhtml/session')->setData('oro_success_url', $request->getParam('success_url'));
51
- Mage::getSingleton('adminhtml/session')->setData('oro_error_url', $request->getParam('error_url'));
52
-
53
- $this->_redirectUrl($url);
54
-
55
- } else {
56
- $this->getResponse()->setBody($this->__('Endpoint not found.'));
57
- }
58
- } else {
59
- $this->getResponse()->setBody($this->__('Please specify route name.'));
60
- }
61
- }
62
-
63
- /**
64
- * Gateway error
65
- */
66
- public function errorAction()
67
- {
68
- $response = $this->getResponse();
69
-
70
- $response->setBody($this->__('Gateway error.'));
71
- $response->setHttpResponseCode(400);
72
- }
73
- }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Adminhtml_Oro_GatewayController
19
+ extends Mage_Adminhtml_Controller_Action
20
+ {
21
+ protected $_publicActions = array('do');
22
+
23
+ /**
24
+ * Go to real admin url with session secret key
25
+ */
26
+ public function doAction()
27
+ {
28
+ $request = $this->getRequest();
29
+ $params = $request->getParams();
30
+
31
+ if (isset($params['route'])) {
32
+ $route = $params['route'];
33
+ unset($params['route']);
34
+ $params['is-oro-request'] = true;
35
+
36
+ $url = $this->getUrl('adminhtml/' . $route, array('_query' => $params));
37
+
38
+ $configFile = Mage::getConfig()->getModuleDir('etc',Mage::helper('oro_api')->getModuleName()) . DS . 'workflow.xml';
39
+ /** @var Mage_Catalog_Model_Config $config */
40
+ $config = Mage::getModel('core/config');
41
+ $config->loadFile($configFile);
42
+
43
+ $workFlow = $request->getParam('workflow');
44
+
45
+ $endPoints = $config->getXpath("{$workFlow}/end_point_action");
46
+ if (count($endPoints)) {
47
+ $endPoint = (string)array_shift($endPoints);
48
+
49
+ Mage::getSingleton('adminhtml/session')->setData('oro_end_point', $endPoint);
50
+ Mage::getSingleton('adminhtml/session')->setData('oro_success_url', $request->getParam('success_url'));
51
+ Mage::getSingleton('adminhtml/session')->setData('oro_error_url', $request->getParam('error_url'));
52
+
53
+ $this->_redirectUrl($url);
54
+
55
+ } else {
56
+ $this->getResponse()->setBody($this->__('Endpoint not found.'));
57
+ }
58
+ } else {
59
+ $this->getResponse()->setBody($this->__('Please specify route name.'));
60
+ }
61
+ }
62
+
63
+ /**
64
+ * Gateway error
65
+ */
66
+ public function errorAction()
67
+ {
68
+ $response = $this->getResponse();
69
+
70
+ $response->setBody($this->__('Gateway error.'));
71
+ $response->setHttpResponseCode(400);
72
+ }
73
+ }
app/code/community/Oro/Api/controllers/Adminhtml/Oro/SalesController.php CHANGED
@@ -1,106 +1,106 @@
1
- <?php
2
- /**
3
- * Oro Inc.
4
- *
5
- * NOTICE OF LICENSE
6
- *
7
- * This source file is subject to the Open Software License (OSL 3.0)
8
- * that is published at http://opensource.org/licenses/osl-3.0.php.
9
- * If you did not receive a copy of the license and are unable to
10
- * obtain it through the world-wide-web, please send an email
11
- * to license@magecore.com so we can send you a copy immediately
12
- *
13
- * @category Oro
14
- * @package Api
15
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
- */
18
- class Oro_Api_Adminhtml_Oro_SalesController
19
- extends Mage_Adminhtml_Controller_Action
20
- {
21
- public function checkoutAction()
22
- {
23
- $quote = false;
24
- $session = Mage::getSingleton('adminhtml/session_quote');
25
- $session->clear();
26
-
27
- $quoteId = $this->getRequest()->getParam('quote');
28
- if (null !== $quoteId) {
29
- $quote = $this->_getQuoteById($quoteId);
30
- }
31
-
32
- $customerId = $this->getRequest()->getParam('customer');
33
- if (null !== $customerId && $this->_checkCustomer($customerId)) {
34
- $session->setQuoteId(null);
35
- $session->setCustomerId((int)$customerId);
36
- } elseif (false !== $quote) {
37
- $customerId = (int)$quote->getCustomerId();
38
-
39
- $session->setStoreId($quote->getStoreId());
40
- $session->setQuoteId($quote->getId());
41
- $session->setCustomerId($customerId);
42
- } else {
43
- return $this->_redirect('*/oro_gateway/error');
44
- }
45
-
46
- return $this->_redirect('*/checkout/index', array('customer' => $customerId));
47
- }
48
-
49
- public function newOrderAction()
50
- {
51
- $quote = false;
52
- $session = Mage::getSingleton('adminhtml/session_quote');
53
- $session->clear();
54
-
55
- $quoteId = $this->getRequest()->getParam('quote');
56
- if (null !== $quoteId) {
57
- $quote = $this->_getQuoteById($quoteId);
58
- }
59
-
60
- $customerId = $this->getRequest()->getParam('customer');
61
- if (null !== $customerId && $this->_checkCustomer($customerId)) {
62
- $session->setQuoteId(null);
63
- $session->setCustomerId((int)$customerId);
64
- } elseif (false !== $quote) {
65
- $customerId = (int)$quote->getCustomerId();
66
-
67
- $session->setStoreId($quote->getStoreId());
68
- $session->setQuoteId($quote->getId());
69
- $session->setCustomerId($customerId);
70
- } else {
71
- return $this->_redirect('*/oro_gateway/error');
72
- }
73
-
74
- return $this->_redirect('*/sales_order_create/index', array('customer_id' => $customerId));
75
- }
76
-
77
- /**
78
- * Load customer's frontend quote by given ID
79
- *
80
- * @param int $quoteId
81
- *
82
- * @return bool|Mage_Sales_Model_Quote
83
- */
84
- protected function _getQuoteById($quoteId)
85
- {
86
- /** @var Mage_Sales_Model_Quote $quote */
87
- $quote = Mage::getModel('sales/quote');
88
- $quote->loadByIdWithoutStore($quoteId);
89
-
90
- return $quote->getId() ? $quote : false;
91
- }
92
-
93
- /**
94
- * Checks whether customer exists
95
- *
96
- * @param int $customerId
97
- *
98
- * @return bool
99
- */
100
- private function _checkCustomer($customerId)
101
- {
102
- $customer = Mage::getModel('customer/customer')->load($customerId);
103
-
104
- return (bool)$customer->getId();
105
- }
106
- }
1
+ <?php
2
+ /**
3
+ * Oro Inc.
4
+ *
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the Open Software License (OSL 3.0)
8
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
9
+ * If you did not receive a copy of the license and are unable to
10
+ * obtain it through the world-wide-web, please send an email
11
+ * to license@magecore.com so we can send you a copy immediately
12
+ *
13
+ * @category Oro
14
+ * @package Api
15
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
16
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
17
+ */
18
+ class Oro_Api_Adminhtml_Oro_SalesController
19
+ extends Mage_Adminhtml_Controller_Action
20
+ {
21
+ public function checkoutAction()
22
+ {
23
+ $quote = false;
24
+ $session = Mage::getSingleton('adminhtml/session_quote');
25
+ $session->clear();
26
+
27
+ $quoteId = $this->getRequest()->getParam('quote');
28
+ if (null !== $quoteId) {
29
+ $quote = $this->_getQuoteById($quoteId);
30
+ }
31
+
32
+ $customerId = $this->getRequest()->getParam('customer');
33
+ if (null !== $customerId && $this->_checkCustomer($customerId)) {
34
+ $session->setQuoteId(null);
35
+ $session->setCustomerId((int)$customerId);
36
+ } elseif (false !== $quote) {
37
+ $customerId = (int)$quote->getCustomerId();
38
+
39
+ $session->setStoreId($quote->getStoreId());
40
+ $session->setQuoteId($quote->getId());
41
+ $session->setCustomerId($customerId);
42
+ } else {
43
+ return $this->_redirect('*/oro_gateway/error');
44
+ }
45
+
46
+ return $this->_redirect('*/checkout/index', array('customer' => $customerId));
47
+ }
48
+
49
+ public function newOrderAction()
50
+ {
51
+ $quote = false;
52
+ $session = Mage::getSingleton('adminhtml/session_quote');
53
+ $session->clear();
54
+
55
+ $quoteId = $this->getRequest()->getParam('quote');
56
+ if (null !== $quoteId) {
57
+ $quote = $this->_getQuoteById($quoteId);
58
+ }
59
+
60
+ $customerId = $this->getRequest()->getParam('customer');
61
+ if (null !== $customerId && $this->_checkCustomer($customerId)) {
62
+ $session->setQuoteId(null);
63
+ $session->setCustomerId((int)$customerId);
64
+ } elseif (false !== $quote) {
65
+ $customerId = (int)$quote->getCustomerId();
66
+
67
+ $session->setStoreId($quote->getStoreId());
68
+ $session->setQuoteId($quote->getId());
69
+ $session->setCustomerId($customerId);
70
+ } else {
71
+ return $this->_redirect('*/oro_gateway/error');
72
+ }
73
+
74
+ return $this->_redirect('*/sales_order_create/index', array('customer_id' => $customerId));
75
+ }
76
+
77
+ /**
78
+ * Load customer's frontend quote by given ID
79
+ *
80
+ * @param int $quoteId
81
+ *
82
+ * @return bool|Mage_Sales_Model_Quote
83
+ */
84
+ protected function _getQuoteById($quoteId)
85
+ {
86
+ /** @var Mage_Sales_Model_Quote $quote */
87
+ $quote = Mage::getModel('sales/quote');
88
+ $quote->loadByIdWithoutStore($quoteId);
89
+
90
+ return $quote->getId() ? $quote : false;
91
+ }
92
+
93
+ /**
94
+ * Checks whether customer exists
95
+ *
96
+ * @param int $customerId
97
+ *
98
+ * @return bool
99
+ */
100
+ private function _checkCustomer($customerId)
101
+ {
102
+ $customer = Mage::getModel('customer/customer')->load($customerId);
103
+
104
+ return (bool)$customer->getId();
105
+ }
106
+ }
app/code/community/Oro/Api/etc/api.xml CHANGED
@@ -1,205 +1,347 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Oro Inc.
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is published at http://opensource.org/licenses/osl-3.0.php.
10
- * If you did not receive a copy of the license and are unable to
11
- * obtain it through the world-wide-web, please send an email
12
- * to license@magecore.com so we can send you a copy immediately
13
- *
14
- * @category Oro
15
- * @package Api
16
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
- */
19
- -->
20
- <config>
21
- <api>
22
- <resources>
23
- <oro translate="title" module="oro_api">
24
- <model>oro_api/ping</model>
25
- <title>Oro extension ping</title>
26
- <acl>oro_ping</acl>
27
- <methods>
28
- <ping translate="title" module="oro_api">
29
- <title>Ping mage instance in order to check if extension available</title>
30
- <method>ping</method>
31
- <acl>oro_ping</acl>
32
- </ping>
33
- </methods>
34
- </oro>
35
- <oro_quote translate="title" module="oro_api">
36
- <model>oro_api/sales_quote_api</model>
37
- <title>Quote Information</title>
38
- <acl>sales/quote</acl>
39
- <methods>
40
- <list translate="title" module="oro_api">
41
- <title>Get quote list by filters</title>
42
- <method>items</method>
43
- <acl>sales/quote/info</acl>
44
- </list>
45
- </methods>
46
- </oro_quote>
47
- <oro_order translate="title" module="oro_api">
48
- <model>oro_api/sales_order_api</model>
49
- <title>Order Information</title>
50
- <acl>sales/order</acl>
51
- <methods>
52
- <list translate="title" module="oro_api">
53
- <title>Get order list by filters</title>
54
- <method>items</method>
55
- <acl>sales/order/info</acl>
56
- </list>
57
- </methods>
58
- </oro_order>
59
- <oro_customer translate="title" module="oro_api">
60
- <model>oro_api/customer_api</model>
61
- <title>Customer List Information</title>
62
- <acl>sales/customer</acl>
63
- <methods>
64
- <list translate="title" module="oro_api">
65
- <title>Get customer list by filters</title>
66
- <method>items</method>
67
- <acl>sales/customer/info</acl>
68
- </list>
69
- </methods>
70
- </oro_customer>
71
- <wishlist translate="title" module="oro_api">
72
- <model>oro_api/wishlist_api</model>
73
- <title>Wishlist</title>
74
- <acl>wishlist</acl>
75
- <methods>
76
- <list translate="title" module="oro_api">
77
- <title>Get wishlist collection by filters</title>
78
- <method>items</method>
79
- <acl>wishlist/info</acl>
80
- </list>
81
- </methods>
82
- </wishlist>
83
- <wishlist_item translate="title" module="oro_api">
84
- <model>oro_api/wishlist_item_api</model>
85
- <title>Wishlist Item</title>
86
- <acl>wishlist_item</acl>
87
- <methods>
88
- <list translate="title" module="oro_api">
89
- <title>Get wishlist item collection by filters</title>
90
- <method>items</method>
91
- <acl>wishlist_item/info</acl>
92
- </list>
93
- </methods>
94
- </wishlist_item>
95
- <report_product_viewed translate="title" module="oro_api">
96
- <model>oro_api/report_product_viewed_api</model>
97
- <title>Report Product Viewed</title>
98
- <acl>report_product_viewed</acl>
99
- <methods>
100
- <list translate="title" module="oro_api">
101
- <title>Viewed product collection by filters</title>
102
- <method>items</method>
103
- <acl>report_product_viewed/info</acl>
104
- </list>
105
- </methods>
106
- </report_product_viewed>
107
- <newsletter_subscriber translate="title" module="oro_api">
108
- <model>oro_api/newsletter_subscriber_api</model>
109
- <title>Newsletter Subscriber</title>
110
- <acl>newsletter_subscriber</acl>
111
- <methods>
112
- <list translate="title" module="oro_api">
113
- <title>Subscribers collection</title>
114
- <method>items</method>
115
- <acl>newsletter_subscriber/info</acl>
116
- </list>
117
- </methods>
118
- </newsletter_subscriber>
119
- </resources>
120
- <rest>
121
- <mapping>
122
- <wishlist_list>
123
- <get><method>list</method></get>
124
- </wishlist_list>
125
- <wishlist_item_list>
126
- <get><method>list</method></get>
127
- </wishlist_item_list>
128
- <report_product_viewed>
129
- <get><method>list</method></get>
130
- </report_product_viewed>
131
- <newsletter_subscriber>
132
- <get><method>list</method></get>
133
- </newsletter_subscriber>
134
- <oro_ping>
135
- <get><method>ping</method></get>
136
- </oro_ping>
137
- <oro_order_list>
138
- <get><method>list</method></get>
139
- </oro_order_list>
140
- <oro_customer_list>
141
- <get><method>list</method></get>
142
- </oro_customer_list>
143
- <oro_quote_list>
144
- <get><method>list</method></get>
145
- </oro_quote_list>
146
- </mapping>
147
- </rest>
148
- <acl>
149
- <resources>
150
- <oro_ping>
151
- <info translate="title" module="oro_api">
152
- <title>Oro ping</title>
153
- </info>
154
- </oro_ping>
155
- <oro_quote>
156
- <info translate="title" module="oro_api">
157
- <title>Quote info</title>
158
- </info>
159
- </oro_quote>
160
- <oro_order>
161
- <info translate="title" module="oro_api">
162
- <title>Order info</title>
163
- </info>
164
- </oro_order>
165
- <oro_customer>
166
- <info translate="title" module="oro_api">
167
- <title>Customer info</title>
168
- </info>
169
- </oro_customer>
170
- <wishlist>
171
- <info translate="title" module="oro_api">
172
- <title>Wishlist info</title>
173
- </info>
174
- </wishlist>
175
- <wishlist_item>
176
- <info translate="title" module="oro_api">
177
- <title>Wishlist Item info</title>
178
- </info>
179
- </wishlist_item>
180
- <report_product_viewed>
181
- <info translate="title" module="oro_api">
182
- <title>Report Product Viewed</title>
183
- </info>
184
- </report_product_viewed>
185
- <newsletter_subscriber>
186
- <info translate="title" module="oro_api">
187
- <title>Newsletter Subscriber</title>
188
- </info>
189
- </newsletter_subscriber>
190
- </resources>
191
- </acl>
192
- <v2>
193
- <resources_function_prefix>
194
- <oro>oro</oro>
195
- <oro_quote>oroQuote</oro_quote>
196
- <oro_order>oroOrder</oro_order>
197
- <oro_customer>oroCustomer</oro_customer>
198
- <wishlist>wishlist</wishlist>
199
- <wishlist_item>wishlistItem</wishlist_item>
200
- <report_product_viewed>reportProductViewed</report_product_viewed>
201
- <newsletter_subscriber>newsletterSubscriber</newsletter_subscriber>
202
- </resources_function_prefix>
203
- </v2>
204
- </api>
205
- </config>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Oro Inc.
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magecore.com so we can send you a copy immediately
13
+ *
14
+ * @category Oro
15
+ * @package Api
16
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
+ */
19
+ -->
20
+ <config>
21
+ <api>
22
+ <resources>
23
+ <oro translate="title" module="oro_api">
24
+ <model>oro_api/ping</model>
25
+ <title>Oro extension ping</title>
26
+ <acl>oro_ping</acl>
27
+ <methods>
28
+ <ping translate="title" module="oro_api">
29
+ <title>Ping mage instance in order to check if extension available</title>
30
+ <method>ping</method>
31
+ <acl>oro_ping</acl>
32
+ </ping>
33
+ </methods>
34
+ </oro>
35
+ <oro_quote translate="title" module="oro_api">
36
+ <model>oro_api/sales_quote_api</model>
37
+ <title>Quote Information</title>
38
+ <acl>sales/quote</acl>
39
+ <methods>
40
+ <list translate="title" module="oro_api">
41
+ <title>Get quote list by filters</title>
42
+ <method>items</method>
43
+ <acl>sales/quote/info</acl>
44
+ </list>
45
+ </methods>
46
+ </oro_quote>
47
+ <oro_order translate="title" module="oro_api">
48
+ <model>oro_api/sales_order_api</model>
49
+ <title>Order Information</title>
50
+ <acl>sales/order</acl>
51
+ <methods>
52
+ <list translate="title" module="oro_api">
53
+ <title>Get order list by filters</title>
54
+ <method>items</method>
55
+ <acl>sales/order/info</acl>
56
+ </list>
57
+ <info translate="title" module="oro_api">
58
+ <title>Retrieve order information</title>
59
+ <method>info</method>
60
+ <acl>sales/order/info</acl>
61
+ </info>
62
+ </methods>
63
+ <faults module="oro_api">
64
+ <not_exists>
65
+ <code>100</code>
66
+ <message>Requested order not exists.</message>
67
+ </not_exists>
68
+ <filters_invalid>
69
+ <code>101</code>
70
+ <message>Invalid filters given. Details in error message.</message>
71
+ </filters_invalid>
72
+ </faults>
73
+ </oro_order>
74
+ <oro_customer translate="title" module="oro_api">
75
+ <model>oro_api/customer_api</model>
76
+ <title>Customer List Information</title>
77
+ <acl>sales/customer</acl>
78
+ <methods>
79
+ <list translate="title" module="oro_api">
80
+ <title>Get customer list by filters</title>
81
+ <method>items</method>
82
+ <acl>sales/customer/info</acl>
83
+ </list>
84
+ <create translate="title" module="oro_api">
85
+ <title>Create customer</title>
86
+ <method>create</method>
87
+ <acl>sales/customer/create</acl>
88
+ </create>
89
+ <update translate="title" module="oro_api">
90
+ <title>Update customer data</title>
91
+ <method>update</method>
92
+ <acl>sales/customer/update</acl>
93
+ </update>
94
+ <info translate="title" module="oro_api">
95
+ <title>Retrieve customer data</title>
96
+ <method>info</method>
97
+ <acl>sales/customer/info</acl>
98
+ </info>
99
+ </methods>
100
+ <faults module="oro_api">
101
+ <data_invalid>
102
+ <code>100</code>
103
+ <message>Invalid customer data. Details in error message.</message>
104
+ </data_invalid>
105
+ <filters_invalid>
106
+ <code>101</code>
107
+ <message>Invalid filters specified. Details in error message.</message>
108
+ </filters_invalid>
109
+ <not_exists>
110
+ <code>102</code>
111
+ <message>Customer not exists.</message>
112
+ </not_exists>
113
+ <address_not_exists>
114
+ <code>103</code>
115
+ <message>Customer address not exists.</message>
116
+ </address_not_exists>
117
+ </faults>
118
+ </oro_customer>
119
+ <oro_customer_address translate="title" module="oro_api">
120
+ <model>oro_api/customer_address_api</model>
121
+ <title>Customer Address List Information</title>
122
+ <acl>customer/address</acl>
123
+ <methods>
124
+ <list translate="title" module="oro_api">
125
+ <title>Retrieve customer addresses</title>
126
+ <method>items</method>
127
+ <acl>customer/address/info</acl>
128
+ </list>
129
+ <info translate="title" module="oro_api">
130
+ <title>Retrieve customer address data</title>
131
+ <method>info</method>
132
+ <acl>customer/address/info</acl>
133
+ </info>
134
+ </methods>
135
+ <faults module="oro_api">
136
+ <not_exists>
137
+ <code>102</code>
138
+ <message>Customer not exists.</message>
139
+ </not_exists>
140
+ <address_not_exists>
141
+ <code>103</code>
142
+ <message>Customer address not exists.</message>
143
+ </address_not_exists>
144
+ </faults>
145
+ </oro_customer_address>
146
+ <wishlist translate="title" module="oro_api">
147
+ <model>oro_api/wishlist_api</model>
148
+ <title>Wishlist</title>
149
+ <acl>wishlist</acl>
150
+ <methods>
151
+ <list translate="title" module="oro_api">
152
+ <title>Get wishlist collection by filters</title>
153
+ <method>items</method>
154
+ <acl>wishlist/info</acl>
155
+ </list>
156
+ </methods>
157
+ </wishlist>
158
+ <wishlist_item translate="title" module="oro_api">
159
+ <model>oro_api/wishlist_item_api</model>
160
+ <title>Wishlist Item</title>
161
+ <acl>wishlist_item</acl>
162
+ <methods>
163
+ <list translate="title" module="oro_api">
164
+ <title>Get wishlist item collection by filters</title>
165
+ <method>items</method>
166
+ <acl>wishlist_item/info</acl>
167
+ </list>
168
+ </methods>
169
+ </wishlist_item>
170
+ <report_product_viewed translate="title" module="oro_api">
171
+ <model>oro_api/report_product_viewed_api</model>
172
+ <title>Report Product Viewed</title>
173
+ <acl>report_product_viewed</acl>
174
+ <methods>
175
+ <list translate="title" module="oro_api">
176
+ <title>Viewed product collection by filters</title>
177
+ <method>items</method>
178
+ <acl>report_product_viewed/info</acl>
179
+ </list>
180
+ </methods>
181
+ </report_product_viewed>
182
+ <newsletter_subscriber translate="title" module="oro_api">
183
+ <model>oro_api/newsletter_subscriber_api</model>
184
+ <title>Newsletter Subscriber</title>
185
+ <acl>newsletter_subscriber</acl>
186
+ <methods>
187
+ <list translate="title" module="oro_api">
188
+ <title>Subscribers collection</title>
189
+ <method>items</method>
190
+ <acl>newsletter_subscriber/info</acl>
191
+ </list>
192
+ <create translate="title" module="oro_api">
193
+ <title>Create newsletter subscriber</title>
194
+ <acl>newsletter_subscriber/create</acl>
195
+ </create>
196
+ <update translate="title" module="oro_api">
197
+ <title>Update newsletter subscriber data</title>
198
+ <acl>newsletter_subscriber/update</acl>
199
+ </update>
200
+ <subscribeEmail translate="title" module="oro_api">
201
+ <title>Newsletter subscriber - Subscribe email</title>
202
+ <acl>newsletter_subscriber/subscribe_email</acl>
203
+ </subscribeEmail>
204
+ <unsubscribe translate="title" module="oro_api">
205
+ <title>Unsubscribe Newsletter subscriber</title>
206
+ <acl>newsletter_subscriber/unsubscribe</acl>
207
+ </unsubscribe>
208
+ </methods>
209
+ <faults module="customer">
210
+ <data_invalid>
211
+ <code>100</code>
212
+ <message>Invalid newsletter subscriber data. Details in error message.</message>
213
+ </data_invalid>
214
+ <filters_invalid>
215
+ <code>101</code>
216
+ <message>Invalid filters specified. Details in error message.</message>
217
+ </filters_invalid>
218
+ <not_exists>
219
+ <code>102</code>
220
+ <message>Newsletter subscriber not exists.</message>
221
+ </not_exists>
222
+ <email_already_subscribed>
223
+ <code>103</code>
224
+ <message>Email already subscribed.</message>
225
+ </email_already_subscribed>
226
+ <customer_already_subscribed>
227
+ <code>104</code>
228
+ <message>Customer already subscribed.</message>
229
+ </customer_already_subscribed>
230
+ <email_is_empty>
231
+ <code>105</code>
232
+ <message>Newsletter subscriber email is required.</message>
233
+ </email_is_empty>
234
+ <customer_not_found>
235
+ <code>106</code>
236
+ <message>Customer not found.</message>
237
+ </customer_not_found>
238
+ <subscriber_customer_change_forbidden>
239
+ <code>107</code>
240
+ <message>Newsletter subscribe Customer change is forbidden.</message>
241
+ </subscriber_customer_change_forbidden>
242
+ </faults>
243
+ </newsletter_subscriber>
244
+ <oro_website translate="title" module="oro_api">
245
+ <model>oro_api/website_api</model>
246
+ <title>Website API</title>
247
+ <acl>core/store</acl>
248
+ <methods>
249
+ <list translate="title" module="oro_api">
250
+ <title>Retrieve websites list</title>
251
+ <method>items</method>
252
+ <acl>core/store/list</acl>
253
+ </list>
254
+ </methods>
255
+ </oro_website>
256
+ </resources>
257
+ <rest>
258
+ <mapping>
259
+ <wishlist_list>
260
+ <get><method>list</method></get>
261
+ </wishlist_list>
262
+ <wishlist_item_list>
263
+ <get><method>list</method></get>
264
+ </wishlist_item_list>
265
+ <report_product_viewed>
266
+ <get><method>list</method></get>
267
+ </report_product_viewed>
268
+ <newsletter_subscriber>
269
+ <get><method>list</method></get>
270
+ </newsletter_subscriber>
271
+ <oro_ping>
272
+ <get><method>ping</method></get>
273
+ </oro_ping>
274
+ <oro_order_list>
275
+ <get><method>list</method></get>
276
+ </oro_order_list>
277
+ <oro_customer_list>
278
+ <get><method>list</method></get>
279
+ </oro_customer_list>
280
+ <oro_quote_list>
281
+ <get><method>list</method></get>
282
+ </oro_quote_list>
283
+ <oro_website>
284
+ <get><method>list</method></get>
285
+ </oro_website>
286
+ </mapping>
287
+ </rest>
288
+ <acl>
289
+ <resources>
290
+ <oro_ping>
291
+ <info translate="title" module="oro_api">
292
+ <title>Oro ping</title>
293
+ </info>
294
+ </oro_ping>
295
+ <oro_quote>
296
+ <info translate="title" module="oro_api">
297
+ <title>Quote info</title>
298
+ </info>
299
+ </oro_quote>
300
+ <oro_order>
301
+ <info translate="title" module="oro_api">
302
+ <title>Order info</title>
303
+ </info>
304
+ </oro_order>
305
+ <oro_customer>
306
+ <info translate="title" module="oro_api">
307
+ <title>Customer info</title>
308
+ </info>
309
+ </oro_customer>
310
+ <wishlist>
311
+ <info translate="title" module="oro_api">
312
+ <title>Wishlist info</title>
313
+ </info>
314
+ </wishlist>
315
+ <wishlist_item>
316
+ <info translate="title" module="oro_api">
317
+ <title>Wishlist Item info</title>
318
+ </info>
319
+ </wishlist_item>
320
+ <report_product_viewed>
321
+ <info translate="title" module="oro_api">
322
+ <title>Report Product Viewed</title>
323
+ </info>
324
+ </report_product_viewed>
325
+ <newsletter_subscriber>
326
+ <info translate="title" module="oro_api">
327
+ <title>Newsletter Subscriber</title>
328
+ </info>
329
+ </newsletter_subscriber>
330
+ </resources>
331
+ </acl>
332
+ <v2>
333
+ <resources_function_prefix>
334
+ <oro>oro</oro>
335
+ <oro_quote>oroQuote</oro_quote>
336
+ <oro_order>oroOrder</oro_order>
337
+ <oro_website>oroWebsite</oro_website>
338
+ <oro_customer>oroCustomer</oro_customer>
339
+ <oro_customer_address>oroCustomerAddress</oro_customer_address>
340
+ <wishlist>wishlist</wishlist>
341
+ <wishlist_item>wishlistItem</wishlist_item>
342
+ <report_product_viewed>reportProductViewed</report_product_viewed>
343
+ <newsletter_subscriber>newsletterSubscriber</newsletter_subscriber>
344
+ </resources_function_prefix>
345
+ </v2>
346
+ </api>
347
+ </config>
app/code/community/Oro/Api/etc/config.xml CHANGED
@@ -1,105 +1,115 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Oro Inc.
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is published at http://opensource.org/licenses/osl-3.0.php.
10
- * If you did not receive a copy of the license and are unable to
11
- * obtain it through the world-wide-web, please send an email
12
- * to license@magecore.com so we can send you a copy immediately
13
- *
14
- * @category Oro
15
- * @package Api
16
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
- */
19
- -->
20
- <config>
21
- <modules>
22
- <Oro_Api>
23
- <version>1.1.4</version>
24
- </Oro_Api>
25
- </modules>
26
- <global>
27
- <models>
28
- <oro_api>
29
- <class>Oro_Api_Model</class>
30
- <resourceModel>oro_api_resource</resourceModel>
31
- </oro_api>
32
- <oro_api_resource>
33
- <class>Oro_Api_Model_Resource</class>
34
- </oro_api_resource>
35
- <catalog>
36
- <rewrite>
37
- <product_api_v2>Oro_Api_Model_Catalog_Product_Api_V2</product_api_v2>
38
- </rewrite>
39
- </catalog>
40
- </models>
41
- <helpers>
42
- <oro_api>
43
- <class>Oro_Api_Helper</class>
44
- </oro_api>
45
- </helpers>
46
- <resources>
47
- <oro_api_setup>
48
- <setup>
49
- <module>Oro_Api</module>
50
- </setup>
51
- </oro_api_setup>
52
- </resources>
53
- </global>
54
- <admin>
55
- <routers>
56
- <adminhtml>
57
- <args>
58
- <modules>
59
- <oro_api before="Mage_Adminhtml">Oro_Api_Adminhtml</oro_api>
60
- </modules>
61
- </args>
62
- </adminhtml>
63
- </routers>
64
- </admin>
65
- <adminhtml>
66
- <events>
67
- <controller_action_predispatch>
68
- <observers>
69
- <oro_api_handle_crm_request>
70
- <type>singleton</type>
71
- <class>oro_api/observer_crm_controller</class>
72
- <method>handleRequest</method>
73
- </oro_api_handle_crm_request>
74
- </observers>
75
- </controller_action_predispatch>
76
- <controller_action_postdispatch>
77
- <observers>
78
- <oro_api_handle_crm_response>
79
- <type>singleton</type>
80
- <class>oro_api/observer_crm_controller</class>
81
- <method>handleResponse</method>
82
- </oro_api_handle_crm_response>
83
- </observers>
84
- </controller_action_postdispatch>
85
- <controller_action_layout_render_before>
86
- <observers>
87
- <oro_api_handle_crm_layout>
88
- <type>singleton</type>
89
- <class>oro_api/observer_crm_controller</class>
90
- <method>handleRenderLayout</method>
91
- </oro_api_handle_crm_layout>
92
- </observers>
93
- </controller_action_layout_render_before>
94
- <checkout_submit_all_after>
95
- <observers>
96
- <oro_api_sales_order_created>
97
- <type>singleton</type>
98
- <class>oro_api/observer_sales_order</class>
99
- <method>onSubmitAllAfter</method>
100
- </oro_api_sales_order_created>
101
- </observers>
102
- </checkout_submit_all_after>
103
- </events>
104
- </adminhtml>
105
- </config>
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Oro Inc.
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magecore.com so we can send you a copy immediately
13
+ *
14
+ * @category Oro
15
+ * @package Api
16
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
+ */
19
+ -->
20
+ <config>
21
+ <modules>
22
+ <Oro_Api>
23
+ <version>1.2.0</version>
24
+ </Oro_Api>
25
+ </modules>
26
+ <global>
27
+ <models>
28
+ <oro_api>
29
+ <class>Oro_Api_Model</class>
30
+ <resourceModel>oro_api_resource</resourceModel>
31
+ </oro_api>
32
+ <oro_api_resource>
33
+ <class>Oro_Api_Model_Resource</class>
34
+ </oro_api_resource>
35
+ <catalog>
36
+ <rewrite>
37
+ <product_api_v2>Oro_Api_Model_Catalog_Product_Api_V2</product_api_v2>
38
+ </rewrite>
39
+ </catalog>
40
+ </models>
41
+ <helpers>
42
+ <oro_api>
43
+ <class>Oro_Api_Helper</class>
44
+ </oro_api>
45
+ </helpers>
46
+ <resources>
47
+ <oro_api_setup>
48
+ <setup>
49
+ <module>Oro_Api</module>
50
+ </setup>
51
+ </oro_api_setup>
52
+ </resources>
53
+ <events>
54
+ <newsletter_subscriber_save_before>
55
+ <observers>
56
+ <oro_api_newsletter_subscriber_save_before_observer>
57
+ <class>oro_api/observer</class>
58
+ <method>beforeNewsletterSubscriberSave</method>
59
+ </oro_api_newsletter_subscriber_save_before_observer>
60
+ </observers>
61
+ </newsletter_subscriber_save_before>
62
+ </events>
63
+ </global>
64
+ <admin>
65
+ <routers>
66
+ <adminhtml>
67
+ <args>
68
+ <modules>
69
+ <oro_api before="Mage_Adminhtml">Oro_Api_Adminhtml</oro_api>
70
+ </modules>
71
+ </args>
72
+ </adminhtml>
73
+ </routers>
74
+ </admin>
75
+ <adminhtml>
76
+ <events>
77
+ <controller_action_predispatch>
78
+ <observers>
79
+ <oro_api_handle_crm_request>
80
+ <type>singleton</type>
81
+ <class>oro_api/observer_crm_controller</class>
82
+ <method>handleRequest</method>
83
+ </oro_api_handle_crm_request>
84
+ </observers>
85
+ </controller_action_predispatch>
86
+ <controller_action_postdispatch>
87
+ <observers>
88
+ <oro_api_handle_crm_response>
89
+ <type>singleton</type>
90
+ <class>oro_api/observer_crm_controller</class>
91
+ <method>handleResponse</method>
92
+ </oro_api_handle_crm_response>
93
+ </observers>
94
+ </controller_action_postdispatch>
95
+ <controller_action_layout_render_before>
96
+ <observers>
97
+ <oro_api_handle_crm_layout>
98
+ <type>singleton</type>
99
+ <class>oro_api/observer_crm_controller</class>
100
+ <method>handleRenderLayout</method>
101
+ </oro_api_handle_crm_layout>
102
+ </observers>
103
+ </controller_action_layout_render_before>
104
+ <checkout_submit_all_after>
105
+ <observers>
106
+ <oro_api_sales_order_created>
107
+ <type>singleton</type>
108
+ <class>oro_api/observer_sales_order</class>
109
+ <method>onSubmitAllAfter</method>
110
+ </oro_api_sales_order_created>
111
+ </observers>
112
+ </checkout_submit_all_after>
113
+ </events>
114
+ </adminhtml>
115
+ </config>
app/code/community/Oro/Api/etc/system.xml ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Oro Inc.
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magecore.com so we can send you a copy immediately
13
+ *
14
+ * @category Oro
15
+ * @package Api
16
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
+ */
19
+ -->
20
+ <config>
21
+ <sections>
22
+ <oro translate="label" module="oro_api">
23
+ <label>OroCRM</label>
24
+ <tab>customer</tab>
25
+ <frontend_type>text</frontend_type>
26
+ <sort_order>600</sort_order>
27
+ <show_in_default>1</show_in_default>
28
+ <show_in_website>1</show_in_website>
29
+ <show_in_store>1</show_in_store>
30
+ <groups>
31
+ <api translate="label">
32
+ <label>API</label>
33
+ <frontend_type>text</frontend_type>
34
+ <sort_order>20</sort_order>
35
+ <show_in_default>1</show_in_default>
36
+ <show_in_website>0</show_in_website>
37
+ <show_in_store>0</show_in_store>
38
+ <fields>
39
+ <enable_attributes translate="label">
40
+ <label>Enable Additional Attributes</label>
41
+ <frontend_type>select</frontend_type>
42
+ <source_model>adminhtml/system_config_source_yesno</source_model>
43
+ <sort_order>10</sort_order>
44
+ <show_in_default>1</show_in_default>
45
+ <show_in_website>0</show_in_website>
46
+ <show_in_store>0</show_in_store>
47
+ </enable_attributes>
48
+ </fields>
49
+ </api>
50
+ </groups>
51
+ </oro>
52
+ </sections>
53
+ </config>
app/code/community/Oro/Api/etc/workflow.xml CHANGED
@@ -1,9 +1,9 @@
1
- <?xml version="1.0"?>
2
- <config>
3
- <oro_sales_new_order>
4
- <end_point_action>adminhtml_sales_order_create_save</end_point_action>
5
- </oro_sales_new_order>
6
- <oro_sales_checkout>
7
- <end_point_action>adminhtml_sales_order_create_save</end_point_action>
8
- </oro_sales_checkout>
9
- </config>
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <oro_sales_new_order>
4
+ <end_point_action>adminhtml_sales_order_create_save</end_point_action>
5
+ </oro_sales_new_order>
6
+ <oro_sales_checkout>
7
+ <end_point_action>adminhtml_sales_order_create_save</end_point_action>
8
+ </oro_sales_checkout>
9
+ </config>
app/code/community/Oro/Api/etc/wsdl.xml CHANGED
@@ -1,419 +1,658 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Oro Inc.
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is published at http://opensource.org/licenses/osl-3.0.php.
10
- * If you did not receive a copy of the license and are unable to
11
- * obtain it through the world-wide-web, please send an email
12
- * to license@magecore.com so we can send you a copy immediately
13
- *
14
- * @category Oro
15
- * @package Api
16
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
- */
19
- -->
20
- <definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
21
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
22
- xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
23
- xmlns="http://schemas.xmlsoap.org/wsdl/"
24
- name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
25
- <types>
26
- <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
27
- <import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />
28
- <!-- Fix for magento 1.6.x -->
29
- <complexType name="associativeMultiArray">
30
- <complexContent>
31
- <restriction base="soapenc:Array">
32
- <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:associativeMultiEntity[]" />
33
- </restriction>
34
- </complexContent>
35
- </complexType>
36
- <!-- // Fix for magento 1.6.x -->
37
- <complexType name="pager">
38
- <all>
39
- <element name="page" type="xsd:string" minOccurs="0" />
40
- <element name="pageSize" type="xsd:string" minOccurs="0" />
41
- </all>
42
- </complexType>
43
- <complexType name="salesQuoteEntity">
44
- <all>
45
- <element name="entity_id" type="xsd:string" minOccurs="0" />
46
- <element name="store_id" type="xsd:string" minOccurs="0" />
47
- <element name="created_at" type="xsd:string" minOccurs="0" />
48
- <element name="updated_at" type="xsd:string" minOccurs="0" />
49
- <element name="converted_at" type="xsd:string" minOccurs="0" />
50
- <element name="is_active" type="xsd:string" minOccurs="0" />
51
- <element name="is_virtual" type="xsd:string" minOccurs="0" />
52
- <element name="is_multi_shipping" type="xsd:string" minOccurs="0" />
53
- <element name="items_count" type="xsd:string" minOccurs="0" />
54
- <element name="items_qty" type="xsd:string" minOccurs="0" />
55
- <element name="orig_order_id" type="xsd:string" minOccurs="0" />
56
- <element name="store_to_base_rate" type="xsd:string" minOccurs="0" />
57
- <element name="store_to_quote_rate" type="xsd:string" minOccurs="0" />
58
- <element name="base_currency_code" type="xsd:string" minOccurs="0" />
59
- <element name="store_currency_code" type="xsd:string" minOccurs="0" />
60
- <element name="quote_currency_code" type="xsd:string" minOccurs="0" />
61
- <element name="grand_total" type="xsd:string" minOccurs="0" />
62
- <element name="base_grand_total" type="xsd:string" minOccurs="0" />
63
- <element name="checkout_method" type="xsd:string" minOccurs="0" />
64
- <element name="customer_id" type="xsd:string" minOccurs="0" />
65
- <element name="customer_tax_class_id" type="xsd:string" minOccurs="0" />
66
- <element name="customer_group_id" type="xsd:string" minOccurs="0" />
67
- <element name="customer_email" type="xsd:string" minOccurs="0" />
68
- <element name="customer_prefix" type="xsd:string" minOccurs="0" />
69
- <element name="customer_firstname" type="xsd:string" minOccurs="0" />
70
- <element name="customer_middlename" type="xsd:string" minOccurs="0" />
71
- <element name="customer_lastname" type="xsd:string" minOccurs="0" />
72
- <element name="customer_suffix" type="xsd:string" minOccurs="0" />
73
- <element name="customer_dob" type="xsd:string" minOccurs="0" />
74
- <element name="customer_note" type="xsd:string" minOccurs="0" />
75
- <element name="customer_note_notify" type="xsd:string" minOccurs="0" />
76
- <element name="customer_is_guest" type="xsd:string" minOccurs="0" />
77
- <element name="remote_ip" type="xsd:string" minOccurs="0" />
78
- <element name="applied_rule_ids" type="xsd:string" minOccurs="0" />
79
- <element name="reserved_order_id" type="xsd:string" minOccurs="0" />
80
- <element name="password_hash" type="xsd:string" minOccurs="0" />
81
- <element name="coupon_code" type="xsd:string" minOccurs="0" />
82
- <element name="global_currency_code" type="xsd:string" minOccurs="0" />
83
- <element name="base_to_global_rate" type="xsd:string" minOccurs="0" />
84
- <element name="base_to_quote_rate" type="xsd:string" minOccurs="0" />
85
- <element name="customer_taxvat" type="xsd:string" minOccurs="0" />
86
- <element name="customer_gender" type="xsd:string" minOccurs="0" />
87
- <element name="subtotal" type="xsd:string" minOccurs="0" />
88
- <element name="base_subtotal" type="xsd:string" minOccurs="0" />
89
- <element name="subtotal_with_discount" type="xsd:string" minOccurs="0" />
90
- <element name="base_subtotal_with_discount" type="xsd:string" minOccurs="0" />
91
- <element name="is_changed" type="xsd:string" minOccurs="0" />
92
- <element name="trigger_recollect" type="xsd:string" minOccurs="0" />
93
- <element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
94
- <element name="gift_message_id" type="xsd:string" minOccurs="0" />
95
- <element name="is_persistent" type="xsd:string" minOccurs="0" />
96
-
97
- <element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
98
- <element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
99
- <element name="items" type="typens:shoppingCartItemEntityArray" minOccurs="0"/>
100
- <element name="payment" type="typens:shoppingCartPaymentEntity" minOccurs="0"/>
101
- </all>
102
- </complexType>
103
- <complexType name="salesQuoteEntityArray">
104
- <complexContent>
105
- <restriction base="soapenc:Array">
106
- <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:salesQuoteEntity[]" />
107
- </restriction>
108
- </complexContent>
109
- </complexType>
110
-
111
- <complexType name="salesOrderEntityArray">
112
- <complexContent>
113
- <restriction base="soapenc:Array">
114
- <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:salesOrderEntity[]" />
115
- </restriction>
116
- </complexContent>
117
- </complexType>
118
-
119
- <complexType name="wishlistEntity">
120
- <all>
121
- <element name="wishlist_id" type="xsd:string" minOccurs="0" />
122
- <element name="customer_id" type="xsd:string" minOccurs="0" />
123
- <element name="shared" type="xsd:string" minOccurs="0" />
124
- <element name="sharing_code" type="xsd:string" minOccurs="0" />
125
- <element name="updated_at" type="xsd:string" minOccurs="0" />
126
- </all>
127
- </complexType>
128
- <complexType name="wishlistEntityArray">
129
- <complexContent>
130
- <restriction base="soapenc:Array">
131
- <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:wishlistEntity[]" />
132
- </restriction>
133
- </complexContent>
134
- </complexType>
135
- <complexType name="wishlistItemEntity">
136
- <all>
137
- <element name="wishlist_item_id" type="xsd:string" minOccurs="0" />
138
- <element name="wishlist_id" type="xsd:string" minOccurs="0" />
139
- <element name="product_id" type="xsd:string" minOccurs="0" />
140
- <element name="store_id" type="xsd:string" minOccurs="0" />
141
- <element name="added_at" type="xsd:string" minOccurs="0" />
142
- <element name="description" type="xsd:string" minOccurs="0" />
143
- <element name="qty" type="xsd:string" minOccurs="0" />
144
- </all>
145
- </complexType>
146
- <complexType name="wishlistItemEntityArray">
147
- <complexContent>
148
- <restriction base="soapenc:Array">
149
- <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:wishlistItemEntity[]" />
150
- </restriction>
151
- </complexContent>
152
- </complexType>
153
- <!-- Report Product Viewed -->
154
- <complexType name="reportProductViewedEntity">
155
- <all>
156
- <element name="index_id" type="xsd:string" minOccurs="0" />
157
- <element name="visitor_id" type="xsd:string" minOccurs="0" />
158
- <element name="product_id" type="xsd:string" minOccurs="0" />
159
- <element name="sku" type="xsd:string" minOccurs="0" />
160
- <element name="customer_id" type="xsd:string" minOccurs="0" />
161
- <element name="added_at" type="xsd:string" minOccurs="0" />
162
- <element name="store_id" type="xsd:string" minOccurs="0" />
163
- </all>
164
- </complexType>
165
- <complexType name="reportProductViewedEntityArray">
166
- <complexContent>
167
- <restriction base="soapenc:Array">
168
- <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:reportProductViewedEntity[]" />
169
- </restriction>
170
- </complexContent>
171
- </complexType>
172
- <!-- Report Product Viewed -->
173
- <!-- Newsletters Subscriber -->
174
- <complexType name="newsletterSubscriberEntity">
175
- <all>
176
- <element name="subscriber_id" type="xsd:string" minOccurs="0" />
177
- <element name="store_id" type="xsd:string" minOccurs="0" />
178
- <element name="change_status_at" type="xsd:string" minOccurs="0" />
179
- <element name="customer_id" type="xsd:string" minOccurs="0" />
180
- <element name="subscriber_email" type="xsd:string" minOccurs="0" />
181
- <element name="subscriber_status" type="xsd:string" minOccurs="0" />
182
- <element name="subscriber_confirm_code" type="xsd:string" minOccurs="0" />
183
- </all>
184
- </complexType>
185
- <complexType name="newsletterSubscriberEntityArray">
186
- <complexContent>
187
- <restriction base="soapenc:Array">
188
- <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:newsletterSubscriberEntity[]" />
189
- </restriction>
190
- </complexContent>
191
- </complexType>
192
- <!-- Newsletters Subscriber -->
193
- <complexType name="catalogProductEntity">
194
- <all>
195
- <element name="price" type="xsd:string"/>
196
- <element name="special_price" type="xsd:string"/>
197
- </all>
198
- </complexType>
199
- <complexType name="oroPingResponse">
200
- <all>
201
- <element name="version" type="xsd:string" minOccurs="0" />
202
- <element name="mage_version" type="xsd:string" minOccurs="0" />
203
- <element name="admin_url" type="xsd:string" minOccurs="0" />
204
- </all>
205
- </complexType>
206
-
207
- <complexType name="oroCustomerEntity">
208
- <all>
209
- <element name="customer_id" type="xsd:int" minOccurs="0" />
210
- <element name="created_at" type="xsd:string" minOccurs="0" />
211
- <element name="updated_at" type="xsd:string" minOccurs="0" />
212
- <element name="increment_id" type="xsd:string" minOccurs="0" />
213
- <element name="store_id" type="xsd:int" minOccurs="0" />
214
- <element name="website_id" type="xsd:int" minOccurs="0" />
215
- <element name="created_in" type="xsd:string" minOccurs="0" />
216
- <element name="email" type="xsd:string" minOccurs="0" />
217
- <element name="firstname" type="xsd:string" minOccurs="0" />
218
- <element name="middlename" type="xsd:string" minOccurs="0" />
219
- <element name="lastname" type="xsd:string" minOccurs="0" />
220
- <element name="group_id" type="xsd:int" minOccurs="0" />
221
- <element name="prefix" type="xsd:string" minOccurs="0" />
222
- <element name="suffix" type="xsd:string" minOccurs="0" />
223
- <element name="dob" type="xsd:string" minOccurs="0" />
224
- <element name="taxvat" type="xsd:string" minOccurs="0" />
225
- <element name="confirmation" type="xsd:boolean" minOccurs="0" />
226
- <element name="password_hash" type="xsd:string" minOccurs="0" />
227
- <element name="gender" type="xsd:string" minOccurs="0" />
228
-
229
- <element name="addresses" type="typens:customerAddressEntityArray" minOccurs="1"/>
230
- </all>
231
- </complexType>
232
-
233
- <complexType name="oroCustomerEntityArray">
234
- <complexContent>
235
- <restriction base="soapenc:Array">
236
- <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:oroCustomerEntity[]" />
237
- </restriction>
238
- </complexContent>
239
- </complexType>
240
-
241
- <complexType name="customerCustomerEntityToCreate">
242
- <all>
243
- <element name="middlename" type="xsd:string" minOccurs="0" />
244
- <element name="prefix" type="xsd:string" minOccurs="0" />
245
- <element name="suffix" type="xsd:string" minOccurs="0" />
246
- <element name="dob" type="xsd:string" minOccurs="0" />
247
- <element name="taxvat" type="xsd:string" minOccurs="0" />
248
- <element name="gender" type="xsd:string" minOccurs="0" />
249
- <element name="group_id" type="xsd:int" minOccurs="0" />
250
- </all>
251
- </complexType>
252
- </schema>
253
- </types>
254
-
255
- <portType name="{{var wsdl.handler}}PortType">
256
- <operation name="oroPing">
257
- <documentation>Get basic presence info</documentation>
258
- <input message="typens:oroPingRequest"/>
259
- <output message="typens:oroPingResponse"/>
260
- </operation>
261
-
262
- <operation name="oroQuoteList">
263
- <documentation>Get quote data list</documentation>
264
- <input message="typens:oroQuoteListRequest"/>
265
- <output message="typens:oroQuoteListResponse"/>
266
- </operation>
267
-
268
- <operation name="oroOrderList">
269
- <documentation>Get quote data list</documentation>
270
- <input message="typens:oroOrderListRequest"/>
271
- <output message="typens:oroOrderListResponse"/>
272
- </operation>
273
-
274
- <operation name="oroCustomerList">
275
- <documentation>Get quote data list</documentation>
276
- <input message="typens:oroCustomerListRequest"/>
277
- <output message="typens:oroCustomerListResponse"/>
278
- </operation>
279
-
280
- <operation name="wishlistList">
281
- <documentation>Get wishlist collection</documentation>
282
- <input message="typens:wishlistListRequest"/>
283
- <output message="typens:wishlistListResponse"/>
284
- </operation>
285
-
286
- <operation name="wishlistItemList">
287
- <documentation>Get wishlist item collection</documentation>
288
- <input message="typens:wishlistItemListRequest"/>
289
- <output message="typens:wishlistItemListResponse"/>
290
- </operation>
291
-
292
- <operation name="reportProductViewedList">
293
- <documentation>Get wishlist item collection</documentation>
294
- <input message="typens:reportProductViewedListRequest"/>
295
- <output message="typens:reportProductViewedListResponse"/>
296
- </operation>
297
-
298
- <operation name="newsletterSubscriberList">
299
- <documentation>Newsletter subscriber collection</documentation>
300
- <input message="typens:newsletterSubscriberListRequest"/>
301
- <output message="typens:newsletterSubscriberListResponse"/>
302
- </operation>
303
- </portType>
304
-
305
- <binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
306
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
307
- <operation name="oroPing">
308
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
309
- <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
310
- <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
311
- </operation>
312
- <operation name="oroQuoteList">
313
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
314
- <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
315
- <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
316
- </operation>
317
- <operation name="oroOrderList">
318
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
319
- <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
320
- <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
321
- </operation>
322
- <operation name="oroCustomerList">
323
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
324
- <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
325
- <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
326
- </operation>
327
- <operation name="wishlistList">
328
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
329
- <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
330
- <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
331
- </operation>
332
- <operation name="wishlistItemList">
333
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
334
- <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
335
- <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
336
- </operation>
337
- <operation name="reportProductViewedList">
338
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
339
- <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
340
- <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
341
- </operation>
342
- <operation name="newsletterSubscriberList">
343
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
344
- <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
345
- <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
346
- </operation>
347
- </binding>
348
-
349
- <message name="oroPingRequest">
350
- <part name="sessionId" type="xsd:string" />
351
- </message>
352
- <message name="oroPingResponse">
353
- <part name="result" type="typens:oroPingResponse" />
354
- </message>
355
-
356
- <message name="oroQuoteListRequest">
357
- <part name="sessionId" type="xsd:string" />
358
- <part name="filters" type="typens:filters" />
359
- <part name="pager" type="typens:pager" />
360
- </message>
361
- <message name="oroQuoteListResponse">
362
- <part name="result" type="typens:salesQuoteEntityArray" />
363
- </message>
364
-
365
- <message name="oroOrderListRequest">
366
- <part name="sessionId" type="xsd:string" />
367
- <part name="filters" type="typens:filters" />
368
- <part name="pager" type="typens:pager" />
369
- </message>
370
- <message name="oroOrderListResponse">
371
- <part name="result" type="typens:salesOrderEntityArray" />
372
- </message>
373
-
374
- <message name="oroCustomerListRequest">
375
- <part name="sessionId" type="xsd:string" />
376
- <part name="filters" type="typens:filters" />
377
- <part name="pager" type="typens:pager" />
378
- </message>
379
- <message name="oroCustomerListResponse">
380
- <part name="result" type="typens:oroCustomerEntityArray" />
381
- </message>
382
-
383
- <message name="wishlistListRequest">
384
- <part name="sessionId" type="xsd:string" />
385
- <part name="filters" type="typens:filters" />
386
- </message>
387
- <message name="wishlistListResponse">
388
- <part name="result" type="typens:wishlistEntityArray" />
389
- </message>
390
-
391
- <message name="wishlistItemListRequest">
392
- <part name="sessionId" type="xsd:string" />
393
- <part name="filters" type="typens:filters" />
394
- </message>
395
- <message name="wishlistItemListResponse">
396
- <part name="result" type="typens:wishlistItemEntityArray" />
397
- </message>
398
-
399
- <!-- Report Product Viewed -->
400
- <message name="reportProductViewedListRequest">
401
- <part name="sessionId" type="xsd:string" />
402
- <part name="filters" type="typens:filters" />
403
- </message>
404
- <message name="reportProductViewedListResponse">
405
- <part name="result" type="typens:reportProductViewedEntityArray" />
406
- </message>
407
- <!-- Report Product Viewed -->
408
-
409
- <!-- Newsletters Subscriber -->
410
- <message name="newsletterSubscriberListRequest">
411
- <part name="sessionId" type="xsd:string" />
412
- <part name="filters" type="typens:filters" />
413
- </message>
414
- <message name="newsletterSubscriberListResponse">
415
- <part name="result" type="typens:newsletterSubscriberEntityArray" />
416
- </message>
417
- <!-- Newsletters Subscriber -->
418
- </definitions>
419
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Oro Inc.
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magecore.com so we can send you a copy immediately
13
+ *
14
+ * @category Oro
15
+ * @package Api
16
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
+ */
19
+ -->
20
+ <definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
21
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
22
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
23
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
24
+ name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
25
+ <types>
26
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
27
+ <import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />
28
+ <!-- Fix for magento 1.6.x -->
29
+ <complexType name="associativeMultiArray">
30
+ <complexContent>
31
+ <restriction base="soapenc:Array">
32
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:associativeMultiEntity[]" />
33
+ </restriction>
34
+ </complexContent>
35
+ </complexType>
36
+ <!-- // Fix for magento 1.6.x -->
37
+ <complexType name="pager">
38
+ <all>
39
+ <element name="page" type="xsd:string" minOccurs="0" />
40
+ <element name="pageSize" type="xsd:string" minOccurs="0" />
41
+ </all>
42
+ </complexType>
43
+ <complexType name="salesQuoteEntity">
44
+ <all>
45
+ <element name="entity_id" type="xsd:string" minOccurs="0" />
46
+ <element name="store_id" type="xsd:string" minOccurs="0" />
47
+ <element name="created_at" type="xsd:string" minOccurs="0" />
48
+ <element name="updated_at" type="xsd:string" minOccurs="0" />
49
+ <element name="converted_at" type="xsd:string" minOccurs="0" />
50
+ <element name="is_active" type="xsd:string" minOccurs="0" />
51
+ <element name="is_virtual" type="xsd:string" minOccurs="0" />
52
+ <element name="is_multi_shipping" type="xsd:string" minOccurs="0" />
53
+ <element name="items_count" type="xsd:string" minOccurs="0" />
54
+ <element name="items_qty" type="xsd:string" minOccurs="0" />
55
+ <element name="orig_order_id" type="xsd:string" minOccurs="0" />
56
+ <element name="store_to_base_rate" type="xsd:string" minOccurs="0" />
57
+ <element name="store_to_quote_rate" type="xsd:string" minOccurs="0" />
58
+ <element name="base_currency_code" type="xsd:string" minOccurs="0" />
59
+ <element name="store_currency_code" type="xsd:string" minOccurs="0" />
60
+ <element name="quote_currency_code" type="xsd:string" minOccurs="0" />
61
+ <element name="grand_total" type="xsd:string" minOccurs="0" />
62
+ <element name="base_grand_total" type="xsd:string" minOccurs="0" />
63
+ <element name="checkout_method" type="xsd:string" minOccurs="0" />
64
+ <element name="customer_id" type="xsd:string" minOccurs="0" />
65
+ <element name="customer_tax_class_id" type="xsd:string" minOccurs="0" />
66
+ <element name="customer_group_id" type="xsd:string" minOccurs="0" />
67
+ <element name="customer_email" type="xsd:string" minOccurs="0" />
68
+ <element name="customer_prefix" type="xsd:string" minOccurs="0" />
69
+ <element name="customer_firstname" type="xsd:string" minOccurs="0" />
70
+ <element name="customer_middlename" type="xsd:string" minOccurs="0" />
71
+ <element name="customer_lastname" type="xsd:string" minOccurs="0" />
72
+ <element name="customer_suffix" type="xsd:string" minOccurs="0" />
73
+ <element name="customer_dob" type="xsd:string" minOccurs="0" />
74
+ <element name="customer_note" type="xsd:string" minOccurs="0" />
75
+ <element name="customer_note_notify" type="xsd:string" minOccurs="0" />
76
+ <element name="customer_is_guest" type="xsd:string" minOccurs="0" />
77
+ <element name="remote_ip" type="xsd:string" minOccurs="0" />
78
+ <element name="applied_rule_ids" type="xsd:string" minOccurs="0" />
79
+ <element name="reserved_order_id" type="xsd:string" minOccurs="0" />
80
+ <element name="password_hash" type="xsd:string" minOccurs="0" />
81
+ <element name="coupon_code" type="xsd:string" minOccurs="0" />
82
+ <element name="global_currency_code" type="xsd:string" minOccurs="0" />
83
+ <element name="base_to_global_rate" type="xsd:string" minOccurs="0" />
84
+ <element name="base_to_quote_rate" type="xsd:string" minOccurs="0" />
85
+ <element name="customer_taxvat" type="xsd:string" minOccurs="0" />
86
+ <element name="customer_gender" type="xsd:string" minOccurs="0" />
87
+ <element name="subtotal" type="xsd:string" minOccurs="0" />
88
+ <element name="base_subtotal" type="xsd:string" minOccurs="0" />
89
+ <element name="subtotal_with_discount" type="xsd:string" minOccurs="0" />
90
+ <element name="base_subtotal_with_discount" type="xsd:string" minOccurs="0" />
91
+ <element name="is_changed" type="xsd:string" minOccurs="0" />
92
+ <element name="trigger_recollect" type="xsd:string" minOccurs="0" />
93
+ <element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
94
+ <element name="gift_message_id" type="xsd:string" minOccurs="0" />
95
+ <element name="is_persistent" type="xsd:string" minOccurs="0" />
96
+
97
+ <element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
98
+ <element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
99
+ <element name="items" type="typens:shoppingCartItemEntityArray" minOccurs="0"/>
100
+ <element name="payment" type="typens:shoppingCartPaymentEntity" minOccurs="0"/>
101
+
102
+ <element name="attributes" type="typens:associativeArray" minOccurs="0" maxOccurs="1"/>
103
+ </all>
104
+ </complexType>
105
+
106
+ <complexType name="shoppingCartItemEntity">
107
+ <all>
108
+ <element name="product_image_url" type="xsd:string" minOccurs="0"/>
109
+ <element name="product_url" type="xsd:string" minOccurs="0"/>
110
+ </all>
111
+ </complexType>
112
+
113
+ <complexType name="salesQuoteEntityArray">
114
+ <complexContent>
115
+ <restriction base="soapenc:Array">
116
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:salesQuoteEntity[]" />
117
+ </restriction>
118
+ </complexContent>
119
+ </complexType>
120
+
121
+ <complexType name="salesOrderEntity">
122
+ <all>
123
+ <element name="attributes" type="typens:associativeArray" minOccurs="0" maxOccurs="1"/>
124
+ </all>
125
+ </complexType>
126
+
127
+ <complexType name="salesOrderEntityArray">
128
+ <complexContent>
129
+ <restriction base="soapenc:Array">
130
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:salesOrderEntity[]" />
131
+ </restriction>
132
+ </complexContent>
133
+ </complexType>
134
+
135
+ <complexType name="wishlistEntity">
136
+ <all>
137
+ <element name="wishlist_id" type="xsd:string" minOccurs="0" />
138
+ <element name="customer_id" type="xsd:string" minOccurs="0" />
139
+ <element name="shared" type="xsd:string" minOccurs="0" />
140
+ <element name="sharing_code" type="xsd:string" minOccurs="0" />
141
+ <element name="updated_at" type="xsd:string" minOccurs="0" />
142
+ </all>
143
+ </complexType>
144
+ <complexType name="wishlistEntityArray">
145
+ <complexContent>
146
+ <restriction base="soapenc:Array">
147
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:wishlistEntity[]" />
148
+ </restriction>
149
+ </complexContent>
150
+ </complexType>
151
+ <complexType name="wishlistItemEntity">
152
+ <all>
153
+ <element name="wishlist_item_id" type="xsd:string" minOccurs="0" />
154
+ <element name="wishlist_id" type="xsd:string" minOccurs="0" />
155
+ <element name="product_id" type="xsd:string" minOccurs="0" />
156
+ <element name="store_id" type="xsd:string" minOccurs="0" />
157
+ <element name="added_at" type="xsd:string" minOccurs="0" />
158
+ <element name="description" type="xsd:string" minOccurs="0" />
159
+ <element name="qty" type="xsd:string" minOccurs="0" />
160
+ </all>
161
+ </complexType>
162
+ <complexType name="wishlistItemEntityArray">
163
+ <complexContent>
164
+ <restriction base="soapenc:Array">
165
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:wishlistItemEntity[]" />
166
+ </restriction>
167
+ </complexContent>
168
+ </complexType>
169
+ <!-- Report Product Viewed -->
170
+ <complexType name="reportProductViewedEntity">
171
+ <all>
172
+ <element name="index_id" type="xsd:string" minOccurs="0" />
173
+ <element name="visitor_id" type="xsd:string" minOccurs="0" />
174
+ <element name="product_id" type="xsd:string" minOccurs="0" />
175
+ <element name="sku" type="xsd:string" minOccurs="0" />
176
+ <element name="customer_id" type="xsd:string" minOccurs="0" />
177
+ <element name="added_at" type="xsd:string" minOccurs="0" />
178
+ <element name="store_id" type="xsd:string" minOccurs="0" />
179
+ </all>
180
+ </complexType>
181
+ <complexType name="reportProductViewedEntityArray">
182
+ <complexContent>
183
+ <restriction base="soapenc:Array">
184
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:reportProductViewedEntity[]" />
185
+ </restriction>
186
+ </complexContent>
187
+ </complexType>
188
+ <!-- Report Product Viewed -->
189
+ <!-- Newsletters Subscriber -->
190
+ <complexType name="newsletterSubscriberEntity">
191
+ <all>
192
+ <element name="subscriber_id" type="xsd:string" minOccurs="0" />
193
+ <element name="store_id" type="xsd:string" minOccurs="0" />
194
+ <element name="change_status_at" type="xsd:string" minOccurs="0" />
195
+ <element name="customer_id" type="xsd:string" minOccurs="0" />
196
+ <element name="subscriber_email" type="xsd:string" minOccurs="0" />
197
+ <element name="subscriber_status" type="xsd:string" minOccurs="0" />
198
+ <element name="subscriber_confirm_code" type="xsd:string" minOccurs="0" />
199
+ </all>
200
+ </complexType>
201
+ <complexType name="newsletterSubscriberEntityArray">
202
+ <complexContent>
203
+ <restriction base="soapenc:Array">
204
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:newsletterSubscriberEntity[]" />
205
+ </restriction>
206
+ </complexContent>
207
+ </complexType>
208
+ <!-- Newsletters Subscriber -->
209
+ <complexType name="catalogProductEntity">
210
+ <all>
211
+ <element name="price" type="xsd:string"/>
212
+ <element name="special_price" type="xsd:string"/>
213
+ </all>
214
+ </complexType>
215
+ <complexType name="oroPingResponse">
216
+ <all>
217
+ <element name="version" type="xsd:string" minOccurs="0" />
218
+ <element name="mage_version" type="xsd:string" minOccurs="0" />
219
+ <element name="admin_url" type="xsd:string" minOccurs="0" />
220
+ </all>
221
+ </complexType>
222
+
223
+ <complexType name="oroCustomerEntity">
224
+ <all>
225
+ <element name="customer_id" type="xsd:int" minOccurs="0" />
226
+ <element name="created_at" type="xsd:string" minOccurs="0" />
227
+ <element name="updated_at" type="xsd:string" minOccurs="0" />
228
+ <element name="increment_id" type="xsd:string" minOccurs="0" />
229
+ <element name="store_id" type="xsd:int" minOccurs="0" />
230
+ <element name="website_id" type="xsd:int" minOccurs="0" />
231
+ <element name="created_in" type="xsd:string" minOccurs="0" />
232
+ <element name="email" type="xsd:string" minOccurs="0" />
233
+ <element name="firstname" type="xsd:string" minOccurs="0" />
234
+ <element name="middlename" type="xsd:string" minOccurs="0" />
235
+ <element name="lastname" type="xsd:string" minOccurs="0" />
236
+ <element name="group_id" type="xsd:int" minOccurs="0" />
237
+ <element name="prefix" type="xsd:string" minOccurs="0" />
238
+ <element name="suffix" type="xsd:string" minOccurs="0" />
239
+ <element name="dob" type="xsd:string" minOccurs="0" />
240
+ <element name="taxvat" type="xsd:string" minOccurs="0" />
241
+ <element name="confirmation" type="xsd:boolean" minOccurs="0" />
242
+ <element name="password_hash" type="xsd:string" minOccurs="0" />
243
+ <element name="gender" type="xsd:string" minOccurs="0" />
244
+
245
+ <element name="addresses" type="typens:customerAddressEntityArray" minOccurs="0" maxOccurs="1"/>
246
+ <element name="attributes" type="typens:associativeArray" minOccurs="0" maxOccurs="1"/>
247
+ </all>
248
+ </complexType>
249
+
250
+ <complexType name="oroCustomerEntityArray">
251
+ <complexContent>
252
+ <restriction base="soapenc:Array">
253
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:oroCustomerEntity[]" />
254
+ </restriction>
255
+ </complexContent>
256
+ </complexType>
257
+
258
+ <complexType name="customerAddressEntityItem">
259
+ <all>
260
+ <element name="attributes" type="typens:associativeArray" minOccurs="0" maxOccurs="1"/>
261
+ </all>
262
+ </complexType>
263
+
264
+ <complexType name="oroCustomerEntityToCreate">
265
+ <all>
266
+ <element name="customer_id" type="xsd:int" minOccurs="0" />
267
+ <element name="email" type="xsd:string" minOccurs="0" />
268
+ <element name="firstname" type="xsd:string" minOccurs="0" />
269
+ <element name="lastname" type="xsd:string" minOccurs="0" />
270
+ <element name="middlename" type="xsd:string" minOccurs="0" />
271
+ <element name="password" type="xsd:string" minOccurs="0" />
272
+ <element name="website_id" type="xsd:int" minOccurs="0" />
273
+ <element name="store_id" type="xsd:int" minOccurs="0" />
274
+ <element name="group_id" type="xsd:int" minOccurs="0" />
275
+ <element name="prefix" type="xsd:string" minOccurs="0" />
276
+ <element name="suffix" type="xsd:string" minOccurs="0" />
277
+ <element name="dob" type="xsd:string" minOccurs="0" />
278
+ <element name="taxvat" type="xsd:string" minOccurs="0" />
279
+ <element name="gender" type="xsd:int" minOccurs="0" />
280
+ </all>
281
+ </complexType>
282
+
283
+ <complexType name="oroWebsiteEntity">
284
+ <all>
285
+ <element name="website_id" type="xsd:int" minOccurs="0" />
286
+ <element name="code" type="xsd:string" minOccurs="0" />
287
+ <element name="name" type="xsd:string" minOccurs="0" />
288
+ <element name="sort_order" type="xsd:int" minOccurs="0" />
289
+ <element name="default_group_id" type="xsd:int" minOccurs="0" />
290
+ <element name="is_default" type="xsd:boolean" minOccurs="0" />
291
+ </all>
292
+ </complexType>
293
+
294
+ <complexType name="oroWebsiteEntityArray">
295
+ <complexContent>
296
+ <restriction base="soapenc:Array">
297
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="typens:oroWebsiteEntity[]" />
298
+ </restriction>
299
+ </complexContent>
300
+ </complexType>
301
+ </schema>
302
+ </types>
303
+
304
+ <portType name="{{var wsdl.handler}}PortType">
305
+ <operation name="oroPing">
306
+ <documentation>Get basic presence info</documentation>
307
+ <input message="typens:oroPingRequest"/>
308
+ <output message="typens:oroPingResponse"/>
309
+ </operation>
310
+
311
+ <operation name="oroQuoteList">
312
+ <documentation>Get quote data list</documentation>
313
+ <input message="typens:oroQuoteListRequest"/>
314
+ <output message="typens:oroQuoteListResponse"/>
315
+ </operation>
316
+
317
+ <operation name="oroOrderList">
318
+ <documentation>Get quote data list</documentation>
319
+ <input message="typens:oroOrderListRequest"/>
320
+ <output message="typens:oroOrderListResponse"/>
321
+ </operation>
322
+
323
+ <operation name="oroOrderInfo">
324
+ <documentation>Retrieve order information</documentation>
325
+ <input message="typens:salesOrderInfoRequest" />
326
+ <output message="typens:salesOrderInfoResponse" />
327
+ </operation>
328
+
329
+ <operation name="oroCustomerList">
330
+ <documentation>Get quote data list</documentation>
331
+ <input message="typens:oroCustomerListRequest"/>
332
+ <output message="typens:oroCustomerListResponse"/>
333
+ </operation>
334
+
335
+ <operation name="oroCustomerInfo">
336
+ <documentation>Retrieve customer data</documentation>
337
+ <input message="typens:oroCustomerInfoRequest" />
338
+ <output message="typens:oroCustomerInfoResponse" />
339
+ </operation>
340
+
341
+ <operation name="oroCustomerCreate">
342
+ <documentation>Create customer</documentation>
343
+ <input message="typens:oroCustomerCreateRequest" />
344
+ <output message="typens:oroCustomerCreateResponse" />
345
+ </operation>
346
+
347
+ <operation name="oroCustomerUpdate">
348
+ <documentation>Update customer data</documentation>
349
+ <input message="typens:oroCustomerUpdateRequest" />
350
+ <output message="typens:oroCustomerUpdateResponse" />
351
+ </operation>
352
+
353
+ <operation name="oroCustomerAddressList">
354
+ <documentation>Retrieve customer addresses</documentation>
355
+ <input message="typens:customerAddressListRequest"/>
356
+ <output message="typens:customerAddressListResponse"/>
357
+ </operation>
358
+
359
+ <operation name="oroCustomerAddressInfo">
360
+ <documentation>Retrieve customer address data</documentation>
361
+ <input message="typens:customerAddressInfoRequest" />
362
+ <output message="typens:customerAddressInfoResponse" />
363
+ </operation>
364
+
365
+ <operation name="wishlistList">
366
+ <documentation>Get wishlist collection</documentation>
367
+ <input message="typens:wishlistListRequest"/>
368
+ <output message="typens:wishlistListResponse"/>
369
+ </operation>
370
+
371
+ <operation name="wishlistItemList">
372
+ <documentation>Get wishlist item collection</documentation>
373
+ <input message="typens:wishlistItemListRequest"/>
374
+ <output message="typens:wishlistItemListResponse"/>
375
+ </operation>
376
+
377
+ <operation name="reportProductViewedList">
378
+ <documentation>Get wishlist item collection</documentation>
379
+ <input message="typens:reportProductViewedListRequest"/>
380
+ <output message="typens:reportProductViewedListResponse"/>
381
+ </operation>
382
+
383
+ <operation name="newsletterSubscriberList">
384
+ <documentation>Newsletter subscriber collection</documentation>
385
+ <input message="typens:newsletterSubscriberListRequest"/>
386
+ <output message="typens:newsletterSubscriberListResponse"/>
387
+ </operation>
388
+
389
+ <operation name="newsletterSubscriberCreate">
390
+ <documentation>Create newsletter subscriber</documentation>
391
+ <input message="typens:newsletterSubscriberCreateRequest" />
392
+ <output message="typens:newsletterSubscriberCreateResponse" />
393
+ </operation>
394
+
395
+ <operation name="newsletterSubscriberUpdate">
396
+ <documentation>Update newsletter subscriber</documentation>
397
+ <input message="typens:newsletterSubscriberUpdateRequest" />
398
+ <output message="typens:newsletterSubscriberUpdateResponse" />
399
+ </operation>
400
+
401
+ <operation name="newsletterSubscriberSubscribeEmail">
402
+ <documentation>Newsletter subscriber - Subscribe email</documentation>
403
+ <input message="typens:newsletterSubscriberSubscribeEmailRequest" />
404
+ <output message="typens:newsletterSubscriberSubscribeResponse" />
405
+ </operation>
406
+
407
+ <operation name="newsletterSubscriberUnsubscribe">
408
+ <documentation>Unsubscribe newsletter subscriber</documentation>
409
+ <input message="typens:newsletterSubscriberUnsubscribeRequest" />
410
+ <output message="typens:newsletterSubscriberUnsubscribeResponse" />
411
+ </operation>
412
+
413
+ <operation name="oroWebsiteList">
414
+ <documentation>Retrieve websites list</documentation>
415
+ <input message="typens:oroWebsiteListRequest" />
416
+ <output message="typens:oroWebsiteListResponse" />
417
+ </operation>
418
+ </portType>
419
+
420
+ <binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
421
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
422
+ <operation name="oroPing">
423
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
424
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
425
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
426
+ </operation>
427
+ <operation name="oroQuoteList">
428
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
429
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
430
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
431
+ </operation>
432
+ <operation name="oroOrderList">
433
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
434
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
435
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
436
+ </operation>
437
+ <operation name="oroOrderInfo">
438
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
439
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
440
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
441
+ </operation>
442
+ <operation name="oroCustomerList">
443
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
444
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
445
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
446
+ </operation>
447
+ <operation name="oroCustomerInfo">
448
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
449
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
450
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
451
+ </operation>
452
+ <operation name="oroCustomerCreate">
453
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
454
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></input>
455
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></output>
456
+ </operation>
457
+ <operation name="oroCustomerUpdate">
458
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
459
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></input>
460
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></output>
461
+ </operation>
462
+ <operation name="oroCustomerAddressInfo">
463
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
464
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
465
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
466
+ </operation>
467
+ <operation name="oroCustomerAddressList">
468
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
469
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
470
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
471
+ </operation>
472
+ <operation name="wishlistList">
473
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
474
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
475
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
476
+ </operation>
477
+ <operation name="wishlistItemList">
478
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
479
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
480
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
481
+ </operation>
482
+ <operation name="reportProductViewedList">
483
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
484
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
485
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
486
+ </operation>
487
+ <operation name="newsletterSubscriberList">
488
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
489
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
490
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
491
+ </operation>
492
+ <operation name="newsletterSubscriberCreate">
493
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
494
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></input>
495
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></output>
496
+ </operation>
497
+ <operation name="newsletterSubscriberUpdate">
498
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
499
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></input>
500
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></output>
501
+ </operation>
502
+ <operation name="newsletterSubscriberSubscribeEmail">
503
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
504
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></input>
505
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></output>
506
+ </operation>
507
+ <operation name="newsletterSubscriberUnsubscribe">
508
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
509
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></input>
510
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></output>
511
+ </operation>
512
+ <operation name="oroWebsiteList">
513
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
514
+ <input><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></input>
515
+ <output><soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></output>
516
+ </operation>
517
+ </binding>
518
+
519
+ <message name="oroPingRequest">
520
+ <part name="sessionId" type="xsd:string" />
521
+ </message>
522
+ <message name="oroPingResponse">
523
+ <part name="result" type="typens:oroPingResponse" />
524
+ </message>
525
+
526
+ <message name="oroQuoteListRequest">
527
+ <part name="sessionId" type="xsd:string" />
528
+ <part name="filters" type="typens:filters" />
529
+ <part name="pager" type="typens:pager" />
530
+ </message>
531
+ <message name="oroQuoteListResponse">
532
+ <part name="result" type="typens:salesQuoteEntityArray" />
533
+ </message>
534
+
535
+ <message name="oroOrderListRequest">
536
+ <part name="sessionId" type="xsd:string" />
537
+ <part name="filters" type="typens:filters" />
538
+ <part name="pager" type="typens:pager" />
539
+ </message>
540
+ <message name="oroOrderListResponse">
541
+ <part name="result" type="typens:salesOrderEntityArray" />
542
+ </message>
543
+
544
+ <message name="oroCustomerListRequest">
545
+ <part name="sessionId" type="xsd:string" />
546
+ <part name="filters" type="typens:filters" />
547
+ <part name="pager" type="typens:pager" />
548
+ </message>
549
+ <message name="oroCustomerListResponse">
550
+ <part name="result" type="typens:oroCustomerEntityArray" />
551
+ </message>
552
+
553
+ <message name="oroCustomerCreateRequest">
554
+ <part name="sessionId" type="xsd:string" />
555
+ <part name="customerData" type="typens:oroCustomerEntityToCreate" />
556
+ </message>
557
+ <message name="oroCustomerCreateResponse">
558
+ <part name="result" type="xsd:int" />
559
+ </message>
560
+
561
+ <message name="oroCustomerUpdateRequest">
562
+ <part name="sessionId" type="xsd:string" />
563
+ <part name="customerId" type="xsd:int" />
564
+ <part name="customerData" type="typens:oroCustomerEntityToCreate" />
565
+ </message>
566
+ <message name="oroCustomerUpdateResponse">
567
+ <part name="result" type="xsd:boolean" />
568
+ </message>
569
+
570
+ <message name="oroCustomerInfoRequest">
571
+ <part name="sessionId" type="xsd:string" />
572
+ <part name="customerId" type="xsd:int" />
573
+ <part name="attributes" type="typens:ArrayOfString" />
574
+ </message>
575
+ <message name="oroCustomerInfoResponse">
576
+ <part name="result" type="typens:oroCustomerEntity" />
577
+ </message>
578
+
579
+ <message name="wishlistListRequest">
580
+ <part name="sessionId" type="xsd:string" />
581
+ <part name="filters" type="typens:filters" />
582
+ </message>
583
+ <message name="wishlistListResponse">
584
+ <part name="result" type="typens:wishlistEntityArray" />
585
+ </message>
586
+
587
+ <message name="wishlistItemListRequest">
588
+ <part name="sessionId" type="xsd:string" />
589
+ <part name="filters" type="typens:filters" />
590
+ </message>
591
+ <message name="wishlistItemListResponse">
592
+ <part name="result" type="typens:wishlistItemEntityArray" />
593
+ </message>
594
+
595
+ <!-- Report Product Viewed -->
596
+ <message name="reportProductViewedListRequest">
597
+ <part name="sessionId" type="xsd:string" />
598
+ <part name="filters" type="typens:filters" />
599
+ </message>
600
+ <message name="reportProductViewedListResponse">
601
+ <part name="result" type="typens:reportProductViewedEntityArray" />
602
+ </message>
603
+ <!-- Report Product Viewed -->
604
+
605
+ <!-- Newsletters Subscriber -->
606
+ <message name="newsletterSubscriberListRequest">
607
+ <part name="sessionId" type="xsd:string" />
608
+ <part name="filters" type="typens:filters" />
609
+ <part name="pager" type="typens:pager" />
610
+ </message>
611
+ <message name="newsletterSubscriberListResponse">
612
+ <part name="result" type="typens:newsletterSubscriberEntityArray" />
613
+ </message>
614
+
615
+ <message name="newsletterSubscriberCreateRequest">
616
+ <part name="sessionId" type="xsd:string" />
617
+ <part name="subscriberData" type="typens:newsletterSubscriberEntity" />
618
+ </message>
619
+ <message name="newsletterSubscriberCreateResponse">
620
+ <part name="result" type="typens:newsletterSubscriberEntity" />
621
+ </message>
622
+
623
+ <message name="newsletterSubscriberUpdateRequest">
624
+ <part name="sessionId" type="xsd:string" />
625
+ <part name="subscriberId" type="xsd:int" />
626
+ <part name="subscriberData" type="typens:newsletterSubscriberEntity" />
627
+ </message>
628
+ <message name="newsletterSubscriberUpdateResponse">
629
+ <part name="result" type="typens:newsletterSubscriberEntity" />
630
+ </message>
631
+
632
+ <message name="newsletterSubscriberSubscribeEmailRequest">
633
+ <part name="sessionId" type="xsd:string" />
634
+ <part name="email" type="xsd:string" />
635
+ </message>
636
+ <message name="newsletterSubscriberSubscribeResponse">
637
+ <part name="result" type="typens:newsletterSubscriberEntity" />
638
+ </message>
639
+
640
+ <message name="newsletterSubscriberUnsubscribeRequest">
641
+ <part name="sessionId" type="xsd:string" />
642
+ <part name="subscriberId" type="xsd:int" />
643
+ </message>
644
+ <message name="newsletterSubscriberUnsubscribeResponse">
645
+ <part name="result" type="xsd:boolean" />
646
+ </message>
647
+ <!-- Newsletters Subscriber -->
648
+
649
+ <!-- Oro Website -->
650
+ <message name="oroWebsiteListRequest">
651
+ <part name="sessionId" type="xsd:string" />
652
+ </message>
653
+ <message name="oroWebsiteListResponse">
654
+ <part name="result" type="typens:oroWebsiteEntityArray" />
655
+ </message>
656
+ <!-- Oro Website -->
657
+ </definitions>
658
+
app/code/community/Oro/Api/etc/wsi.xml CHANGED
@@ -1,497 +1,991 @@
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:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
6
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
7
- name="{{var wsdl.name}}"
8
- targetNamespace="urn:{{var wsdl.name}}">
9
- <wsdl:types>
10
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:{{var wsdl.name}}">
11
- <!-- Fix for magento 1.6.x -->
12
- <xsd:complexType name="associativeMultiArray">
13
- <xsd:sequence>
14
- <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:associativeMultiEntity" />
15
- </xsd:sequence>
16
- </xsd:complexType>
17
- <!-- // Fix for magento 1.6.x -->
18
-
19
- <xsd:complexType name="pager">
20
- <xsd:sequence>
21
- <xsd:element name="page" type="xsd:string" minOccurs="0" />
22
- <xsd:element name="pageSize" type="xsd:string" minOccurs="0" />
23
- </xsd:sequence>
24
- </xsd:complexType>
25
- <xsd:complexType name="salesQuoteEntity">
26
- <xsd:sequence>
27
- <xsd:element name="entity_id" type="xsd:int" minOccurs="0" />
28
- <xsd:element name="store_id" type="xsd:int" minOccurs="0" />
29
- <xsd:element name="created_at" type="xsd:string" minOccurs="0" />
30
- <xsd:element name="updated_at" type="xsd:string" minOccurs="0" />
31
- <xsd:element name="converted_at" type="xsd:string" minOccurs="0" />
32
- <xsd:element name="is_active" type="xsd:boolean" minOccurs="0" />
33
- <xsd:element name="is_virtual" type="xsd:boolean" minOccurs="0" />
34
- <xsd:element name="is_multi_shipping" type="xsd:boolean" minOccurs="0" />
35
- <xsd:element name="items_count" type="xsd:string" minOccurs="0" />
36
- <xsd:element name="items_qty" type="xsd:string" minOccurs="0" />
37
- <xsd:element name="orig_order_id" type="xsd:string" minOccurs="0" />
38
- <xsd:element name="store_to_base_rate" type="xsd:string" minOccurs="0" />
39
- <xsd:element name="store_to_quote_rate" type="xsd:string" minOccurs="0" />
40
- <xsd:element name="base_currency_code" type="xsd:string" minOccurs="0" />
41
- <xsd:element name="store_currency_code" type="xsd:string" minOccurs="0" />
42
- <xsd:element name="quote_currency_code" type="xsd:string" minOccurs="0" />
43
- <xsd:element name="grand_total" type="xsd:string" minOccurs="0" />
44
- <xsd:element name="base_grand_total" type="xsd:string" minOccurs="0" />
45
- <xsd:element name="checkout_method" type="xsd:string" minOccurs="0" />
46
- <xsd:element name="customer_id" type="xsd:int" minOccurs="0" />
47
- <xsd:element name="customer_tax_class_id" type="xsd:string" minOccurs="0" />
48
- <xsd:element name="customer_group_id" type="xsd:string" minOccurs="0" />
49
- <xsd:element name="customer_email" type="xsd:string" minOccurs="0" />
50
- <xsd:element name="customer_prefix" type="xsd:string" minOccurs="0" />
51
- <xsd:element name="customer_firstname" type="xsd:string" minOccurs="0" />
52
- <xsd:element name="customer_middlename" type="xsd:string" minOccurs="0" />
53
- <xsd:element name="customer_lastname" type="xsd:string" minOccurs="0" />
54
- <xsd:element name="customer_suffix" type="xsd:string" minOccurs="0" />
55
- <xsd:element name="customer_dob" type="xsd:string" minOccurs="0" />
56
- <xsd:element name="customer_note" type="xsd:string" minOccurs="0" />
57
- <xsd:element name="customer_note_notify" type="xsd:string" minOccurs="0" />
58
- <xsd:element name="customer_is_guest" type="xsd:string" minOccurs="0" />
59
- <xsd:element name="remote_ip" type="xsd:string" minOccurs="0" />
60
- <xsd:element name="applied_rule_ids" type="xsd:string" minOccurs="0" />
61
- <xsd:element name="reserved_order_id" type="xsd:string" minOccurs="0" />
62
- <xsd:element name="password_hash" type="xsd:string" minOccurs="0" />
63
- <xsd:element name="coupon_code" type="xsd:string" minOccurs="0" />
64
- <xsd:element name="global_currency_code" type="xsd:string" minOccurs="0" />
65
- <xsd:element name="base_to_global_rate" type="xsd:string" minOccurs="0" />
66
- <xsd:element name="base_to_quote_rate" type="xsd:string" minOccurs="0" />
67
- <xsd:element name="customer_taxvat" type="xsd:string" minOccurs="0" />
68
- <xsd:element name="customer_gender" type="xsd:string" minOccurs="0" />
69
- <xsd:element name="subtotal" type="xsd:string" minOccurs="0" />
70
- <xsd:element name="base_subtotal" type="xsd:string" minOccurs="0" />
71
- <xsd:element name="subtotal_with_discount" type="xsd:string" minOccurs="0" />
72
- <xsd:element name="base_subtotal_with_discount" type="xsd:string" minOccurs="0" />
73
- <xsd:element name="is_changed" type="xsd:string" minOccurs="0" />
74
- <xsd:element name="trigger_recollect" type="xsd:string" minOccurs="0" />
75
- <xsd:element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
76
- <xsd:element name="gift_message_id" type="xsd:string" minOccurs="0" />
77
- <xsd:element name="is_persistent" type="xsd:string" minOccurs="0" />
78
-
79
- <xsd:element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
80
- <xsd:element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
81
- <xsd:element name="items" type="typens:shoppingCartItemEntityArray" minOccurs="0"/>
82
- <xsd:element name="payment" type="typens:shoppingCartPaymentEntity" minOccurs="0"/>
83
- </xsd:sequence>
84
- </xsd:complexType>
85
-
86
- <xsd:complexType name="salesQuoteEntityArray">
87
- <xsd:sequence>
88
- <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:salesQuoteEntity" />
89
- </xsd:sequence>
90
- </xsd:complexType>
91
-
92
- <xsd:complexType name="salesOrderEntityArray">
93
- <xsd:sequence>
94
- <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:salesOrderEntity" />
95
- </xsd:sequence>
96
- </xsd:complexType>
97
-
98
- <xsd:complexType name="wishlistEntity">
99
- <xsd:sequence>
100
- <xsd:element name="wishlist_id" type="xsd:string" minOccurs="0" />
101
- <xsd:element name="customer_id" type="xsd:string" minOccurs="0" />
102
- <xsd:element name="shared" type="xsd:string" minOccurs="0" />
103
- <xsd:element name="sharing_code" type="xsd:string" minOccurs="0" />
104
- <xsd:element name="updated_at" type="xsd:string" minOccurs="0" />
105
- </xsd:sequence>
106
- </xsd:complexType>
107
-
108
- <xsd:complexType name="wishlistEntityArray">
109
- <xsd:sequence>
110
- <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:wishlistEntity" />
111
- </xsd:sequence>
112
- </xsd:complexType>
113
-
114
- <xsd:complexType name="wishlistItemEntity">
115
- <xsd:sequence>
116
- <xsd:element name="wishlist_item_id" type="xsd:string" minOccurs="0" />
117
- <xsd:element name="wishlist_id" type="xsd:string" minOccurs="0" />
118
- <xsd:element name="product_id" type="xsd:string" minOccurs="0" />
119
- <xsd:element name="store_id" type="xsd:string" minOccurs="0" />
120
- <xsd:element name="added_at" type="xsd:string" minOccurs="0" />
121
- <xsd:element name="description" type="xsd:string" minOccurs="0" />
122
- <xsd:element name="qty" type="xsd:string" minOccurs="0" />
123
- </xsd:sequence>
124
- </xsd:complexType>
125
-
126
- <xsd:complexType name="wishlistItemEntityArray">
127
- <xsd:sequence>
128
- <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:wishlistItemEntity" />
129
- </xsd:sequence>
130
- </xsd:complexType>
131
-
132
- <!-- Report Product Viewed -->
133
- <xsd:complexType name="reportProductViewedEntity">
134
- <xsd:sequence>
135
- <xsd:element name="index_id" type="xsd:string" minOccurs="0" />
136
- <xsd:element name="visitor_id" type="xsd:string" minOccurs="0" />
137
- <xsd:element name="product_id" type="xsd:string" minOccurs="0" />
138
- <xsd:element name="sku" type="xsd:string" minOccurs="0" />
139
- <xsd:element name="customer_id" type="xsd:string" minOccurs="0" />
140
- <xsd:element name="added_at" type="xsd:string" minOccurs="0" />
141
- <xsd:element name="store_id" type="xsd:string" minOccurs="0" />
142
- </xsd:sequence>
143
- </xsd:complexType>
144
-
145
- <xsd:complexType name="reportProductViewedEntityArray">
146
- <xsd:sequence>
147
- <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:reportProductViewedEntity" />
148
- </xsd:sequence>
149
- </xsd:complexType>
150
- <!-- Report Product Viewed -->
151
-
152
- <!-- Newsletters Subscriber -->
153
- <xsd:complexType name="newsletterSubscriberEntity">
154
- <xsd:sequence>
155
- <xsd:element name="subscriber_id" type="xsd:string" minOccurs="0" />
156
- <xsd:element name="store_id" type="xsd:string" minOccurs="0" />
157
- <xsd:element name="change_status_at" type="xsd:string" minOccurs="0" />
158
- <xsd:element name="customer_id" type="xsd:string" minOccurs="0" />
159
- <xsd:element name="subscriber_email" type="xsd:string" minOccurs="0" />
160
- <xsd:element name="subscriber_status" type="xsd:string" minOccurs="0" />
161
- <xsd:element name="subscriber_confirm_code" type="xsd:string" minOccurs="0" />
162
- </xsd:sequence>
163
- </xsd:complexType>
164
-
165
- <xsd:complexType name="newsletterSubscriberEntityArray">
166
- <xsd:sequence>
167
- <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:newsletterSubscriberEntity" />
168
- </xsd:sequence>
169
- </xsd:complexType>
170
- <!-- Newsletters Subscriber -->
171
-
172
- <xsd:complexType name="catalogProductEntity">
173
- <xsd:sequence>
174
- <xsd:element name="price" type="xsd:string"/>
175
- <xsd:element name="special_price" type="xsd:string"/>
176
- </xsd:sequence>
177
- </xsd:complexType>
178
-
179
- <xsd:complexType name="oroPingResponse">
180
- <xsd:sequence>
181
- <xsd:element name="version" type="xsd:string" minOccurs="0" />
182
- <xsd:element name="mage_version" type="xsd:string" minOccurs="0" />
183
- <xsd:element name="admin_url" type="xsd:string" minOccurs="0" />
184
- </xsd:sequence>
185
- </xsd:complexType>
186
-
187
- <xsd:complexType name="oroCustomerEntity">
188
- <xsd:sequence>
189
- <xsd:element name="customer_id" type="xsd:int" minOccurs="0" />
190
- <xsd:element name="created_at" type="xsd:string" minOccurs="0" />
191
- <xsd:element name="updated_at" type="xsd:string" minOccurs="0" />
192
- <xsd:element name="increment_id" type="xsd:string" minOccurs="0" />
193
- <xsd:element name="store_id" type="xsd:int" minOccurs="0" />
194
- <xsd:element name="website_id" type="xsd:int" minOccurs="0" />
195
- <xsd:element name="created_in" type="xsd:string" minOccurs="0" />
196
- <xsd:element name="email" type="xsd:string" minOccurs="0" />
197
- <xsd:element name="firstname" type="xsd:string" minOccurs="0" />
198
- <xsd:element name="middlename" type="xsd:string" minOccurs="0" />
199
- <xsd:element name="lastname" type="xsd:string" minOccurs="0" />
200
- <xsd:element name="group_id" type="xsd:int" minOccurs="0" />
201
- <xsd:element name="prefix" type="xsd:string" minOccurs="0" />
202
- <xsd:element name="suffix" type="xsd:string" minOccurs="0" />
203
- <xsd:element name="dob" type="xsd:string" minOccurs="0" />
204
- <xsd:element name="taxvat" type="xsd:string" minOccurs="0" />
205
- <xsd:element name="confirmation" type="xsd:boolean" minOccurs="0" />
206
- <xsd:element name="password_hash" type="xsd:string" minOccurs="0" />
207
- <xsd:element name="gender" type="xsd:string" minOccurs="0" />
208
-
209
- <xsd:element minOccurs="1" maxOccurs="1" name="addresses" type="typens:customerAddressEntityArray" />
210
- </xsd:sequence>
211
- </xsd:complexType>
212
-
213
- <xsd:complexType name="oroCustomerEntityArray">
214
- <xsd:sequence>
215
- <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:oroCustomerEntity" />
216
- </xsd:sequence>
217
- </xsd:complexType>
218
-
219
- <xsd:complexType name="customerCustomerEntityToCreate">
220
- <xsd:sequence>
221
- <xsd:element name="middlename" type="xsd:string" minOccurs="0" />
222
- <xsd:element name="group_id" type="xsd:int" minOccurs="0" />
223
- <xsd:element name="prefix" type="xsd:string" minOccurs="0" />
224
- <xsd:element name="suffix" type="xsd:string" minOccurs="0" />
225
- <xsd:element name="dob" type="xsd:string" minOccurs="0" />
226
- <xsd:element name="taxvat" type="xsd:string" minOccurs="0" />
227
- <xsd:element name="gender" type="xsd:string" minOccurs="0" />
228
- </xsd:sequence>
229
- </xsd:complexType>
230
-
231
- <!-- Customer -->
232
- <xsd:element name="oroCustomerListRequestParam">
233
- <xsd:complexType>
234
- <xsd:sequence>
235
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
236
- <xsd:element minOccurs="0" maxOccurs="1" name="filters" type="typens:filters" />
237
- <xsd:element minOccurs="0" maxOccurs="1" name="pager" type="typens:pager" />
238
- </xsd:sequence>
239
- </xsd:complexType>
240
- </xsd:element>
241
- <xsd:element name="oroCustomerListResponseParam">
242
- <xsd:complexType>
243
- <xsd:sequence>
244
- <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:oroCustomerEntityArray" />
245
- </xsd:sequence>
246
- </xsd:complexType>
247
- </xsd:element>
248
- <!-- /Customer -->
249
-
250
- <!-- Quote -->
251
- <xsd:element name="oroQuoteListRequestParam">
252
- <xsd:complexType>
253
- <xsd:sequence>
254
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
255
- <xsd:element minOccurs="0" maxOccurs="1" name="filters" type="typens:filters" />
256
- <xsd:element minOccurs="0" maxOccurs="1" name="pager" type="typens:pager" />
257
- </xsd:sequence>
258
- </xsd:complexType>
259
- </xsd:element>
260
- <xsd:element name="oroQuoteListResponseParam">
261
- <xsd:complexType>
262
- <xsd:sequence>
263
- <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:salesQuoteEntityArray" />
264
- </xsd:sequence>
265
- </xsd:complexType>
266
- </xsd:element>
267
- <!-- /Quote -->
268
-
269
- <!-- Order -->
270
- <xsd:element name="oroOrderListRequestParam">
271
- <xsd:complexType>
272
- <xsd:sequence>
273
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
274
- <xsd:element minOccurs="0" maxOccurs="1" name="filters" type="typens:filters" />
275
- <xsd:element minOccurs="0" maxOccurs="1" name="pager" type="typens:pager" />
276
- </xsd:sequence>
277
- </xsd:complexType>
278
- </xsd:element>
279
- <xsd:element name="oroOrderListResponseParam">
280
- <xsd:complexType>
281
- <xsd:sequence>
282
- <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:salesOrderEntityArray" />
283
- </xsd:sequence>
284
- </xsd:complexType>
285
- </xsd:element>
286
- <!-- /Order -->
287
-
288
- <!-- Ping -->
289
- <xsd:element name="oroPingRequestParam">
290
- <xsd:complexType>
291
- <xsd:sequence>
292
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
293
- </xsd:sequence>
294
- </xsd:complexType>
295
- </xsd:element>
296
-
297
- <xsd:element name="oroPingResponseParam">
298
- <xsd:complexType>
299
- <xsd:sequence>
300
- <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:oroPingResponse" />
301
- </xsd:sequence>
302
- </xsd:complexType>
303
- </xsd:element>
304
- <!-- /Ping -->
305
- </xsd:schema>
306
- </wsdl:types>
307
-
308
- <wsdl:message name="oroPingRequest">
309
- <wsdl:part name="parameters" element="typens:oroPingRequestParam" />
310
- </wsdl:message>
311
- <wsdl:message name="oroPingResponse">
312
- <wsdl:part name="parameters" element="typens:oroPingResponseParam" />
313
- </wsdl:message>
314
-
315
- <wsdl:message name="oroQuoteListRequest">
316
- <wsdl:part name="parameters" element="typens:oroQuoteListRequestParam" />
317
- </wsdl:message>
318
- <wsdl:message name="oroQuoteListResponse">
319
- <wsdl:part name="parameters" element="typens:oroQuoteListResponseParam" />
320
- </wsdl:message>
321
-
322
- <wsdl:message name="oroOrderListRequest">
323
- <wsdl:part name="parameters" element="typens:oroOrderListRequestParam" />
324
- </wsdl:message>
325
- <wsdl:message name="oroOrderListResponse">
326
- <wsdl:part name="parameters" element="typens:oroOrderListResponseParam" />
327
- </wsdl:message>
328
-
329
- <wsdl:message name="oroCustomerListRequest">
330
- <wsdl:part name="parameters" element="typens:oroCustomerListRequestParam" />
331
- </wsdl:message>
332
- <wsdl:message name="oroCustomerListResponse">
333
- <wsdl:part name="parameters" element="typens:oroCustomerListResponseParam" />
334
- </wsdl:message>
335
-
336
- <wsdl:message name="wishlistListRequest">
337
- <wsdl:part name="sessionId" element="xsd:string" />
338
- <wsdl:part name="filters" element="typens:filters" />
339
- </wsdl:message>
340
- <wsdl:message name="wishlistListResponse">
341
- <wsdl:part name="result" element="typens:wishlistEntityArray" />
342
- </wsdl:message>
343
-
344
- <wsdl:message name="wishlistItemListRequest">
345
- <wsdl:part name="sessionId" element="xsd:string" />
346
- <wsdl:part name="filters" element="typens:filters" />
347
- </wsdl:message>
348
- <wsdl:message name="wishlistItemListResponse">
349
- <wsdl:part name="result" element="typens:wishlistItemEntityArray" />
350
- </wsdl:message>
351
-
352
- <!-- Report Product Viewed -->
353
- <wsdl:message name="reportProductViewedListRequest">
354
- <wsdl:part name="sessionId" element="xsd:string" />
355
- <wsdl:part name="filters" element="typens:filters" />
356
- </wsdl:message>
357
- <wsdl:message name="reportProductViewedListResponse">
358
- <wsdl:part name="result" element="typens:reportProductViewedEntityArray" />
359
- </wsdl:message>
360
- <!-- Report Product Viewed -->
361
-
362
- <!-- Newsletters Subscriber -->
363
- <wsdl:message name="newsletterSubscriberListRequest">
364
- <wsdl:part name="sessionId" element="xsd:string" />
365
- <wsdl:part name="filters" element="typens:filters" />
366
- </wsdl:message>
367
- <wsdl:message name="newsletterSubscriberListResponse">
368
- <wsdl:part name="result" element="typens:newsletterSubscriberEntityArray" />
369
- </wsdl:message>
370
- <!-- Newsletters Subscriber -->
371
-
372
- <wsdl:portType name="{{var wsdl.handler}}PortType">
373
- <wsdl:operation name="oroPing">
374
- <wsdl:documentation>Get basic presence info</wsdl:documentation>
375
- <wsdl:input message="typens:oroPingRequest"/>
376
- <wsdl:output message="typens:oroPingResponse"/>
377
- </wsdl:operation>
378
-
379
- <wsdl:operation name="oroQuoteList">
380
- <wsdl:documentation>Get quote data list</wsdl:documentation>
381
- <wsdl:input message="typens:oroQuoteListRequest"/>
382
- <wsdl:output message="typens:oroQuoteListResponse"/>
383
- </wsdl:operation>
384
-
385
- <wsdl:operation name="oroOrderList">
386
- <wsdl:documentation>Get quote data list</wsdl:documentation>
387
- <wsdl:input message="typens:oroOrderListRequest"/>
388
- <wsdl:output message="typens:oroOrderListResponse"/>
389
- </wsdl:operation>
390
-
391
- <wsdl:operation name="oroCustomerList">
392
- <wsdl:documentation>Get quote data list</wsdl:documentation>
393
- <wsdl:input message="typens:oroCustomerListRequest"/>
394
- <wsdl:output message="typens:oroCustomerListResponse"/>
395
- </wsdl:operation>
396
-
397
- <wsdl:operation name="wishlistList">
398
- <wsdl:documentation>Get wishlist collection</wsdl:documentation>
399
- <wsdl:input message="typens:wishlistListRequest"/>
400
- <wsdl:output message="typens:wishlistListResponse"/>
401
- </wsdl:operation>
402
-
403
- <wsdl:operation name="wishlistItemList">
404
- <wsdl:documentation>Get wishlist item collection</wsdl:documentation>
405
- <wsdl:input message="typens:wishlistItemListRequest"/>
406
- <wsdl:output message="typens:wishlistItemListResponse"/>
407
- </wsdl:operation>
408
-
409
- <wsdl:operation name="reportProductViewedList">
410
- <wsdl:documentation>Get wishlist item collection</wsdl:documentation>
411
- <wsdl:input message="typens:reportProductViewedListRequest"/>
412
- <wsdl:output message="typens:reportProductViewedListResponse"/>
413
- </wsdl:operation>
414
-
415
- <wsdl:operation name="newsletterSubscriberList">
416
- <wsdl:documentation>Newsletter subscriber collection</wsdl:documentation>
417
- <wsdl:input message="typens:newsletterSubscriberListRequest"/>
418
- <wsdl:output message="typens:newsletterSubscriberListResponse"/>
419
- </wsdl:operation>
420
- </wsdl:portType>
421
-
422
- <wsdl:binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
423
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
424
- <wsdl:operation name="oroPing">
425
- <soap:operation soapAction="" />
426
- <wsdl:input>
427
- <soap:body use="literal" />
428
- </wsdl:input>
429
- <wsdl:output>
430
- <soap:body use="literal" />
431
- </wsdl:output>
432
- </wsdl:operation>
433
- <wsdl:operation name="oroQuoteList">
434
- <soap:operation soapAction=""/>
435
- <wsdl:input>
436
- <soap:body use="literal" />
437
- </wsdl:input>
438
- <wsdl:output>
439
- <soap:body use="literal" />
440
- </wsdl:output>
441
- </wsdl:operation>
442
- <wsdl:operation name="oroOrderList">
443
- <soap:operation soapAction=""/>
444
- <wsdl:input>
445
- <soap:body use="literal" />
446
- </wsdl:input>
447
- <wsdl:output>
448
- <soap:body use="literal" />
449
- </wsdl:output>
450
- </wsdl:operation>
451
- <wsdl:operation name="oroCustomerList">
452
- <soap:operation soapAction=""/>
453
- <wsdl:input>
454
- <soap:body use="literal" />
455
- </wsdl:input>
456
- <wsdl:output>
457
- <soap:body use="literal" />
458
- </wsdl:output>
459
- </wsdl:operation>
460
- <wsdl:operation name="wishlistList">
461
- <soap:operation soapAction=""/>
462
- <wsdl:input>
463
- <soap:body use="literal" />
464
- </wsdl:input>
465
- <wsdl:output>
466
- <soap:body use="literal" />
467
- </wsdl:output>
468
- </wsdl:operation>
469
- <wsdl:operation name="wishlistItemList">
470
- <soap:operation soapAction=""/>
471
- <wsdl:input>
472
- <soap:body use="literal" />
473
- </wsdl:input>
474
- <wsdl:output>
475
- <soap:body use="literal" />
476
- </wsdl:output>
477
- </wsdl:operation>
478
- <wsdl:operation name="reportProductViewedList">
479
- <soap:operation soapAction=""/>
480
- <wsdl:input>
481
- <soap:body use="literal" />
482
- </wsdl:input>
483
- <wsdl:output>
484
- <soap:body use="literal" />
485
- </wsdl:output>
486
- </wsdl:operation>
487
- <wsdl:operation name="newsletterSubscriberList">
488
- <soap:operation soapAction=""/>
489
- <wsdl:input>
490
- <soap:body use="literal" />
491
- </wsdl:input>
492
- <wsdl:output>
493
- <soap:body use="literal" />
494
- </wsdl:output>
495
- </wsdl:operation>
496
- </wsdl:binding>
497
- </wsdl:definitions>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
6
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
7
+ name="{{var wsdl.name}}"
8
+ targetNamespace="urn:{{var wsdl.name}}">
9
+ <wsdl:types>
10
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:{{var wsdl.name}}">
11
+ <!-- Fix for magento 1.6.x -->
12
+ <xsd:complexType name="associativeMultiArray">
13
+ <xsd:sequence>
14
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:associativeMultiEntity" />
15
+ </xsd:sequence>
16
+ </xsd:complexType>
17
+ <!-- // Fix for magento 1.6.x -->
18
+
19
+ <xsd:complexType name="pager">
20
+ <xsd:sequence>
21
+ <xsd:element name="page" type="xsd:string" minOccurs="0" />
22
+ <xsd:element name="pageSize" type="xsd:string" minOccurs="0" />
23
+ </xsd:sequence>
24
+ </xsd:complexType>
25
+ <xsd:complexType name="salesQuoteEntity">
26
+ <xsd:sequence>
27
+ <xsd:element name="entity_id" type="xsd:int" minOccurs="0" />
28
+ <xsd:element name="store_id" type="xsd:int" minOccurs="0" />
29
+ <xsd:element name="created_at" type="xsd:string" minOccurs="0" />
30
+ <xsd:element name="updated_at" type="xsd:string" minOccurs="0" />
31
+ <xsd:element name="converted_at" type="xsd:string" minOccurs="0" />
32
+ <xsd:element name="is_active" type="xsd:boolean" minOccurs="0" />
33
+ <xsd:element name="is_virtual" type="xsd:boolean" minOccurs="0" />
34
+ <xsd:element name="is_multi_shipping" type="xsd:boolean" minOccurs="0" />
35
+ <xsd:element name="items_count" type="xsd:string" minOccurs="0" />
36
+ <xsd:element name="items_qty" type="xsd:string" minOccurs="0" />
37
+ <xsd:element name="orig_order_id" type="xsd:string" minOccurs="0" />
38
+ <xsd:element name="store_to_base_rate" type="xsd:string" minOccurs="0" />
39
+ <xsd:element name="store_to_quote_rate" type="xsd:string" minOccurs="0" />
40
+ <xsd:element name="base_currency_code" type="xsd:string" minOccurs="0" />
41
+ <xsd:element name="store_currency_code" type="xsd:string" minOccurs="0" />
42
+ <xsd:element name="quote_currency_code" type="xsd:string" minOccurs="0" />
43
+ <xsd:element name="grand_total" type="xsd:string" minOccurs="0" />
44
+ <xsd:element name="base_grand_total" type="xsd:string" minOccurs="0" />
45
+ <xsd:element name="checkout_method" type="xsd:string" minOccurs="0" />
46
+ <xsd:element name="customer_id" type="xsd:int" minOccurs="0" />
47
+ <xsd:element name="customer_tax_class_id" type="xsd:string" minOccurs="0" />
48
+ <xsd:element name="customer_group_id" type="xsd:string" minOccurs="0" />
49
+ <xsd:element name="customer_email" type="xsd:string" minOccurs="0" />
50
+ <xsd:element name="customer_prefix" type="xsd:string" minOccurs="0" />
51
+ <xsd:element name="customer_firstname" type="xsd:string" minOccurs="0" />
52
+ <xsd:element name="customer_middlename" type="xsd:string" minOccurs="0" />
53
+ <xsd:element name="customer_lastname" type="xsd:string" minOccurs="0" />
54
+ <xsd:element name="customer_suffix" type="xsd:string" minOccurs="0" />
55
+ <xsd:element name="customer_dob" type="xsd:string" minOccurs="0" />
56
+ <xsd:element name="customer_note" type="xsd:string" minOccurs="0" />
57
+ <xsd:element name="customer_note_notify" type="xsd:string" minOccurs="0" />
58
+ <xsd:element name="customer_is_guest" type="xsd:string" minOccurs="0" />
59
+ <xsd:element name="remote_ip" type="xsd:string" minOccurs="0" />
60
+ <xsd:element name="applied_rule_ids" type="xsd:string" minOccurs="0" />
61
+ <xsd:element name="reserved_order_id" type="xsd:string" minOccurs="0" />
62
+ <xsd:element name="password_hash" type="xsd:string" minOccurs="0" />
63
+ <xsd:element name="coupon_code" type="xsd:string" minOccurs="0" />
64
+ <xsd:element name="global_currency_code" type="xsd:string" minOccurs="0" />
65
+ <xsd:element name="base_to_global_rate" type="xsd:string" minOccurs="0" />
66
+ <xsd:element name="base_to_quote_rate" type="xsd:string" minOccurs="0" />
67
+ <xsd:element name="customer_taxvat" type="xsd:string" minOccurs="0" />
68
+ <xsd:element name="customer_gender" type="xsd:string" minOccurs="0" />
69
+ <xsd:element name="subtotal" type="xsd:string" minOccurs="0" />
70
+ <xsd:element name="base_subtotal" type="xsd:string" minOccurs="0" />
71
+ <xsd:element name="subtotal_with_discount" type="xsd:string" minOccurs="0" />
72
+ <xsd:element name="base_subtotal_with_discount" type="xsd:string" minOccurs="0" />
73
+ <xsd:element name="is_changed" type="xsd:string" minOccurs="0" />
74
+ <xsd:element name="trigger_recollect" type="xsd:string" minOccurs="0" />
75
+ <xsd:element name="ext_shipping_info" type="xsd:string" minOccurs="0" />
76
+ <xsd:element name="gift_message_id" type="xsd:string" minOccurs="0" />
77
+ <xsd:element name="is_persistent" type="xsd:string" minOccurs="0" />
78
+
79
+ <xsd:element name="shipping_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
80
+ <xsd:element name="billing_address" type="typens:shoppingCartAddressEntity" minOccurs="0"/>
81
+ <xsd:element name="items" type="typens:shoppingCartItemEntityArray" minOccurs="0"/>
82
+ <xsd:element name="payment" type="typens:shoppingCartPaymentEntity" minOccurs="0"/>
83
+
84
+ <xsd:element minOccurs="0" maxOccurs="1" name="attributes" type="typens:associativeArray"/>
85
+ </xsd:sequence>
86
+ </xsd:complexType>
87
+
88
+ <xsd:complexType name="shoppingCartItemEntity">
89
+ <xsd:sequence>
90
+ <xsd:element name="product_image_url" type="xsd:string" minOccurs="0"/>
91
+ <xsd:element name="product_url" type="xsd:string" minOccurs="0"/>
92
+ </xsd:sequence>
93
+ </xsd:complexType>
94
+
95
+ <xsd:complexType name="salesQuoteEntityArray">
96
+ <xsd:sequence>
97
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:salesQuoteEntity" />
98
+ </xsd:sequence>
99
+ </xsd:complexType>
100
+
101
+ <xsd:complexType name="salesOrderEntity">
102
+ <xsd:sequence>
103
+ <xsd:element minOccurs="0" maxOccurs="1" name="attributes" type="typens:associativeArray"/>
104
+ </xsd:sequence>
105
+ </xsd:complexType>
106
+
107
+ <xsd:complexType name="salesOrderEntityArray">
108
+ <xsd:sequence>
109
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:salesOrderEntity" />
110
+ </xsd:sequence>
111
+ </xsd:complexType>
112
+
113
+ <xsd:complexType name="wishlistEntity">
114
+ <xsd:sequence>
115
+ <xsd:element name="wishlist_id" type="xsd:string" minOccurs="0" />
116
+ <xsd:element name="customer_id" type="xsd:string" minOccurs="0" />
117
+ <xsd:element name="shared" type="xsd:string" minOccurs="0" />
118
+ <xsd:element name="sharing_code" type="xsd:string" minOccurs="0" />
119
+ <xsd:element name="updated_at" type="xsd:string" minOccurs="0" />
120
+ </xsd:sequence>
121
+ </xsd:complexType>
122
+
123
+ <xsd:complexType name="wishlistEntityArray">
124
+ <xsd:sequence>
125
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:wishlistEntity" />
126
+ </xsd:sequence>
127
+ </xsd:complexType>
128
+
129
+ <xsd:complexType name="wishlistItemEntity">
130
+ <xsd:sequence>
131
+ <xsd:element name="wishlist_item_id" type="xsd:string" minOccurs="0" />
132
+ <xsd:element name="wishlist_id" type="xsd:string" minOccurs="0" />
133
+ <xsd:element name="product_id" type="xsd:string" minOccurs="0" />
134
+ <xsd:element name="store_id" type="xsd:string" minOccurs="0" />
135
+ <xsd:element name="added_at" type="xsd:string" minOccurs="0" />
136
+ <xsd:element name="description" type="xsd:string" minOccurs="0" />
137
+ <xsd:element name="qty" type="xsd:string" minOccurs="0" />
138
+ </xsd:sequence>
139
+ </xsd:complexType>
140
+
141
+ <xsd:complexType name="wishlistItemEntityArray">
142
+ <xsd:sequence>
143
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:wishlistItemEntity" />
144
+ </xsd:sequence>
145
+ </xsd:complexType>
146
+
147
+ <!-- Report Product Viewed -->
148
+ <xsd:complexType name="reportProductViewedEntity">
149
+ <xsd:sequence>
150
+ <xsd:element name="index_id" type="xsd:string" minOccurs="0" />
151
+ <xsd:element name="visitor_id" type="xsd:string" minOccurs="0" />
152
+ <xsd:element name="product_id" type="xsd:string" minOccurs="0" />
153
+ <xsd:element name="sku" type="xsd:string" minOccurs="0" />
154
+ <xsd:element name="customer_id" type="xsd:string" minOccurs="0" />
155
+ <xsd:element name="added_at" type="xsd:string" minOccurs="0" />
156
+ <xsd:element name="store_id" type="xsd:string" minOccurs="0" />
157
+ </xsd:sequence>
158
+ </xsd:complexType>
159
+
160
+ <xsd:complexType name="reportProductViewedEntityArray">
161
+ <xsd:sequence>
162
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:reportProductViewedEntity" />
163
+ </xsd:sequence>
164
+ </xsd:complexType>
165
+ <!-- Report Product Viewed -->
166
+
167
+ <!-- Newsletters Subscriber -->
168
+ <xsd:complexType name="newsletterSubscriberEntity">
169
+ <xsd:sequence>
170
+ <xsd:element name="subscriber_id" type="xsd:string" minOccurs="0" />
171
+ <xsd:element name="store_id" type="xsd:string" minOccurs="0" />
172
+ <xsd:element name="change_status_at" type="xsd:string" minOccurs="0" />
173
+ <xsd:element name="customer_id" type="xsd:string" minOccurs="0" />
174
+ <xsd:element name="subscriber_email" type="xsd:string" minOccurs="0" />
175
+ <xsd:element name="subscriber_status" type="xsd:string" minOccurs="0" />
176
+ <xsd:element name="subscriber_confirm_code" type="xsd:string" minOccurs="0" />
177
+ </xsd:sequence>
178
+ </xsd:complexType>
179
+
180
+ <xsd:complexType name="newsletterSubscriberEntityArray">
181
+ <xsd:sequence>
182
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:newsletterSubscriberEntity" />
183
+ </xsd:sequence>
184
+ </xsd:complexType>
185
+ <!-- Newsletters Subscriber -->
186
+
187
+ <xsd:complexType name="catalogProductEntity">
188
+ <xsd:sequence>
189
+ <xsd:element name="price" type="xsd:string"/>
190
+ <xsd:element name="special_price" type="xsd:string"/>
191
+ </xsd:sequence>
192
+ </xsd:complexType>
193
+
194
+ <xsd:complexType name="oroPingResponse">
195
+ <xsd:sequence>
196
+ <xsd:element name="version" type="xsd:string" minOccurs="0" />
197
+ <xsd:element name="mage_version" type="xsd:string" minOccurs="0" />
198
+ <xsd:element name="admin_url" type="xsd:string" minOccurs="0" />
199
+ </xsd:sequence>
200
+ </xsd:complexType>
201
+
202
+ <xsd:complexType name="oroCustomerEntity">
203
+ <xsd:sequence>
204
+ <xsd:element name="customer_id" type="xsd:int" minOccurs="0" />
205
+ <xsd:element name="created_at" type="xsd:string" minOccurs="0" />
206
+ <xsd:element name="updated_at" type="xsd:string" minOccurs="0" />
207
+ <xsd:element name="increment_id" type="xsd:string" minOccurs="0" />
208
+ <xsd:element name="store_id" type="xsd:int" minOccurs="0" />
209
+ <xsd:element name="website_id" type="xsd:int" minOccurs="0" />
210
+ <xsd:element name="created_in" type="xsd:string" minOccurs="0" />
211
+ <xsd:element name="email" type="xsd:string" minOccurs="0" />
212
+ <xsd:element name="firstname" type="xsd:string" minOccurs="0" />
213
+ <xsd:element name="middlename" type="xsd:string" minOccurs="0" />
214
+ <xsd:element name="lastname" type="xsd:string" minOccurs="0" />
215
+ <xsd:element name="group_id" type="xsd:int" minOccurs="0" />
216
+ <xsd:element name="prefix" type="xsd:string" minOccurs="0" />
217
+ <xsd:element name="suffix" type="xsd:string" minOccurs="0" />
218
+ <xsd:element name="dob" type="xsd:string" minOccurs="0" />
219
+ <xsd:element name="taxvat" type="xsd:string" minOccurs="0" />
220
+ <xsd:element name="confirmation" type="xsd:boolean" minOccurs="0" />
221
+ <xsd:element name="password_hash" type="xsd:string" minOccurs="0" />
222
+ <xsd:element name="gender" type="xsd:string" minOccurs="0" />
223
+
224
+ <xsd:element minOccurs="0" maxOccurs="1" name="addresses" type="typens:customerAddressEntityArray" />
225
+ <xsd:element minOccurs="0" maxOccurs="1" name="attributes" type="typens:associativeArray"/>
226
+ </xsd:sequence>
227
+ </xsd:complexType>
228
+
229
+ <xsd:complexType name="oroCustomerEntityArray">
230
+ <xsd:sequence>
231
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:oroCustomerEntity" />
232
+ </xsd:sequence>
233
+ </xsd:complexType>
234
+
235
+ <xsd:complexType name="customerAddressEntityItem">
236
+ <xsd:sequence>
237
+ <xsd:element minOccurs="0" maxOccurs="1" name="attributes" type="typens:associativeArray"/>
238
+ </xsd:sequence>
239
+ </xsd:complexType>
240
+
241
+ <xsd:complexType name="oroCustomerEntityToCreate">
242
+ <xsd:sequence>
243
+ <xsd:element name="customer_id" type="xsd:int" minOccurs="0" />
244
+ <xsd:element name="email" type="xsd:string" minOccurs="0" />
245
+ <xsd:element name="firstname" type="xsd:string" minOccurs="0" />
246
+ <xsd:element name="lastname" type="xsd:string" minOccurs="0" />
247
+ <xsd:element name="middlename" type="xsd:string" minOccurs="0" />
248
+ <xsd:element name="password" type="xsd:string" minOccurs="0" />
249
+ <xsd:element name="website_id" type="xsd:int" minOccurs="0" />
250
+ <xsd:element name="store_id" type="xsd:int" minOccurs="0" />
251
+ <xsd:element name="group_id" type="xsd:int" minOccurs="0" />
252
+ <xsd:element name="prefix" type="xsd:string" minOccurs="0" />
253
+ <xsd:element name="suffix" type="xsd:string" minOccurs="0" />
254
+ <xsd:element name="dob" type="xsd:string" minOccurs="0" />
255
+ <xsd:element name="taxvat" type="xsd:string" minOccurs="0" />
256
+ <xsd:element name="gender" type="xsd:int" minOccurs="0" />
257
+ </xsd:sequence>
258
+ </xsd:complexType>
259
+
260
+ <xsd:complexType name="oroWebsiteEntity">
261
+ <xsd:sequence>
262
+ <xsd:element name="website_id" type="xsd:int" minOccurs="0" />
263
+ <xsd:element name="code" type="xsd:string" minOccurs="0" />
264
+ <xsd:element name="name" type="xsd:string" minOccurs="0" />
265
+ <xsd:element name="sort_order" type="xsd:int" minOccurs="0" />
266
+ <xsd:element name="default_group_id" type="xsd:int" minOccurs="0" />
267
+ <xsd:element name="is_default" type="xsd:boolean" minOccurs="0" />
268
+ </xsd:sequence>
269
+ </xsd:complexType>
270
+
271
+ <xsd:complexType name="oroWebsiteEntityArray">
272
+ <xsd:sequence>
273
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray" type="typens:oroWebsiteEntity" />
274
+ </xsd:sequence>
275
+ </xsd:complexType>
276
+
277
+ <!-- Customer -->
278
+ <xsd:element name="oroCustomerCreateRequestParam">
279
+ <xsd:complexType>
280
+ <xsd:sequence>
281
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
282
+ <xsd:element minOccurs="1" maxOccurs="1" name="customerData" type="typens:oroCustomerEntityToCreate" />
283
+ </xsd:sequence>
284
+ </xsd:complexType>
285
+ </xsd:element>
286
+ <xsd:element name="oroCustomerCreateResponseParam">
287
+ <xsd:complexType>
288
+ <xsd:sequence>
289
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
290
+ </xsd:sequence>
291
+ </xsd:complexType>
292
+ </xsd:element>
293
+
294
+ <xsd:element name="oroCustomerUpdateRequestParam">
295
+ <xsd:complexType>
296
+ <xsd:sequence>
297
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
298
+ <xsd:element minOccurs="1" maxOccurs="1" name="customerId" type="xsd:int" />
299
+ <xsd:element minOccurs="1" maxOccurs="1" name="customerData" type="typens:oroCustomerEntityToCreate" />
300
+ </xsd:sequence>
301
+ </xsd:complexType>
302
+ </xsd:element>
303
+ <xsd:element name="oroCustomerUpdateResponseParam">
304
+ <xsd:complexType>
305
+ <xsd:sequence>
306
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
307
+ </xsd:sequence>
308
+ </xsd:complexType>
309
+ </xsd:element>
310
+
311
+ <xsd:element name="oroCustomerListRequestParam">
312
+ <xsd:complexType>
313
+ <xsd:sequence>
314
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
315
+ <xsd:element minOccurs="0" maxOccurs="1" name="filters" type="typens:filters" />
316
+ <xsd:element minOccurs="0" maxOccurs="1" name="pager" type="typens:pager" />
317
+ </xsd:sequence>
318
+ </xsd:complexType>
319
+ </xsd:element>
320
+ <xsd:element name="oroCustomerListResponseParam">
321
+ <xsd:complexType>
322
+ <xsd:sequence>
323
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:oroCustomerEntityArray" />
324
+ </xsd:sequence>
325
+ </xsd:complexType>
326
+ </xsd:element>
327
+
328
+ <xsd:element name="oroCustomerInfoRequestParam">
329
+ <xsd:complexType>
330
+ <xsd:sequence>
331
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
332
+ <xsd:element minOccurs="1" maxOccurs="1" name="customerId" type="xsd:int" />
333
+ <xsd:element minOccurs="0" maxOccurs="1" name="attributes" type="typens:ArrayOfString" />
334
+ </xsd:sequence>
335
+ </xsd:complexType>
336
+ </xsd:element>
337
+ <xsd:element name="oroCustomerInfoResponseParam">
338
+ <xsd:complexType>
339
+ <xsd:sequence>
340
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:oroCustomerEntity" />
341
+ </xsd:sequence>
342
+ </xsd:complexType>
343
+ </xsd:element>
344
+
345
+ <xsd:element name="oroCustomerAddressListRequestParam">
346
+ <xsd:complexType>
347
+ <xsd:sequence>
348
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
349
+ <xsd:element minOccurs="1" maxOccurs="1" name="customerId" type="xsd:int" />
350
+ </xsd:sequence>
351
+ </xsd:complexType>
352
+ </xsd:element>
353
+ <xsd:element name="oroCustomerAddressListResponseParam">
354
+ <xsd:complexType>
355
+ <xsd:sequence>
356
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:customerAddressEntityArray" />
357
+ </xsd:sequence>
358
+ </xsd:complexType>
359
+ </xsd:element>
360
+
361
+ <xsd:element name="oroCustomerAddressInfoRequestParam">
362
+ <xsd:complexType>
363
+ <xsd:sequence>
364
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
365
+ <xsd:element minOccurs="1" maxOccurs="1" name="addressId" type="xsd:int" />
366
+ </xsd:sequence>
367
+ </xsd:complexType>
368
+ </xsd:element>
369
+ <xsd:element name="oroCustomerAddressInfoResponseParam">
370
+ <xsd:complexType>
371
+ <xsd:sequence>
372
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:customerAddressEntityItem" />
373
+ </xsd:sequence>
374
+ </xsd:complexType>
375
+ </xsd:element>
376
+ <!-- /Customer -->
377
+
378
+ <!-- Quote -->
379
+ <xsd:element name="oroQuoteListRequestParam">
380
+ <xsd:complexType>
381
+ <xsd:sequence>
382
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
383
+ <xsd:element minOccurs="0" maxOccurs="1" name="filters" type="typens:filters" />
384
+ <xsd:element minOccurs="0" maxOccurs="1" name="pager" type="typens:pager" />
385
+ </xsd:sequence>
386
+ </xsd:complexType>
387
+ </xsd:element>
388
+ <xsd:element name="oroQuoteListResponseParam">
389
+ <xsd:complexType>
390
+ <xsd:sequence>
391
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:salesQuoteEntityArray" />
392
+ </xsd:sequence>
393
+ </xsd:complexType>
394
+ </xsd:element>
395
+ <!-- /Quote -->
396
+
397
+ <!-- Order -->
398
+ <xsd:element name="oroOrderListRequestParam">
399
+ <xsd:complexType>
400
+ <xsd:sequence>
401
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
402
+ <xsd:element minOccurs="0" maxOccurs="1" name="filters" type="typens:filters" />
403
+ <xsd:element minOccurs="0" maxOccurs="1" name="pager" type="typens:pager" />
404
+ </xsd:sequence>
405
+ </xsd:complexType>
406
+ </xsd:element>
407
+ <xsd:element name="oroOrderListResponseParam">
408
+ <xsd:complexType>
409
+ <xsd:sequence>
410
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:salesOrderEntityArray" />
411
+ </xsd:sequence>
412
+ </xsd:complexType>
413
+ </xsd:element>
414
+
415
+ <xsd:element name="oroOrderInfoRequestParam">
416
+ <xsd:complexType>
417
+ <xsd:sequence>
418
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
419
+ <xsd:element minOccurs="1" maxOccurs="1" name="orderIncrementId" type="xsd:string" />
420
+ </xsd:sequence>
421
+ </xsd:complexType>
422
+ </xsd:element>
423
+ <xsd:element name="oroOrderInfoResponseParam">
424
+ <xsd:complexType>
425
+ <xsd:sequence>
426
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:salesOrderEntity" />
427
+ </xsd:sequence>
428
+ </xsd:complexType>
429
+ </xsd:element>
430
+ <!-- /Order -->
431
+
432
+ <!-- Ping -->
433
+ <xsd:element name="oroPingRequestParam">
434
+ <xsd:complexType>
435
+ <xsd:sequence>
436
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
437
+ </xsd:sequence>
438
+ </xsd:complexType>
439
+ </xsd:element>
440
+
441
+ <xsd:element name="oroPingResponseParam">
442
+ <xsd:complexType>
443
+ <xsd:sequence>
444
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:oroPingResponse" />
445
+ </xsd:sequence>
446
+ </xsd:complexType>
447
+ </xsd:element>
448
+ <!-- /Ping -->
449
+
450
+ <!-- Newsletter Subscriber -->
451
+ <xsd:element name="newsletterSubscriberListRequestParam">
452
+ <xsd:complexType>
453
+ <xsd:sequence>
454
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
455
+ <xsd:element minOccurs="0" maxOccurs="1" name="filters" type="typens:filters" />
456
+ <xsd:element minOccurs="0" maxOccurs="1" name="pager" type="typens:pager" />
457
+ </xsd:sequence>
458
+ </xsd:complexType>
459
+ </xsd:element>
460
+
461
+ <xsd:element name="newsletterSubscriberListResponseParam">
462
+ <xsd:complexType>
463
+ <xsd:sequence>
464
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:newsletterSubscriberEntityArray" />
465
+ </xsd:sequence>
466
+ </xsd:complexType>
467
+ </xsd:element>
468
+
469
+ <xsd:element name="newsletterSubscriberCreateRequestParam">
470
+ <xsd:complexType>
471
+ <xsd:sequence>
472
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
473
+ <xsd:element minOccurs="1" maxOccurs="1" name="subscriberData" type="typens:newsletterSubscriberEntity" />
474
+ </xsd:sequence>
475
+ </xsd:complexType>
476
+ </xsd:element>
477
+
478
+ <xsd:element name="newsletterSubscriberCreateResponseParam">
479
+ <xsd:complexType>
480
+ <xsd:sequence>
481
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:newsletterSubscriberEntity" />
482
+ </xsd:sequence>
483
+ </xsd:complexType>
484
+ </xsd:element>
485
+
486
+ <xsd:element name="newsletterSubscriberUpdateRequestParam">
487
+ <xsd:complexType>
488
+ <xsd:sequence>
489
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
490
+ <xsd:element minOccurs="1" maxOccurs="1" name="subscriberId" type="xsd:int" />
491
+ <xsd:element minOccurs="1" maxOccurs="1" name="subscriberData" type="typens:newsletterSubscriberEntity" />
492
+ </xsd:sequence>
493
+ </xsd:complexType>
494
+ </xsd:element>
495
+
496
+ <xsd:element name="newsletterSubscriberUpdateResponseParam">
497
+ <xsd:complexType>
498
+ <xsd:sequence>
499
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:newsletterSubscriberEntity" />
500
+ </xsd:sequence>
501
+ </xsd:complexType>
502
+ </xsd:element>
503
+
504
+ <xsd:element name="newsletterSubscriberSubscribeEmailRequestParam">
505
+ <xsd:complexType>
506
+ <xsd:sequence>
507
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
508
+ <xsd:element minOccurs="1" maxOccurs="1" name="email" type="xsd:string" />
509
+ </xsd:sequence>
510
+ </xsd:complexType>
511
+ </xsd:element>
512
+
513
+ <xsd:element name="newsletterSubscriberSubscribeEmailResponseParam">
514
+ <xsd:complexType>
515
+ <xsd:sequence>
516
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:newsletterSubscriberEntity" />
517
+ </xsd:sequence>
518
+ </xsd:complexType>
519
+ </xsd:element>
520
+
521
+ <xsd:element name="newsletterSubscriberUnsubscribeRequestParam">
522
+ <xsd:complexType>
523
+ <xsd:sequence>
524
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
525
+ <xsd:element minOccurs="1" maxOccurs="1" name="subscriberId" type="xsd:int" />
526
+ </xsd:sequence>
527
+ </xsd:complexType>
528
+ </xsd:element>
529
+
530
+ <xsd:element name="newsletterSubscriberUnsubscribeResponseParam">
531
+ <xsd:complexType>
532
+ <xsd:sequence>
533
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
534
+ </xsd:sequence>
535
+ </xsd:complexType>
536
+ </xsd:element>
537
+ <!-- /Newsletter Subscriber -->
538
+
539
+ <!-- Websites -->
540
+ <xsd:element name="oroWebsiteListRequestParam">
541
+ <xsd:complexType>
542
+ <xsd:sequence>
543
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
544
+ </xsd:sequence>
545
+ </xsd:complexType>
546
+ </xsd:element>
547
+
548
+ <xsd:element name="oroWebsiteListResponseParam">
549
+ <xsd:complexType>
550
+ <xsd:sequence>
551
+ <xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:oroWebsiteEntityArray" />
552
+ </xsd:sequence>
553
+ </xsd:complexType>
554
+ </xsd:element>
555
+ <!-- /Websites -->
556
+ </xsd:schema>
557
+ </wsdl:types>
558
+
559
+ <wsdl:message name="oroPingRequest">
560
+ <wsdl:part name="parameters" element="typens:oroPingRequestParam" />
561
+ </wsdl:message>
562
+ <wsdl:message name="oroPingResponse">
563
+ <wsdl:part name="parameters" element="typens:oroPingResponseParam" />
564
+ </wsdl:message>
565
+
566
+ <wsdl:message name="oroQuoteListRequest">
567
+ <wsdl:part name="parameters" element="typens:oroQuoteListRequestParam" />
568
+ </wsdl:message>
569
+ <wsdl:message name="oroQuoteListResponse">
570
+ <wsdl:part name="parameters" element="typens:oroQuoteListResponseParam" />
571
+ </wsdl:message>
572
+
573
+ <wsdl:message name="oroOrderListRequest">
574
+ <wsdl:part name="parameters" element="typens:oroOrderListRequestParam" />
575
+ </wsdl:message>
576
+ <wsdl:message name="oroOrderListResponse">
577
+ <wsdl:part name="parameters" element="typens:oroOrderListResponseParam" />
578
+ </wsdl:message>
579
+
580
+ <wsdl:message name="oroOrderInfoRequest">
581
+ <wsdl:part name="parameters" element="typens:oroOrderInfoRequestParam" />
582
+ </wsdl:message>
583
+ <wsdl:message name="oroOrderInfoResponse">
584
+ <wsdl:part name="parameters" element="typens:oroOrderInfoResponseParam" />
585
+ </wsdl:message>
586
+
587
+ <wsdl:message name="oroCustomerListRequest">
588
+ <wsdl:part name="parameters" element="typens:oroCustomerListRequestParam" />
589
+ </wsdl:message>
590
+ <wsdl:message name="oroCustomerListResponse">
591
+ <wsdl:part name="parameters" element="typens:oroCustomerListResponseParam" />
592
+ </wsdl:message>
593
+
594
+ <wsdl:message name="oroCustomerCreateRequest">
595
+ <wsdl:part name="parameters" element="typens:oroCustomerCreateRequestParam" />
596
+ </wsdl:message>
597
+ <wsdl:message name="oroCustomerCreateResponse">
598
+ <wsdl:part name="parameters" element="typens:oroCustomerCreateResponseParam" />
599
+ </wsdl:message>
600
+
601
+ <wsdl:message name="oroCustomerUpdateRequest">
602
+ <wsdl:part name="parameters" element="typens:oroCustomerUpdateRequestParam" />
603
+ </wsdl:message>
604
+ <wsdl:message name="oroCustomerUpdateResponse">
605
+ <wsdl:part name="parameters" element="typens:oroCustomerUpdateResponseParam" />
606
+ </wsdl:message>
607
+
608
+ <wsdl:message name="oroCustomerInfoRequest">
609
+ <wsdl:part name="parameters" element="typens:oroCustomerInfoRequestParam" />
610
+ </wsdl:message>
611
+ <wsdl:message name="oroCustomerInfoResponse">
612
+ <wsdl:part name="parameters" element="typens:oroCustomerInfoResponseParam" />
613
+ </wsdl:message>
614
+
615
+ <wsdl:message name="oroCustomerAddressInfoRequest">
616
+ <wsdl:part name="parameters" element="typens:oroCustomerAddressInfoRequestParam" />
617
+ </wsdl:message>
618
+ <wsdl:message name="oroCustomerAddressInfoResponse">
619
+ <wsdl:part name="parameters" element="typens:oroCustomerAddressInfoResponseParam" />
620
+ </wsdl:message>
621
+
622
+ <wsdl:message name="oroCustomerAddressListRequest">
623
+ <wsdl:part name="parameters" element="typens:oroCustomerAddressListRequestParam" />
624
+ </wsdl:message>
625
+ <wsdl:message name="oroCustomerAddressListResponse">
626
+ <wsdl:part name="parameters" element="typens:oroCustomerAddressListResponseParam" />
627
+ </wsdl:message>
628
+
629
+ <wsdl:message name="wishlistListRequest">
630
+ <wsdl:part name="sessionId" element="xsd:string" />
631
+ <wsdl:part name="filters" element="typens:filters" />
632
+ </wsdl:message>
633
+ <wsdl:message name="wishlistListResponse">
634
+ <wsdl:part name="result" element="typens:wishlistEntityArray" />
635
+ </wsdl:message>
636
+
637
+ <wsdl:message name="wishlistItemListRequest">
638
+ <wsdl:part name="sessionId" element="xsd:string" />
639
+ <wsdl:part name="filters" element="typens:filters" />
640
+ </wsdl:message>
641
+ <wsdl:message name="wishlistItemListResponse">
642
+ <wsdl:part name="result" element="typens:wishlistItemEntityArray" />
643
+ </wsdl:message>
644
+
645
+ <!-- Report Product Viewed -->
646
+ <wsdl:message name="reportProductViewedListRequest">
647
+ <wsdl:part name="sessionId" element="xsd:string" />
648
+ <wsdl:part name="filters" element="typens:filters" />
649
+ </wsdl:message>
650
+ <wsdl:message name="reportProductViewedListResponse">
651
+ <wsdl:part name="result" element="typens:reportProductViewedEntityArray" />
652
+ </wsdl:message>
653
+ <!-- Report Product Viewed -->
654
+
655
+ <!-- Newsletters Subscriber -->
656
+ <wsdl:message name="newsletterSubscriberListRequest">
657
+ <wsdl:part name="parameters" element="typens:newsletterSubscriberListRequestParam" />
658
+ </wsdl:message>
659
+ <wsdl:message name="newsletterSubscriberListResponse">
660
+ <wsdl:part name="parameters" element="typens:newsletterSubscriberListResponseParam" />
661
+ </wsdl:message>
662
+
663
+ <wsdl:message name="newsletterSubscriberCreateRequest">
664
+ <wsdl:part name="parameters" element="typens:newsletterSubscriberCreateRequestParam" />
665
+ </wsdl:message>
666
+ <wsdl:message name="newsletterSubscriberCreateResponse">
667
+ <wsdl:part name="parameters" element="typens:newsletterSubscriberCreateResponseParam" />
668
+ </wsdl:message>
669
+
670
+ <wsdl:message name="newsletterSubscriberUpdateRequest">
671
+ <wsdl:part name="parameters" element="typens:newsletterSubscriberUpdateRequestParam" />
672
+ </wsdl:message>
673
+ <wsdl:message name="newsletterSubscriberUpdateResponse">
674
+ <wsdl:part name="parameters" element="typens:newsletterSubscriberUpdateResponseParam" />
675
+ </wsdl:message>
676
+
677
+ <wsdl:message name="newsletterSubscriberSubscribeEmailRequest">
678
+ <wsdl:part name="parameters" element="typens:newsletterSubscriberSubscribeEmailRequestParam" />
679
+ </wsdl:message>
680
+ <wsdl:message name="newsletterSubscriberSubscribeResponse">
681
+ <wsdl:part name="parameters" element="typens:newsletterSubscriberSubscribeEmailResponseParam" />
682
+ </wsdl:message>
683
+
684
+ <wsdl:message name="newsletterSubscriberUnsubscribeRequest">
685
+ <wsdl:part name="parameters" element="typens:newsletterSubscriberUnsubscribeRequestParam" />
686
+ </wsdl:message>
687
+ <wsdl:message name="newsletterSubscriberUnsubscribeResponse">
688
+ <wsdl:part name="parameters" element="typens:newsletterSubscriberUnsubscribeResponseParam" />
689
+ </wsdl:message>
690
+ <!-- Newsletters Subscriber -->
691
+
692
+ <!-- Website -->
693
+ <wsdl:message name="oroWebsiteListRequest">
694
+ <wsdl:part name="parameters" element="typens:oroWebsiteListRequestParam" />
695
+ </wsdl:message>
696
+ <wsdl:message name="oroWebsiteListResponse">
697
+ <wsdl:part name="parameters" element="typens:oroWebsiteListResponseParam" />
698
+ </wsdl:message>
699
+ <!-- /Website -->
700
+
701
+ <wsdl:portType name="{{var wsdl.handler}}PortType">
702
+ <wsdl:operation name="oroPing">
703
+ <wsdl:documentation>Get basic presence info</wsdl:documentation>
704
+ <wsdl:input message="typens:oroPingRequest"/>
705
+ <wsdl:output message="typens:oroPingResponse"/>
706
+ </wsdl:operation>
707
+
708
+ <wsdl:operation name="oroQuoteList">
709
+ <wsdl:documentation>Get quote data list</wsdl:documentation>
710
+ <wsdl:input message="typens:oroQuoteListRequest"/>
711
+ <wsdl:output message="typens:oroQuoteListResponse"/>
712
+ </wsdl:operation>
713
+
714
+ <wsdl:operation name="oroOrderList">
715
+ <wsdl:documentation>Get quote data list</wsdl:documentation>
716
+ <wsdl:input message="typens:oroOrderListRequest"/>
717
+ <wsdl:output message="typens:oroOrderListResponse"/>
718
+ </wsdl:operation>
719
+
720
+ <wsdl:operation name="oroOrderInfo">
721
+ <wsdl:documentation>Retrieve order information</wsdl:documentation>
722
+ <wsdl:input message="typens:oroOrderInfoRequest" />
723
+ <wsdl:output message="typens:oroOrderInfoResponse" />
724
+ </wsdl:operation>
725
+
726
+ <wsdl:operation name="oroCustomerList">
727
+ <wsdl:documentation>Get quote data list</wsdl:documentation>
728
+ <wsdl:input message="typens:oroCustomerListRequest"/>
729
+ <wsdl:output message="typens:oroCustomerListResponse"/>
730
+ </wsdl:operation>
731
+
732
+ <wsdl:operation name="oroCustomerInfo">
733
+ <wsdl:documentation>Get quote data list</wsdl:documentation>
734
+ <wsdl:input message="typens:oroCustomerInfoRequest"/>
735
+ <wsdl:output message="typens:oroCustomerInfoResponse"/>
736
+ </wsdl:operation>
737
+
738
+ <wsdl:operation name="oroCustomerCreate">
739
+ <wsdl:documentation>Update customer data</wsdl:documentation>
740
+ <wsdl:input message="typens:oroCustomerCreateRequest" />
741
+ <wsdl:output message="typens:oroCustomerCreateResponse" />
742
+ </wsdl:operation>
743
+
744
+ <wsdl:operation name="oroCustomerUpdate">
745
+ <wsdl:documentation>Update customer data</wsdl:documentation>
746
+ <wsdl:input message="typens:oroCustomerUpdateRequest" />
747
+ <wsdl:output message="typens:oroCustomerUpdateResponse" />
748
+ </wsdl:operation>
749
+
750
+ <wsdl:operation name="oroCustomerAddressInfo">
751
+ <wsdl:documentation>Get quote data list</wsdl:documentation>
752
+ <wsdl:input message="typens:oroCustomerAddressInfoRequest"/>
753
+ <wsdl:output message="typens:oroCustomerAddressInfoResponse"/>
754
+ </wsdl:operation>
755
+
756
+ <wsdl:operation name="oroCustomerAddressList">
757
+ <wsdl:documentation>Get quote data list</wsdl:documentation>
758
+ <wsdl:input message="typens:oroCustomerAddressListRequest"/>
759
+ <wsdl:output message="typens:oroCustomerAddressListResponse"/>
760
+ </wsdl:operation>
761
+
762
+ <wsdl:operation name="wishlistList">
763
+ <wsdl:documentation>Get wishlist collection</wsdl:documentation>
764
+ <wsdl:input message="typens:wishlistListRequest"/>
765
+ <wsdl:output message="typens:wishlistListResponse"/>
766
+ </wsdl:operation>
767
+
768
+ <wsdl:operation name="wishlistItemList">
769
+ <wsdl:documentation>Get wishlist item collection</wsdl:documentation>
770
+ <wsdl:input message="typens:wishlistItemListRequest"/>
771
+ <wsdl:output message="typens:wishlistItemListResponse"/>
772
+ </wsdl:operation>
773
+
774
+ <wsdl:operation name="reportProductViewedList">
775
+ <wsdl:documentation>Get wishlist item collection</wsdl:documentation>
776
+ <wsdl:input message="typens:reportProductViewedListRequest"/>
777
+ <wsdl:output message="typens:reportProductViewedListResponse"/>
778
+ </wsdl:operation>
779
+
780
+ <wsdl:operation name="newsletterSubscriberList">
781
+ <wsdl:documentation>Newsletter subscriber collection</wsdl:documentation>
782
+ <wsdl:input message="typens:newsletterSubscriberListRequest"/>
783
+ <wsdl:output message="typens:newsletterSubscriberListResponse"/>
784
+ </wsdl:operation>
785
+
786
+ <wsdl:operation name="newsletterSubscriberCreate">
787
+ <wsdl:documentation>Create newsletter subscriber</wsdl:documentation>
788
+ <wsdl:input message="typens:newsletterSubscriberCreateRequest"/>
789
+ <wsdl:output message="typens:newsletterSubscriberCreateResponse"/>
790
+ </wsdl:operation>
791
+
792
+ <wsdl:operation name="newsletterSubscriberUpdate">
793
+ <wsdl:documentation>Update newsletter subscriber</wsdl:documentation>
794
+ <wsdl:input message="typens:newsletterSubscriberUpdateRequest"/>
795
+ <wsdl:output message="typens:newsletterSubscriberUpdateResponse"/>
796
+ </wsdl:operation>
797
+
798
+ <wsdl:operation name="newsletterSubscriberSubscribeEmail">
799
+ <wsdl:documentation>Newsletter subscriber - Subscribe email</wsdl:documentation>
800
+ <wsdl:input message="typens:newsletterSubscriberSubscribeEmailRequest"/>
801
+ <wsdl:output message="typens:newsletterSubscriberSubscribeResponse"/>
802
+ </wsdl:operation>
803
+
804
+ <wsdl:operation name="newsletterSubscriberUnsubscribe">
805
+ <wsdl:documentation>Unsubscribe newsletter subscriber</wsdl:documentation>
806
+ <wsdl:input message="typens:newsletterSubscriberUnsubscribeRequest"/>
807
+ <wsdl:output message="typens:newsletterSubscriberUnsubscribeResponse"/>
808
+ </wsdl:operation>
809
+
810
+ <wsdl:operation name="oroWebsiteList">
811
+ <wsdl:documentation>Retrieve websites list</wsdl:documentation>
812
+ <wsdl:input message="typens:oroWebsiteListRequest"/>
813
+ <wsdl:output message="typens:oroWebsiteListResponse"/>
814
+ </wsdl:operation>
815
+ </wsdl:portType>
816
+
817
+ <wsdl:binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
818
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
819
+ <wsdl:operation name="oroPing">
820
+ <soap:operation soapAction="" />
821
+ <wsdl:input>
822
+ <soap:body use="literal" />
823
+ </wsdl:input>
824
+ <wsdl:output>
825
+ <soap:body use="literal" />
826
+ </wsdl:output>
827
+ </wsdl:operation>
828
+ <wsdl:operation name="oroQuoteList">
829
+ <soap:operation soapAction=""/>
830
+ <wsdl:input>
831
+ <soap:body use="literal" />
832
+ </wsdl:input>
833
+ <wsdl:output>
834
+ <soap:body use="literal" />
835
+ </wsdl:output>
836
+ </wsdl:operation>
837
+ <wsdl:operation name="oroOrderList">
838
+ <soap:operation soapAction=""/>
839
+ <wsdl:input>
840
+ <soap:body use="literal" />
841
+ </wsdl:input>
842
+ <wsdl:output>
843
+ <soap:body use="literal" />
844
+ </wsdl:output>
845
+ </wsdl:operation>
846
+ <wsdl:operation name="oroOrderInfo">
847
+ <soap:operation soapAction="" />
848
+ <wsdl:input>
849
+ <soap:body use="literal" />
850
+ </wsdl:input>
851
+ <wsdl:output>
852
+ <soap:body use="literal" />
853
+ </wsdl:output>
854
+ </wsdl:operation>
855
+ <wsdl:operation name="oroCustomerList">
856
+ <soap:operation soapAction=""/>
857
+ <wsdl:input>
858
+ <soap:body use="literal" />
859
+ </wsdl:input>
860
+ <wsdl:output>
861
+ <soap:body use="literal" />
862
+ </wsdl:output>
863
+ </wsdl:operation>
864
+ <wsdl:operation name="oroCustomerInfo">
865
+ <soap:operation soapAction=""/>
866
+ <wsdl:input>
867
+ <soap:body use="literal" />
868
+ </wsdl:input>
869
+ <wsdl:output>
870
+ <soap:body use="literal" />
871
+ </wsdl:output>
872
+ </wsdl:operation>
873
+ <wsdl:operation name="oroCustomerCreate">
874
+ <soap:operation soapAction="" />
875
+ <wsdl:input>
876
+ <soap:body use="literal" />
877
+ </wsdl:input>
878
+ <wsdl:output>
879
+ <soap:body use="literal" />
880
+ </wsdl:output>
881
+ </wsdl:operation>
882
+ <wsdl:operation name="oroCustomerUpdate">
883
+ <soap:operation soapAction="" />
884
+ <wsdl:input>
885
+ <soap:body use="literal" />
886
+ </wsdl:input>
887
+ <wsdl:output>
888
+ <soap:body use="literal" />
889
+ </wsdl:output>
890
+ </wsdl:operation>
891
+ <wsdl:operation name="oroCustomerAddressInfo">
892
+ <soap:operation soapAction=""/>
893
+ <wsdl:input>
894
+ <soap:body use="literal" />
895
+ </wsdl:input>
896
+ <wsdl:output>
897
+ <soap:body use="literal" />
898
+ </wsdl:output>
899
+ </wsdl:operation>
900
+ <wsdl:operation name="oroCustomerAddressList">
901
+ <soap:operation soapAction=""/>
902
+ <wsdl:input>
903
+ <soap:body use="literal" />
904
+ </wsdl:input>
905
+ <wsdl:output>
906
+ <soap:body use="literal" />
907
+ </wsdl:output>
908
+ </wsdl:operation>
909
+ <wsdl:operation name="wishlistList">
910
+ <soap:operation soapAction=""/>
911
+ <wsdl:input>
912
+ <soap:body use="literal" />
913
+ </wsdl:input>
914
+ <wsdl:output>
915
+ <soap:body use="literal" />
916
+ </wsdl:output>
917
+ </wsdl:operation>
918
+ <wsdl:operation name="wishlistItemList">
919
+ <soap:operation soapAction=""/>
920
+ <wsdl:input>
921
+ <soap:body use="literal" />
922
+ </wsdl:input>
923
+ <wsdl:output>
924
+ <soap:body use="literal" />
925
+ </wsdl:output>
926
+ </wsdl:operation>
927
+ <wsdl:operation name="reportProductViewedList">
928
+ <soap:operation soapAction=""/>
929
+ <wsdl:input>
930
+ <soap:body use="literal" />
931
+ </wsdl:input>
932
+ <wsdl:output>
933
+ <soap:body use="literal" />
934
+ </wsdl:output>
935
+ </wsdl:operation>
936
+ <wsdl:operation name="newsletterSubscriberList">
937
+ <soap:operation soapAction=""/>
938
+ <wsdl:input>
939
+ <soap:body use="literal" />
940
+ </wsdl:input>
941
+ <wsdl:output>
942
+ <soap:body use="literal" />
943
+ </wsdl:output>
944
+ </wsdl:operation>
945
+ <wsdl:operation name="newsletterSubscriberCreate">
946
+ <soap:operation soapAction=""/>
947
+ <wsdl:input>
948
+ <soap:body use="literal" />
949
+ </wsdl:input>
950
+ <wsdl:output>
951
+ <soap:body use="literal" />
952
+ </wsdl:output>
953
+ </wsdl:operation>
954
+ <wsdl:operation name="newsletterSubscriberUpdate">
955
+ <soap:operation soapAction=""/>
956
+ <wsdl:input>
957
+ <soap:body use="literal" />
958
+ </wsdl:input>
959
+ <wsdl:output>
960
+ <soap:body use="literal" />
961
+ </wsdl:output>
962
+ </wsdl:operation>
963
+ <wsdl:operation name="newsletterSubscriberSubscribeEmail">
964
+ <soap:operation soapAction=""/>
965
+ <wsdl:input>
966
+ <soap:body use="literal" />
967
+ </wsdl:input>
968
+ <wsdl:output>
969
+ <soap:body use="literal" />
970
+ </wsdl:output>
971
+ </wsdl:operation>
972
+ <wsdl:operation name="newsletterSubscriberUnsubscribe">
973
+ <soap:operation soapAction=""/>
974
+ <wsdl:input>
975
+ <soap:body use="literal" />
976
+ </wsdl:input>
977
+ <wsdl:output>
978
+ <soap:body use="literal" />
979
+ </wsdl:output>
980
+ </wsdl:operation>
981
+ <wsdl:operation name="oroWebsiteList">
982
+ <soap:operation soapAction=""/>
983
+ <wsdl:input>
984
+ <soap:body use="literal" />
985
+ </wsdl:input>
986
+ <wsdl:output>
987
+ <soap:body use="literal" />
988
+ </wsdl:output>
989
+ </wsdl:operation>
990
+ </wsdl:binding>
991
+ </wsdl:definitions>
app/design/adminhtml/default/default/template/oro/api/check.phtml CHANGED
@@ -1,57 +1,57 @@
1
- <?php
2
- $badCookiesMessage = Mage::helper('oro_api')->
3
- __(
4
- "In order for this feature to work properly your browser must accept third-party cookies.".
5
- " Please enable third-party cookies in your browser settings"
6
- );
7
- ?>
8
- <script type="text/html" id="errorPage">
9
- <style type="text/css">
10
- .error-container {
11
- margin: 170px auto;
12
- padding-left: 32px;
13
- width: 350px;
14
- background-color: #ededed;
15
- border-radius: 6px;
16
- }
17
- .text-container{
18
- padding: 35px;
19
- text-align: left;
20
- background: url(<?php echo $this->getSkinUrl('images/oro/error.png') ?>) left no-repeat;
21
- }
22
- </style>
23
- <div class="error-container">
24
- <div class="text-container">
25
- <?php echo $badCookiesMessage; ?>
26
- </div>
27
- </div>
28
- </script>
29
- <script type="text/javascript" src="<?php echo Mage::getBaseUrl('js') ?>mage/cookies.js"></script>
30
- <?php /** @var $cookie Mage_Core_Model_Cookie */
31
- $cookie = Mage::getSingleton('core/cookie');
32
- ?>
33
- <script type="text/javascript">
34
- //<![CDATA[
35
- //check if we can set cookies in iframe
36
- if (window.self != window.top) {
37
- var cookieName = 'isCookiesEnabled';
38
- window.Mage.Cookies.set(
39
- cookieName,
40
- 1,
41
- null,
42
- '<?php echo $cookie->getPath();?>',
43
- '<?php echo $cookie->getDomain();?>'
44
- );
45
- if (!window.Mage.Cookies.get(cookieName)) {
46
- document.body.innerHTML = document.getElementById('errorPage').innerHTML;
47
- }
48
- window.Mage.Cookies.set(
49
- cookieName,
50
- 0,
51
- new Date(1980, 1, 1),
52
- '<?php echo $cookie->getPath();?>',
53
- '<?php echo $cookie->getDomain();?>'
54
- );
55
- }
56
- //]]>
57
- </script>
1
+ <?php
2
+ $badCookiesMessage = Mage::helper('oro_api')->
3
+ __(
4
+ "In order for this feature to work properly your browser must accept third-party cookies.".
5
+ " Please enable third-party cookies in your browser settings"
6
+ );
7
+ ?>
8
+ <script type="text/html" id="errorPage">
9
+ <style type="text/css">
10
+ .error-container {
11
+ margin: 170px auto;
12
+ padding-left: 32px;
13
+ width: 350px;
14
+ background-color: #ededed;
15
+ border-radius: 6px;
16
+ }
17
+ .text-container{
18
+ padding: 35px;
19
+ text-align: left;
20
+ background: url(<?php echo $this->getSkinUrl('images/oro/error.png') ?>) left no-repeat;
21
+ }
22
+ </style>
23
+ <div class="error-container">
24
+ <div class="text-container">
25
+ <?php echo $badCookiesMessage; ?>
26
+ </div>
27
+ </div>
28
+ </script>
29
+ <script type="text/javascript" src="<?php echo Mage::getBaseUrl('js') ?>mage/cookies.js"></script>
30
+ <?php /** @var $cookie Mage_Core_Model_Cookie */
31
+ $cookie = Mage::getSingleton('core/cookie');
32
+ ?>
33
+ <script type="text/javascript">
34
+ //<![CDATA[
35
+ //check if we can set cookies in iframe
36
+ if (window.self != window.top) {
37
+ var cookieName = 'isCookiesEnabled';
38
+ window.Mage.Cookies.set(
39
+ cookieName,
40
+ 1,
41
+ null,
42
+ '<?php echo $cookie->getPath();?>',
43
+ '<?php echo $cookie->getDomain();?>'
44
+ );
45
+ if (!window.Mage.Cookies.get(cookieName)) {
46
+ document.body.innerHTML = document.getElementById('errorPage').innerHTML;
47
+ }
48
+ window.Mage.Cookies.set(
49
+ cookieName,
50
+ 0,
51
+ new Date(1980, 1, 1),
52
+ '<?php echo $cookie->getPath();?>',
53
+ '<?php echo $cookie->getDomain();?>'
54
+ );
55
+ }
56
+ //]]>
57
+ </script>
app/design/adminhtml/default/default/template/oro/api/login_styles.phtml CHANGED
@@ -1,10 +1,10 @@
1
- <script>
2
- //<![CDATA[
3
- var head = document.head || document.getElementsByTagName('head')[0],
4
- style = document.createElement('link');
5
- style.type = 'text/css';
6
- style.rel = 'stylesheet';
7
- style.href = '<?php echo $this->getSkinUrl('oro_style.css') ?>';
8
- head.appendChild(style);
9
- //]]>
10
- </script>
1
+ <script>
2
+ //<![CDATA[
3
+ var head = document.head || document.getElementsByTagName('head')[0],
4
+ style = document.createElement('link');
5
+ style.type = 'text/css';
6
+ style.rel = 'stylesheet';
7
+ style.href = '<?php echo $this->getSkinUrl('oro_style.css') ?>';
8
+ head.appendChild(style);
9
+ //]]>
10
+ </script>
app/design/adminhtml/default/default/template/oro/api/page.phtml CHANGED
@@ -1,61 +1,61 @@
1
- <?php /*{
2
- "label":"Root page layout",
3
- "type":"core/template",
4
- "children":{
5
- "header":{ "label":"Header", "type":"adminhtml/page_header" },
6
- "menu":{ "label":"Top navigation", "type":"adminhtml/page_menu" },
7
- "breadcrumbs":{ "label":"Breadcrumbs", "type":"adminhtml/widget_breadcrumbs" },
8
- "content":{ "label":"Content block", "type":"core/template" },
9
- "left":{ "label":"Left navigation", "type":"core/template" },
10
- "footer":{ "label":"Footer", "type":"adminhtml/page_footer" }
11
- },
12
- "vars":{}
13
- }*/ ?>
14
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
15
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
16
- <head>
17
- <?php echo $this->getChildHtml('head') ?>
18
- </head>
19
-
20
- <body id="html-body"<?php echo $this->getBodyClass() ? ' class="' . $this->getBodyClass() . '"' : ''; ?>>
21
- <?php echo $this->getChildHtml('notification_window'); ?>
22
- <div class="wrapper">
23
- <?php echo $this->getChildHtml('global_notices') ?>
24
- <div class="middle" id="anchor-content">
25
- <div id="page:main-container">
26
- <?php if($this->getChildHtml('left')): ?>
27
-
28
- <div class="columns <?php echo $this->getContainerCssClass() ?>">
29
- <div class="side-col" id="page:left">
30
- <?php echo $this->getChildHtml('left') ?>
31
- </div>
32
- <div class="main-col" id="content">
33
- <div class="main-col-inner">
34
- <div id="messages"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
35
- <?php echo $this->getChildHtml('content') ?>
36
- </div>
37
- </div>
38
- </div>
39
-
40
- <?php else: ?>
41
- <div id="messages"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
42
- <?php echo $this->getChildHtml('content') ?>
43
- <?php endif; ?>
44
- </div>
45
- </div>
46
- </div>
47
- <?php echo $this->getChildHtml('js') ?>
48
- <?php echo $this->getChildHtml('profiler') ?>
49
- <div id="loading-mask" style="display:none">
50
- <div class="loading-wrapper"></div>
51
- <div class="loading-frame">
52
- <div class="box">
53
- <div class="loading-content"><?php echo Mage::helper('adminhtml')->__('Loading...') ?></div>
54
- </div>
55
- </div>
56
- </div>
57
-
58
- <?php echo $this->getChildHtml('before_body_end') ?>
59
-
60
- </body>
61
- </html>
1
+ <?php /*{
2
+ "label":"Root page layout",
3
+ "type":"core/template",
4
+ "children":{
5
+ "header":{ "label":"Header", "type":"adminhtml/page_header" },
6
+ "menu":{ "label":"Top navigation", "type":"adminhtml/page_menu" },
7
+ "breadcrumbs":{ "label":"Breadcrumbs", "type":"adminhtml/widget_breadcrumbs" },
8
+ "content":{ "label":"Content block", "type":"core/template" },
9
+ "left":{ "label":"Left navigation", "type":"core/template" },
10
+ "footer":{ "label":"Footer", "type":"adminhtml/page_footer" }
11
+ },
12
+ "vars":{}
13
+ }*/ ?>
14
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
15
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
16
+ <head>
17
+ <?php echo $this->getChildHtml('head') ?>
18
+ </head>
19
+
20
+ <body id="html-body"<?php echo $this->getBodyClass() ? ' class="' . $this->getBodyClass() . '"' : ''; ?>>
21
+ <?php echo $this->getChildHtml('notification_window'); ?>
22
+ <div class="wrapper">
23
+ <?php echo $this->getChildHtml('global_notices') ?>
24
+ <div class="middle" id="anchor-content">
25
+ <div id="page:main-container">
26
+ <?php if($this->getChildHtml('left')): ?>
27
+
28
+ <div class="columns <?php echo $this->getContainerCssClass() ?>">
29
+ <div class="side-col" id="page:left">
30
+ <?php echo $this->getChildHtml('left') ?>
31
+ </div>
32
+ <div class="main-col" id="content">
33
+ <div class="main-col-inner">
34
+ <div id="messages"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
35
+ <?php echo $this->getChildHtml('content') ?>
36
+ </div>
37
+ </div>
38
+ </div>
39
+
40
+ <?php else: ?>
41
+ <div id="messages"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
42
+ <?php echo $this->getChildHtml('content') ?>
43
+ <?php endif; ?>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ <?php echo $this->getChildHtml('js') ?>
48
+ <?php echo $this->getChildHtml('profiler') ?>
49
+ <div id="loading-mask" style="display:none">
50
+ <div class="loading-wrapper"></div>
51
+ <div class="loading-frame">
52
+ <div class="box">
53
+ <div class="loading-content"><?php echo Mage::helper('adminhtml')->__('Loading...') ?></div>
54
+ </div>
55
+ </div>
56
+ </div>
57
+
58
+ <?php echo $this->getChildHtml('before_body_end') ?>
59
+
60
+ </body>
61
+ </html>
app/design/adminhtml/default/default/template/oro/api/script.phtml CHANGED
@@ -1,18 +1,18 @@
1
- <script type="text/javascript" src="<?php echo Mage::getBaseUrl('js') ?>mage/cookies.js"></script>
2
- <?php /** @var $cookie Mage_Core_Model_Cookie */ ?>
3
- <?php $cookie = Mage::getSingleton('core/cookie'); ?>
4
- <script type="text/javascript">
5
- //<![CDATA[
6
- if (window.self == window.top && 1 == window.Mage.Cookies.get("is-oro-request")) {
7
- // If is not iframe and cookie exists then clear it
8
- window.Mage.Cookies.set(
9
- "is-oro-request",
10
- 0,
11
- null,
12
- '<?php echo $cookie->getPath();?>',
13
- '<?php echo $cookie->getDomain();?>'
14
- );
15
- location.reload();
16
- }
17
- //]]>
18
- </script>
1
+ <script type="text/javascript" src="<?php echo Mage::getBaseUrl('js') ?>mage/cookies.js"></script>
2
+ <?php /** @var $cookie Mage_Core_Model_Cookie */ ?>
3
+ <?php $cookie = Mage::getSingleton('core/cookie'); ?>
4
+ <script type="text/javascript">
5
+ //<![CDATA[
6
+ if (window.self == window.top && 1 == window.Mage.Cookies.get("is-oro-request")) {
7
+ // If is not iframe and cookie exists then clear it
8
+ window.Mage.Cookies.set(
9
+ "is-oro-request",
10
+ 0,
11
+ null,
12
+ '<?php echo $cookie->getPath();?>',
13
+ '<?php echo $cookie->getDomain();?>'
14
+ );
15
+ location.reload();
16
+ }
17
+ //]]>
18
+ </script>
app/etc/modules/Oro_Api.xml CHANGED
@@ -1,27 +1,27 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * MageCore
5
- *
6
- * NOTICE OF LICENSE
7
- *
8
- * This source file is subject to the Open Software License (OSL 3.0)
9
- * that is published at http://opensource.org/licenses/osl-3.0.php.
10
- * If you did not receive a copy of the license and are unable to
11
- * obtain it through the world-wide-web, please send an email
12
- * to license@magecore.com so we can send you a copy immediately
13
- *
14
- * @category Oro
15
- * @package Api
16
- * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
- */
19
- -->
20
- <config>
21
- <modules>
22
- <Oro_Api>
23
- <active>true</active>
24
- <codePool>community</codePool>
25
- </Oro_Api>
26
- </modules>
27
- </config>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * MageCore
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Open Software License (OSL 3.0)
9
+ * that is published at http://opensource.org/licenses/osl-3.0.php.
10
+ * If you did not receive a copy of the license and are unable to
11
+ * obtain it through the world-wide-web, please send an email
12
+ * to license@magecore.com so we can send you a copy immediately
13
+ *
14
+ * @category Oro
15
+ * @package Api
16
+ * @copyright Copyright 2013 Oro Inc. (http://www.orocrm.com)
17
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
18
+ */
19
+ -->
20
+ <config>
21
+ <modules>
22
+ <Oro_Api>
23
+ <active>true</active>
24
+ <codePool>community</codePool>
25
+ </Oro_Api>
26
+ </modules>
27
+ </config>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Oro_Api</name>
4
- <version>1.1.4.4</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL 3.0)</license>
7
  <channel>community</channel>
@@ -10,9 +10,9 @@
10
  <description>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</description>
11
  <notes>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</notes>
12
  <authors><author><name>Oro, Inc</name><user>orocrm</user><email>info@orocrm.com</email></author></authors>
13
- <date>2014-12-08</date>
14
- <time>16:35:59</time>
15
- <contents><target name="magecommunity"><dir name="Oro"><dir name="Api"><dir name="Helper"><file name="Data.php" hash="94d7cebbd20dca0e0176e300a4165434"/></dir><dir name="Model"><dir name="Catalog"><dir name="Product"><dir name="Api"><file name="V2.php" hash="9fe5e65e1b189ba6a9fed25fe8d858d6"/></dir></dir></dir><dir name="Customer"><dir name="Api"><file name="V2.php" hash="89fc6f16e7f452438d4927669ea0f0de"/></dir><file name="Api.php" hash="d8a56eba2d835451c9021c2e94a7347b"/></dir><dir name="Newsletter"><dir name="Subscriber"><dir name="Api"><file name="V2.php" hash="7b18db294f86ccf841a95aa7b7e656af"/></dir><file name="Api.php" hash="a49473afaca6c5bbbb82f58f41ff1650"/></dir></dir><dir name="Observer"><dir name="Crm"><file name="Controller.php" hash="7b3ec12f8934af2cb97ee21d7cd1c903"/></dir><dir name="Sales"><file name="Order.php" hash="81e2f8992f57a406130c893072365782"/></dir></dir><dir name="Ping"><file name="V2.php" hash="0fa10110ecb67d32079c5530a979c55a"/></dir><file name="Ping.php" hash="e5f8c2feb8ece7f27ff4f13277da68fd"/><dir name="Report"><dir name="Product"><dir name="Viewed"><dir name="Api"><file name="V2.php" hash="c8481504cefd028a17cc4a6555182ad0"/></dir><file name="Api.php" hash="fe175f2aab97cafa47574f1da2e169a3"/></dir></dir></dir><dir name="Resource"><dir name="Reports"><dir name="Product"><dir name="Index"><dir name="Viewed"><file name="Collection.php" hash="199749c5c972ab305abff0c9b10e9954"/></dir></dir></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="Api"><file name="V2.php" hash="0621bd68c420feb8000dae6861c49369"/></dir><file name="Api.php" hash="abbcb2a561b1030a4c1cc465e6cc0a1e"/></dir><dir name="Quote"><dir name="Api"><file name="V2.php" hash="4e8ba0ed7757110c4eae1d239b2adf76"/></dir><file name="Api.php" hash="263438faf4af9fd4fff6e81ac9f006ff"/></dir></dir><dir name="Wishlist"><dir name="Api"><file name="V2.php" hash="f0ac63e1cf9440ed0e4ca72eb93834f2"/></dir><file name="Api.php" hash="3ebfc3b7841c265921ea05d63f8ba5a9"/><dir name="Item"><dir name="Api"><file name="V2.php" hash="43a919dae8dd432e211878a39ba3f4a2"/></dir><file name="Api.php" hash="8d5d856ea533b9b122c96d0bef32861b"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Oro"><file name="GatewayController.php" hash="aca4efd099a889a77fb119356d9fab23"/><file name="SalesController.php" hash="3cd40b74eafe18fc6885ce871e305c5c"/></dir></dir></dir><dir name="etc"><file name="api.xml" hash="2ee90b80f4d29ab73b3517a3d19e7aa3"/><file name="config.xml" hash="88705771d0f78063c695e39e4c5f1af9"/><file name="workflow.xml" hash="40e7f46d53156e77b1d5498769e8f6cc"/><file name="wsdl.xml" hash="da7d4715356d7cb88052f720bf739c15"/><file name="wsi.xml" hash="1343db7b48eef10979246ca616651781"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Oro_Api.xml" hash="e4836dedcf0ace31dd01b117a1fd962e"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="oro"><dir><dir name="api"><file name="check.phtml" hash="142e380fa9eae5c0b7f233d519d13dc7"/><file name="login_styles.phtml" hash="a89d5d690702cf8296d76923b85e4ced"/><file name="page.phtml" hash="e9359e49019bbaa6e8b77e2a0ec458dd"/><file name="script.phtml" hash="89c3810165995c0ef6a0f5ad3b39f41f"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="oro"><file name="add_button_icon_dark.png" hash="01929b4351b537427035ba0f4df61689"/><file name="apply_button_icon.png" hash="4fc6fffbf943e82ea2b1a0022ec329e1"/><file name="error.png" hash="0caf3533e40e7f425d206803ef6e1876"/><file name="grid_sort_asc.gif" hash="8a86df764d4219dc0cf04f8529165cef"/><file name="grid_sort_desc.gif" hash="4f493deb94cb0eb0c6401e7f6bf6e0af"/><file name="loader.gif" hash="edf214475c8e79574dac3687926fc62b"/></dir></dir><file name="oro_style.css" hash="fd0609bb04a1f6748c06dd17a2946a54"/></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.13</min><max>5.6.0</max></php></required></dependencies>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Oro_Api</name>
4
+ <version>1.2.0.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL 3.0)</license>
7
  <channel>community</channel>
10
  <description>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</description>
11
  <notes>OroCRM Bridge extension adds a couple of improvements to Magento SOAP API v2 in order to expose more shopping cart and customer data.</notes>
12
  <authors><author><name>Oro, Inc</name><user>orocrm</user><email>info@orocrm.com</email></author></authors>
13
+ <date>2015-04-27</date>
14
+ <time>09:30:16</time>
15
+ <contents><target name="magecommunity"><dir name="Oro"><dir name="Api"><dir name="Helper"><file name="Data.php" hash="bbcae035e681ef4e6bfece39cbf316c3"/></dir><dir name="Model"><dir name="Catalog"><dir name="Product"><dir name="Api"><file name="V2.php" hash="4412ac5cb91be748d7e4f8aaceb8bed3"/></dir></dir></dir><dir name="Customer"><dir name="Address"><dir name="Api"><file name="V2.php" hash="5647bfa1e89f6ad7f941583a8cd67920"/></dir><file name="Api.php" hash="5772beaeb57750f98d87a4f6e4059e16"/></dir><dir name="Api"><file name="V2.php" hash="84defc78e8751431a3e26f0c9cea9473"/></dir><file name="Api.php" hash="840613148db5830f1ad04e0aac961350"/></dir><dir name="Newsletter"><dir name="Subscriber"><dir name="Api"><file name="V2.php" hash="33197f27a86c5729307289335942bfdb"/></dir><file name="Api.php" hash="6dcf695f915844d35b29b7388342b6af"/></dir></dir><dir name="Observer"><dir name="Crm"><file name="Controller.php" hash="dcaeee5e49e486b9094d66d85bbe1a9f"/></dir><dir name="Sales"><file name="Order.php" hash="b489d83446d3d69c92a1e9760f2ddb3a"/></dir></dir><file name="Observer.php" hash="780cbf25ea7643d3ace27e13f2f9b17f"/><dir name="Ping"><file name="V2.php" hash="dd34e1b28da8932056706b8e6a980358"/></dir><file name="Ping.php" hash="49574ed099a077447c7cbefd5e628035"/><dir name="Report"><dir name="Product"><dir name="Viewed"><dir name="Api"><file name="V2.php" hash="40e8f575aee5ed9051289812a176937a"/></dir><file name="Api.php" hash="70bf0b1da1533a1e7dceb569b2f5cd15"/></dir></dir></dir><dir name="Resource"><dir name="Reports"><dir name="Product"><dir name="Index"><dir name="Viewed"><file name="Collection.php" hash="b312279465cf6f876e22b044f2da2073"/></dir></dir></dir></dir></dir><dir name="Sales"><dir name="Order"><dir name="Api"><file name="V2.php" hash="9c2e52e023f559f777126c057c09d2bd"/></dir><file name="Api.php" hash="c5bfbcfef784df56a5b2dce9fcc81179"/></dir><dir name="Quote"><dir name="Api"><file name="V2.php" hash="f86e81f95907f06381e23521a877626a"/></dir><file name="Api.php" hash="52d22f2074bf262bcaf61bf5a5bfab90"/></dir></dir><dir name="Website"><dir name="Api"><file name="V2.php" hash="0e97aca1795b74090c202fee107bf61c"/></dir><file name="Api.php" hash="fc29824c18fd56ec4e04f670a509a554"/></dir><dir name="Wishlist"><dir name="Api"><file name="V2.php" hash="a66a898fdbc95b358135c7f3e33de7a2"/></dir><file name="Api.php" hash="4198a1ba60752aa8c9527776dca48265"/><dir name="Item"><dir name="Api"><file name="V2.php" hash="de45e9c2a4f55e0c985551bf93e8fdb2"/></dir><file name="Api.php" hash="387745c6d10169e644142aeeea100cd5"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Oro"><file name="GatewayController.php" hash="7954bd67af63d2c8103986e45a0d92b7"/><file name="SalesController.php" hash="78833962a105a23482b0600768a9a2fc"/></dir></dir></dir><dir name="etc"><file name="api.xml" hash="25dbf85c7dc2dad3a83727b54430ae76"/><file name="config.xml" hash="b4f918601072b3bc12c4b93deaabb002"/><file name="system.xml" hash="45ede3bfa9ce80dfbf7af154e60b0700"/><file name="workflow.xml" hash="91598bc526b11aa960bf776f91c0beed"/><file name="wsdl.xml" hash="bbff6534df8b967e7dfd7f628bdd1f47"/><file name="wsi.xml" hash="2e7ef4d6b374d1c262da73a1c1004e73"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Oro_Api.xml" hash="8f12ebb888f20ae97ca47e1a7da36d20"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="oro"><dir><dir name="api"><file name="check.phtml" hash="bc50f355cf999ef5c66218f3d5d34ae2"/><file name="login_styles.phtml" hash="79f880198ddced7cb754561173654c1b"/><file name="page.phtml" hash="a7ed5e5fa251ff45124886e9fae7072f"/><file name="script.phtml" hash="0170b6e5641f0dc30d66c5dd23024069"/></dir></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="oro"><file name="add_button_icon_dark.png" hash="01929b4351b537427035ba0f4df61689"/><file name="apply_button_icon.png" hash="4fc6fffbf943e82ea2b1a0022ec329e1"/><file name="error.png" hash="0caf3533e40e7f425d206803ef6e1876"/><file name="grid_sort_asc.gif" hash="8a86df764d4219dc0cf04f8529165cef"/><file name="grid_sort_desc.gif" hash="4f493deb94cb0eb0c6401e7f6bf6e0af"/><file name="loader.gif" hash="edf214475c8e79574dac3687926fc62b"/></dir></dir><file name="oro_style.css" hash="c4aec8c53ce7cc90fcbeea0d90d3d2b6"/></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies><required><php><min>5.2.13</min><max>5.6.0</max></php></required></dependencies>
18
  </package>
skin/adminhtml/default/default/oro_style.css CHANGED
@@ -1,289 +1,289 @@
1
- body {
2
- font-family: Helvetica, Arial, sans-serif;
3
- }
4
-
5
- .notice {
6
- color: #c30b25;
7
- }
8
-
9
- a, a:hover {
10
- color: #006acc;
11
- text-decoration: underline;
12
- font-size: 1.1em;
13
- }
14
-
15
- button:hover, .form-button:hover {
16
- background: #f3f3f3 linear-gradient(#f3f3f3, #f6f6f6) 0 0 repeat-x;
17
- }
18
-
19
- button, .form-button {
20
- background: #f3f3f3 linear-gradient(#f3f3f3, #f6f6f6) 0 0 repeat-x;
21
- border: 1px solid #969696;
22
- box-shadow: none;
23
- box-sizing: border-box;
24
- cursor: pointer;
25
- display: inline-block;
26
- font-size: 11px;
27
- font-weight: bold;
28
- height: 22px;
29
- line-height: 20px;
30
- margin-bottom: 0px;
31
- padding: 0 12px 0 12px;
32
- text-align: center;
33
- text-decoration: none solid rgb(255, 255, 255);
34
- vertical-align: middle;
35
- visibility: visible;
36
- color: #666666;
37
- }
38
-
39
- button.add span {
40
- background-image: url('./images/oro/add_button_icon_dark.png');
41
- }
42
-
43
- button.save span {
44
- background-image: url('./images/oro/apply_button_icon.png');
45
- }
46
-
47
- button.save {
48
- background-color: rgb(113, 192, 24);
49
- background-image: linear-gradient(rgb(130, 206, 32), rgb(87, 172, 11));
50
- background-repeat: repeat-x;
51
- border-bottom-color: rgb(38, 117, 7);
52
- border-bottom-style: solid;
53
- border-bottom-width: 1px;
54
- border-image-outset: 0px;
55
- border-image-repeat: stretch;
56
- border-image-slice: 100%;
57
- border-image-source: none;
58
- border-image-width: 1;
59
- border-left-color: rgb(59, 141, 28);
60
- border-left-style: solid;
61
- border-left-width: 1px;
62
- border-right-color: rgb(59, 141, 28);
63
- border-right-style: solid;
64
- border-right-width: 1px;
65
- border-top-color: rgb(73, 152, 43);
66
- border-top-style: solid;
67
- border-top-width: 1px;
68
- color: rgb(255, 255, 255);
69
- position: relative;
70
- text-shadow: rgb(59, 141, 28) 0px 1px 0px;
71
- }
72
-
73
- dl.accordion dt, .entry-edit .entry-edit-head, .create-order-sidebar-block .head {
74
- border-bottom: 1px solid #000;
75
- background-color: #47505a;
76
- background-color: #404952;
77
- background-image: -moz-linear-gradient(top, #47505a, #363e47);
78
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#47505a), to(#363e47));
79
- background-image: -webkit-linear-gradient(top, #47505a, #363e47);
80
- background-image: -o-linear-gradient(top, #47505a, #363e47);
81
- background-image: linear-gradient(to bottom, #47505a, #363e47);
82
- background-repeat: repeat-x;
83
- color: #ffffff;
84
- }
85
-
86
- .entry-edit .entry-edit-head h4 {
87
- color: #ffffff;
88
- font-weight: normal;
89
- }
90
-
91
- .content-header h3 {
92
- color: #444444;
93
- font-weight: normal;
94
- }
95
-
96
- .create-order-sidebar-block .head h5 {
97
- color: #ffffff;
98
- font-weight: normal;
99
- margin-top: 3px;
100
- }
101
-
102
- .entry-edit .entry-edit-head h4 {
103
- font-size: 1.1em;
104
- line-height: 16px;
105
- margin-top: 5px;
106
- font-weight: normal;
107
- }
108
-
109
- .grid tr.headings {
110
- background: #ececec;
111
- }
112
-
113
- .grid tr.headings th.no-link, .grid tr.headings th span.sort-title {
114
- text-transform: uppercase;
115
- }
116
-
117
- .grid tr.headings th span.nobr {
118
- color: #2d444f;
119
- }
120
-
121
- .grid table td {
122
- background-color: #fff;
123
- }
124
-
125
- .grid tr.filter {
126
- background: #f6f6f6;
127
- }
128
-
129
- .grid table tfoot tr td {
130
- background: #ececec;
131
- }
132
-
133
- .grid tr.headings th a.sort-arrow-desc span.sort-title {
134
- background-image: url('./images/oro/grid_sort_desc.gif');
135
- }
136
-
137
- .grid tr.headings th a.sort-arrow-asc span.sort-title {
138
- background-image: url('./images/oro/grid_sort_asc.gif');
139
- }
140
-
141
- .grid tr.headings th a.sort-arrow-desc, .grid tr.headings th a.sort-arrow-asc {
142
- background: none;
143
- border-bottom: 0;
144
- border-right: 0;
145
- }
146
-
147
- .grid tr.headings th a, .grid tr.headings th a:hover {
148
- color: #2d444f;
149
- }
150
-
151
- .order-save-in-address-book {
152
- background: #f9f9f9;
153
- }
154
-
155
- .switcher {
156
- background: none repeat scroll 0 0 #ffffff;
157
- }
158
-
159
- .box, .entry-edit fieldset, .entry-edit .fieldset {
160
- background: #fff;
161
- }
162
-
163
- .order-choose-address {
164
- background: #f6f6f6;
165
- }
166
-
167
- .sub-btn-set {
168
- background: #fff;
169
- }
170
-
171
- .create-order-sidebar-container {
172
- background: #fff;
173
- }
174
-
175
- .login-container {
176
- background: none;
177
- }
178
-
179
- .login-form {
180
- border: 1px solid #d4d4d4;
181
- border-bottom: none;
182
- background: none;
183
- -webkit-border-top-left-radius: 5px;
184
- -webkit-border-top-right-radius: 5px;
185
- -moz-border-radius-topleft: 5px;
186
- -moz-border-radius-topright: 5px;
187
- border-top-left-radius: 5px;
188
- border-top-right-radius: 5px;
189
- }
190
-
191
- .login-form label {
192
- font: 14px/22px Helvetica, Arial, sans-serif;
193
- color: #5b636d;
194
- }
195
-
196
- .login-form input.input-text {
197
- font: 14px/16px Helvetica, Arial, sans-serif;
198
- height: 16px;
199
- }
200
-
201
- .login-form .form-buttons a.left {
202
- /* forgot password link */
203
- display: none;
204
- }
205
-
206
- .login-container .legal {
207
- display: none;
208
- }
209
-
210
- .order-totals {
211
- background: none;
212
- border: 1px solid #d6d6d6 !important;
213
- }
214
-
215
- .content-header-floating {
216
- display: none;
217
- position: fixed;
218
- left: 0;
219
- top: 0;
220
- width: 100%;
221
- border-bottom: none;
222
- z-index: 100;
223
- background: #444444;
224
- color: #ffffff;
225
- opacity: .85;
226
- }
227
-
228
- .content-header-floating .content-header {
229
- padding: 10px 20px;
230
- }
231
-
232
- .content-header-floating .content-header h3 {
233
- color: #ffffff;
234
- }
235
-
236
- #order-header h3 {
237
- padding-left: 0;
238
- margin-left: 0;
239
- background: none;
240
- }
241
-
242
- #loading-mask {
243
- background: none;
244
- opacity: 1;
245
- }
246
-
247
- #loading-mask .loading-wrapper {
248
- background: #000;
249
- opacity: .3;
250
- position: absolute;
251
- top: 0;
252
- left: 0;
253
- right: 0;
254
- bottom: 0;
255
- z-index: 999;
256
- }
257
-
258
- #loading-mask .loading-frame {
259
- position: fixed;
260
- top: 45%;
261
- left: 50%;
262
- width: 180px;
263
- z-index: 9999;
264
- }
265
-
266
- #loading-mask .loading-frame .box {
267
- margin: 20px 0;
268
- background: #fff;
269
- font-size: 14px;
270
- font-weight: bold;
271
- line-height: 24px;
272
- min-height: 20px;
273
- padding: 19px;
274
- border: 1px solid #e6e6e6;
275
- -webkit-border-radius: 4px;
276
- -moz-border-radius: 4px;
277
- border-radius: 4px;
278
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
279
- -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
280
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
281
- }
282
-
283
- #loading-mask .loading-frame .box .loading-content {
284
- opacity: 1;
285
- background: #ffffff url('./images/oro/loader.gif') no-repeat center left;
286
- padding-left: 35px;
287
- text-align: left;
288
- color: #000;
289
- }
1
+ body {
2
+ font-family: Helvetica, Arial, sans-serif;
3
+ }
4
+
5
+ .notice {
6
+ color: #c30b25;
7
+ }
8
+
9
+ a, a:hover {
10
+ color: #006acc;
11
+ text-decoration: underline;
12
+ font-size: 1.1em;
13
+ }
14
+
15
+ button:hover, .form-button:hover {
16
+ background: #f3f3f3 linear-gradient(#f3f3f3, #f6f6f6) 0 0 repeat-x;
17
+ }
18
+
19
+ button, .form-button {
20
+ background: #f3f3f3 linear-gradient(#f3f3f3, #f6f6f6) 0 0 repeat-x;
21
+ border: 1px solid #969696;
22
+ box-shadow: none;
23
+ box-sizing: border-box;
24
+ cursor: pointer;
25
+ display: inline-block;
26
+ font-size: 11px;
27
+ font-weight: bold;
28
+ height: 22px;
29
+ line-height: 20px;
30
+ margin-bottom: 0px;
31
+ padding: 0 12px 0 12px;
32
+ text-align: center;
33
+ text-decoration: none solid rgb(255, 255, 255);
34
+ vertical-align: middle;
35
+ visibility: visible;
36
+ color: #666666;
37
+ }
38
+
39
+ button.add span {
40
+ background-image: url('./images/oro/add_button_icon_dark.png');
41
+ }
42
+
43
+ button.save span {
44
+ background-image: url('./images/oro/apply_button_icon.png');
45
+ }
46
+
47
+ button.save {
48
+ background-color: rgb(113, 192, 24);
49
+ background-image: linear-gradient(rgb(130, 206, 32), rgb(87, 172, 11));
50
+ background-repeat: repeat-x;
51
+ border-bottom-color: rgb(38, 117, 7);
52
+ border-bottom-style: solid;
53
+ border-bottom-width: 1px;
54
+ border-image-outset: 0px;
55
+ border-image-repeat: stretch;
56
+ border-image-slice: 100%;
57
+ border-image-source: none;
58
+ border-image-width: 1;
59
+ border-left-color: rgb(59, 141, 28);
60
+ border-left-style: solid;
61
+ border-left-width: 1px;
62
+ border-right-color: rgb(59, 141, 28);
63
+ border-right-style: solid;
64
+ border-right-width: 1px;
65
+ border-top-color: rgb(73, 152, 43);
66
+ border-top-style: solid;
67
+ border-top-width: 1px;
68
+ color: rgb(255, 255, 255);
69
+ position: relative;
70
+ text-shadow: rgb(59, 141, 28) 0px 1px 0px;
71
+ }
72
+
73
+ dl.accordion dt, .entry-edit .entry-edit-head, .create-order-sidebar-block .head {
74
+ border-bottom: 1px solid #000;
75
+ background-color: #47505a;
76
+ background-color: #404952;
77
+ background-image: -moz-linear-gradient(top, #47505a, #363e47);
78
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#47505a), to(#363e47));
79
+ background-image: -webkit-linear-gradient(top, #47505a, #363e47);
80
+ background-image: -o-linear-gradient(top, #47505a, #363e47);
81
+ background-image: linear-gradient(to bottom, #47505a, #363e47);
82
+ background-repeat: repeat-x;
83
+ color: #ffffff;
84
+ }
85
+
86
+ .entry-edit .entry-edit-head h4 {
87
+ color: #ffffff;
88
+ font-weight: normal;
89
+ }
90
+
91
+ .content-header h3 {
92
+ color: #444444;
93
+ font-weight: normal;
94
+ }
95
+
96
+ .create-order-sidebar-block .head h5 {
97
+ color: #ffffff;
98
+ font-weight: normal;
99
+ margin-top: 3px;
100
+ }
101
+
102
+ .entry-edit .entry-edit-head h4 {
103
+ font-size: 1.1em;
104
+ line-height: 16px;
105
+ margin-top: 5px;
106
+ font-weight: normal;
107
+ }
108
+
109
+ .grid tr.headings {
110
+ background: #ececec;
111
+ }
112
+
113
+ .grid tr.headings th.no-link, .grid tr.headings th span.sort-title {
114
+ text-transform: uppercase;
115
+ }
116
+
117
+ .grid tr.headings th span.nobr {
118
+ color: #2d444f;
119
+ }
120
+
121
+ .grid table td {
122
+ background-color: #fff;
123
+ }
124
+
125
+ .grid tr.filter {
126
+ background: #f6f6f6;
127
+ }
128
+
129
+ .grid table tfoot tr td {
130
+ background: #ececec;
131
+ }
132
+
133
+ .grid tr.headings th a.sort-arrow-desc span.sort-title {
134
+ background-image: url('./images/oro/grid_sort_desc.gif');
135
+ }
136
+
137
+ .grid tr.headings th a.sort-arrow-asc span.sort-title {
138
+ background-image: url('./images/oro/grid_sort_asc.gif');
139
+ }
140
+
141
+ .grid tr.headings th a.sort-arrow-desc, .grid tr.headings th a.sort-arrow-asc {
142
+ background: none;
143
+ border-bottom: 0;
144
+ border-right: 0;
145
+ }
146
+
147
+ .grid tr.headings th a, .grid tr.headings th a:hover {
148
+ color: #2d444f;
149
+ }
150
+
151
+ .order-save-in-address-book {
152
+ background: #f9f9f9;
153
+ }
154
+
155
+ .switcher {
156
+ background: none repeat scroll 0 0 #ffffff;
157
+ }
158
+
159
+ .box, .entry-edit fieldset, .entry-edit .fieldset {
160
+ background: #fff;
161
+ }
162
+
163
+ .order-choose-address {
164
+ background: #f6f6f6;
165
+ }
166
+
167
+ .sub-btn-set {
168
+ background: #fff;
169
+ }
170
+
171
+ .create-order-sidebar-container {
172
+ background: #fff;
173
+ }
174
+
175
+ .login-container {
176
+ background: none;
177
+ }
178
+
179
+ .login-form {
180
+ border: 1px solid #d4d4d4;
181
+ border-bottom: none;
182
+ background: none;
183
+ -webkit-border-top-left-radius: 5px;
184
+ -webkit-border-top-right-radius: 5px;
185
+ -moz-border-radius-topleft: 5px;
186
+ -moz-border-radius-topright: 5px;
187
+ border-top-left-radius: 5px;
188
+ border-top-right-radius: 5px;
189
+ }
190
+
191
+ .login-form label {
192
+ font: 14px/22px Helvetica, Arial, sans-serif;
193
+ color: #5b636d;
194
+ }
195
+
196
+ .login-form input.input-text {
197
+ font: 14px/16px Helvetica, Arial, sans-serif;
198
+ height: 16px;
199
+ }
200
+
201
+ .login-form .form-buttons a.left {
202
+ /* forgot password link */
203
+ display: none;
204
+ }
205
+
206
+ .login-container .legal {
207
+ display: none;
208
+ }
209
+
210
+ .order-totals {
211
+ background: none;
212
+ border: 1px solid #d6d6d6 !important;
213
+ }
214
+
215
+ .content-header-floating {
216
+ display: none;
217
+ position: fixed;
218
+ left: 0;
219
+ top: 0;
220
+ width: 100%;
221
+ border-bottom: none;
222
+ z-index: 100;
223
+ background: #444444;
224
+ color: #ffffff;
225
+ opacity: .85;
226
+ }
227
+
228
+ .content-header-floating .content-header {
229
+ padding: 10px 20px;
230
+ }
231
+
232
+ .content-header-floating .content-header h3 {
233
+ color: #ffffff;
234
+ }
235
+
236
+ #order-header h3 {
237
+ padding-left: 0;
238
+ margin-left: 0;
239
+ background: none;
240
+ }
241
+
242
+ #loading-mask {
243
+ background: none;
244
+ opacity: 1;
245
+ }
246
+
247
+ #loading-mask .loading-wrapper {
248
+ background: #000;
249
+ opacity: .3;
250
+ position: absolute;
251
+ top: 0;
252
+ left: 0;
253
+ right: 0;
254
+ bottom: 0;
255
+ z-index: 999;
256
+ }
257
+
258
+ #loading-mask .loading-frame {
259
+ position: fixed;
260
+ top: 45%;
261
+ left: 50%;
262
+ width: 180px;
263
+ z-index: 9999;
264
+ }
265
+
266
+ #loading-mask .loading-frame .box {
267
+ margin: 20px 0;
268
+ background: #fff;
269
+ font-size: 14px;
270
+ font-weight: bold;
271
+ line-height: 24px;
272
+ min-height: 20px;
273
+ padding: 19px;
274
+ border: 1px solid #e6e6e6;
275
+ -webkit-border-radius: 4px;
276
+ -moz-border-radius: 4px;
277
+ border-radius: 4px;
278
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
279
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
280
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
281
+ }
282
+
283
+ #loading-mask .loading-frame .box .loading-content {
284
+ opacity: 1;
285
+ background: #ffffff url('./images/oro/loader.gif') no-repeat center left;
286
+ padding-left: 35px;
287
+ text-align: left;
288
+ color: #000;
289
+ }