Listrak_Remarketing - Version 1.1.9.2

Version Notes

Browse tracking functionality.
Session tracking improvements.
Catalog retrieval improvements.
Cart recreate improvements.

Download this release

Release Info

Developer Magento Core Team
Extension Listrak_Remarketing
Version 1.1.9.2
Comparing to
See all releases


Code changes from version 1.1.8 to 1.1.9.2

Files changed (53) hide show
  1. app/code/community/Listrak/Remarketing/Block/Adminhtml/Abandonedcartreport.php +0 -29
  2. app/code/community/Listrak/Remarketing/Block/Adminhtml/Abandonedcartreport/Grid.php +0 -148
  3. app/code/community/Listrak/Remarketing/Block/Base.php +78 -0
  4. app/code/community/Listrak/Remarketing/Block/Conversion/Abstract.php +107 -0
  5. app/code/community/Listrak/Remarketing/Block/Conversion/Cart.php +44 -0
  6. app/code/community/Listrak/Remarketing/Block/Conversion/Fingerprint.php +28 -0
  7. app/code/community/Listrak/Remarketing/Block/Conversion/Order.php +49 -0
  8. app/code/community/Listrak/Remarketing/Block/{Ecjs.php → Legacy/Ecjs.php} +1 -1
  9. app/code/community/Listrak/Remarketing/Block/{Modal.php → Legacy/Modal.php} +1 -1
  10. app/code/community/Listrak/Remarketing/Block/Require/Activity.php +36 -0
  11. app/code/community/Listrak/Remarketing/Block/Require/Legacy.php +36 -0
  12. app/code/community/Listrak/Remarketing/Block/Require/Onescript.php +36 -0
  13. app/code/community/Listrak/Remarketing/Block/Require/Sca.php +36 -0
  14. app/code/community/Listrak/Remarketing/Block/Tracking/Activity.php +45 -0
  15. app/code/community/Listrak/Remarketing/Block/Tracking/Click.php +31 -0
  16. app/code/community/Listrak/Remarketing/Block/Tracking/Email.php +83 -0
  17. app/code/community/Listrak/Remarketing/Block/Tracking/Sca.php +182 -0
  18. app/code/community/Listrak/Remarketing/Helper/Data.php +144 -7
  19. app/code/community/Listrak/Remarketing/Helper/Product.php +317 -142
  20. app/code/community/Listrak/Remarketing/Model/Abandonedcart/Api.php +19 -2
  21. app/code/community/Listrak/Remarketing/Model/Apiextension/Api.php +204 -76
  22. app/code/community/Listrak/Remarketing/Model/Cache/Sca.php +60 -0
  23. app/code/community/Listrak/Remarketing/Model/Click/Api.php +5 -0
  24. app/code/community/Listrak/Remarketing/Model/Mysql4/Abandonedcart.php +7 -10
  25. app/code/community/Listrak/Remarketing/Model/Observer.php +38 -22
  26. app/code/community/Listrak/Remarketing/Model/Product/Api.php +153 -0
  27. app/code/community/Listrak/Remarketing/Model/Product/Api/V2.php +19 -0
  28. app/code/community/Listrak/Remarketing/Model/Product/Purchasable/Visibility.php +53 -0
  29. app/code/community/Listrak/Remarketing/Model/Review/Update/Api.php +4 -2
  30. app/code/community/Listrak/Remarketing/Model/Session.php +23 -13
  31. app/code/community/Listrak/Remarketing/controllers/AjaxController.php +30 -0
  32. app/code/community/Listrak/Remarketing/controllers/CartController.php +82 -18
  33. app/code/community/Listrak/Remarketing/controllers/ConfigController.php +43 -9
  34. app/code/community/Listrak/Remarketing/etc/adminhtml.xml +59 -68
  35. app/code/community/Listrak/Remarketing/etc/api.xml +209 -201
  36. app/code/community/Listrak/Remarketing/etc/cache.xml +17 -0
  37. app/code/community/Listrak/Remarketing/etc/config.xml +239 -212
  38. app/code/community/Listrak/Remarketing/etc/system.xml +191 -149
  39. app/code/community/Listrak/Remarketing/etc/wsdl.xml +1159 -1009
  40. app/code/community/Listrak/Remarketing/etc/wsi.xml +1580 -1405
  41. app/code/community/Listrak/Remarketing/sql/listrak_remarketing_setup/mysql4-install-1.0.0.php +5 -0
  42. app/code/community/Listrak/Remarketing/sql/listrak_remarketing_setup/mysql4-install-1.1.9.php +107 -0
  43. app/code/community/Listrak/Remarketing/sql/listrak_remarketing_setup/mysql4-upgrade-1.1.7-1.1.8.php +0 -54
  44. app/code/community/Listrak/Remarketing/sql/listrak_remarketing_setup/mysql4-upgrade-1.1.8-1.1.9.php +28 -0
  45. app/design/adminhtml/default/default/layout/remarketing.xml +14 -14
  46. app/design/adminhtml/default/default/template/listrak/remarketing/productattributes.phtml +32 -32
  47. app/design/adminhtml/default/default/template/listrak/remarketing/productattributes/form/categories.phtml +158 -158
  48. app/design/adminhtml/default/default/template/listrak/remarketing/productattributes/form/initbrands.phtml +58 -58
  49. app/design/frontend/base/default/layout/remarketing.xml +49 -15
  50. app/design/frontend/base/default/template/remarketing/async_wrapper.phtml +9 -0
  51. app/design/frontend/base/default/template/remarketing/onescript.phtml +9 -0
  52. app/design/frontend/base/default/template/remarketing/utils.phtml +16 -0
  53. package.xml +8 -5
app/code/community/Listrak/Remarketing/Block/Adminhtml/Abandonedcartreport.php DELETED
@@ -1,29 +0,0 @@
1
- <?php
2
- /**
3
- * Listrak Remarketing Magento Extension Ver. 1.0.0
4
- *
5
- * PHP version 5
6
- *
7
- * @category Listrak
8
- * @package Listrak_Remarketing
9
- * @author Listrak Magento Team <magento@listrak.com>
10
- * @copyright 2011 Listrak Inc
11
- * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
- * @link http://www.listrak.com
13
- */
14
-
15
- class Listrak_Remarketing_Block_Adminhtml_Abandonedcartreport
16
- extends Mage_Adminhtml_Block_Widget_Grid_Container
17
- {
18
- /**
19
- * The class constructor.
20
- */
21
- public function __construct()
22
- {
23
- $this->_controller = 'adminhtml_abandonedcartreport';
24
- $this->_blockGroup = 'remarketing';
25
- $this->_headerText = Mage::helper('remarketing')->__('Abandoned Carts');
26
- parent::__construct();
27
- $this->_removeButton('add');
28
- }
29
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Listrak/Remarketing/Block/Adminhtml/Abandonedcartreport/Grid.php DELETED
@@ -1,148 +0,0 @@
1
- <?php
2
- /**
3
- * Listrak Remarketing Magento Extension Ver. 1.0.0
4
- *
5
- * PHP version 5
6
- *
7
- * @category Listrak
8
- * @package Listrak_Remarketing
9
- * @author Listrak Magento Team <magento@listrak.com>
10
- * @copyright 2011 Listrak Inc
11
- * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
- * @link http://www.listrak.com
13
- */
14
-
15
- class Listrak_Remarketing_Block_Adminhtml_Abandonedcartreport_Grid
16
- extends Mage_Adminhtml_Block_Widget_Grid
17
- {
18
- public function __construct()
19
- {
20
- parent::__construct();
21
- $this->setId('abandonedCartsGrid');
22
- $this->setDefaultSort('updated_at');
23
- $this->setDefaultDir('DESC');
24
- $this->setSaveParametersInSession(true);
25
- }
26
-
27
- protected function _prepareCollection()
28
- {
29
- $reportTimeout = Mage::getStoreConfig('remarketing/abandonedcarts/abandoned_cart_report_timeout') * 60;
30
-
31
- $startDate = gmdate('Y-m-d H:i:s', time() - $reportTimeout);
32
- $collection = Mage::getModel('listrak/abandonedcart')->getCollection()
33
- ->addFieldToFilter('main_table.updated_at', array('lt' => $startDate))
34
- ->setPrepareForReport(true);
35
-
36
- $this->setCollection($collection);
37
- return parent::_prepareCollection();
38
- }
39
-
40
- protected function _prepareColumns()
41
- {
42
- $this->addColumn(
43
- 'is_customer',
44
- array(
45
- 'header' => Mage::helper('remarketing')->__('Registered'),
46
- 'index' => 'is_customer',
47
- 'width' => '75px',
48
- 'sortable' => false,
49
- 'filter' => false
50
- )
51
- );
52
-
53
- $this->addColumn(
54
- 'session_id',
55
- array(
56
- 'header' => Mage::helper('remarketing')->__('Session Id'),
57
- 'index' => 'session_id',
58
- 'width' => '250px',
59
- 'sortable' => false,
60
- 'filter' => false
61
- )
62
- );
63
-
64
- $this->addColumn(
65
- 'customer_name',
66
- array(
67
- 'header' => Mage::helper('remarketing')->__('Customer Name'),
68
- 'index' => 'customer_name',
69
- 'sortable' => false,
70
- 'filter' => false
71
- )
72
- );
73
-
74
- $this->addColumn(
75
- 'email',
76
- array(
77
- 'header' => Mage::helper('remarketing')->__('Email'),
78
- 'index' => 'email',
79
- 'sortable' => false,
80
- 'filter' => false
81
- )
82
- );
83
-
84
- $this->addColumn(
85
- 'items_count',
86
- array(
87
- 'header' => Mage::helper('remarketing')->__('# Items'),
88
- 'width' => '80px',
89
- 'align' => 'right',
90
- 'index' => 'items_qty',
91
- 'sortable' => false,
92
- 'type' => 'number',
93
- 'filter' => false
94
- )
95
- );
96
-
97
- $this->addColumn(
98
- 'total',
99
- array(
100
- 'header' => Mage::helper('remarketing')->__('Total'),
101
- 'width' => '80px',
102
- 'type' => 'currency',
103
- 'currency_code' => (string)Mage::getStoreConfig(
104
- Mage_Directory_Model_Currency::XML_PATH_CURRENCY_DEFAULT
105
- ),
106
- 'index' => 'grand_total',
107
- 'sortable' => false,
108
- 'renderer' => 'adminhtml/report_grid_column_renderer_currency',
109
- 'filter' => false
110
- )
111
- );
112
-
113
- $this->addColumn(
114
- 'created_at',
115
- array(
116
- 'header' => Mage::helper('remarketing')->__('Creation Date'),
117
- 'width' => '170px',
118
- 'type' => 'datetime',
119
- 'index' => 'created_at',
120
- //'filter_index'=>'main_table.created_at',
121
- 'sortable' => false,
122
- 'filter' => false
123
- )
124
- );
125
-
126
- $this->addColumn(
127
- 'updated_at',
128
- array(
129
- 'header' => Mage::helper('remarketing')->__('Abandon Date'),
130
- 'width' => '170px',
131
- 'type' => 'datetime',
132
- 'index' => 'updated_at',
133
- //'filter_index'=>'main_table.updated_at',
134
- 'sortable' => false,
135
- 'filter' => false
136
- )
137
- );
138
-
139
- return parent::_prepareColumns();
140
- }
141
-
142
- public function getRowUrl($row)
143
- {
144
- return false;
145
- }
146
-
147
-
148
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Listrak/Remarketing/Block/Base.php ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Base extends Mage_Core_Block_Template
16
+ {
17
+ private $_alwaysRenderTemplate = false;
18
+ private $_lines = array();
19
+
20
+ public function _toHtml() {
21
+ if ($this->getTemplate()) {
22
+ if (!$this->_alwaysRenderTemplate && !trim($this->getScript()))
23
+ return "";
24
+
25
+ return parent::_toHtml();
26
+ }
27
+ else
28
+ return $this->getScript();
29
+ }
30
+
31
+ public function canRender() {
32
+ return true;
33
+ }
34
+
35
+ public function getScript($addWhitespace = true) {
36
+ $js = "";
37
+ foreach($this->_lines as $line) {
38
+ $js .= $line . "\n";
39
+ if ($addWhitespace) $js .= " ";
40
+ }
41
+
42
+ return $js . $this->getChildHtml();
43
+ }
44
+
45
+ protected function addLine($js) {
46
+ $this->_lines[] = $js;
47
+ }
48
+
49
+ public function jsEscape($value, $quote = "'") {
50
+ return addcslashes($value, "\\{$quote}");
51
+ }
52
+
53
+ public function toJsString($value) {
54
+ return "'{$this->jsEscape($value)}'";
55
+ }
56
+
57
+ public function setAlwaysRenderTemplate($val) {
58
+ $this->_alwaysRenderTemplate = (bool)$val;
59
+ }
60
+
61
+ public function isProductPage() {
62
+ return Mage::app()->getRequest()->getModuleName() == 'catalog' &&
63
+ Mage::app()->getRequest()->getControllerName() == 'product' &&
64
+ Mage::app()->getRequest()->getActionName() == 'view';
65
+ }
66
+
67
+ public function isCartPage() {
68
+ return Mage::app()->getRequest()->getModuleName() == 'checkout' &&
69
+ Mage::app()->getRequest()->getControllerName() == 'cart' &&
70
+ Mage::app()->getRequest()->getActionName() == 'index';
71
+ }
72
+
73
+ public function isOrderConfirmationPage() {
74
+ return Mage::app()->getRequest()->getModuleName() == 'checkout' &&
75
+ (Mage::app()->getRequest()->getControllerName() == 'multishipping' || Mage::app()->getRequest()->getControllerName() == 'onepage') &&
76
+ Mage::app()->getRequest()->getActionName() == 'success';
77
+ }
78
+ }
app/code/community/Listrak/Remarketing/Block/Conversion/Abstract.php ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Conversion_Abstract extends Listrak_Remarketing_Block_Require_Onescript
16
+ {
17
+ private $_order, $_customer, $_billingAddress;
18
+
19
+ public function _toHtml() {
20
+ return parent::_toHtml();
21
+ }
22
+
23
+ private $_canRender = null;
24
+ public function canRender() {
25
+ if ($this->_canRender == null)
26
+ $this->_canRender = parent::canRender() && $this->isOrderConfirmationPage();
27
+
28
+ return $this->_canRender;
29
+ }
30
+
31
+ public function getOrderId() {
32
+ return Mage::getSingleton('checkout/session')->getLastOrderId();
33
+ }
34
+
35
+ public function getOrder() {
36
+ if(!$this->_order && $this->_order !== false) {
37
+ $order = Mage::getModel('sales/order')->load($this->getOrderId());
38
+ $this->_order = $order ? $order : false;
39
+ }
40
+
41
+ return $this->_order;
42
+ }
43
+
44
+ public function getOrderConfirmationNumber() {
45
+ return $this->getOrder()->getIncrementId();
46
+ }
47
+
48
+ public function getOrderItems() {
49
+ // fix the skus before returning the data
50
+ $result = array();
51
+
52
+ $productHelper = Mage::helper('remarketing/product');
53
+ foreach($this->getOrder()->getAllVisibleItems() as $item) {
54
+ $info = $productHelper->getProductInformationFromOrderItem($item);
55
+ $item->setSku($info->getSku());
56
+
57
+ $result[] = $item;
58
+ }
59
+
60
+ return $result;
61
+ }
62
+
63
+ public function getBillingAddress() {
64
+ if (!$this->_billingAddress && $this->_billingAddress !== false) {
65
+ $addr = $this->getOrder()->getBillingAddress();
66
+ $this->_billingAddress = $addr ? $addr : false;
67
+ }
68
+
69
+ return $this->_billingAddress;
70
+ }
71
+
72
+ public function getCustomer() {
73
+ if (!$this->_customer && $this->_customer !== false) {
74
+ $customer = Mage::getModel('customer/customer')->load($this->getOrder()->getCustomerId());
75
+ $this->_customer = $customer ? $customer : false;
76
+ }
77
+
78
+ return $this->_customer;
79
+ }
80
+
81
+ public function getEmailAddress() {
82
+ if ($this->getCustomer()->getId()) {
83
+ return $this->getCustomer()->getEmail();
84
+ }
85
+ else {
86
+ return $this->getOrder()->getCustomerEmail();
87
+ }
88
+ }
89
+
90
+ public function getFirstName() {
91
+ if ($this->getCustomer()->getId()) {
92
+ return $this->getCustomer()->getFirstname();
93
+ }
94
+ else {
95
+ return $this->getBillingAddress()->getFirstname();
96
+ }
97
+ }
98
+
99
+ public function getLastName() {
100
+ if ($this->getCustomer()->getId()) {
101
+ return $this->getCustomer()->getLastname();
102
+ }
103
+ else {
104
+ return $this->getBillingAddress()->getLastname();
105
+ }
106
+ }
107
+ }
app/code/community/Listrak/Remarketing/Block/Conversion/Cart.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Conversion_Cart extends Listrak_Remarketing_Block_Conversion_Abstract
16
+ {
17
+ public function _toHtml() {
18
+ try {
19
+ if (!$this->canRender())
20
+ return '';
21
+
22
+ $this->addLine("_ltk.SCA.Stage = 7;");
23
+ $this->addLine("_ltk.SCA.OrderNumber = {$this->toJsString($this->getOrderConfirmationNumber())};");
24
+ $this->addLine("_ltk.SCA.SetCustomer("
25
+ . $this->toJsString($this->getEmailAddress()) . ", "
26
+ . $this->toJsString($this->getFirstName()) . ", "
27
+ . $this->toJsString($this->getLastName()) . ");");
28
+ $this->addLine("_ltk.SCA.Submit();");
29
+
30
+ return parent::_toHtml();
31
+ } catch(Exception $e) {
32
+ Mage::getModel('listrak/log')->addException($e);
33
+ return '';
34
+ }
35
+ }
36
+
37
+ private $_canRender = null;
38
+ public function canRender() {
39
+ if ($this->_canRender == null)
40
+ $this->_canRender = parent::canRender() && Mage::helper('remarketing')->scaEnabled();
41
+
42
+ return $this->_canRender;
43
+ }
44
+ }
app/code/community/Listrak/Remarketing/Block/Conversion/Fingerprint.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Conversion_Fingerprint extends Listrak_Remarketing_Block_Require_Sca
16
+ {
17
+ public function _toHtml() {
18
+ try {
19
+ if (!$this->canRender())
20
+ return '';
21
+
22
+ return '<img src="' . Mage::helper('remarketing')->getFingerprintImageUrl() . '" width="1" height="1" style="position: absolute" />';
23
+ } catch(Exception $e) {
24
+ Mage::getModel('listrak/log')->addException($e);
25
+ return '';
26
+ }
27
+ }
28
+ }
app/code/community/Listrak/Remarketing/Block/Conversion/Order.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Conversion_Order extends Listrak_Remarketing_Block_Conversion_Abstract
16
+ {
17
+ public function _toHtml() {
18
+ try {
19
+ if (!$this->canRender())
20
+ return '';
21
+
22
+ $this->addLine("_ltk.Order.SetCustomer("
23
+ . $this->toJsString($this->getEmailAddress()) . ", "
24
+ . $this->toJsString($this->getFirstName()) . ", "
25
+ . $this->toJsString($this->getLastName()) . ");");
26
+ $this->addLine("_ltk.Order.OrderNumber = {$this->toJsString($this->getOrderConfirmationNumber())};");
27
+
28
+ $order = $this->getOrder();
29
+ $this->addLine("_ltk.Order.ItemTotal = {$this->toJsString($order->getSubtotal())};");
30
+ //$this->addLine("_ltk.Order.DiscountTotal = {$this->toJsString($order->getDiscountAmount())};");
31
+ $this->addLine("_ltk.Order.HandlingTotal = {$this->toJsString($order->getShippingAmount())};");
32
+ $this->addLine("_ltk.Order.TaxTotal = {$this->toJsString($order->getTaxAmount())};");
33
+ $this->addLine("_ltk.Order.OrderTotal = {$this->toJsString($order->getGrandTotal())};");
34
+
35
+ foreach($this->getOrderItems() as $item)
36
+ $this->addLine("_ltk.Order.AddItem("
37
+ . $this->toJsString($item->getSku()) . ", "
38
+ . $this->toJsString((int)$item->getQtyOrdered()) . ", "
39
+ . $this->toJsString($item->getPrice()) . ");");
40
+
41
+ $this->addLine("_ltk.Order.Submit();");
42
+
43
+ return parent::_toHtml();
44
+ } catch(Exception $e) {
45
+ Mage::getModel('listrak/log')->addException($e);
46
+ return '';
47
+ }
48
+ }
49
+ }
app/code/community/Listrak/Remarketing/Block/{Ecjs.php → Legacy/Ecjs.php} RENAMED
@@ -12,7 +12,7 @@
12
  * @link http://www.listrak.com
13
  */
14
 
15
- class Listrak_Remarketing_Block_Ecjs extends Mage_Core_Block_Text
16
  {
17
 
18
  public function getPageName()
12
  * @link http://www.listrak.com
13
  */
14
 
15
+ class Listrak_Remarketing_Block_Legacy_Ecjs extends Mage_Core_Block_Text
16
  {
17
 
18
  public function getPageName()
app/code/community/Listrak/Remarketing/Block/{Modal.php → Legacy/Modal.php} RENAMED
@@ -12,7 +12,7 @@
12
  * @link http://www.listrak.com
13
  */
14
 
15
- class Listrak_Remarketing_Block_Modal extends Mage_Core_Block_Text
16
  {
17
 
18
  public function getPageName()
12
  * @link http://www.listrak.com
13
  */
14
 
15
+ class Listrak_Remarketing_Block_Legacy_Modal extends Mage_Core_Block_Text
16
  {
17
 
18
  public function getPageName()
app/code/community/Listrak/Remarketing/Block/Require/Activity.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Require_Activity extends Listrak_Remarketing_Block_Require_Onescript
16
+ {
17
+ public function _toHtml() {
18
+ try {
19
+ if (!$this->canRender())
20
+ return '';
21
+
22
+ return parent::_toHtml();
23
+ } catch(Exception $e) {
24
+ Mage::getModel('listrak/log')->addException($e);
25
+ return '';
26
+ }
27
+ }
28
+
29
+ private $_canRender = null;
30
+ public function canRender() {
31
+ if ($this->_canRender == null)
32
+ $this->_canRender = parent::canRender() && Mage::helper('remarketing')->activityEnabled();
33
+
34
+ return $this->_canRender;
35
+ }
36
+ }
app/code/community/Listrak/Remarketing/Block/Require/Legacy.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Require_Legacy extends Listrak_Remarketing_Block_Base
16
+ {
17
+ public function _toHtml() {
18
+ try {
19
+ if (!$this->canRender())
20
+ return '';
21
+
22
+ return parent::_toHtml();
23
+ } catch(Exception $e) {
24
+ Mage::getModel('listrak/log')->addException($e);
25
+ return '';
26
+ }
27
+ }
28
+
29
+ private $_canRender = null;
30
+ public function canRender() {
31
+ if ($this->_canRender == null)
32
+ $this->_canRender = Mage::helper('remarketing')->legacyTracking();
33
+
34
+ return $this->_canRender;
35
+ }
36
+ }
app/code/community/Listrak/Remarketing/Block/Require/Onescript.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Require_Onescript extends Listrak_Remarketing_Block_Base
16
+ {
17
+ public function _toHtml() {
18
+ try {
19
+ if (!$this->canRender())
20
+ return '';
21
+
22
+ return parent::_toHtml();
23
+ } catch(Exception $e) {
24
+ Mage::getModel('listrak/log')->addException($e);
25
+ return '';
26
+ }
27
+ }
28
+
29
+ private $_canRender = null;
30
+ public function canRender() {
31
+ if ($this->_canRender == null)
32
+ $this->_canRender = Mage::helper('remarketing')->onescriptTracking();
33
+
34
+ return $this->_canRender;
35
+ }
36
+ }
app/code/community/Listrak/Remarketing/Block/Require/Sca.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Require_Sca extends Listrak_Remarketing_Block_Require_Onescript
16
+ {
17
+ public function _toHtml() {
18
+ try {
19
+ if (!$this->canRender())
20
+ return '';
21
+
22
+ return parent::_toHtml();
23
+ } catch(Exception $e) {
24
+ Mage::getModel('listrak/log')->addException($e);
25
+ return '';
26
+ }
27
+ }
28
+
29
+ private $_canRender = null;
30
+ public function canRender() {
31
+ if ($this->_canRender == null)
32
+ $this->_canRender = parent::canRender() && Mage::helper('remarketing')->scaEnabled();
33
+
34
+ return $this->_canRender;
35
+ }
36
+ }
app/code/community/Listrak/Remarketing/Block/Tracking/Activity.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Tracking_Activity extends Listrak_Remarketing_Block_Require_Activity
16
+ {
17
+ public function _toHtml() {
18
+ try {
19
+ if (!$this->canRender())
20
+ return '';
21
+
22
+ $sku = $this->getProductSku();
23
+ if ($sku)
24
+ $this->addLine("_ltk.Activity.AddProductBrowse({$this->toJsString($sku)});");
25
+ else
26
+ $this->addLine("_ltk.Activity.AddPageBrowse(location.href);");
27
+ $this->addLine("_ltk.Activity.Submit();");
28
+
29
+ return parent::_toHtml();
30
+ } catch(Exception $e) {
31
+ Mage::getModel('listrak/log')->addException($e);
32
+ return '';
33
+ }
34
+ }
35
+
36
+ private function getProductSku() {
37
+ if ($this->isProductPage()) {
38
+ $p = Mage::registry('current_product');
39
+ if ($p)
40
+ return $p->getSku();
41
+ }
42
+
43
+ return null;
44
+ }
45
+ }
app/code/community/Listrak/Remarketing/Block/Tracking/Click.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Tracking_Click extends Listrak_Remarketing_Block_Require_Onescript
16
+ {
17
+ public function _toHtml() {
18
+ try {
19
+ if (!$this->canRender())
20
+ return '';
21
+
22
+ $this->addLine("_ltk.Click.Submit();");
23
+
24
+ return parent::_toHtml();
25
+ }
26
+ catch(Exception $e) {
27
+ Mage::getModel('listrak/log')->addException($e);
28
+ return '';
29
+ }
30
+ }
31
+ }
app/code/community/Listrak/Remarketing/Block/Tracking/Email.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Tracking_Email extends Listrak_Remarketing_Block_Require_Sca
16
+ {
17
+ public function _toHtml() {
18
+ try {
19
+ if (!$this->canRender())
20
+ return '';
21
+
22
+ foreach($this->getFields() as $field)
23
+ $this->addLine("_ltk.SCA.CaptureEmail({$this->toJsString($field)});");
24
+
25
+ return parent::_toHtml();
26
+ } catch(Exception $e) {
27
+ Mage::getModel('listrak/log')->addException($e);
28
+ return '';
29
+ }
30
+ }
31
+
32
+ public function getFields() {
33
+ $collection = Mage::getModel('listrak/emailcapture')
34
+ ->getCollection()
35
+ ->addFieldToFilter('page', array('in' => $this->_getMatchingPages()));
36
+
37
+ $result = array();
38
+ foreach($collection as $field)
39
+ $result[] = $field->getFieldId();
40
+
41
+ return $result;
42
+ }
43
+
44
+ private function _getMatchingPages() {
45
+ $fullMatches = array();
46
+
47
+ try {
48
+ $route = Mage::app()->getRequest()->getRouteName();
49
+ $controller = Mage::app()->getRequest()->getControllerName();
50
+ $action = Mage::app()->getRequest()->getActionName();
51
+
52
+ $matches = array();
53
+ $matches[] = '/' . $route . '/' . $controller . '/' . $action . '/';
54
+ $matches[] = '/' . $route . '/' . $controller . '/' . $action;
55
+ $matches[] = '/' . $route . '/' . $controller . '/*';
56
+ $matches[] = '/' . $route . '/' . $controller . '/';
57
+ $matches[] = '/' . $route . '/*/*';
58
+ $matches[] = '/' . $route . '/*';
59
+ $matches[] = '/*/*/*';
60
+ $matches[] = '/*/*';
61
+ $matches[] = '/*';
62
+ $matches[] = '';
63
+
64
+ if (strtolower($action) == 'index') {
65
+ $matches[] = '/' . $route . '/' . $controller;
66
+ }
67
+ if (strtolower($action) == 'index' && strtolower($controller) == 'index') {
68
+ $matches[] = '/' . $route;
69
+ }
70
+
71
+ foreach ($matches as $match) {
72
+ $fullMatches[] = $match;
73
+ if ($match && $match{0} && $match{0} == '/') {
74
+ $fullMatches[] = substr($match, 1);
75
+ }
76
+ }
77
+ } catch (Exception $ex) {
78
+ Mage::getModel("listrak/log")->addException($ex);
79
+ }
80
+
81
+ return $fullMatches;
82
+ }
83
+ }
app/code/community/Listrak/Remarketing/Block/Tracking/Sca.php ADDED
@@ -0,0 +1,182 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Block_Tracking_Sca extends Listrak_Remarketing_Block_Require_Sca
16
+ {
17
+ private $_initialized = false;
18
+ private $_convertSession = null;
19
+
20
+ public function _toHtml() {
21
+ try {
22
+ if (!$this->canRender())
23
+ return '';
24
+
25
+ if ($this->hasAjaxScript()) {
26
+ $this->addLine("document.observe('dom:loaded', function() { Listrak_Remarketing.track(); });");
27
+ }
28
+ else {
29
+ $this->addCustomerJS();
30
+ if (!$this->addCartJS())
31
+ $this->addLine("_ltk.SCA.Submit();");
32
+ }
33
+
34
+ return parent::_toHtml();
35
+ } catch(Exception $e) {
36
+ Mage::getModel('listrak/log')->addException($e);
37
+ return '';
38
+ }
39
+ }
40
+
41
+ public function getCartJavascript() {
42
+ $this->_ensureLoaded();
43
+
44
+ $noSubmit = $this->addCartJS(true);
45
+ if (trim($this->getScript()) && !$noSubmit)
46
+ $this->addLine("_ltk.SCA.Submit();");
47
+
48
+ return $this->getScript(false);
49
+ }
50
+
51
+ private $_canRender = null;
52
+ public function canRender() {
53
+ $this->_ensureLoaded();
54
+ if ($this->_canRender == null)
55
+ $this->_canRender = parent::canRender() && !$this->isOrderConfirmationPage() && ($this->hasAjaxScript() || $this->hasCartJS() || $this->hasCustomerJS());
56
+
57
+ return $this->_canRender;
58
+ }
59
+
60
+ private function hasAjaxScript() {
61
+ return $this->getFullPageRendering() && Mage::helper('remarketing')->ajaxTracking();
62
+ }
63
+
64
+ private function hasSessionToConvert() {
65
+ return $this->_convertSession != null && $this->_convertSession->getId() && !$this->_convertSession->getConverted();
66
+ }
67
+
68
+ private function hasCartJS() {
69
+ return $this->hasSessionToConvert()
70
+ || Mage::getSingleton('checkout/session')->getListrakCartModified()
71
+ || $this->isCartPage();
72
+ }
73
+
74
+ private function addCartJS($forceRender = false) {
75
+ $noSubmit = false;
76
+
77
+ if ($forceRender || $this->hasCartJS()) {
78
+ if ($this->hasSessionToConvert()) {
79
+ $this->addLine("_ltk.SCA.SetSessionID({$this->toJsString($this->_convertSession->getSessionId())});");
80
+
81
+ $emails = $this->_convertSession->getEmails();
82
+ if (count($emails) > 0 && !Mage::getSingleton('customer/session')->isLoggedIn())
83
+ $this->addLine("_ltk.SCA.SetCustomer({$this->toJsString($emails[0]['email'])}, '', '');");
84
+ }
85
+
86
+ $chkSession = Mage::getSingleton('checkout/session');
87
+
88
+ $this->addLine("_ltk.SCA.Stage = 1;");
89
+
90
+ if (Mage::getSingleton('checkout/cart')->getSummaryQty() > 0) {
91
+ foreach($this->getCartItems() as $item) {
92
+ $this->addLine("_ltk.SCA.AddItemWithLinks("
93
+ . $this->toJsString($item->getSku()) . ", "
94
+ . $this->toJsString($item->getQty()) . ", "
95
+ . $this->toJsString($item->getPrice()) . ", "
96
+ . $this->toJsString($item->getName()) . ", "
97
+ . $this->toJsString($item->getImageUrl()) . ", "
98
+ . $this->toJsString($item->getProductUrl()) . ");");
99
+ }
100
+
101
+ $ltksid = $this->getBasketId();
102
+ $this->addLine("_ltk.SCA.Meta1 = {$this->toJsString($ltksid)};");
103
+ $chkSession->setCartLtksid($ltksid);
104
+ }
105
+ else {
106
+ $this->addLine("_ltk.SCA.ClearCart();");
107
+ $noSubmit = true;
108
+ // _ltk.SCA.Submit is called by _ltk.SCA.ClearCart
109
+ }
110
+
111
+ $chkSession->unsListrakCartModified();
112
+
113
+ if ($this->hasSessionToConvert()) {
114
+ $this->_convertSession->setConverted(true);
115
+ $this->_convertSession->save();
116
+ $this->_convertSession->deleteCookie();
117
+ }
118
+ }
119
+
120
+ return $noSubmit;
121
+ }
122
+
123
+ private function hasCustomerJS() {
124
+ $custSession = Mage::getSingleton('customer/session');
125
+ return $custSession->isLoggedIn() && !$custSession->getListrakCustomerTracked();
126
+ }
127
+
128
+ private function addCustomerJS() {
129
+ if ($this->hasCustomerJS()) {
130
+ $custSession = Mage::getSingleton('customer/session');
131
+ $cust = $custSession->getCustomer();
132
+
133
+ $this->addLine("_ltk.SCA.SetCustomer("
134
+ . $this->toJsString($cust->getEmail()) . ", "
135
+ . $this->toJsString($cust->getFirstname()) . ", "
136
+ . $this->toJsString($cust->getLastname()) . ");");
137
+
138
+ $custSession->setListrakCustomerTracked(true);
139
+ }
140
+ }
141
+
142
+ private function getCartItems() {
143
+ $result = array();
144
+
145
+ $productHelper = Mage::helper('remarketing/product');
146
+ foreach (Mage::getSingleton('checkout/cart')->getQuote()->getAllVisibleItems() as $item) {
147
+ $info = $productHelper->getProductInformationFromQuoteItem($item, array('product_url', 'image_url'));
148
+
149
+ $item->setSku($info->getSku());
150
+ $item->setProductUrl($info->getProductUrl());
151
+ $item->setImageUrl($info->getImageUrl());
152
+
153
+ $result[] = $item;
154
+ }
155
+
156
+ return $result;
157
+ }
158
+
159
+ private function getBasketId() {
160
+ $storeId = Mage::app()->getStore()->getStoreId();
161
+ $quoteId = Mage::getSingleton('checkout/session')->getQuoteId();
162
+
163
+ $str = $storeId . ' ' . $quoteId;
164
+ while(strlen($str) < 16) // 5 for store ID, 1 for the space, and 10 for the quote ID
165
+ $str .= ' ' . $quoteId;
166
+ $str = substr($str, 0, 16);
167
+
168
+ return Mage::helper('remarketing')->urlEncrypt($str);
169
+ }
170
+
171
+ private function _ensureLoaded() {
172
+ if (!$this->_initialized) {
173
+ if (Mage::helper('remarketing')->trackingTablesExist())
174
+ $this->_convertSession = Mage::getSingleton('listrak/session')->loadFromCookie();
175
+
176
+ if ($this->isOrderConfirmationPage())
177
+ Mage::getSingleton('customer/session')->unsListrakCustomerTracked();
178
+
179
+ $this->_initialized = true;
180
+ }
181
+ }
182
+ }
app/code/community/Listrak/Remarketing/Helper/Data.php CHANGED
@@ -54,10 +54,10 @@ class Listrak_Remarketing_Helper_Data
54
  mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
55
  );
56
  }
57
-
58
  public function generateAndLogException($exceptionText, $sourceException)
59
  {
60
- $ex = new Exception("{UID: " . $this->genUuid() . "} " . $exceptionText, 0, $sourceException);
61
  Mage::getModel("listrak/log")->addException($ex);
62
  return $ex;
63
  }
@@ -77,11 +77,6 @@ class Listrak_Remarketing_Helper_Data
77
  return Mage::getStoreConfig('remarketing/modules/core');
78
  }
79
 
80
- public function reviewsEnabled()
81
- {
82
- return Mage::getStoreConfig('remarketing/modules/reviews');
83
- }
84
-
85
  public function requireCoreEnabled()
86
  {
87
  if (!$this->coreEnabled()) {
@@ -89,18 +84,77 @@ class Listrak_Remarketing_Helper_Data
89
  }
90
  }
91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  public function requireReviewsEnabled()
93
  {
94
  if (!$this->reviewsEnabled()) {
95
  throw new Exception('Listrak reviews API has been turned off in the System Configuration.');
96
  }
97
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
 
99
  public function categoriesSource()
100
  {
101
  return Mage::getStoreConfig('remarketing/productcategories/categories_source');
102
  }
103
 
 
 
 
 
 
 
 
 
104
  public function getCategoryRootIdForStore($storeId)
105
  {
106
  if (!array_key_exists($storeId, $this->_categoryRootIdForStores)) {
@@ -114,4 +168,87 @@ class Listrak_Remarketing_Helper_Data
114
  }
115
  return $this->_categoryRootIdForStores[$storeId];
116
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  }
54
  mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
55
  );
56
  }
57
+
58
  public function generateAndLogException($exceptionText, $sourceException)
59
  {
60
+ $ex = new Exception($exceptionText, 0, $sourceException);
61
  Mage::getModel("listrak/log")->addException($ex);
62
  return $ex;
63
  }
77
  return Mage::getStoreConfig('remarketing/modules/core');
78
  }
79
 
 
 
 
 
 
80
  public function requireCoreEnabled()
81
  {
82
  if (!$this->coreEnabled()) {
84
  }
85
  }
86
 
87
+ public function onescriptEnabled() {
88
+ return ($this->coreEnabled()
89
+ && Mage::getStoreConfig('remarketing/modal/enabled')
90
+ && strlen(trim(Mage::getStoreConfig('remarketing/modal/listrakMerchantID'))) >= 12);
91
+ }
92
+
93
+ public function scaEnabled() {
94
+ return ($this->onescriptTracking() && Mage::getStoreConfig('remarketing/modal/sca'));
95
+ }
96
+
97
+ public function activityEnabled() {
98
+ return ($this->onescriptTracking() && Mage::getStoreConfig('remarketing/modal/activity'));
99
+ }
100
+
101
+ public function legacyTracking() {
102
+ return $this->coreEnabled()
103
+ && $this->trackingTablesExist()
104
+ && !$this->onescriptReady();
105
+ }
106
+
107
+ public function onescriptTracking() {
108
+ return $this->onescriptEnabled() && $this->onescriptReady();
109
+ }
110
+
111
+ public function ajaxTracking() {
112
+ return (bool)Mage::getStoreConfig('remarketing/modal/ajax');
113
+ }
114
+
115
+ public function reviewsEnabled()
116
+ {
117
+ return Mage::getStoreConfig('remarketing/modules/reviews');
118
+ }
119
+
120
  public function requireReviewsEnabled()
121
  {
122
  if (!$this->reviewsEnabled()) {
123
  throw new Exception('Listrak reviews API has been turned off in the System Configuration.');
124
  }
125
  }
126
+
127
+ public function onescriptReady() {
128
+ return (bool)Mage::getStoreConfig('remarketing/config/onescript_ready');
129
+ }
130
+
131
+ public function trackingTablesExist() {
132
+ return !Mage::getStoreConfig('remarketing/config/tracking_tables_deleted');
133
+ }
134
+
135
+ public function requireSessionTrackingTable() {
136
+ if (!$this->trackingTablesExist())
137
+ throw new Exception('MissingSessionTrackingTable: The session tracking table has been deleted.');
138
+ }
139
+
140
+ public function requireClickTrackingTable() {
141
+ if (!$this->trackingTablesExist())
142
+ throw new Exception('MissingClickTrackingTable: The click tracking table has been deleted.');
143
+ }
144
 
145
  public function categoriesSource()
146
  {
147
  return Mage::getStoreConfig('remarketing/productcategories/categories_source');
148
  }
149
 
150
+ public function getCategoryLevel()
151
+ {
152
+ $cl = (int)Mage::getStoreConfig('remarketing/productcategories/category_level');
153
+ if (!$cl) $cl = 3;
154
+
155
+ return $cl;
156
+ }
157
+
158
  public function getCategoryRootIdForStore($storeId)
159
  {
160
  if (!array_key_exists($storeId, $this->_categoryRootIdForStores)) {
168
  }
169
  return $this->_categoryRootIdForStores[$storeId];
170
  }
171
+
172
+ public function getFingerprintImageUrl() {
173
+ $e = Mage::getStoreConfig('remarketing/endpoint/fingerprint');
174
+ $tid = Mage::getStoreConfig('remarketing/modal/listrakMerchantID');
175
+
176
+ if (!$e)
177
+ $e = 'fp.listrakbi.com/fp';
178
+ else
179
+ $e = trim($e, '/');
180
+
181
+ return (Mage::app()->getStore()->isCurrentlySecure() ? "https:" : "http:") . "//{$e}/{$tid}.jpg";
182
+ }
183
+
184
+ public function onescriptSrc() {
185
+ $e = Mage::getStoreConfig('remarketing/endpoint/onescript');
186
+ $tid = Mage::getStoreConfig('remarketing/modal/listrakMerchantID');
187
+
188
+ if (!$e)
189
+ $e = 'cdn.listrakbi.com/scripts/script.js';
190
+ else
191
+ $e = trim($e);
192
+
193
+ return (Mage::app()->getStore()->isCurrentlySecure() ? "https:" : "http:") . "//{$e}?m={$tid}&v=1";
194
+ }
195
+
196
+ public function getInactiveCategories() {
197
+ $inactiveIds = Mage::getModel('catalog/category')->getCollection()
198
+ ->addAttributeToFilter('is_active', 0);
199
+ $inactiveIds->getSelect()
200
+ ->reset(Zend_Db_Select::COLUMNS)
201
+ ->columns('entity_id');
202
+
203
+ $ids = array();
204
+ foreach ($inactiveIds as $id) {
205
+ $ids[] = intval($id['entity_id']);
206
+ }
207
+
208
+ return array_filter($ids);
209
+ }
210
+
211
+ public function getCategoriesToSkip() {
212
+ $skip = Mage::getStoreConfig('remarketing/productcategories/categories_skip');
213
+ $arr = array_unique(array_map('intval', array_filter(explode(",", $skip))));
214
+ sort($arr);
215
+ return $arr;
216
+ }
217
+
218
+ public function getMetaDataProvider() {
219
+ static $helper = null;
220
+
221
+ if ($helper == null) {
222
+ $helperRoute = Mage::getStoreConfig('remarketing/advanced/meta_provider');
223
+ $helper = $helperRoute ? Mage::helper($helperRoute) : false;
224
+ }
225
+
226
+ return $helper;
227
+ }
228
+
229
+ public function urlEncrypt($str) {
230
+ return rawurlencode(str_replace('/', '_', Mage::helper('core')->encrypt($str)));
231
+ }
232
+
233
+ public function urlDecrypt($str) {
234
+ return Mage::helper('core')->decrypt(str_replace('_', '/', rawurldecode($str)));
235
+ }
236
+
237
+ public function getTableRowCount($modelEntity) {
238
+ return Mage::getSingleton('core/resource')->getConnection('core_read')->fetchOne(
239
+ Mage::getModel($modelEntity)->getCollection()->getSelect()->reset(Zend_Db_Select::COLUMNS)->columns('COUNT(*)')
240
+ );
241
+ }
242
+
243
+ public function initCartCookie() {
244
+ if (!$this->ajaxTracking()) {
245
+ $value = md5('quote_' . Mage::getSingleton('checkout/session')->getQuoteId() . '_' . date("YmdHis"));
246
+ Mage::getModel('core/cookie')->set('mltkc', $value, time() + 315532800, '/'); // 10 years, 2 of them leap years
247
+ return $value;
248
+ }
249
+ else {
250
+ Mage::getModel('core/cookie')->delete('mltkc');
251
+ return 'AJAX';
252
+ }
253
+ }
254
  }
app/code/community/Listrak/Remarketing/Helper/Product.php CHANGED
@@ -16,16 +16,13 @@ class Listrak_Remarketing_Helper_Product
16
  extends Mage_Core_Helper_Abstract
17
  {
18
  private $_parentsById = array();
 
19
  private $_attributeSets = null;
20
  private $_categories = array();
21
- private $_baseDir = null;
22
- private $_baseMediaPath = null;
23
- private $_imageModel = null;
24
-
25
- public function getProductEntity(Mage_Catalog_Model_Product $product, $storeId,
26
- $includeBrandAndCategory = true, $includeInventory = true,
27
- $includeConfigurableAttributes = true
28
- )
29
  {
30
  $result = array();
31
 
@@ -40,12 +37,10 @@ class Listrak_Remarketing_Helper_Product
40
  $result['description'] = $product->getDescription();
41
  $result['short_description'] = $product->getShortDescription();
42
  $result['weight'] = $product->getWeight();
43
- $result['url_key'] = $product->getUrlKey();
44
  if ($product->isVisibleInSiteVisibility()) {
45
- $result['url_path'] = $product->getUrlPath();
46
  }
47
 
48
- $brandAndCategoryProduct = $thumbnailProduct = $smallImageProduct = $imageProduct = $product;
49
  $parentProduct = $this->_getParentProduct($product);
50
  if ($parentProduct != null) {
51
  $result['parent_id'] = $parentProduct->getEntityId();
@@ -53,62 +48,62 @@ class Listrak_Remarketing_Helper_Product
53
 
54
  if (!$product->isVisibleInSiteVisibility()) {
55
  $result['name'] = $parentProduct->getName();
56
- $result['url_path'] = $parentProduct->getUrlPath();
57
- $result['url_key'] = $parentProduct->getUrlKey();
58
- }
59
 
60
- $useParent = Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE == $parentProduct->getTypeId()
61
- && Mage::getStoreConfig(
62
- Mage_Checkout_Block_Cart_Item_Renderer_Configurable::CONFIGURABLE_PRODUCT_IMAGE
63
- )
64
- == Mage_Checkout_Block_Cart_Item_Renderer_Configurable::USE_PARENT_IMAGE;
65
-
66
- if (!$product->getData('image')
67
- || ($product->getData('image') == 'no_selection')
68
- || $useParent
69
- ) {
70
- $imageProduct = $parentProduct;
71
- }
72
- if (!$product->getData('small_image')
73
- || ($product->getData('small_image') == 'no_selection')
74
- || $useParent
75
- ) {
76
- $smallImageProduct = $parentProduct;
77
- }
78
- if (!$product->getData('thumbnail')
79
- || ($product->getData('thumbnail') == 'no_selection')
80
- || $useParent
81
- ) {
82
- $thumbnailProduct = $parentProduct;
83
- }
84
-
85
- if ($includeBrandAndCategory && !$product->isVisibleInSiteVisibility())
86
- {
87
- $brandAndCategoryProduct = $parentProduct;
88
  }
89
 
90
- if ($includeConfigurableAttributes
91
- && Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE == $parentProduct->getTypeId()
92
- ) {
93
- foreach (
94
- $parentProduct
95
- ->getTypeInstance(true)
96
- ->getUsedProductAttributes($parentProduct) as $attribute) {
 
 
97
  if (!array_key_exists('configurable_attributes', $result)) {
98
  $result['configurable_attributes'] = array();
99
  }
100
  $attr = array();
101
  $attr['attribute_name'] = $attribute->getFrontend()->getLabel();
102
  $attr['value'] = $product->getAttributeText($attribute->getAttributeCode());
 
 
 
 
 
103
  $result['configurable_attributes'][] = $attr;
104
  }
105
  }
106
  }
107
- $result['image'] = $this->_getProductImage($imageProduct, 'image');
108
- $result['small_image'] = $this->_getProductImage($smallImageProduct, 'small_image');
109
- $result['thumbnail'] = $this->_getProductImage($thumbnailProduct, 'thumbnail');
110
 
111
- if ($includeBrandAndCategory) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  $setSettings = $this->_getProductAttributeSetSettings($brandAndCategoryProduct);
113
 
114
  if ($setSettings['brandAttribute'] != null) {
@@ -116,14 +111,9 @@ class Listrak_Remarketing_Helper_Product
116
  }
117
 
118
  if ($setSettings['catFromMagento']) {
119
- $categoryRootId = Mage::helper('remarketing')->getCategoryRootIdForStore($storeId);
120
- $categories = $this->_getCategoryIds($brandAndCategoryProduct, $categoryRootId);
121
- if (array_key_exists('category_id', $categories)) {
122
- $result['category'] = $this->_getCategoryName($categories['category_id']);
123
- }
124
- if (array_key_exists('sub_category_id', $categories)) {
125
- $result['sub_category'] = $this->_getCategoryName($categories['sub_category_id']);
126
- }
127
  } else {
128
  if ($setSettings['catFromAttributes']) {
129
  if ($setSettings['categoryAttribute'] != null) {
@@ -135,14 +125,16 @@ class Listrak_Remarketing_Helper_Product
135
  }
136
  }
137
  }
138
- }
139
 
140
- if ($includeInventory) {
141
  $result['in_stock'] = $product->isAvailable() ? "true" : "false";
142
  $stockItem = $product->getStockItem();
143
  if ($stockItem) {
144
  $result['qty_on_hand'] = $stockItem->getStockQty();
145
  }
 
 
 
146
  }
147
 
148
  $result['type'] = $product->getTypeId();
@@ -150,48 +142,125 @@ class Listrak_Remarketing_Helper_Product
150
  return $result;
151
  }
152
 
153
- private function _getProductImage(Mage_Catalog_Model_Product $product,
154
- $imageType)
155
- {
156
- try {
157
- if ($this->_baseDir == null) {
158
- $this->_baseDir = Mage::getBaseDir();
159
- }
160
- if ($this->_baseMediaPath == null) {
161
- $this->_baseMediaPath = Mage::getSingleton('catalog/product_media_config')->getBaseMediaPath();
162
- }
163
- if ($this->_imageModel == null) {
164
- $this->_imageModel = Mage::getModel('catalog/product_image');
165
- }
166
- $this->_imageModel->setDestinationSubdir($imageType);
167
- $this->_imageModel->setBaseFile($product->getData($imageType));
168
- $imageBaseFile = $this->_imageModel->getBaseFile();
169
- if (!(false === strpos($imageBaseFile, $this->_baseMediaPath))) {
170
- return substr($imageBaseFile, strlen($this->_baseMediaPath));
171
- }
172
- return '/../../..' . substr($imageBaseFile, strlen($this->_baseDir));
173
- } catch (Exception $ex) {
174
- Mage::getModel("listrak/log")->addException(
175
- 'Failed to get product image for product '.$product->getEntityId().': '.$ex
176
- );
177
- }
178
  return null;
179
  }
 
 
 
 
 
180
 
181
- private function _getParentProduct(Mage_Catalog_Model_Product $product)
182
- {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  $parentIds = Mage::getModel('catalog/product_type_configurable')
184
  ->getParentIdsByChild($product->getEntityId());
185
 
186
  if (is_array($parentIds) && count($parentIds) > 0) {
187
- if (count($parentIds) > 1) {
188
- Mage::getModel("listrak/log")->addException(
189
- "Product has multiple parents: sku=" . $product->getSku() . " parentIds=" . implode(
190
- ', ', $parentIds
191
- )
192
- );
193
- }
194
-
195
  $parentId = $parentIds[0];
196
  if ($parentId != null) {
197
  if (!array_key_exists($parentId, $this->_parentsById)) {
@@ -205,6 +274,23 @@ class Listrak_Remarketing_Helper_Product
205
  return null;
206
  }
207
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
  private function _getProductAttributeSetSettings(Mage_Catalog_Model_Product $product)
209
  {
210
  if ($this->_attributeSets == null) {
@@ -233,35 +319,43 @@ class Listrak_Remarketing_Helper_Product
233
  ? $this->_attributeSets[$product->getAttributeSetId()] : $this->_attributeSets[0];
234
  }
235
 
236
- private function _getCategoryIds(Mage_Catalog_Model_Product $product,
237
- $categoryRootId = null)
238
- {
 
 
 
 
 
 
 
 
 
 
 
239
  $categories = $product->getCategoryCollection();
 
240
 
241
- $lookUnder = array();
242
- $lookUnder[] = 1;
243
- if ($categoryRootId != null)
244
- $lookUnder[] = $categoryRootId;
245
- $path = $this->_getFirstPathByPosition($categories, 4, $lookUnder);
246
-
247
- $final = array();
248
- if (sizeof($path) > 2)
249
- $final['category_id'] = $path[2];
250
- if (sizeof($path) > 3)
251
- $final['sub_category_id'] = $path[3];
252
-
253
- return $final;
254
  }
255
-
256
  private function _getFirstPathByPosition($categoryCollection, $maxLevel, $underPath)
257
  {
258
  if (sizeof($underPath) >= $maxLevel)
259
  return $underPath;
260
-
261
  $nextCategory = array();
262
  foreach($categoryCollection as $category) {
263
  $pathIds = $category->getPathIds();
264
 
 
 
 
 
265
  if (sizeof($pathIds) > sizeof($underPath) && !in_array($pathIds[sizeof($underPath)], $nextCategory)) {
266
  $isUnderPath = true;
267
  for($i = 0; $i < sizeof($underPath); $i++)
@@ -272,7 +366,7 @@ class Listrak_Remarketing_Helper_Product
272
  break;
273
  }
274
  }
275
-
276
  if ($isUnderPath)
277
  $nextCategory[] = $pathIds[sizeof($underPath)];
278
  }
@@ -280,50 +374,38 @@ class Listrak_Remarketing_Helper_Product
280
 
281
  if (sizeof($nextCategory) == 0)
282
  return $underPath;
283
-
284
  $winnerPath = array();
285
  $winnerPathPosition = 0;
286
  foreach($nextCategory as $category)
287
  {
288
  $testPath = $underPath;
289
  $testPath[] = $category;
290
-
291
- $testPathPosition = $this->_getCategoryPosition($category);
292
-
293
  if (sizeof($winnerPath) == 0 || $winnerPathPosition > $testPathPosition)
294
  {
295
  $winnerPath = $testPath;
296
  $winnerPathPosition = $testPathPosition;
297
  }
298
  }
299
-
300
  return $this->_getFirstPathByPosition($categoryCollection, $maxLevel, $winnerPath);
301
  }
302
 
303
- private function _getCategoryName($categoryId)
304
- {
305
- $category = $this->_getCategory($categoryId);
306
-
307
- if ($category != null)
308
- {
309
- return $category->getName();
310
- }
311
-
312
- return null;
313
- }
314
-
315
- private function _getCategoryPosition($categoryId)
316
  {
317
  $category = $this->_getCategory($categoryId);
318
-
319
  if ($category != null)
320
  {
321
- return $category->getPosition();
322
  }
323
-
324
  return null;
325
  }
326
-
327
  private function _getCategory($categoryId)
328
  {
329
  if (array_key_exists($categoryId, $this->_categories))
@@ -331,15 +413,108 @@ class Listrak_Remarketing_Helper_Product
331
  else {
332
  $category = Mage::getModel('catalog/category')
333
  ->load($categoryId);
334
-
335
  if ($category != null)
336
  {
337
  $this->_categories[$categoryId] = $category;
338
  return $category;
339
  }
340
  }
341
-
342
  return null;
343
  }
344
- }
345
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  extends Mage_Core_Helper_Abstract
17
  {
18
  private $_parentsById = array();
19
+ private $_urlsById = array();
20
  private $_attributeSets = null;
21
  private $_categories = array();
22
+ private $_useConfigurableParentImages = null;
23
+ private $_skipCategories = null;
24
+
25
+ public function getProductEntity(Mage_Catalog_Model_Product $product, $storeId, $includeExtras = true)
 
 
 
 
26
  {
27
  $result = array();
28
 
37
  $result['description'] = $product->getDescription();
38
  $result['short_description'] = $product->getShortDescription();
39
  $result['weight'] = $product->getWeight();
 
40
  if ($product->isVisibleInSiteVisibility()) {
41
+ $result['url_path'] = $this->_getProductUrlWithCache($product);
42
  }
43
 
 
44
  $parentProduct = $this->_getParentProduct($product);
45
  if ($parentProduct != null) {
46
  $result['parent_id'] = $parentProduct->getEntityId();
48
 
49
  if (!$product->isVisibleInSiteVisibility()) {
50
  $result['name'] = $parentProduct->getName();
 
 
 
51
 
52
+ if ($parentProduct->isVisibleInSiteVisibility()) {
53
+ $result['url_path'] = $this->_getProductUrlWithCache($parentProduct);
54
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  }
56
 
57
+ if ($includeExtras && Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE == $parentProduct->getTypeId()) {
58
+ $result['purchasable'] = $this->_isPurchasable($product, $parentProduct);
59
+
60
+ $attributes = $parentProduct
61
+ ->getTypeInstance(true)
62
+ ->getUsedProductAttributes($parentProduct);
63
+
64
+ $freshProduct = null;
65
+ foreach ($attributes as $attribute) {
66
  if (!array_key_exists('configurable_attributes', $result)) {
67
  $result['configurable_attributes'] = array();
68
  }
69
  $attr = array();
70
  $attr['attribute_name'] = $attribute->getFrontend()->getLabel();
71
  $attr['value'] = $product->getAttributeText($attribute->getAttributeCode());
72
+ if(empty($attr['value']) ) { // use the EAV tables only if the flat table doesn't work
73
+ if ($freshProduct == null)
74
+ $freshProduct = Mage::getModel('catalog/product')->load($product->getEntityId());
75
+ $attr['value'] = $attribute->getFrontend()->getValue($freshProduct);
76
+ }
77
  $result['configurable_attributes'][] = $attr;
78
  }
79
  }
80
  }
 
 
 
81
 
82
+ if (!isset($result['purchasable'])) {
83
+ $result['purchasable'] = $this->_isPurchasable($product);
84
+ }
85
+
86
+ $images = $this->_getProductImages($product);
87
+ if (isset($images['image']))
88
+ $result['image'] = $images['image'];
89
+ if (isset($images['small_image']))
90
+ $result['small_image'] = $images['small_image'];
91
+ if (isset($images['thumbnail']))
92
+ $result['thumbnail'] = $images['thumbnail'];
93
+
94
+ if ($includeExtras) {
95
+ // Metas
96
+ $metas = $this->_getMetas($storeId, $product, $parentProduct);
97
+ if ($metas != null) {
98
+ //if(isset($metas['meta1'])) $result['meta1'] = $metas['meta1'];
99
+ //if(isset($metas['meta2'])) $result['meta2'] = $metas['meta2'];
100
+ if(isset($metas['meta3'])) $result['meta3'] = $metas['meta3'];
101
+ if(isset($metas['meta4'])) $result['meta4'] = $metas['meta4'];
102
+ if(isset($metas['meta5'])) $result['meta5'] = $metas['meta5'];
103
+ }
104
+
105
+ // Brand and Category
106
+ $brandAndCategoryProduct = (!$parentProduct || $product->isVisibleInSiteVisibility()) ? $product : $parentProduct;
107
  $setSettings = $this->_getProductAttributeSetSettings($brandAndCategoryProduct);
108
 
109
  if ($setSettings['brandAttribute'] != null) {
111
  }
112
 
113
  if ($setSettings['catFromMagento']) {
114
+ $cats = $this->_getCategoryInformation($storeId, $brandAndCategoryProduct);
115
+ if (isset($cats['category'])) $result['category'] = $cats['category'];
116
+ if (isset($cats['sub_category'])) $result['sub_category'] = $cats['sub_category'];
 
 
 
 
 
117
  } else {
118
  if ($setSettings['catFromAttributes']) {
119
  if ($setSettings['categoryAttribute'] != null) {
125
  }
126
  }
127
  }
 
128
 
129
+ // Inventory
130
  $result['in_stock'] = $product->isAvailable() ? "true" : "false";
131
  $stockItem = $product->getStockItem();
132
  if ($stockItem) {
133
  $result['qty_on_hand'] = $stockItem->getStockQty();
134
  }
135
+
136
+ // Related Products
137
+ $result['links'] = $this->_getProductLinks($product);
138
  }
139
 
140
  $result['type'] = $product->getTypeId();
142
  return $result;
143
  }
144
 
145
+ public function getProductInformationFromQuoteItem(Mage_Sales_Model_Quote_Item $item, $additionalInformation = array()) {
146
+ $children = $item->getChildren();
147
+ return $this->_getProductInformationWork($item, $additionalInformation, count($children) > 0, $children);
148
+ }
149
+
150
+ public function getProductInformationFromOrderItem(Mage_Sales_Model_Order_Item $item, $additionalInformation = array()) {
151
+ return $this->_getProductInformationWork($item, $additionalInformation, $item->getHasChildren(), $item->getChildrenItems());
152
+ }
153
+
154
+ public function getProductUrl(Mage_Catalog_Model_Product $product) {
155
+ return substr(Mage::getSingleton('core/url')->parseUrl($product->getProductUrl())->getPath(), 1);
156
+ }
157
+
158
+ public function getProductImage(Mage_Catalog_Model_Product $product) {
159
+ $images = $this->_getProductImages($product);
160
+ if (isset($images['thumbnail']))
161
+ return $images['thumbnail'];
162
+ if (isset($images['small_image']))
163
+ return $images['small_image'];
164
+ if (isset($images['image']))
165
+ return $images['image'];
 
 
 
 
166
  return null;
167
  }
168
+
169
+ private function _getProductInformationWork($item, $getInfo, $hasChildren, $children) {
170
+ $getProduct = in_array('product', $getInfo);
171
+ $getImage = in_array('image_url', $getInfo);
172
+ $getLink = in_array('product_url', $getInfo);
173
 
174
+ $result = new Varien_Object();
175
+
176
+ $result->setProductId((int)$item->getProductId());
177
+ $result->setIsConfigurable(false);
178
+ $result->setIsBundle(false);
179
+ $result->setSku($item->getSku());
180
+
181
+ if (Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE == $item->getProductType() && $hasChildren) {
182
+ $result->setIsConfigurable(true);
183
+
184
+ $result->setParentId($result->getProductId());
185
+ $result->setProductId((int)$children[0]->getProductId());
186
+ }
187
+
188
+ if (Mage_Catalog_Model_Product_Type::TYPE_BUNDLE == $item->getProductType() && $hasChildren) {
189
+ $result->setIsBundle(true);
190
+
191
+ $product = Mage::getModel('catalog/product')->load($result->getProductId());
192
+ $result->setSku($product->getSku());
193
+ $result->setProduct($product);
194
+ }
195
+ else if ($getProduct || $getImage || ($getLink && !$result->getIsConfigurable())) {
196
+ $result->setProduct(Mage::getModel('catalog/product')->load($result->getProductId()));
197
+ }
198
+
199
+ if ($getLink) {
200
+ $result->setProductUrl($this->getProductUrl($result->getIsConfigurable()
201
+ ? Mage::getModel('catalog/product')->load($result->getParentId())
202
+ : $result->getProduct()));
203
+ }
204
+
205
+ if ($getImage) {
206
+ $result->setImageUrl($this->getProductImage($result['product']));
207
+ }
208
+
209
+ return $result;
210
+ }
211
+
212
+ private function _getProductUrlWithCache(Mage_Catalog_Model_Product $product) {
213
+ $productId = $product->getEntityId();
214
+
215
+ if (!isset($this->_urlsById[$productId])) {
216
+ $this->_urlsById[$productId] = $this->getProductUrl($product);
217
+ }
218
+
219
+ return $this->_urlsById[$productId];
220
+ }
221
+
222
+ private function _getProductImages(Mage_Catalog_Model_Product $product) {
223
+ $parent = $this->_getParentProduct($product);
224
+ $parentIsConfigurable = $parent && Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE == $parent->getTypeId();
225
+ if ($this->_useConfigurableParentImages == null)
226
+ $this->_useConfigurableParentImages = Mage::getStoreConfig(Mage_Checkout_Block_Cart_Item_Renderer_Configurable::CONFIGURABLE_PRODUCT_IMAGE)
227
+ == Mage_Checkout_Block_Cart_Item_Renderer_Configurable::USE_PARENT_IMAGE;
228
+
229
+ $none = 'no_selection';
230
+
231
+ $image = null;
232
+ $smallImage = null;
233
+ $thumbnail = null;
234
+
235
+ if ($parent && $parentIsConfigurable && $this->_useConfigurableParentImages) {
236
+ $image = $parent->getImage();
237
+ $smallImage = $parent->getSmallImage();
238
+ $thumbnail = $parent->getThumbnail();
239
+ }
240
+ else {
241
+ $image = $product->getImage();
242
+ if ($parent && (!$image || $image == $none)) $image = $parent->getImage();
243
+
244
+ $smallImage = $product->getSmallImage();
245
+ if ($parent && (!$smallImage || $smallImage == $none)) $smallImage = $parent->getSmallImage();
246
+
247
+ $thumbnail = $product->getThumbnail();
248
+ if ($parent && (!$thumbnail || $thumbnail == $none)) $thumbnail = $parent->getThumbnail();
249
+ }
250
+
251
+ $result = array();
252
+ if ($image && $image != $none) $result['image'] = $image;
253
+ if ($smallImage && $smallImage != $none) $result['small_image'] = $smallImage;
254
+ if ($thumbnail && $thumbnail != $none) $result['thumbnail'] = $thumbnail;
255
+
256
+ return $result;
257
+ }
258
+
259
+ private function _getParentProduct(Mage_Catalog_Model_Product $product) {
260
  $parentIds = Mage::getModel('catalog/product_type_configurable')
261
  ->getParentIdsByChild($product->getEntityId());
262
 
263
  if (is_array($parentIds) && count($parentIds) > 0) {
 
 
 
 
 
 
 
 
264
  $parentId = $parentIds[0];
265
  if ($parentId != null) {
266
  if (!array_key_exists($parentId, $this->_parentsById)) {
274
  return null;
275
  }
276
 
277
+ private function _isPurchasable(Mage_Catalog_Model_Product $product, Mage_Catalog_Model_Product $parent = null) {
278
+ if ($product->getStatus() != Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
279
+ return "false";
280
+
281
+ if ($parent == null) {
282
+ return Mage::getSingleton('listrak/product_purchasable_visibility')
283
+ ->isProductPurchasableBySetting(Mage::getStoreConfig('remarketing/productcategories/purchasable_visibility'), $product)
284
+ ? "true" : "false";
285
+ }
286
+ else {
287
+ return $parent->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_ENABLED
288
+ && Mage::getSingleton('listrak/product_purchasable_visibility')
289
+ ->isProductPurchasableBySetting(Mage::getStoreConfig('remarketing/productcategories/purchasable_visibility'), $parent)
290
+ ? "true" : "false";
291
+ }
292
+ }
293
+
294
  private function _getProductAttributeSetSettings(Mage_Catalog_Model_Product $product)
295
  {
296
  if ($this->_attributeSets == null) {
319
  ? $this->_attributeSets[$product->getAttributeSetId()] : $this->_attributeSets[0];
320
  }
321
 
322
+ private function _getCategoryInformation($storeId, Mage_Catalog_Model_Product $product) {
323
+ $rootLevel = Mage::helper('remarketing')->getCategoryRootIdForStore($storeId);
324
+ $rootPath = array(1);
325
+ if ($rootLevel)
326
+ $rootPath[] = $rootLevel;
327
+
328
+ $categoryLevel = Mage::helper('remarketing')->getCategoryLevel();
329
+
330
+ if ($this->_skipCategories == null) {
331
+ $this->_skipCategories = array_unique(array_merge(
332
+ Mage::helper('remarketing')->getInactiveCategories(),
333
+ Mage::helper('remarketing')->getCategoriesToSkip()));
334
+ }
335
+
336
  $categories = $product->getCategoryCollection();
337
+ $path = $this->_getFirstPathByPosition($categories, $categoryLevel + 1, $rootPath);
338
 
339
+ $result = array();
340
+ if (isset($path[$categoryLevel - 1])) $result['category'] = $this->_getCategoryField($path[$categoryLevel - 1], 'name');
341
+ if (isset($path[$categoryLevel])) $result['sub_category'] = $this->_getCategoryField($path[$categoryLevel], 'name');
342
+
343
+ return $result;
 
 
 
 
 
 
 
 
344
  }
345
+
346
  private function _getFirstPathByPosition($categoryCollection, $maxLevel, $underPath)
347
  {
348
  if (sizeof($underPath) >= $maxLevel)
349
  return $underPath;
350
+
351
  $nextCategory = array();
352
  foreach($categoryCollection as $category) {
353
  $pathIds = $category->getPathIds();
354
 
355
+ if (sizeof(array_intersect($pathIds, $this->_skipCategories)) > 0)
356
+ // the category tree contains a category that we want skipped or is not active
357
+ continue;
358
+
359
  if (sizeof($pathIds) > sizeof($underPath) && !in_array($pathIds[sizeof($underPath)], $nextCategory)) {
360
  $isUnderPath = true;
361
  for($i = 0; $i < sizeof($underPath); $i++)
366
  break;
367
  }
368
  }
369
+
370
  if ($isUnderPath)
371
  $nextCategory[] = $pathIds[sizeof($underPath)];
372
  }
374
 
375
  if (sizeof($nextCategory) == 0)
376
  return $underPath;
377
+
378
  $winnerPath = array();
379
  $winnerPathPosition = 0;
380
  foreach($nextCategory as $category)
381
  {
382
  $testPath = $underPath;
383
  $testPath[] = $category;
384
+
385
+ $testPathPosition = $this->_getCategoryField($category, 'position');
386
+
387
  if (sizeof($winnerPath) == 0 || $winnerPathPosition > $testPathPosition)
388
  {
389
  $winnerPath = $testPath;
390
  $winnerPathPosition = $testPathPosition;
391
  }
392
  }
393
+
394
  return $this->_getFirstPathByPosition($categoryCollection, $maxLevel, $winnerPath);
395
  }
396
 
397
+ private function _getCategoryField($categoryId, $field)
 
 
 
 
 
 
 
 
 
 
 
 
398
  {
399
  $category = $this->_getCategory($categoryId);
400
+
401
  if ($category != null)
402
  {
403
+ return $category->getData($field);
404
  }
405
+
406
  return null;
407
  }
408
+
409
  private function _getCategory($categoryId)
410
  {
411
  if (array_key_exists($categoryId, $this->_categories))
413
  else {
414
  $category = Mage::getModel('catalog/category')
415
  ->load($categoryId);
416
+
417
  if ($category != null)
418
  {
419
  $this->_categories[$categoryId] = $category;
420
  return $category;
421
  }
422
  }
423
+
424
  return null;
425
  }
 
426
 
427
+ private function _getProductLinks($product) {
428
+ if (!Mage::getStoreConfig('remarketing/productcategories/product_links'))
429
+ return null;
430
+
431
+ static $_catalog_product_table = null;
432
+ if ($_catalog_product_table == null)
433
+ // this is done because a query shows up in MySQL with 'SET GLOBAL SQL_MODE = ''; SET NAMES utf8;' that is very costly in a loop
434
+ $_catalog_product_table = Mage::getModel('core/resource')->getTableName('catalog/product');
435
+
436
+ static $_catalog_product_link_attribute_table = null;
437
+ if ($_catalog_product_link_attribute_table == null)
438
+ $_catalog_product_link_attribute_table = Mage::getModel('catalog/product_link')->getAttributeTypeTable('int');
439
+
440
+ $linkTypes = $this->_getLinkTypes();
441
+
442
+ $c = Mage::getModel('catalog/product_link')
443
+ ->getCollection();
444
+ $s = $c->getSelect();
445
+ $a = $s->getAdapter();
446
+
447
+ $s->where('main_table.product_id = ?', $product->getId())
448
+ ->where('main_table.product_id <> main_table.linked_product_id')
449
+ ->where('main_table.link_type_id IN (?)', array_keys($linkTypes));
450
+
451
+ $s->join(array('product' => $_catalog_product_table),
452
+ 'main_table.linked_product_id = product.entity_id',
453
+ 'sku');
454
+
455
+ $positionJoinOn = array();
456
+ foreach($linkTypes as $linkTypeId => $linkType) {
457
+ if ($linkType['positionAttributeId'] != null) {
458
+ array_push($positionJoinOn,
459
+ $a->quoteInto('main_table.link_type_id = ?', $linkTypeId) . ' AND ' .
460
+ $a->quoteInto('attributes.product_link_attribute_id = ?', $linkType['positionAttributeId']));
461
+ }
462
+ }
463
+ $s->joinLeft(array('attributes' => $_catalog_product_link_attribute_table),
464
+ 'main_table.link_id = attributes.link_id AND ((' . implode(') OR (', $positionJoinOn) . '))',
465
+ array('position' => 'value'));
466
+
467
+ $links = array();
468
+ foreach($c as $r) {
469
+ array_push($links, array(
470
+ 'link_type' => $linkTypes[$r->getLinkTypeId()]['name'],
471
+ 'sku' => $r->getSku(),
472
+ 'position' => $r->getPosition()
473
+ ));
474
+ }
475
+
476
+ return $links;
477
+ }
478
+
479
+ private function _getLinkTypes() {
480
+ static $_types = null;
481
+
482
+ if ($_types == null) {
483
+ $allLinks = array(
484
+ Mage_Catalog_Model_Product_Link::LINK_TYPE_UPSELL => array('name' => 'up_sell', 'positionAttributeId' => null),
485
+ Mage_Catalog_Model_Product_Link::LINK_TYPE_CROSSSELL => array('name' => 'cross_sell', 'positionAttributeId' => null),
486
+ Mage_Catalog_Model_Product_Link::LINK_TYPE_RELATED => array('name' => 'related', 'positionAttributeId' => null),
487
+ Mage_Catalog_Model_Product_Link::LINK_TYPE_GROUPED => array('name' => 'grouped', 'positionAttributeId' => null)
488
+ );
489
+
490
+ foreach($allLinks as $linkId => &$link) {
491
+ $linkAttributes = Mage::getModel('catalog/product_link')
492
+ ->setLinkTypeId($linkId)
493
+ ->getAttributes();
494
+ foreach($linkAttributes as $attribute) {
495
+ if ($attribute['code'] == 'position' && $attribute['type'] == 'int') {
496
+ $link['positionAttributeId'] = $attribute['id'];
497
+ break;
498
+ }
499
+ }
500
+ }
501
+
502
+ $_types = $allLinks;
503
+ }
504
+
505
+ return $_types;
506
+ }
507
+
508
+ private function _getMetas($storeId, Mage_Catalog_Model_Product $product, Mage_Catalog_Model_Product $parentProduct = null) {
509
+ try {
510
+ $provider = Mage::helper('remarketing')->getMetaDataProvider();
511
+ if ($provider)
512
+ return $provider->product($storeId, $product, $parentProduct);
513
+ }
514
+ catch(Exception $e) {
515
+ Mage::helper('remarketing')->generateAndLogException('Exception retrieving product meta data', $e);
516
+ }
517
+
518
+ return null;
519
+ }
520
+ }
app/code/community/Listrak/Remarketing/Model/Abandonedcart/Api.php CHANGED
@@ -21,11 +21,12 @@ class Listrak_Remarketing_Model_Abandonedcart_Api
21
  $page = 1
22
  )
23
  {
 
24
  Mage::helper('remarketing')->requireCoreEnabled();
25
 
26
- try {
27
- Mage::app()->setCurrentStore($storeId);
28
 
 
29
  if ($startDate === null || !strtotime($startDate)) {
30
  $this->_fault('incorrect_date');
31
  }
@@ -39,6 +40,7 @@ class Listrak_Remarketing_Model_Abandonedcart_Api
39
  $collection = Mage::getModel('listrak/abandonedcart')
40
  ->getCollection()
41
  ->addFieldToFilter('main_table.updated_at', array('from' => $startDate, 'to' => $endDate))
 
42
  ->addClearCartTrimFilter($startDate)
43
  ->setPageSize($perPage)->setCurPage($page)
44
  ->addStoreFilter($storeIdArray)
@@ -59,6 +61,8 @@ class Listrak_Remarketing_Model_Abandonedcart_Api
59
 
60
  public function purge($storeId = 1, $endDate = null)
61
  {
 
 
62
  try {
63
  if ($endDate === null || !strtotime($endDate)) {
64
  $this->_fault('incorrect_date');
@@ -75,6 +79,19 @@ class Listrak_Remarketing_Model_Abandonedcart_Api
75
  $count++;
76
  }
77
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  return $count;
79
  } catch (Exception $e) {
80
  throw Mage::helper('remarketing')->generateAndLogException("Exception occurred in API call: " . $e->getMessage(), $e);
21
  $page = 1
22
  )
23
  {
24
+ Mage::app()->setCurrentStore($storeId);
25
  Mage::helper('remarketing')->requireCoreEnabled();
26
 
27
+ Mage::helper('remarketing')->requireSessionTrackingTable();
 
28
 
29
+ try {
30
  if ($startDate === null || !strtotime($startDate)) {
31
  $this->_fault('incorrect_date');
32
  }
40
  $collection = Mage::getModel('listrak/abandonedcart')
41
  ->getCollection()
42
  ->addFieldToFilter('main_table.updated_at', array('from' => $startDate, 'to' => $endDate))
43
+ ->addFieldToFilter('main_table.converted', '0')
44
  ->addClearCartTrimFilter($startDate)
45
  ->setPageSize($perPage)->setCurPage($page)
46
  ->addStoreFilter($storeIdArray)
61
 
62
  public function purge($storeId = 1, $endDate = null)
63
  {
64
+ Mage::helper('remarketing')->requireSessionTrackingTable();
65
+
66
  try {
67
  if ($endDate === null || !strtotime($endDate)) {
68
  $this->_fault('incorrect_date');
79
  $count++;
80
  }
81
 
82
+ $helper = Mage::helper('remarketing');
83
+ if (!$helper->legacyTracking() && $helper->getTableRowCount('listrak/session') == 0 && $helper->getTableRowCount('listrak/click') == 0) {
84
+ $resource = Mage::getSingleton('core/resource');
85
+ $resource->getConnection('core_write')->query("DROP TABLE {$resource->getTableName('listrak/session')}"
86
+ . ", {$resource->getTableName('listrak/session_email')}"
87
+ . ", {$resource->getTableName('listrak/click')}");
88
+
89
+ $config = Mage::getConfig();
90
+ $config->saveConfig('remarketing/config/tracking_tables_deleted', '1');
91
+ $config->reinit();
92
+ Mage::app()->reinitStores();
93
+ }
94
+
95
  return $count;
96
  } catch (Exception $e) {
97
  throw Mage::helper('remarketing')->generateAndLogException("Exception occurred in API call: " . $e->getMessage(), $e);
app/code/community/Listrak/Remarketing/Model/Apiextension/Api.php CHANGED
@@ -19,38 +19,9 @@ class Listrak_Remarketing_Model_Apiextension_Api
19
  'order' => array('order_id' => 'entity_id')
20
  );
21
 
22
- public function products($storeId = 1, $perPage = 50, $page = 1)
23
- {
24
- Mage::helper('remarketing')->requireCoreEnabled();
25
-
26
- try {
27
- Mage::app()->setCurrentStore($storeId);
28
-
29
- $collection = Mage::getModel('catalog/product')->getCollection()
30
- ->addStoreFilter($storeId)
31
- ->addAttributeToSelect('*')
32
- ->setPageSize($perPage)
33
- ->setCurPage($page)
34
- ->load();
35
-
36
- Mage::getModel('cataloginventory/stock')->addItemsToProducts($collection);
37
-
38
- $results = array();
39
-
40
- foreach ($collection as $product) {
41
- $results[] = Mage::helper('remarketing/product')->getProductEntity($product, $storeId);
42
- }
43
-
44
- return $results;
45
- } catch (Exception $e) {
46
- throw Mage::helper('remarketing')->generateAndLogException("Exception occurred in API call: " . $e->getMessage(), $e);
47
- }
48
- }
49
-
50
- public function subscribers($storeId = 1, $startDate = null, $perPage = 50,
51
- $page = 1
52
- )
53
  {
 
54
  Mage::helper('remarketing')->requireCoreEnabled();
55
 
56
  try {
@@ -100,11 +71,10 @@ class Listrak_Remarketing_Model_Apiextension_Api
100
 
101
  public function customers($storeId = 1, $websiteId = 1, $perPage = 50, $page = 1)
102
  {
 
103
  Mage::helper('remarketing')->requireCoreEnabled();
104
 
105
  try {
106
- Mage::app()->setCurrentStore($storeId);
107
-
108
  $collection = Mage::getModel('customer/customer')->getCollection()
109
  ->addFieldToFilter('store_id', $storeId)
110
  ->addAttributeToSelect('*')
@@ -114,7 +84,7 @@ class Listrak_Remarketing_Model_Apiextension_Api
114
  $results = array();
115
 
116
  foreach ($collection as $customer) {
117
- $results[] = $this->_getCustomerArray($customer);
118
  }
119
 
120
  return $results;
@@ -123,32 +93,49 @@ class Listrak_Remarketing_Model_Apiextension_Api
123
  }
124
  }
125
 
126
- private function _getCustomerArray($customer)
127
  {
128
  $fields = array('entity_id' => '', 'firstname' => '', 'lastname' => '',
129
  'email' => '', 'website_id' => '', 'store_id' => '', 'group_id' => '',
130
  'gender_name' => '', 'dob' => '', 'group_name' => '');
131
  Mage::helper('remarketing')->setGroupNameAndGenderNameForCustomer($customer);
132
- return array_intersect_key($customer->toArray(), $fields);
 
 
 
 
 
 
 
 
 
 
 
133
  }
134
 
135
  public function orderStatus($storeId = 1, $startDate = null, $endDate = null,
136
  $perPage = 50, $page = 1, $filters = null
137
  )
138
  {
 
139
  Mage::helper('remarketing')->requireCoreEnabled();
140
 
141
  try {
 
 
142
  $collection = Mage::getModel("sales/order")->getCollection()
143
  ->addFieldToFilter('store_id', $storeId)
144
- ->addAttributeToSelect('increment_id')
145
- ->addAttributeToSelect('updated_at')
146
- ->addAttributeToSelect('status')
147
  ->addFieldToFilter('updated_at', array('from' => $startDate, 'to' => $endDate))
148
  ->addFieldToFilter('status', array('neq' => 'pending'))
149
  ->setPageSize($perPage)->setCurPage($page)
150
  ->setOrder('updated_at', 'ASC');
151
 
 
 
 
 
 
 
152
  if (is_array($filters)) {
153
  try {
154
  foreach ($filters as $field => $value) {
@@ -165,8 +152,56 @@ class Listrak_Remarketing_Model_Apiextension_Api
165
 
166
  $results = array();
167
 
168
- foreach ($collection as $collectionItem) {
169
- $results[] = $collectionItem;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  }
171
 
172
  return $results;
@@ -179,11 +214,10 @@ class Listrak_Remarketing_Model_Apiextension_Api
179
  $perPage = 50, $page = 1
180
  )
181
  {
 
182
  Mage::helper('remarketing')->requireCoreEnabled();
183
 
184
  try {
185
- Mage::app()->setCurrentStore($storeId);
186
-
187
  if ($startDate === null || !strtotime($startDate)) {
188
  $this->_fault('incorrect_date');
189
  }
@@ -209,13 +243,24 @@ class Listrak_Remarketing_Model_Apiextension_Api
209
  $result['info']['customer_lastname'] = $order->getCustomerLastname();
210
  $result['info']['customer_email'] = $order->getCustomerEmail();
211
  $result['info']['subtotal'] = $order->getSubtotal();
 
212
  $result['info']['tax_amount'] = $order->getTaxAmount();
213
  $result['info']['shipping_amount'] = $order->getShippingAmount();
214
  $result['info']['grand_total'] = $order->getGrandTotal();
 
215
  $result['info']['billing_firstname'] = $order->getBillingFirstname();
216
  $result['info']['created_at'] = $order->getCreatedAt();
217
  $result['info']['updated_at'] = $order->getUpdatedAt();
218
 
 
 
 
 
 
 
 
 
 
219
  $shipping = $order->getShippingAddress();
220
  if ($shipping) {
221
  $result['shipping_address']['firstname'] = $shipping->getFirstname();
@@ -228,7 +273,7 @@ class Listrak_Remarketing_Model_Apiextension_Api
228
  $result['shipping_address']['country'] = $shipping->getCountry();
229
  }
230
 
231
- $billing = $order->getbillingAddress();
232
  if ($billing) {
233
  $result['billing_address']['firstname'] = $billing->getFirstname();
234
  $result['billing_address']['lastname'] = $billing->getLastname();
@@ -240,19 +285,19 @@ class Listrak_Remarketing_Model_Apiextension_Api
240
  $result['billing_address']['country'] = $billing->getCountry();
241
  }
242
 
243
- $result['session'] = Mage::getModel("listrak/session")->load($order->getQuoteId(), 'quote_id');
 
 
244
 
245
  $result['product'] = array();
246
- foreach ($order->getAllItems() as $item) {
247
- if ($item->getParentItem()) {
248
- continue;
249
- }
250
- $result['product'][] = $this->_getOrderItemProductEntity($item, $storeId);
251
  }
 
252
  if ($order->getCustomerId()) {
253
  $customer = Mage::getModel("customer/customer")->load($order->getCustomerId());
254
  if ($customer) {
255
- $result['customer'] = $this->_getCustomerArray($customer);
256
  }
257
  }
258
 
@@ -265,44 +310,121 @@ class Listrak_Remarketing_Model_Apiextension_Api
265
  }
266
  }
267
 
268
- private function _getOrderItemProductEntity($item, $storeId)
269
  {
270
- $productModel = Mage::getModel('catalog/product')->load($item->getProductId());
271
- $productType = $productModel->getTypeId();
272
- $childrenItems = $item->getChildrenItems();
273
- $childrenItemsCount = count($childrenItems);
274
- if (Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE == $productType && $childrenItemsCount > 0) {
275
- $productModel = Mage::getModel('catalog/product')->load($childrenItems[0]->getProductId());
276
- }
277
  $product = array();
278
- if ($productModel != null) {
279
  $product['sku'] = $productModel->getSku();
280
  $product['name'] = $productModel->getName();
281
  $product['product_price'] = $productModel->getPrice();
 
 
 
 
 
 
 
282
  } else {
283
  $product['sku'] = $item->getProductOptionByCode('simple_sku')
284
  ? $item->getProductOptionByCode('simple_sku') : $item->getSku();
285
  $product['name'] = $item->getName();
286
  }
 
287
  $product['price'] = $item->getPrice();
288
  $product['qty_ordered'] = $item->getQtyOrdered();
289
- if (Mage_Catalog_Model_Product_Type::TYPE_BUNDLE == $productType && $childrenItemsCount > 0) {
 
 
 
 
 
 
 
 
 
 
290
  $product['bundle_items'] = array();
291
- foreach ($childrenItems as $childItem) {
292
- $product['bundle_items'][] = $this->_getOrderItemProductEntity($childItem, $storeId);
293
  }
294
  }
 
295
  return $product;
296
  }
297
 
298
- public function info()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
299
  {
 
 
300
  try {
301
  $result = array();
302
  $result["magentoVersion"] = Mage::getVersion();
 
 
 
 
 
 
 
 
 
 
 
 
 
303
  $result["listrakSettings"] = array(
304
- "coreEnabled" => Mage::helper('remarketing')->coreEnabled() ? "true" : "false",
305
- "reviewsApiEnabled" => Mage::helper('remarketing')->reviewsEnabled() ? "true" : "false"
 
 
 
 
 
 
 
 
306
  );
307
  $result["ini"] = array();
308
 
@@ -315,25 +437,31 @@ class Listrak_Remarketing_Model_Apiextension_Api
315
  get_class($productModel) . ',' . get_class($productModel->getCollection());
316
 
317
  $ra = Mage::getSingleton('core/resource')->getConnection('core_read');
318
- $countQueryText = "select count(*) as c from " .
319
- Mage::getModel("listrak/session")->getResource()->getTable("listrak/session");
320
- $numSessions = $ra->fetchRow($countQueryText);
321
  $countQueryText = "select count(*) as c from " .
322
  Mage::getModel("listrak/subscriberupdate")->getResource()->getTable("listrak/subscriber_update");
323
  $numSubUpdates = $ra->fetchRow($countQueryText);
324
- $countQueryText = "select count(*) as c from " .
325
- Mage::getModel("listrak/click")->getResource()->getTable("listrak/click");
326
- $numClicks = $ra->fetchRow($countQueryText);
327
-
328
- $result["counts"] = $numSessions['c'] . ',' . $numSubUpdates['c'] . ',' . $numClicks['c'];
 
 
 
 
 
 
 
 
 
329
 
330
  $result["modules"] = array();
331
  $modules = (array)Mage::getConfig()->getNode('modules')->children();
332
 
333
  foreach ($modules as $key => $value) {
334
  $valueArray = $value->asCanonicalArray();
335
- $active = (isset($valueArray["version"])) ? $valueArray["version"] : '';
336
- $version = (isset($valueArray["active"])) ? $valueArray["active"] : '';
337
  $result["modules"][] = "name=$key, version=" . $version .", isActive=" . $active;
338
  }
339
 
19
  'order' => array('order_id' => 'entity_id')
20
  );
21
 
22
+ public function subscribers($storeId = 1, $startDate = null, $perPage = 50, $page = 1)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  {
24
+ Mage::app()->setCurrentStore($storeId);
25
  Mage::helper('remarketing')->requireCoreEnabled();
26
 
27
  try {
71
 
72
  public function customers($storeId = 1, $websiteId = 1, $perPage = 50, $page = 1)
73
  {
74
+ Mage::app()->setCurrentStore($storeId);
75
  Mage::helper('remarketing')->requireCoreEnabled();
76
 
77
  try {
 
 
78
  $collection = Mage::getModel('customer/customer')->getCollection()
79
  ->addFieldToFilter('store_id', $storeId)
80
  ->addAttributeToSelect('*')
84
  $results = array();
85
 
86
  foreach ($collection as $customer) {
87
+ $results[] = $this->_getCustomerArray($storeId, $customer);
88
  }
89
 
90
  return $results;
93
  }
94
  }
95
 
96
+ private function _getCustomerArray($storeId, Mage_Customer_Model_Customer $customer)
97
  {
98
  $fields = array('entity_id' => '', 'firstname' => '', 'lastname' => '',
99
  'email' => '', 'website_id' => '', 'store_id' => '', 'group_id' => '',
100
  'gender_name' => '', 'dob' => '', 'group_name' => '');
101
  Mage::helper('remarketing')->setGroupNameAndGenderNameForCustomer($customer);
102
+ $result = array_intersect_key($customer->toArray(), $fields);
103
+
104
+ $metas = $this->_getCustomerMetas($storeId, $customer);
105
+ if ($metas) {
106
+ //if (isset($metas['meta1'])) $result['meta1'] = $metas['meta1'];
107
+ if (isset($metas['meta2'])) $result['meta2'] = $metas['meta2'];
108
+ if (isset($metas['meta3'])) $result['meta3'] = $metas['meta3'];
109
+ if (isset($metas['meta4'])) $result['meta4'] = $metas['meta4'];
110
+ if (isset($metas['meta5'])) $result['meta5'] = $metas['meta5'];
111
+ }
112
+
113
+ return $result;
114
  }
115
 
116
  public function orderStatus($storeId = 1, $startDate = null, $endDate = null,
117
  $perPage = 50, $page = 1, $filters = null
118
  )
119
  {
120
+ Mage::app()->setCurrentStore($storeId);
121
  Mage::helper('remarketing')->requireCoreEnabled();
122
 
123
  try {
124
+ $productsUpdated = array();
125
+
126
  $collection = Mage::getModel("sales/order")->getCollection()
127
  ->addFieldToFilter('store_id', $storeId)
 
 
 
128
  ->addFieldToFilter('updated_at', array('from' => $startDate, 'to' => $endDate))
129
  ->addFieldToFilter('status', array('neq' => 'pending'))
130
  ->setPageSize($perPage)->setCurPage($page)
131
  ->setOrder('updated_at', 'ASC');
132
 
133
+ if (!Mage::helper('remarketing')->getMetaDataProvider())
134
+ $collection->addAttributeToSelect('entity_id')
135
+ ->addAttributeToSelect('increment_id')
136
+ ->addAttributeToSelect('status')
137
+ ->addAttributeToSelect('updated_at');
138
+
139
  if (is_array($filters)) {
140
  try {
141
  foreach ($filters as $field => $value) {
152
 
153
  $results = array();
154
 
155
+ foreach ($collection as $order) {
156
+ $result = array();
157
+ $result['increment_id'] = $order->getIncrementId();
158
+ $result['status'] = $order->getStatus();
159
+ $result['updated_at'] = $order->getUpdatedAt();
160
+
161
+ $metas = $this->_getOrderMetas($storeId, $order);
162
+ if ($metas) {
163
+ if (isset($metas['meta1'])) $result['meta1'] = $metas['meta1'];
164
+ if (isset($metas['meta2'])) $result['meta2'] = $metas['meta2'];
165
+ if (isset($metas['meta3'])) $result['meta3'] = $metas['meta3'];
166
+ if (isset($metas['meta4'])) $result['meta4'] = $metas['meta4'];
167
+ if (isset($metas['meta5'])) $result['meta5'] = $metas['meta5'];
168
+ }
169
+
170
+ $shipment = $order->getShipmentsCollection()->getFirstItem();
171
+ if ($shipment) {
172
+ $tracks = $shipment->getAllTracks();
173
+ if (count($tracks) > 0) {
174
+ $result['tracking_number'] = $tracks[0]->getNumber();
175
+ $result['carrier_code'] = $tracks[0]->getCarrierCode();
176
+ }
177
+ }
178
+
179
+ $quantities = array();
180
+ foreach($order->getAllVisibleItems() as $item) {
181
+ $info = Mage::helper('remarketing/product')
182
+ ->getProductInformationFromOrderItem($item, array('product'));
183
+
184
+ if (!in_array($info->getProductId(), $productsUpdated, true)) {
185
+ $product = Mage::getModel('catalog/product')->load($info->getProductId());
186
+ if ($product) {
187
+ $quantity = array();
188
+
189
+ $quantity['sku'] = $product->getSku();
190
+ $quantity['in_stock'] = $product->isAvailable() ? "true" : "false";
191
+ $stockItem = $product->getStockItem();
192
+ if ($stockItem) {
193
+ $quantity['qty_on_hand'] = $stockItem->getStockQty();
194
+ }
195
+
196
+ $quantities[] = $quantity;
197
+ }
198
+
199
+ $productsUpdated[] = $info->getProductId();
200
+ }
201
+ }
202
+ $result['quantities'] = $quantities;
203
+
204
+ $results[] = $result;
205
  }
206
 
207
  return $results;
214
  $perPage = 50, $page = 1
215
  )
216
  {
217
+ Mage::app()->setCurrentStore($storeId);
218
  Mage::helper('remarketing')->requireCoreEnabled();
219
 
220
  try {
 
 
221
  if ($startDate === null || !strtotime($startDate)) {
222
  $this->_fault('incorrect_date');
223
  }
243
  $result['info']['customer_lastname'] = $order->getCustomerLastname();
244
  $result['info']['customer_email'] = $order->getCustomerEmail();
245
  $result['info']['subtotal'] = $order->getSubtotal();
246
+ $result['info']['discount_amount'] = $order->getDiscountAmount();
247
  $result['info']['tax_amount'] = $order->getTaxAmount();
248
  $result['info']['shipping_amount'] = $order->getShippingAmount();
249
  $result['info']['grand_total'] = $order->getGrandTotal();
250
+ $result['info']['coupon_code'] = $order->getCouponCode();
251
  $result['info']['billing_firstname'] = $order->getBillingFirstname();
252
  $result['info']['created_at'] = $order->getCreatedAt();
253
  $result['info']['updated_at'] = $order->getUpdatedAt();
254
 
255
+ $metas = $this->_getOrderMetas($storeId, $order);
256
+ if ($metas) {
257
+ if (isset($metas['meta1'])) $result['info']['meta1'] = $metas['meta1'];
258
+ if (isset($metas['meta2'])) $result['info']['meta2'] = $metas['meta2'];
259
+ if (isset($metas['meta3'])) $result['info']['meta3'] = $metas['meta3'];
260
+ if (isset($metas['meta4'])) $result['info']['meta4'] = $metas['meta4'];
261
+ if (isset($metas['meta5'])) $result['info']['meta5'] = $metas['meta5'];
262
+ }
263
+
264
  $shipping = $order->getShippingAddress();
265
  if ($shipping) {
266
  $result['shipping_address']['firstname'] = $shipping->getFirstname();
273
  $result['shipping_address']['country'] = $shipping->getCountry();
274
  }
275
 
276
+ $billing = $order->getBillingAddress();
277
  if ($billing) {
278
  $result['billing_address']['firstname'] = $billing->getFirstname();
279
  $result['billing_address']['lastname'] = $billing->getLastname();
285
  $result['billing_address']['country'] = $billing->getCountry();
286
  }
287
 
288
+ if (Mage::helper('remarketing')->trackingTablesExist()) {
289
+ $result['session'] = Mage::getModel("listrak/session")->load($order->getQuoteId(), 'quote_id');
290
+ }
291
 
292
  $result['product'] = array();
293
+ foreach ($order->getAllVisibleItems() as $item) {
294
+ $result['product'][] = $this->_getOrderItemProductEntity($storeId, $order, $item);
 
 
 
295
  }
296
+
297
  if ($order->getCustomerId()) {
298
  $customer = Mage::getModel("customer/customer")->load($order->getCustomerId());
299
  if ($customer) {
300
+ $result['customer'] = $this->_getCustomerArray($storeId, $customer);
301
  }
302
  }
303
 
310
  }
311
  }
312
 
313
+ private function _getOrderItemProductEntity($storeId, Mage_Sales_Model_Order $order, Mage_Sales_Model_Order_Item $item)
314
  {
315
+ $info = Mage::helper('remarketing/product')->getProductInformationFromOrderItem($item, array('product'));
316
+ $productModel = $info->getProduct();
317
+
 
 
 
 
318
  $product = array();
319
+ if ($productModel && $productModel->getId()) {
320
  $product['sku'] = $productModel->getSku();
321
  $product['name'] = $productModel->getName();
322
  $product['product_price'] = $productModel->getPrice();
323
+
324
+ // Inventory
325
+ $product['in_stock'] = $productModel->isAvailable() ? "true" : "false";
326
+ $stockItem = $productModel->getStockItem();
327
+ if ($stockItem) {
328
+ $product['qty_on_hand'] = $stockItem->getStockQty();
329
+ }
330
  } else {
331
  $product['sku'] = $item->getProductOptionByCode('simple_sku')
332
  ? $item->getProductOptionByCode('simple_sku') : $item->getSku();
333
  $product['name'] = $item->getName();
334
  }
335
+
336
  $product['price'] = $item->getPrice();
337
  $product['qty_ordered'] = $item->getQtyOrdered();
338
+
339
+ $metas = $this->_getOrderItemMetas($storeId, $order, $item, $info->getProduct());
340
+ if ($metas) {
341
+ if (isset($metas['meta1'])) $product['meta1'] = $metas['meta1'];
342
+ if (isset($metas['meta2'])) $product['meta2'] = $metas['meta2'];
343
+ if (isset($metas['meta3'])) $product['meta3'] = $metas['meta3'];
344
+ if (isset($metas['meta4'])) $product['meta4'] = $metas['meta4'];
345
+ if (isset($metas['meta5'])) $product['meta5'] = $metas['meta5'];
346
+ }
347
+
348
+ if ($info->getIsBundle()) {
349
  $product['bundle_items'] = array();
350
+ foreach ($item->getChildrenItems() as $childItem) {
351
+ $product['bundle_items'][] = $this->_getOrderItemProductEntity($storeId, $order, $childItem);
352
  }
353
  }
354
+
355
  return $product;
356
  }
357
 
358
+ private function _getCustomerMetas($storeId, Mage_Customer_Model_Customer $customer) {
359
+ try {
360
+ $provider = Mage::helper('remarketing')->getMetaDataProvider();
361
+ if ($provider)
362
+ return $provider->customer($storeId, $customer);
363
+ }
364
+ catch(Exception $e) {
365
+ Mage::helper('remarketing')->generateAndLogException('Error retrieving customer meta data.', $e);
366
+ }
367
+
368
+ return null;
369
+ }
370
+
371
+ private function _getOrderMetas($storeId, Mage_Sales_Model_Order $order) {
372
+ try {
373
+ $provider = Mage::helper('remarketing')->getMetaDataProvider();
374
+ if ($provider)
375
+ return $provider->order($storeId, $order);
376
+ }
377
+ catch(Exception $e) {
378
+ Mage::helper('remarketing')->generateAndLogException('Error retrieving order meta data.', $e);
379
+ }
380
+
381
+ return null;
382
+ }
383
+
384
+ private function _getOrderItemMetas($storeId, Mage_Sales_Model_Order $order, Mage_Sales_Model_Order_Item $orderItem, Mage_Catalog_Model_Product $product = null) {
385
+ try {
386
+ $provider = Mage::helper('remarketing')->getMetaDataProvider();
387
+ if ($provider)
388
+ return $provider->orderItem($storeId, $order, $orderItem, $product);
389
+ }
390
+ catch(Exception $e) {
391
+ Mage::helper('remarketing')->generateAndLogException('Error retrieving order item meta data.', $e);
392
+ }
393
+
394
+ return null;
395
+ }
396
+
397
+ public function info($storeId)
398
  {
399
+ Mage::app()->setCurrentStore($storeId);
400
+
401
  try {
402
  $result = array();
403
  $result["magentoVersion"] = Mage::getVersion();
404
+
405
+ $module = Mage::getConfig()->getNode('modules')->Listrak_Remarketing;
406
+ $core_resource = Mage::getModel('core/resource_resource');
407
+
408
+ $result['listrakExtension']['active'] = (string)$module->active;
409
+ $result['listrakExtension']['output'] = Mage::getStoreConfig("advanced/modules_disable_output/Listrak_Remarketing") == '0' ? 'true' : 'false';
410
+ $result['listrakExtension']['version'] = (string)$module->version;
411
+ if ($core_resource) {
412
+ $result['listrakExtension']['install_version'] = $core_resource->getDbVersion('listrak_remarketing_setup');
413
+ $result['listrakExtension']['data_version'] = $core_resource->getDataVersion('listrak_remarketing_setup');
414
+ }
415
+
416
+ $helper = Mage::helper('remarketing');
417
  $result["listrakSettings"] = array(
418
+ "coreEnabled" => $helper->coreEnabled() ? "true" : "false",
419
+ "onescriptEnabled" => $helper->onescriptEnabled() ? "true" : "false",
420
+ "onescriptReady" => $helper->onescriptReady() ? "true" : "false",
421
+ "trackingID" => Mage::getStoreConfig('remarketing/modal/listrakMerchantID'),
422
+ "scaEnabled" => $helper->scaEnabled() ? "true" : "false",
423
+ "activityEnabled" => $helper->activityEnabled() ? "true" : "false",
424
+ "reviewsApiEnabled" => $helper->reviewsEnabled() ? "true" : "false",
425
+ "trackingTablesExist" => $helper->trackingTablesExist() ? "true" : "false",
426
+ "skipCategoriesText" => Mage::getStoreConfig('remarketing/productcategories/categories_skip'),
427
+ "skipCategories" => implode(",", $helper->getCategoriesToSkip())
428
  );
429
  $result["ini"] = array();
430
 
437
  get_class($productModel) . ',' . get_class($productModel->getCollection());
438
 
439
  $ra = Mage::getSingleton('core/resource')->getConnection('core_read');
 
 
 
440
  $countQueryText = "select count(*) as c from " .
441
  Mage::getModel("listrak/subscriberupdate")->getResource()->getTable("listrak/subscriber_update");
442
  $numSubUpdates = $ra->fetchRow($countQueryText);
443
+
444
+ if ($helper->trackingTablesExist()) {
445
+ $countQueryText = "select count(*) as c from " .
446
+ Mage::getModel("listrak/session")->getResource()->getTable("listrak/session");
447
+ $numSessions = $ra->fetchRow($countQueryText);
448
+ $countQueryText = "select count(*) as c from " .
449
+ Mage::getModel("listrak/click")->getResource()->getTable("listrak/click");
450
+ $numClicks = $ra->fetchRow($countQueryText);
451
+
452
+ $result["counts"] = $numSessions['c'] . ',' . $numSubUpdates['c'] . ',' . $numClicks['c'];
453
+ }
454
+ else {
455
+ $result["counts"] = $numSubUpdates['c'];
456
+ }
457
 
458
  $result["modules"] = array();
459
  $modules = (array)Mage::getConfig()->getNode('modules')->children();
460
 
461
  foreach ($modules as $key => $value) {
462
  $valueArray = $value->asCanonicalArray();
463
+ $version = (isset($valueArray["version"])) ? $valueArray["version"] : '';
464
+ $active = (isset($valueArray["active"])) ? $valueArray["active"] : '';
465
  $result["modules"][] = "name=$key, version=" . $version .", isActive=" . $active;
466
  }
467
 
app/code/community/Listrak/Remarketing/Model/Cache/Sca.php ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Model_Cache_Sca extends Enterprise_PageCache_Model_Container_Abstract
16
+ {
17
+ private $_cartCookieValue = null;
18
+ private $_saveBlock = false;
19
+
20
+ protected function _getCacheId()
21
+ {
22
+ if (!$this->_cartCookieValue)
23
+ $this->_cartCookieValue = $this->_getCookieValue('mltkc');
24
+
25
+ if (!$this->_cartCookieValue)
26
+ $this->_cartCookieValue = 'AJAX';
27
+
28
+ return md5('REMARKETING_SCA_' . $this->_cartCookieValue);
29
+ }
30
+
31
+ protected function _renderBlock()
32
+ {
33
+ $block = $this->_placeholder->getAttribute('block');
34
+ $block = new $block;
35
+ $block->setFullPageRendering(true);
36
+
37
+ if ($block->canRender()) {
38
+ $block->setTemplate($this->_placeholder->getAttribute('template'));
39
+
40
+ if (Mage::helper('remarketing')->ajaxTracking()) {
41
+ $this->_cartCookieValue = 'AJAX';
42
+ $this->_saveBlock = true;
43
+ }
44
+
45
+ return $block->toHtml();
46
+ }
47
+ else {
48
+ $this->_saveBlock = true;
49
+ if (!$this->_cartCookieValue)
50
+ $this->_cartCookieValue = Mage::helper('remarketing')->initCartCookie();
51
+
52
+ return "";
53
+ }
54
+ }
55
+
56
+ protected function _saveCache($data, $id, $tags = array(), $lifetime = null)
57
+ {
58
+ return $this->_saveBlock ? parent::_saveCache($data, $id, $tags, $lifetime) : false;
59
+ }
60
+ }
app/code/community/Listrak/Remarketing/Model/Click/Api.php CHANGED
@@ -20,8 +20,11 @@ class Listrak_Remarketing_Model_Click_Api
20
  $perPage = 50, $page = 1
21
  )
22
  {
 
23
  Mage::helper('remarketing')->requireCoreEnabled();
24
 
 
 
25
  try {
26
  if ($startDate === null || !strtotime($startDate)) {
27
  $this->_fault('incorrect_date');
@@ -51,6 +54,8 @@ class Listrak_Remarketing_Model_Click_Api
51
 
52
  public function purge($storeId = 1, $endDate = null)
53
  {
 
 
54
  try {
55
  if ($endDate === null || !strtotime($endDate)) {
56
  $this->_fault('incorrect_date');
20
  $perPage = 50, $page = 1
21
  )
22
  {
23
+ Mage::app()->setCurrentStore($storeId);
24
  Mage::helper('remarketing')->requireCoreEnabled();
25
 
26
+ Mage::helper('remarketing')->requireClickTrackingTable();
27
+
28
  try {
29
  if ($startDate === null || !strtotime($startDate)) {
30
  $this->_fault('incorrect_date');
54
 
55
  public function purge($storeId = 1, $endDate = null)
56
  {
57
+ Mage::helper('remarketing')->requireClickTrackingTable();
58
+
59
  try {
60
  if ($endDate === null || !strtotime($endDate)) {
61
  $this->_fault('incorrect_date');
app/code/community/Listrak/Remarketing/Model/Mysql4/Abandonedcart.php CHANGED
@@ -48,22 +48,19 @@ class Listrak_Remarketing_Model_Mysql4_Abandonedcart
48
 
49
  private function _getCartProductEntity($item, $storeId)
50
  {
51
- $productModel = Mage::getModel('catalog/product')->load($item->getProductId());
52
- $productType = $productModel->getTypeId();
53
- $children = $item->getChildren();
54
- $childrenCount = count($children);
55
- if (Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE == $productType && $childrenCount > 0) {
56
- $productModel = Mage::getModel('catalog/product')->load($children[0]->getProductId());
57
- }
58
- $product = Mage::helper('remarketing/product')->getProductEntity($productModel, $storeId, false, false, false);
59
  $product["qty"] = $item->getQty();
60
  $product["price"] = $item->getCalculationPrice();
61
- if (Mage_Catalog_Model_Product_Type::TYPE_BUNDLE == $productType && $childrenCount > 0) {
 
62
  $product['bundle_items'] = array();
63
- foreach ($children as $child) {
64
  $product['bundle_items'][] = $this->_getCartProductEntity($child, $storeId);
65
  }
66
  }
 
67
  return $product;
68
  }
69
 
48
 
49
  private function _getCartProductEntity($item, $storeId)
50
  {
51
+ $info = Mage::helper('remarketing/product')->getProductInformationFromQuoteItem($item, array('product'));
52
+
53
+ $product = Mage::helper('remarketing/product')->getProductEntity($info->getProduct(), $storeId, false);
 
 
 
 
 
54
  $product["qty"] = $item->getQty();
55
  $product["price"] = $item->getCalculationPrice();
56
+
57
+ if ($info->getIsBundle()) {
58
  $product['bundle_items'] = array();
59
+ foreach ($item->getChildren() as $child) {
60
  $product['bundle_items'][] = $this->_getCartProductEntity($child, $storeId);
61
  }
62
  }
63
+
64
  return $product;
65
  }
66
 
app/code/community/Listrak/Remarketing/Model/Observer.php CHANGED
@@ -14,19 +14,18 @@
14
 
15
  class Listrak_Remarketing_Model_Observer
16
  {
17
-
18
- public function sessionInit($observer)
19
  {
20
- if (Mage::helper('remarketing')->coreEnabled()) {
21
- try {
22
  $session = Mage::getSingleton('listrak/session');
23
  $session->init(true);
24
 
25
  $click = Mage::getModel('listrak/click');
26
  $click->checkForClick();
27
- } catch (Exception $ex) {
28
- Mage::getModel("listrak/log")->addException($ex);
29
  }
 
 
30
  }
31
 
32
  return $this;
@@ -34,15 +33,15 @@ class Listrak_Remarketing_Model_Observer
34
 
35
  public function orderPlaced($observer)
36
  {
37
- if (Mage::helper('remarketing')->coreEnabled()) {
38
- try {
39
  $cs = Mage::getSingleton('core/session');
40
  $cs->setIsListrakOrderMade(true);
41
  $session = Mage::getSingleton('listrak/session');
42
  $session->init();
43
- } catch (Exception $ex) {
44
- Mage::getModel("listrak/log")->addException($ex);
45
  }
 
 
46
  }
47
 
48
  return $this;
@@ -50,8 +49,8 @@ class Listrak_Remarketing_Model_Observer
50
 
51
  public function subscriberSaved($observer)
52
  {
53
- if (Mage::helper('remarketing')->coreEnabled()) {
54
- try {
55
  $s = $observer->getSubscriber();
56
  $su = Mage::getModel("listrak/subscriberupdate")->load($s->getSubscriberId(), 'subscriber_id');
57
 
@@ -61,9 +60,9 @@ class Listrak_Remarketing_Model_Observer
61
 
62
  $su->setUpdatedAt(gmdate('Y-m-d H:i:s'));
63
  $su->save();
64
- } catch (Exception $ex) {
65
- Mage::getModel("listrak/log")->addException($ex);
66
  }
 
 
67
  }
68
 
69
  return $this;
@@ -71,15 +70,15 @@ class Listrak_Remarketing_Model_Observer
71
 
72
  public function reviewUpdated($observer)
73
  {
74
- if (Mage::helper('remarketing')->reviewsEnabled()) {
75
- try {
76
  $review = $observer->getObject();
77
 
78
  Mage::getModel('listrak/review_update')
79
  ->markUpdated($review->getReviewId(), $review->getEntityId(), $review->getEntityPkValue());
80
- } catch (Exception $ex) {
81
- Mage::getModel("listrak/log")->addException($ex);
82
  }
 
 
83
  }
84
 
85
  return $this;
@@ -87,17 +86,34 @@ class Listrak_Remarketing_Model_Observer
87
 
88
  public function reviewDeleted($observer)
89
  {
90
- if (Mage::helper('remarketing')->reviewsEnabled()) {
91
- try {
92
  $review = $observer->getObject();
93
 
94
  Mage::getModel('listrak/review_update')
95
  ->markDeleted($review->getReviewId(), $review->getEntityId(), $review->getEntityPkValue());
96
- } catch (Exception $ex) {
97
- Mage::getModel('listrak/log')->addException($ex);
98
  }
 
 
99
  }
100
 
101
  return $this;
102
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  }
14
 
15
  class Listrak_Remarketing_Model_Observer
16
  {
17
+ public function trackingInit($observer)
 
18
  {
19
+ try {
20
+ if (Mage::helper('remarketing')->legacyTracking()) {
21
  $session = Mage::getSingleton('listrak/session');
22
  $session->init(true);
23
 
24
  $click = Mage::getModel('listrak/click');
25
  $click->checkForClick();
 
 
26
  }
27
+ } catch (Exception $ex) {
28
+ Mage::getModel("listrak/log")->addException($ex);
29
  }
30
 
31
  return $this;
33
 
34
  public function orderPlaced($observer)
35
  {
36
+ try {
37
+ if (Mage::helper('remarketing')->legacyTracking()) {
38
  $cs = Mage::getSingleton('core/session');
39
  $cs->setIsListrakOrderMade(true);
40
  $session = Mage::getSingleton('listrak/session');
41
  $session->init();
 
 
42
  }
43
+ } catch (Exception $ex) {
44
+ Mage::getModel("listrak/log")->addException($ex);
45
  }
46
 
47
  return $this;
49
 
50
  public function subscriberSaved($observer)
51
  {
52
+ try {
53
+ if (Mage::helper('remarketing')->coreEnabled()) {
54
  $s = $observer->getSubscriber();
55
  $su = Mage::getModel("listrak/subscriberupdate")->load($s->getSubscriberId(), 'subscriber_id');
56
 
60
 
61
  $su->setUpdatedAt(gmdate('Y-m-d H:i:s'));
62
  $su->save();
 
 
63
  }
64
+ } catch (Exception $ex) {
65
+ Mage::getModel("listrak/log")->addException($ex);
66
  }
67
 
68
  return $this;
70
 
71
  public function reviewUpdated($observer)
72
  {
73
+ try {
74
+ if (Mage::helper('remarketing')->reviewsEnabled()) {
75
  $review = $observer->getObject();
76
 
77
  Mage::getModel('listrak/review_update')
78
  ->markUpdated($review->getReviewId(), $review->getEntityId(), $review->getEntityPkValue());
 
 
79
  }
80
+ } catch (Exception $e) {
81
+ Mage::getModel("listrak/log")->addException($e);
82
  }
83
 
84
  return $this;
86
 
87
  public function reviewDeleted($observer)
88
  {
89
+ try {
90
+ if (Mage::helper('remarketing')->reviewsEnabled()) {
91
  $review = $observer->getObject();
92
 
93
  Mage::getModel('listrak/review_update')
94
  ->markDeleted($review->getReviewId(), $review->getEntityId(), $review->getEntityPkValue());
 
 
95
  }
96
+ } catch (Exception $e) {
97
+ Mage::getModel('listrak/log')->addException($e);
98
  }
99
 
100
  return $this;
101
  }
102
+
103
+ public function cartModified($observer) {
104
+ try {
105
+ if (Mage::helper('remarketing')->scaEnabled()) {
106
+ Mage::getSingleton('checkout/session')->setListrakCartModified(true);
107
+ Mage::helper('remarketing')->initCartCookie();
108
+ }
109
+ } catch(Exception $e) {
110
+ Mage::getModel('listrak/log')->addException($e);
111
+ }
112
+
113
+ return $this;
114
+ }
115
+
116
+ public function resetCustomerTracking() {
117
+ Mage::getSingleton('customer/session')->unsListrakCustomerTracked();
118
+ }
119
  }
app/code/community/Listrak/Remarketing/Model/Product/Api.php ADDED
@@ -0,0 +1,153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Model_Product_Api
16
+ extends Mage_Api_Model_Resource_Abstract
17
+ {
18
+ public function products($storeId = 1, $perPage = 50, $page = 1)
19
+ {
20
+ Mage::app()->setCurrentStore($storeId);
21
+ Mage::helper('remarketing')->requireCoreEnabled();
22
+
23
+ if (!is_numeric($storeId) || !is_numeric($perPage) || !is_numeric($page))
24
+ throw new Exception("Bad request parameters.");
25
+
26
+ try {
27
+ $collection = Mage::getModel('catalog/product')->getCollection()
28
+ ->addStoreFilter($storeId)
29
+ ->addAttributeToSelect('*');
30
+
31
+ if ($collection->isEnabledFlat()) {
32
+ $collection
33
+ ->joinAttribute('description', 'catalog_product/description', 'entity_id', null, 'left')
34
+ ->addAttributeToSelect('description')
35
+ ->joinAttribute('image', 'catalog_product/image', 'entity_id', null, 'left')
36
+ ->addAttributeToSelect('image');
37
+ }
38
+
39
+ $collection->setPageSize($perPage)
40
+ ->setCurPage($page)
41
+ ->load();
42
+
43
+ Mage::getModel('cataloginventory/stock')->addItemsToProducts($collection);
44
+
45
+ $results = array();
46
+
47
+ foreach ($collection as $product) {
48
+ $results[] = Mage::helper('remarketing/product')->getProductEntity($product, $storeId);
49
+ }
50
+
51
+ return $results;
52
+ } catch (Exception $e) {
53
+ throw Mage::helper('remarketing')->generateAndLogException("Exception occurred in API call: " . $e->getMessage(), $e);
54
+ }
55
+ }
56
+
57
+ public function updates($storeId = 1, $startDate = null, $endDate = null, $perPage = 50, $page = 1)
58
+ {
59
+ Mage::app()->setCurrentStore($storeId);
60
+ Mage::helper('remarketing')->requireCoreEnabled();
61
+
62
+ $dte1 = strtotime($startDate);
63
+ $dte2 = strtotime($endDate);
64
+ if (!is_numeric($storeId) || !$dte1 || !$dte2 || !is_numeric($perPage) || !is_numeric($page))
65
+ throw new Exception("Bad request parameters.");
66
+
67
+ try {
68
+ $collection = Mage::getModel('catalog/product')->getCollection()
69
+ ->addStoreFilter($storeId)
70
+ ->addAttributeToSelect('*')
71
+ ->addAttributeToFilter('updated_at', array('from' => $dte1, 'to' => $dte2, 'date' => true))
72
+ ->setPageSize($perPage)
73
+ ->setCurPage($page);
74
+ $collection->getSelect()
75
+ ->order(array('e.updated_at ASC', 'e.entity_id ASC'));
76
+ $collection->load();
77
+
78
+ Mage::getModel('cataloginventory/stock')->addItemsToProducts($collection);
79
+
80
+ $results = array();
81
+
82
+ foreach ($collection as $product) {
83
+ $result = Mage::helper('remarketing/product')->getProductEntity($product, $storeId);
84
+ $result['updated_at'] = $product->getUpdatedAt();
85
+ $results[] = $result;
86
+ }
87
+
88
+ return $results;
89
+ } catch (Exception $e) {
90
+ throw Mage::helper('remarketing')->generateAndLogException("Exception occurred in API call: " . $e->getMessage(), $e);
91
+ }
92
+ }
93
+
94
+ public function purchasable($storeId = 1, $perPage = 50, $page = 1)
95
+ {
96
+ Mage::app()->setCurrentStore($storeId);
97
+ Mage::helper('remarketing')->requireCoreEnabled();
98
+
99
+ $collection = Mage::getModel('catalog/product')->getCollection()
100
+ ->addStoreFilter($storeId)
101
+ ->addAttributeToSelect('visibility', 'left')
102
+ ->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED);
103
+
104
+ $purchasableFilter = Mage::getSingleton('listrak/product_purchasable_visibility')->getVisibilityFilterFromSetting(Mage::getStoreConfig('remarketing/productcategories/purchasable_visibility'));
105
+ if ($purchasableFilter) {
106
+ $dbRead = Mage::getSingleton('core/resource')->getConnection('core_read');
107
+
108
+ // reset columns if the flat product table is used
109
+ $resetColumns = Mage::helper('catalog/category_flat')->isEnabled();
110
+
111
+ $productToParentQuery = $dbRead->select()
112
+ ->from(Mage::getResourceSingleton('catalog/product_type_configurable')->getMainTable(), array('product_id', 'parent_id'))
113
+ ->group('product_id');
114
+
115
+ $parentCollection = Mage::getModel('catalog/product')->getCollection()
116
+ ->addStoreFilter($storeId)
117
+ ->addAttributeToSelect('visibility', 'left')
118
+ ->addAttributeToSelect('status', 'inner');
119
+
120
+ return $this->_retrievePurchasablePage(
121
+ $this->_purchasableQueryHelper($dbRead, $collection, $productToParentQuery, $parentCollection, $purchasableFilter, $resetColumns),
122
+ $page, $perPage
123
+ );
124
+ }
125
+ else {
126
+ $query = $collection->getSelect();
127
+ $query->reset(Zend_Db_Select::COLUMNS)
128
+ ->columns(array('e.entity_id', 'e.sku'));
129
+ return $this->_retrievePurchasablePage($query, $page, $perPage);
130
+ }
131
+ }
132
+
133
+ private function _purchasableQueryHelper($dbRead, $productCollection, $productToParentQuery, $parentCollection, $purchasableFilter, $resetColumns) {
134
+ $productQuery = $productCollection->getSelect();
135
+ if ($resetColumns) {
136
+ $productQuery->reset(Zend_Db_Select::COLUMNS)->columns(array('e.entity_id', 'e.sku', 'e.attribute_set_id', 'e.type_id', 'e.visibility'));
137
+ }
138
+
139
+ $query = $dbRead->select();
140
+ $query->from(array('product' => new Zend_Db_Expr("({$productQuery})")), array('entity_id', 'sku'))
141
+ ->joinLeft(array('product_to_parent' => new Zend_Db_Expr("({$productToParentQuery})")), 'product_to_parent.product_id = product.entity_id', array())
142
+ ->joinLeft(array('parent' => new Zend_Db_Expr("({$parentCollection->getSelect()})")), $dbRead->quoteInto('parent.entity_id = product_to_parent.parent_id AND parent.type_id = ?', Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE), array())
143
+ ->where('COALESCE(parent.visibility, product.visibility) IN (?)', $purchasableFilter)
144
+ ->where('parent.status IS NULL OR parent.status = ?', Mage_Catalog_Model_Product_Status::STATUS_ENABLED);
145
+
146
+ return $query;
147
+ }
148
+
149
+ private function _retrievePurchasablePage($query, $page, $perPage) {
150
+ $query->limit($perPage, $perPage * ($page - 1));
151
+ return $query->query()->fetchAll();
152
+ }
153
+ }
app/code/community/Listrak/Remarketing/Model/Product/Api/V2.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Model_Product_Api_V2
16
+ extends Listrak_Remarketing_Model_Product_Api
17
+ {
18
+
19
+ }
app/code/community/Listrak/Remarketing/Model/Product/Purchasable/Visibility.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_Model_Product_Purchasable_Visibility
16
+ {
17
+ public function toOptionArray()
18
+ {
19
+ return array(
20
+ array('value' => 'off', 'label' => 'Do Not Filter'),
21
+ //array('value' => 'no', 'label' => 'Not Visible Individually'),
22
+ array('value' => 'catalog', 'label' => 'Catalog'),
23
+ array('value' => 'search', 'label' => 'Search'),
24
+ array('value' => 'both', 'label' => 'Catalog and Search'),
25
+ array('value' => 'site', 'label' => 'Site (Catalog or Search)')
26
+ );
27
+ }
28
+
29
+ public function isProductPurchasableBySetting($setting, $product) {
30
+ switch($setting) {
31
+ case 'off': return true;
32
+ //case 'no': return $product->getVisibility() == Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE;
33
+ case 'catalog': return $product->isVisibleInCatalog();
34
+ case 'search': return in_array($product->getVisibility(), Mage::getSingleton('catalog/product_visibility')->getVisibleInSearchIds());
35
+ case 'both': return $product->getVisibility() == Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH;
36
+ case 'site': return $product->isVisibleInSiteVisibility();
37
+ default: return true;
38
+ }
39
+ }
40
+
41
+ public function getVisibilityFilterFromSetting($setting) {
42
+ switch($setting) {
43
+ case 'off': return null;
44
+ //case 'no': return Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE;
45
+ case 'catalog': return array('in' => Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds());
46
+ case 'search': return array('in' => Mage::getSingleton('catalog/product_visibility')->getVisibleInSearchIds());
47
+ case 'both': return Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH;
48
+ case 'site': return array('in' => Mage::getSingleton('catalog/product_visibility')->getVisibleInSiteIds());
49
+ default: return null;
50
+ }
51
+ }
52
+ }
53
+
app/code/community/Listrak/Remarketing/Model/Review/Update/Api.php CHANGED
@@ -43,6 +43,7 @@ class Listrak_Remarketing_Model_Review_Update_Api
43
 
44
  public function reviewList($storeId, $chunkSize, $startReviewId)
45
  {
 
46
  Mage::helper('remarketing')->requireReviewsEnabled();
47
 
48
  try {
@@ -66,6 +67,7 @@ class Listrak_Remarketing_Model_Review_Update_Api
66
 
67
  public function reviewUpdateList($storeId, $chunkSize, $startUpdateId)
68
  {
 
69
  Mage::helper('remarketing')->requireReviewsEnabled();
70
 
71
  try {
@@ -152,6 +154,7 @@ class Listrak_Remarketing_Model_Review_Update_Api
152
 
153
  public function ratingSummaryList($storeId, $chunkSize, $startRatingSummaryId)
154
  {
 
155
  Mage::helper('remarketing')->requireReviewsEnabled();
156
 
157
  try {
@@ -174,6 +177,7 @@ class Listrak_Remarketing_Model_Review_Update_Api
174
 
175
  public function ratingSummaryUpdateList($storeId, $chunkSize, $startUpdateId)
176
  {
 
177
  Mage::helper('remarketing')->requireReviewsEnabled();
178
 
179
  try {
@@ -237,8 +241,6 @@ class Listrak_Remarketing_Model_Review_Update_Api
237
 
238
  public function reviewDeleteList($chunkSize, $startDeleteId)
239
  {
240
- Mage::helper('remarketing')->requireReviewsEnabled();
241
-
242
  try {
243
  $mageResource = Mage::getSingleton('core/resource');
244
  $dbRead = $mageResource->getConnection('core_read');
43
 
44
  public function reviewList($storeId, $chunkSize, $startReviewId)
45
  {
46
+ Mage::app()->setCurrentStore($storeId);
47
  Mage::helper('remarketing')->requireReviewsEnabled();
48
 
49
  try {
67
 
68
  public function reviewUpdateList($storeId, $chunkSize, $startUpdateId)
69
  {
70
+ Mage::app()->setCurrentStore($storeId);
71
  Mage::helper('remarketing')->requireReviewsEnabled();
72
 
73
  try {
154
 
155
  public function ratingSummaryList($storeId, $chunkSize, $startRatingSummaryId)
156
  {
157
+ Mage::app()->setCurrentStore($storeId);
158
  Mage::helper('remarketing')->requireReviewsEnabled();
159
 
160
  try {
177
 
178
  public function ratingSummaryUpdateList($storeId, $chunkSize, $startUpdateId)
179
  {
180
+ Mage::app()->setCurrentStore($storeId);
181
  Mage::helper('remarketing')->requireReviewsEnabled();
182
 
183
  try {
241
 
242
  public function reviewDeleteList($chunkSize, $startDeleteId)
243
  {
 
 
244
  try {
245
  $mageResource = Mage::getSingleton('core/resource');
246
  $dbRead = $mageResource->getConnection('core_read');
app/code/community/Listrak/Remarketing/Model/Session.php CHANGED
@@ -20,24 +20,30 @@ class Listrak_Remarketing_Model_Session extends Mage_Core_Model_Abstract
20
  parent::_construct();
21
  $this->_init('listrak/session');
22
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
 
24
  public function init($createOnlyIfCartHasItems = false)
25
  {
26
- $ltksid = Mage::getModel('core/cookie')->get('ltksid');
 
27
  $piid = Mage::getModel('core/cookie')->get('personalmerchant');
28
  $custSession = Mage::getSingleton("customer/session");
29
-
30
- $cartHasItems = Mage::helper('checkout/cart')->getItemsCount() > 0;
31
 
32
- if (!empty($ltksid) && strlen($ltksid) > 37) {
33
- $ltkpk = intval(substr($ltksid, 37), 10);
34
- //$this->setSessionId($ltksid);
35
- $this->load($ltkpk);
36
- if ($this->getSessionId() !== substr($ltksid, 0, 36)) {
37
- $this->setData(array());
38
- }
39
- //$this->getResource()->loadBySessionId($this);
40
- }
41
 
42
  if (!empty($piid)) {
43
  $this->setPiId($piid);
@@ -106,7 +112,7 @@ class Listrak_Remarketing_Model_Session extends Mage_Core_Model_Abstract
106
  $cs = Mage::getSingleton('core/session');
107
 
108
  if ($cs->getIsListrakOrderMade()) {
109
- Mage::getModel('core/cookie')->delete('ltksid');
110
  $cs->setIsListrakOrderMade(false);
111
  }
112
 
@@ -118,6 +124,10 @@ class Listrak_Remarketing_Model_Session extends Mage_Core_Model_Abstract
118
  $this->getResource()->loadEmails($this);
119
  }
120
 
 
 
 
 
121
  public function delete()
122
  {
123
  $this->getResource()->deleteEmails($this->getId());
20
  parent::_construct();
21
  $this->_init('listrak/session');
22
  }
23
+
24
+ public function loadFromCookie() {
25
+ $ltksid = Mage::getModel('core/cookie')->get('ltksid');
26
+ if (!empty($ltksid) && strlen($ltksid) > 37) {
27
+ $ltkpk = intval(substr($ltksid, 37), 10);
28
+ if ($ltkpk != $this->getId()) {
29
+ $this->load($ltkpk);
30
+ if ($this->getSessionId() !== substr($ltksid, 0, 36)) {
31
+ $this->setData(array());
32
+ }
33
+ }
34
+ }
35
+
36
+ return $this;
37
+ }
38
 
39
  public function init($createOnlyIfCartHasItems = false)
40
  {
41
+ $this->loadFromCookie();
42
+
43
  $piid = Mage::getModel('core/cookie')->get('personalmerchant');
44
  $custSession = Mage::getSingleton("customer/session");
 
 
45
 
46
+ $cartHasItems = Mage::helper('checkout/cart')->getItemsCount() > 0;
 
 
 
 
 
 
 
 
47
 
48
  if (!empty($piid)) {
49
  $this->setPiId($piid);
112
  $cs = Mage::getSingleton('core/session');
113
 
114
  if ($cs->getIsListrakOrderMade()) {
115
+ $this->deleteCookie();
116
  $cs->setIsListrakOrderMade(false);
117
  }
118
 
124
  $this->getResource()->loadEmails($this);
125
  }
126
 
127
+ public function deleteCookie() {
128
+ Mage::getModel('core/cookie')->delete('ltksid');
129
+ }
130
+
131
  public function delete()
132
  {
133
  $this->getResource()->deleteEmails($this->getId());
app/code/community/Listrak/Remarketing/controllers/AjaxController.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2011 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ class Listrak_Remarketing_AjaxController extends Mage_Core_Controller_Front_Action
16
+ {
17
+ public function cartAction() {
18
+ $tracking_cart = $this->getLayout()->createBlock('remarketing/tracking_sca');
19
+
20
+ $this->getResponse()->setHeader('Content-Type', 'application/javascript', true);
21
+ $this->getResponse()->setBody($tracking_cart->getCartJavascript());
22
+ }
23
+
24
+ public function trackAction() {
25
+ $tracking_cart = $this->getLayout()->createBlock('remarketing/tracking_sca');
26
+
27
+ $this->getResponse()->setHeader('Content-Type', 'application/javascript', true);
28
+ $this->getResponse()->setBody($tracking_cart->toHtml());
29
+ }
30
+ }
app/code/community/Listrak/Remarketing/controllers/CartController.php CHANGED
@@ -14,6 +14,8 @@
14
 
15
  class Listrak_Remarketing_CartController extends Mage_Core_Controller_Front_Action
16
  {
 
 
17
  public function indexAction()
18
  {
19
  return $this;
@@ -23,37 +25,42 @@ class Listrak_Remarketing_CartController extends Mage_Core_Controller_Front_Acti
23
  {
24
  $checkout = Mage::getSingleton('checkout/session');
25
  $cust = Mage::getSingleton('customer/session');
26
- $ltksid = $this->getRequest()->getParam('ltksid');
27
- $ltksession = Mage::getModel("listrak/session");
28
- $ltksidcookie = Mage::getModel('core/cookie')->get('ltksid');
29
  $chkQuote = Mage::helper('checkout/cart')->getQuote();
30
 
31
  try {
 
32
  if (!$ltksid) {
33
  return $this->_redirectAfterReload();
34
  }
 
 
 
 
 
 
35
 
36
- if (!empty($ltksidcookie) && $ltksidcookie == $ltksid && $chkQuote && $chkQuote->getId()) {
37
- return $this->_redirectAfterReload();
38
- }
39
-
40
- $ltksession->setSessionId($ltksid);
41
- $ltksession->getResource()->loadBySessionId($ltksession);
42
-
43
- if (!$ltksession->getId() || !$ltksession->getQuoteId()) {
44
- return $this->_redirectAfterReload();
45
  }
46
-
47
- if ($cust && $cust->isLoggedIn()) {
48
- if ($cust->getId() === $ltksession->getCustomerId()) {
49
  return $this->_redirectAfterReload();
50
  }
51
  }
52
 
53
- $quote = Mage::getModel('sales/quote')->load($ltksession->getQuoteId());
 
 
 
 
54
 
55
- if ($quote->getId() && $quote->getIsActive()) {
56
- $checkout->setQuoteId($ltksession->getQuoteId());
 
 
 
57
  }
58
  } catch (Exception $ex) {
59
  Mage::getModel("listrak/log")->addException($ex);
@@ -61,6 +68,63 @@ class Listrak_Remarketing_CartController extends Mage_Core_Controller_Front_Acti
61
 
62
  return $this->_redirectAfterReload();
63
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
 
65
  private function _redirectAfterReload()
66
  {
14
 
15
  class Listrak_Remarketing_CartController extends Mage_Core_Controller_Front_Action
16
  {
17
+ private $_ltkSession = false;
18
+
19
  public function indexAction()
20
  {
21
  return $this;
25
  {
26
  $checkout = Mage::getSingleton('checkout/session');
27
  $cust = Mage::getSingleton('customer/session');
 
 
 
28
  $chkQuote = Mage::helper('checkout/cart')->getQuote();
29
 
30
  try {
31
+ $ltksid = $this->_getLtksid();
32
  if (!$ltksid) {
33
  return $this->_redirectAfterReload();
34
  }
35
+
36
+ if ($this->_isUid($ltksid)) {
37
+ $ltksidcookie = Mage::getModel('core/cookie')->get('ltksid');
38
+ if (!Mage::helper('remarketing')->trackingTablesExist() || (!empty($ltksidcookie) && $ltksidcookie == $ltksid && $chkQuote && $chkQuote->getId())) {
39
+ return $this->_redirectAfterReload();
40
+ }
41
 
42
+ $ltksession = $this->_getSession();
43
+ if ($ltksession && $ltksession->getQuoteId() && $cust && $cust->isLoggedIn() && $cust->getId() === $ltksession->getCustomerId()) {
44
+ return $this->_redirectAfterReload();
45
+ }
 
 
 
 
 
46
  }
47
+ else {
48
+ if (($checkout->getCartLtksid() == $ltksid || $checkout->getMergedLtksid() == $ltksid) && Mage::getSingleton('checkout/cart')->getSummaryQty() > 0) {
 
49
  return $this->_redirectAfterReload();
50
  }
51
  }
52
 
53
+ $quote = $this->_getQuote();
54
+ if ($quote && $quote->getId() && $quote->getId() != $checkout->getQuoteId() && $quote->getIsActive()) {
55
+ if (!$chkQuote) {
56
+ $chkQuote = Mage::getModel('sales/quote');
57
+ }
58
 
59
+ $chkQuote->merge($quote)
60
+ ->collectTotals()
61
+ ->save();
62
+ $checkout->setQuoteId($chkQuote->getId());
63
+ $checkout->setMergedLtksid($ltksid);
64
  }
65
  } catch (Exception $ex) {
66
  Mage::getModel("listrak/log")->addException($ex);
68
 
69
  return $this->_redirectAfterReload();
70
  }
71
+
72
+ private function _getLtksid()
73
+ {
74
+ return $this->getRequest()->getParam('ltksid');
75
+ }
76
+
77
+ private function _isUid($str) {
78
+ return preg_match('/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/i', $str);
79
+ }
80
+
81
+ private function _getSession()
82
+ {
83
+ if ($this->_ltkSession === false) {
84
+ $sid = $this->_getLtksid();
85
+
86
+ if(Mage::helper('remarketing')->trackingTablesExist() && $this->_isUid($sid))
87
+ {
88
+ $ltksession = Mage::getModel("listrak/session")->setSessionId($sid);
89
+ $ltksession->getResource()->loadBySessionId($ltksession);
90
+
91
+ if ($ltksession->hasQuoteId())
92
+ $this->_ltkSession = $ltksession;
93
+ }
94
+
95
+ if ($this->_ltkSession === false)
96
+ $this->_ltkSession = null;
97
+ }
98
+
99
+ return $this->_ltkSession;
100
+ }
101
+
102
+ private function _getQuote()
103
+ {
104
+ $session = $this->_getSession();
105
+ if ($session) {
106
+ $storeId = Mage::app()->getStore()->getStoreId();
107
+ $quoteId = $session->getQuoteId();
108
+ }
109
+ else {
110
+ $sid = $this->_getLtksid();
111
+ $qid = Mage::helper('remarketing')->urlDecrypt($sid);
112
+
113
+ $parts = explode(' ', $qid, 2);
114
+ if (sizeof($parts) > 1) {
115
+ $storeId = intval($parts[0]);
116
+ $quoteId = intval($parts[1]);
117
+ }
118
+ }
119
+
120
+ if (isset($storeId) && isset($quoteId)) {
121
+ $quote = Mage::getModel('sales/quote')->setStoreId($storeId)->load($quoteId);
122
+ if ($quote->getEntityId())
123
+ return $quote;
124
+ }
125
+
126
+ return null;
127
+ }
128
 
129
  private function _redirectAfterReload()
130
  {
app/code/community/Listrak/Remarketing/controllers/ConfigController.php CHANGED
@@ -16,6 +16,13 @@ class Listrak_Remarketing_ConfigController extends Mage_Core_Controller_Front_Ac
16
  {
17
  public function indexAction()
18
  {
 
 
 
 
 
 
 
19
  return $this;
20
  }
21
 
@@ -24,15 +31,8 @@ class Listrak_Remarketing_ConfigController extends Mage_Core_Controller_Front_Ac
24
  $reg = Mage::getStoreConfig('remarketing/config/account_created');
25
 
26
  if (!$reg) {
27
- $gv = array();
28
- $gv['config']['fields']['account_created']['value'] = '1';
29
- Mage::getModel('adminhtml/config_data')
30
- ->setSection('remarketing')
31
- ->setWebsite(null)
32
- ->setStore(null)
33
- ->setGroups($gv)
34
- ->save();
35
- Mage::getConfig()->cleanCache();
36
  }
37
  }
38
 
@@ -40,4 +40,38 @@ class Listrak_Remarketing_ConfigController extends Mage_Core_Controller_Front_Ac
40
  {
41
  echo Mage::getStoreConfig('remarketing/config/account_created');
42
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  }
16
  {
17
  public function indexAction()
18
  {
19
+ if($this->getRequest()->has('version')) {
20
+ echo Mage::getConfig()->getNode('modules')->Listrak_Remarketing->version;
21
+ }
22
+ else if ($this->getRequest()->has('enableOnescriptTracking')) {
23
+ echo $this->_enableOnescriptTracking();
24
+ }
25
+
26
  return $this;
27
  }
28
 
31
  $reg = Mage::getStoreConfig('remarketing/config/account_created');
32
 
33
  if (!$reg) {
34
+ Mage::getConfig()->saveConfig('remarketing/config/account_created', '1');
35
+ Mage::getConfig()->reinit();
 
 
 
 
 
 
 
36
  }
37
  }
38
 
40
  {
41
  echo Mage::getStoreConfig('remarketing/config/account_created');
42
  }
43
+
44
+ private function _enableOnescriptTracking() {
45
+ if (!Mage::helper('remarketing')->onescriptEnabled())
46
+ return "failure: Onescript is disabled";
47
+
48
+ if (Mage::helper('remarketing')->onescriptReady())
49
+ return "success: already enabled";
50
+
51
+ if (!$this->getRequest()->has('skipValidation')) {
52
+ $ch = curl_init();
53
+ curl_setopt($ch, CURLOPT_TIMEOUT, 15);
54
+ curl_setopt($ch, CURLOPT_ENCODING, "");
55
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
56
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
57
+ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
58
+
59
+ curl_setopt($ch, CURLOPT_URL, Mage::helper('remarketing')->onescriptSrc());
60
+ $script = curl_exec($ch);
61
+ $error = $script === false ? curl_error($ch) : '';
62
+
63
+ // $ch shouldn't be used below this next line
64
+ curl_close($ch);
65
+
66
+ if ($script === false)
67
+ return "failure: Onescript did not load: {$error}";
68
+
69
+ if (strpos($script, "_ltk.SCA.Load(") === false)
70
+ return "failure: Onescript does not load the SCA session ID";
71
+ }
72
+
73
+ Mage::getConfig()->saveConfig('remarketing/config/onescript_ready', '1');
74
+ Mage::getConfig()->reinit();
75
+ return "success";
76
+ }
77
  }
app/code/community/Listrak/Remarketing/etc/adminhtml.xml CHANGED
@@ -1,69 +1,60 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
- */
6
- -->
7
- <config>
8
- <menu>
9
- <remarketing module="remarketing">
10
- <title>Listrak</title>
11
- <sort_order>71</sort_order>
12
- <children>
13
- <emailcapture module="remarketing">
14
- <title>Email Capture</title>
15
- <sort_order>0</sort_order>
16
- <action>remarketing/adminhtml_emailcapture</action>
17
- </emailcapture>
18
- <abandonedcartreport module="remarketing">
19
- <title>Abandoned Carts</title>
20
- <sort_order>0</sort_order>
21
- <action>remarketing/adminhtml_abandonedcartreport</action>
22
- </abandonedcartreport>
23
- <productattributes module="remarketing">
24
- <title>Product Attributes</title>
25
- <sort_order>2</sort_order>
26
- <action>remarketing/adminhtml_productattributes</action>
27
- </productattributes>
28
- </children>
29
- </remarketing>
30
- </menu>
31
- <acl>
32
- <resources>
33
- <admin>
34
- <children>
35
- <remarketing translate="title" module="remarketing">
36
- <title>Listrak Remarketing</title>
37
- <sort_order>200</sort_order>
38
- <children>
39
- <emailcapture translate="title">
40
- <title>Email Capture</title>
41
- <sort_order>200</sort_order>
42
- </emailcapture>
43
- <abandonedcartreport translate="title">
44
- <title>Abandoned Carts</title>
45
- <sort_order>200</sort_order>
46
- </abandonedcartreport>
47
- <productattributes translate="title">
48
- <title>Product Attributes</title>
49
- <sort_order>202</sort_order>
50
- </productattributes>
51
- </children>
52
- </remarketing>
53
- <system>
54
- <children>
55
- <config>
56
- <children>
57
- <remarketing translate="title">
58
- <title>Listrak Newsletter</title>
59
- <sort_order>40</sort_order>
60
- </remarketing>
61
- </children>
62
- </config>
63
- </children>
64
- </system>
65
- </children>
66
- </admin>
67
- </resources>
68
- </acl>
69
  </config>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <config>
8
+ <menu>
9
+ <remarketing module="remarketing">
10
+ <title>Listrak</title>
11
+ <sort_order>71</sort_order>
12
+ <children>
13
+ <emailcapture module="remarketing">
14
+ <title>Email Capture</title>
15
+ <sort_order>0</sort_order>
16
+ <action>remarketing/adminhtml_emailcapture</action>
17
+ </emailcapture>
18
+ <productattributes module="remarketing">
19
+ <title>Product Attributes</title>
20
+ <sort_order>1</sort_order>
21
+ <action>remarketing/adminhtml_productattributes</action>
22
+ </productattributes>
23
+ </children>
24
+ </remarketing>
25
+ </menu>
26
+ <acl>
27
+ <resources>
28
+ <admin>
29
+ <children>
30
+ <remarketing translate="title" module="remarketing">
31
+ <title>Listrak Remarketing</title>
32
+ <sort_order>200</sort_order>
33
+ <children>
34
+ <emailcapture translate="title">
35
+ <title>Email Capture</title>
36
+ <sort_order>200</sort_order>
37
+ </emailcapture>
38
+ <productattributes translate="title">
39
+ <title>Product Attributes</title>
40
+ <sort_order>201</sort_order>
41
+ </productattributes>
42
+ </children>
43
+ </remarketing>
44
+ <system>
45
+ <children>
46
+ <config>
47
+ <children>
48
+ <remarketing translate="title">
49
+ <title>Listrak</title>
50
+ <sort_order>40</sort_order>
51
+ </remarketing>
52
+ </children>
53
+ </config>
54
+ </children>
55
+ </system>
56
+ </children>
57
+ </admin>
58
+ </resources>
59
+ </acl>
 
 
 
 
 
 
 
 
 
60
  </config>
app/code/community/Listrak/Remarketing/etc/api.xml CHANGED
@@ -1,201 +1,209 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
- */
6
- -->
7
- <config>
8
- <api>
9
- <resources>
10
- <listrak_remarketing_abandonedcart translate="title"
11
- module="listrak_remarketing">
12
- <title>Listrak Remarketing API</title>
13
- <model>listrak/abandonedcart_api</model>
14
- <methods>
15
- <list translate="title" module="listrak_remarketing">
16
- <title>Get Abandoned Carts</title>
17
- <method>items</method>
18
- </list>
19
- <purge translate="title" module="listrak_remarketing">
20
- <title>Purge old data</title>
21
- <method>purge</method>
22
- </purge>
23
- </methods>
24
- </listrak_remarketing_abandonedcart>
25
- <listrak_remarketing_click translate="title"
26
- module="listrak_remarketing">
27
- <title>Listrak Remarketing API</title>
28
- <model>listrak/click_api</model>
29
- <methods>
30
- <list translate="title" module="listrak_remarketing">
31
- <title>Get clicks</title>
32
- <method>items</method>
33
- </list>
34
- <purge translate="title" module="listrak_remarketing">
35
- <title>Purge old data</title>
36
- <method>purge</method>
37
- </purge>
38
- </methods>
39
- </listrak_remarketing_click>
40
- <listrak_remarketing_log translate="title" module="listrak_remarketing">
41
- <title>Listrak Remarketing API</title>
42
- <model>listrak/log_api</model>
43
- <methods>
44
- <list translate="title" module="listrak_remarketing">
45
- <title>Get log entries</title>
46
- <method>items</method>
47
- </list>
48
- <purge translate="title" module="listrak_remarketing">
49
- <title>Purge old data</title>
50
- <method>purge</method>
51
- </purge>
52
- <toggle translate="title" module="listrak_remarketing">
53
- <title>toggle logging</title>
54
- <method>toggle</method>
55
- </toggle>
56
- </methods>
57
- </listrak_remarketing_log>
58
- <listrak_remarketing_order translate="title"
59
- module="listrak_remarketing">
60
- <title>Listrak Remarketing API</title>
61
- <model>listrak/apiextension_api</model>
62
- <methods>
63
- <list translate="title" module="listrak_remarketing">
64
- <title>Get orders</title>
65
- <method>orders</method>
66
- </list>
67
- </methods>
68
- </listrak_remarketing_order>
69
- <listrak_remarketing_order_status translate="title"
70
- module="listrak_remarketing">
71
- <title>Listrak Remarketing API</title>
72
- <model>listrak/apiextension_api</model>
73
- <methods>
74
- <list translate="title" module="listrak_remarketing">
75
- <title>Get order status changes</title>
76
- <method>orderStatus</method>
77
- </list>
78
- </methods>
79
- </listrak_remarketing_order_status>
80
- <listrak_remarketing_product translate="title"
81
- module="listrak_remarketing">
82
- <title>Listrak Remarketing API</title>
83
- <model>listrak/apiextension_api</model>
84
- <methods>
85
- <list translate="title" module="listrak_remarketing">
86
- <title>Get products</title>
87
- <method>products</method>
88
- </list>
89
- </methods>
90
- </listrak_remarketing_product>
91
- <listrak_remarketing_subscriber translate="title"
92
- module="listrak_remarketing">
93
- <title>Listrak Remarketing API</title>
94
- <model>listrak/apiextension_api</model>
95
- <methods>
96
- <list translate="title" module="listrak_remarketing">
97
- <title>Get subscribers and unsubscribers</title>
98
- <method>subscribers</method>
99
- </list>
100
- <purge translate="title" module="listrak_remarketing">
101
- <title>Purge old data</title>
102
- <method>subscribersPurge</method>
103
- </purge>
104
- </methods>
105
- </listrak_remarketing_subscriber>
106
- <listrak_remarketing_customer translate="title"
107
- module="listrak_remarketing">
108
- <title>Listrak Remarketing API</title>
109
- <model>listrak/apiextension_api</model>
110
- <methods>
111
- <list translate="title" module="listrak_remarketing">
112
- <title>Get customers</title>
113
- <method>customers</method>
114
- </list>
115
- </methods>
116
- </listrak_remarketing_customer>
117
- <listrak_remarketing_info translate="title" module="listrak_remarketing">
118
- <title>Listrak Remarketing API</title>
119
- <model>listrak/apiextension_api</model>
120
- <methods>
121
- <list translate="title" module="listrak_remarketing">
122
- <title>Get info</title>
123
- <method>info</method>
124
- </list>
125
- </methods>
126
- </listrak_remarketing_info>
127
- <listrak_remarketing_review translate="title"
128
- module="listrak_remarketing">
129
- <title>Listrak Remarketing API</title>
130
- <model>listrak/review_update_api</model>
131
- <methods>
132
- <list translate="title" module="listrak_remarketing">
133
- <title>Get Review List</title>
134
- <method>reviewList</method>
135
- </list>
136
- <updateList>
137
- <title>Get Incremental Update</title>
138
- <method>reviewUpdateList</method>
139
- </updateList>
140
- <deleteList>
141
- <title>Get Deleted Reviews</title>
142
- <method>reviewDeleteList</method>
143
- </deleteList>
144
- <updatePurge>
145
- <title>Purge Review Update Table</title>
146
- <method>reviewUpdatePurge</method>
147
- </updatePurge>
148
- </methods>
149
- </listrak_remarketing_review>
150
- <listrak_remarketing_rating_summary translate="title"
151
- module="listrak_remarketing">
152
- <title>Listrak Remarketing API</title>
153
- <model>listrak/review_update_api</model>
154
- <methods>
155
- <list translate="title" module="listrak_remarketing">
156
- <title>Get Rating Summary List</title>
157
- <method>ratingSummaryList</method>
158
- </list>
159
- <updateList>
160
- <title>Get Incremental Update</title>
161
- <method>ratingSummaryUpdateList</method>
162
- </updateList>
163
- </methods>
164
- </listrak_remarketing_rating_summary>
165
- </resources>
166
- <resources_alias>
167
- <abandonedcart>listrak_remarketing_abandonedcart</abandonedcart>
168
- <click>listrak_remarketing_click</click>
169
- <log>listrak_remarketing_log</log>
170
- <listrakorder>listrak_remarketing_order</listrakorder>
171
- <listrakorderstatus>listrak_remarketing_order_status</listrakorderstatus>
172
- <listrakproduct>listrak_remarketing_product</listrakproduct>
173
- <listraksubscriber>listrak_remarketing_subscriber</listraksubscriber>
174
- <listrakcustomer>listrak_remarketing_customer</listrakcustomer>
175
- <listrakinfo>listrak_remarketing_info</listrakinfo>
176
- <listrakreview>listrak_remarketing_review</listrakreview>
177
- <listrakratingsummary>listrak_remarketing_rating_summary</listrakratingsummary>
178
- </resources_alias>
179
- <v2>
180
- <resources_function_prefix>
181
- <abandonedcart>listrakRemarketingAbandonedCart</abandonedcart>
182
- <click>listrakRemarketingClick</click>
183
- <log>listrakRemarketingLog</log>
184
- <listrakorder>listrakRemarketingOrder</listrakorder>
185
- <listrakorderstatus>listrakRemarketingOrderStatus</listrakorderstatus>
186
- <listrakproduct>listrakRemarketingProduct</listrakproduct>
187
- <listraksubscriber>listrakRemarketingSubscriber</listraksubscriber>
188
- <listrakcustomer>listrakRemarketingCustomer</listrakcustomer>
189
- <listrakinfo>listrakRemarketingInfo</listrakinfo>
190
- <listrakreview>listrakRemarketingReview</listrakreview>
191
- <listrakratingsummary>listrakRemarketingRatingSummary</listrakratingsummary>
192
- </resources_function_prefix>
193
- </v2>
194
- <faults>
195
- <incorrect_date>
196
- <code>12</code>
197
- <message>INCORRECT DATE FORMAT [YYYY-MM-DD HH:MM:SS]</message>
198
- </incorrect_date>
199
- </faults>
200
- </api>
201
- </config>
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <config>
8
+ <api>
9
+ <resources>
10
+ <listrak_remarketing_abandonedcart translate="title"
11
+ module="listrak_remarketing">
12
+ <title>Listrak Remarketing API</title>
13
+ <model>listrak/abandonedcart_api</model>
14
+ <methods>
15
+ <list translate="title" module="listrak_remarketing">
16
+ <title>Get Abandoned Carts</title>
17
+ <method>items</method>
18
+ </list>
19
+ <purge translate="title" module="listrak_remarketing">
20
+ <title>Purge old data</title>
21
+ <method>purge</method>
22
+ </purge>
23
+ </methods>
24
+ </listrak_remarketing_abandonedcart>
25
+ <listrak_remarketing_click translate="title"
26
+ module="listrak_remarketing">
27
+ <title>Listrak Remarketing API</title>
28
+ <model>listrak/click_api</model>
29
+ <methods>
30
+ <list translate="title" module="listrak_remarketing">
31
+ <title>Get clicks</title>
32
+ <method>items</method>
33
+ </list>
34
+ <purge translate="title" module="listrak_remarketing">
35
+ <title>Purge old data</title>
36
+ <method>purge</method>
37
+ </purge>
38
+ </methods>
39
+ </listrak_remarketing_click>
40
+ <listrak_remarketing_log translate="title" module="listrak_remarketing">
41
+ <title>Listrak Remarketing API</title>
42
+ <model>listrak/log_api</model>
43
+ <methods>
44
+ <list translate="title" module="listrak_remarketing">
45
+ <title>Get log entries</title>
46
+ <method>items</method>
47
+ </list>
48
+ <purge translate="title" module="listrak_remarketing">
49
+ <title>Purge old data</title>
50
+ <method>purge</method>
51
+ </purge>
52
+ <toggle translate="title" module="listrak_remarketing">
53
+ <title>toggle logging</title>
54
+ <method>toggle</method>
55
+ </toggle>
56
+ </methods>
57
+ </listrak_remarketing_log>
58
+ <listrak_remarketing_order translate="title"
59
+ module="listrak_remarketing">
60
+ <title>Listrak Remarketing API</title>
61
+ <model>listrak/apiextension_api</model>
62
+ <methods>
63
+ <list translate="title" module="listrak_remarketing">
64
+ <title>Get orders</title>
65
+ <method>orders</method>
66
+ </list>
67
+ </methods>
68
+ </listrak_remarketing_order>
69
+ <listrak_remarketing_order_status translate="title"
70
+ module="listrak_remarketing">
71
+ <title>Listrak Remarketing API</title>
72
+ <model>listrak/apiextension_api</model>
73
+ <methods>
74
+ <list translate="title" module="listrak_remarketing">
75
+ <title>Get order status changes</title>
76
+ <method>orderStatus</method>
77
+ </list>
78
+ </methods>
79
+ </listrak_remarketing_order_status>
80
+ <listrak_remarketing_product translate="title"
81
+ module="listrak_remarketing">
82
+ <title>Listrak Remarketing API</title>
83
+ <model>listrak/product_api</model>
84
+ <methods>
85
+ <list translate="title" module="listrak_remarketing">
86
+ <title>Get products</title>
87
+ <method>products</method>
88
+ </list>
89
+ <updateList translate="title" module="listrak_remarketing">
90
+ <title>Get updated products</title>
91
+ <method>updates</method>
92
+ </updateList>
93
+ <purchasableList translate="title" module="listrak_remarketing">
94
+ <title>Get purchasable products</title>
95
+ <method>purchasable</method>
96
+ </purchasableList>
97
+ </methods>
98
+ </listrak_remarketing_product>
99
+ <listrak_remarketing_subscriber translate="title"
100
+ module="listrak_remarketing">
101
+ <title>Listrak Remarketing API</title>
102
+ <model>listrak/apiextension_api</model>
103
+ <methods>
104
+ <list translate="title" module="listrak_remarketing">
105
+ <title>Get subscribers and unsubscribers</title>
106
+ <method>subscribers</method>
107
+ </list>
108
+ <purge translate="title" module="listrak_remarketing">
109
+ <title>Purge old data</title>
110
+ <method>subscribersPurge</method>
111
+ </purge>
112
+ </methods>
113
+ </listrak_remarketing_subscriber>
114
+ <listrak_remarketing_customer translate="title"
115
+ module="listrak_remarketing">
116
+ <title>Listrak Remarketing API</title>
117
+ <model>listrak/apiextension_api</model>
118
+ <methods>
119
+ <list translate="title" module="listrak_remarketing">
120
+ <title>Get customers</title>
121
+ <method>customers</method>
122
+ </list>
123
+ </methods>
124
+ </listrak_remarketing_customer>
125
+ <listrak_remarketing_info translate="title" module="listrak_remarketing">
126
+ <title>Listrak Remarketing API</title>
127
+ <model>listrak/apiextension_api</model>
128
+ <methods>
129
+ <list translate="title" module="listrak_remarketing">
130
+ <title>Get info</title>
131
+ <method>info</method>
132
+ </list>
133
+ </methods>
134
+ </listrak_remarketing_info>
135
+ <listrak_remarketing_review translate="title"
136
+ module="listrak_remarketing">
137
+ <title>Listrak Remarketing API</title>
138
+ <model>listrak/review_update_api</model>
139
+ <methods>
140
+ <list translate="title" module="listrak_remarketing">
141
+ <title>Get Review List</title>
142
+ <method>reviewList</method>
143
+ </list>
144
+ <updateList>
145
+ <title>Get Incremental Update</title>
146
+ <method>reviewUpdateList</method>
147
+ </updateList>
148
+ <deleteList>
149
+ <title>Get Deleted Reviews</title>
150
+ <method>reviewDeleteList</method>
151
+ </deleteList>
152
+ <updatePurge>
153
+ <title>Purge Review Update Table</title>
154
+ <method>reviewUpdatePurge</method>
155
+ </updatePurge>
156
+ </methods>
157
+ </listrak_remarketing_review>
158
+ <listrak_remarketing_rating_summary translate="title"
159
+ module="listrak_remarketing">
160
+ <title>Listrak Remarketing API</title>
161
+ <model>listrak/review_update_api</model>
162
+ <methods>
163
+ <list translate="title" module="listrak_remarketing">
164
+ <title>Get Rating Summary List</title>
165
+ <method>ratingSummaryList</method>
166
+ </list>
167
+ <updateList>
168
+ <title>Get Incremental Update</title>
169
+ <method>ratingSummaryUpdateList</method>
170
+ </updateList>
171
+ </methods>
172
+ </listrak_remarketing_rating_summary>
173
+ </resources>
174
+ <resources_alias>
175
+ <abandonedcart>listrak_remarketing_abandonedcart</abandonedcart>
176
+ <click>listrak_remarketing_click</click>
177
+ <log>listrak_remarketing_log</log>
178
+ <listrakorder>listrak_remarketing_order</listrakorder>
179
+ <listrakorderstatus>listrak_remarketing_order_status</listrakorderstatus>
180
+ <listrakproduct>listrak_remarketing_product</listrakproduct>
181
+ <listraksubscriber>listrak_remarketing_subscriber</listraksubscriber>
182
+ <listrakcustomer>listrak_remarketing_customer</listrakcustomer>
183
+ <listrakinfo>listrak_remarketing_info</listrakinfo>
184
+ <listrakreview>listrak_remarketing_review</listrakreview>
185
+ <listrakratingsummary>listrak_remarketing_rating_summary</listrakratingsummary>
186
+ </resources_alias>
187
+ <v2>
188
+ <resources_function_prefix>
189
+ <abandonedcart>listrakRemarketingAbandonedCart</abandonedcart>
190
+ <click>listrakRemarketingClick</click>
191
+ <log>listrakRemarketingLog</log>
192
+ <listrakorder>listrakRemarketingOrder</listrakorder>
193
+ <listrakorderstatus>listrakRemarketingOrderStatus</listrakorderstatus>
194
+ <listrakproduct>listrakRemarketingProduct</listrakproduct>
195
+ <listraksubscriber>listrakRemarketingSubscriber</listraksubscriber>
196
+ <listrakcustomer>listrakRemarketingCustomer</listrakcustomer>
197
+ <listrakinfo>listrakRemarketingInfo</listrakinfo>
198
+ <listrakreview>listrakRemarketingReview</listrakreview>
199
+ <listrakratingsummary>listrakRemarketingRatingSummary</listrakratingsummary>
200
+ </resources_function_prefix>
201
+ </v2>
202
+ <faults>
203
+ <incorrect_date>
204
+ <code>12</code>
205
+ <message>INCORRECT DATE FORMAT [YYYY-MM-DD HH:MM:SS]</message>
206
+ </incorrect_date>
207
+ </faults>
208
+ </api>
209
+ </config>
app/code/community/Listrak/Remarketing/etc/cache.xml ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <config>
8
+ <placeholders>
9
+ <remarketing_sca_tracking>
10
+ <block>remarketing/tracking_sca</block>
11
+ <name>remarketing_sca_tracking</name>
12
+ <placeholder>REMARKETING_SCA</placeholder>
13
+ <container>Listrak_Remarketing_Model_Cache_Sca</container>
14
+ <cache_lifetime>86400</cache_lifetime>
15
+ </remarketing_sca_tracking>
16
+ </placeholders>
17
+ </config>
app/code/community/Listrak/Remarketing/etc/config.xml CHANGED
@@ -1,213 +1,240 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
- */
6
- -->
7
- <config>
8
- <modules>
9
- <Listrak_Remarketing>
10
- <version>1.1.8</version>
11
- </Listrak_Remarketing>
12
- </modules>
13
- <frontend>
14
- <routers>
15
- <listrak_remarketing>
16
- <use>standard</use>
17
- <args>
18
- <module>Listrak_Remarketing</module>
19
- <frontName>remarketing</frontName>
20
- </args>
21
- </listrak_remarketing>
22
- </routers>
23
- <layout>
24
- <updates>
25
- <remarketing>
26
- <file>remarketing.xml</file>
27
- </remarketing>
28
- </updates>
29
- </layout>
30
- <events>
31
- <controller_action_layout_render_before>
32
- <observers>
33
- <listrak_remarketing_observer>
34
- <type>singleton</type>
35
- <class>Listrak_Remarketing_Model_Observer</class>
36
- <method>sessionInit</method>
37
- </listrak_remarketing_observer>
38
- </observers>
39
- </controller_action_layout_render_before>
40
- <sales_order_place_after>
41
- <observers>
42
- <listrak_remarketing_observer>
43
- <type>singleton</type>
44
- <class>Listrak_Remarketing_Model_Observer</class>
45
- <method>orderPlaced</method>
46
- </listrak_remarketing_observer>
47
- </observers>
48
- </sales_order_place_after>
49
- <newsletter_subscriber_save_after>
50
- <observers>
51
- <listrak_remarketing_observer>
52
- <type>singleton</type>
53
- <class>Listrak_Remarketing_Model_Observer</class>
54
- <method>subscriberSaved</method>
55
- </listrak_remarketing_observer>
56
- </observers>
57
- </newsletter_subscriber_save_after>
58
- <review_save_commit_after>
59
- <observers>
60
- <listrak_remarketing_observer>
61
- <type>singleton</type>
62
- <class>Listrak_Remarketing_Model_Observer</class>
63
- <method>reviewUpdated</method>
64
- </listrak_remarketing_observer>
65
- </observers>
66
- </review_save_commit_after>
67
- <review_delete_commit_after>
68
- <observers>
69
- <listrak_remarketing_observer>
70
- <type>singleton</type>
71
- <class>Listrak_Remarketing_Model_Observer</class>
72
- <method>reviewDeleted</method>
73
- </listrak_remarketing_observer>
74
- </observers>
75
- </review_delete_commit_after>
76
- </events>
77
- </frontend>
78
- <global>
79
- <models>
80
- <listrak>
81
- <class>Listrak_Remarketing_Model</class>
82
- <resourceModel>listrak_mysql4</resourceModel>
83
- </listrak>
84
- <listrak_mysql4>
85
- <class>Listrak_Remarketing_Model_Mysql4</class>
86
- <entities>
87
- <click>
88
- <table>listrak_remarketing_click</table>
89
- </click>
90
- <log>
91
- <table>listrak_remarketing_log</table>
92
- </log>
93
- <session>
94
- <table>listrak_remarketing_session</table>
95
- </session>
96
- <session_email>
97
- <table>listrak_remarketing_session_email</table>
98
- </session_email>
99
- <emailcapture>
100
- <table>listrak_remarketing_emailcapture</table>
101
- </emailcapture>
102
- <subscriber_update>
103
- <table>listrak_remarketing_subscriber_update</table>
104
- </subscriber_update>
105
- <review_update>
106
- <table>listrak_remarketing_review_update</table>
107
- </review_update>
108
- <product_attribute_set_map>
109
- <table>listrak_remarketing_product_attribute_set_map</table>
110
- </product_attribute_set_map>
111
- </entities>
112
- </listrak_mysql4>
113
- <newsletter>
114
- <rewrite>
115
- <subscriber>Listrak_Remarketing_Model_Subscriber</subscriber>
116
- </rewrite>
117
- </newsletter>
118
- </models>
119
- <resources>
120
- <listrak_remarketing_setup>
121
- <setup>
122
- <module>Listrak_Remarketing</module>
123
- </setup>
124
- <connection>
125
- <use>core_setup</use>
126
- </connection>
127
- </listrak_remarketing_setup>
128
- <listrak_write>
129
- <connection>
130
- <use>core_write</use>
131
- </connection>
132
- </listrak_write>
133
- <listrak_read>
134
- <connection>
135
- <use>core_read</use>
136
- </connection>
137
- </listrak_read>
138
- </resources>
139
- <helpers>
140
- <remarketing>
141
- <class>Listrak_Remarketing_Helper</class>
142
- </remarketing>
143
- </helpers>
144
- <blocks>
145
- <remarketing>
146
- <class>Listrak_Remarketing_Block</class>
147
- </remarketing>
148
- </blocks>
149
- </global>
150
- <admin>
151
- <routers>
152
- <remarketing>
153
- <use>admin</use>
154
- <args>
155
- <module>Listrak_Remarketing</module>
156
- <frontName>remarketing</frontName>
157
- </args>
158
- </remarketing>
159
- </routers>
160
- </admin>
161
- <adminhtml>
162
- <layout>
163
- <updates>
164
- <remarketing>
165
- <file>remarketing.xml</file>
166
- </remarketing>
167
- </updates>
168
- </layout>
169
- <events>
170
- <review_save_commit_after>
171
- <observers>
172
- <listrak_remarketing_observer>
173
- <type>singleton</type>
174
- <class>Listrak_Remarketing_Model_Observer</class>
175
- <method>reviewUpdated</method>
176
- </listrak_remarketing_observer>
177
- </observers>
178
- </review_save_commit_after>
179
- <review_delete_commit_after>
180
- <observers>
181
- <listrak_remarketing_observer>
182
- <type>singleton</type>
183
- <class>Listrak_Remarketing_Model_Observer</class>
184
- <method>reviewDeleted</method>
185
- </listrak_remarketing_observer>
186
- </observers>
187
- </review_delete_commit_after>
188
- </events>
189
- </adminhtml>
190
- <default>
191
- <remarketing>
192
- <modules>
193
- <core>1</core>
194
- <reviews>0</reviews>
195
- </modules>
196
- <subscription>
197
- <signup_success_email>0</signup_success_email>
198
- <unsubscribe_email>0</unsubscribe_email>
199
- </subscription>
200
- <abandonedcarts>
201
- <abandoned_cart_report_timeout>60</abandoned_cart_report_timeout>
202
- </abandonedcarts>
203
- <modal>
204
- <enabled>0</enabled>
205
- <listrakMerchantID></listrakMerchantID>
206
- <scriptLocation>s1.listrakbi.com/scripts/script.js</scriptLocation>
207
- </modal>
208
- <productcategories>
209
- <categories_source>default</categories_source>
210
- </productcategories>
211
- </remarketing>
212
- </default>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
213
  </config>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <config>
8
+ <modules>
9
+ <Listrak_Remarketing>
10
+ <version>1.1.9.2</version>
11
+ </Listrak_Remarketing>
12
+ </modules>
13
+ <frontend>
14
+ <routers>
15
+ <listrak_remarketing>
16
+ <use>standard</use>
17
+ <args>
18
+ <module>Listrak_Remarketing</module>
19
+ <frontName>remarketing</frontName>
20
+ </args>
21
+ </listrak_remarketing>
22
+ </routers>
23
+ <layout>
24
+ <updates>
25
+ <remarketing>
26
+ <file>remarketing.xml</file>
27
+ </remarketing>
28
+ </updates>
29
+ </layout>
30
+ <events>
31
+ <controller_action_layout_load_before>
32
+ <observers>
33
+ <listrak_remarketing_observer>
34
+ <type>singleton</type>
35
+ <class>listrak/observer</class>
36
+ <method>trackingInit</method>
37
+ </listrak_remarketing_observer>
38
+ </observers>
39
+ </controller_action_layout_load_before>
40
+ <sales_order_place_after>
41
+ <observers>
42
+ <listrak_remarketing_observer>
43
+ <type>singleton</type>
44
+ <class>listrak/observer</class>
45
+ <method>orderPlaced</method>
46
+ </listrak_remarketing_observer>
47
+ </observers>
48
+ </sales_order_place_after>
49
+ <newsletter_subscriber_save_after>
50
+ <observers>
51
+ <listrak_remarketing_observer>
52
+ <type>singleton</type>
53
+ <class>listrak/observer</class>
54
+ <method>subscriberSaved</method>
55
+ </listrak_remarketing_observer>
56
+ </observers>
57
+ </newsletter_subscriber_save_after>
58
+ <review_save_commit_after>
59
+ <observers>
60
+ <listrak_remarketing_observer>
61
+ <type>singleton</type>
62
+ <class>listrak/observer</class>
63
+ <method>reviewUpdated</method>
64
+ </listrak_remarketing_observer>
65
+ </observers>
66
+ </review_save_commit_after>
67
+ <review_delete_commit_after>
68
+ <observers>
69
+ <listrak_remarketing_observer>
70
+ <type>singleton</type>
71
+ <class>listrak/observer</class>
72
+ <method>reviewDeleted</method>
73
+ </listrak_remarketing_observer>
74
+ </observers>
75
+ </review_delete_commit_after>
76
+ <sales_quote_save_after>
77
+ <observers>
78
+ <listrak_remarketing_observer>
79
+ <type>singleton</type>
80
+ <class>listrak/observer</class>
81
+ <method>cartModified</method>
82
+ </listrak_remarketing_observer>
83
+ </observers>
84
+ </sales_quote_save_after>
85
+ <sales_quote_remove_item>
86
+ <observers>
87
+ <listrak_remarketing_observer>
88
+ <type>singleton</type>
89
+ <class>listrak/observer</class>
90
+ <method>cartModified</method>
91
+ </listrak_remarketing_observer>
92
+ </observers>
93
+ </sales_quote_remove_item>
94
+ <customer_logout>
95
+ <observers>
96
+ <listrak_remarketing_observer>
97
+ <type>singleton</type>
98
+ <class>listrak/observer</class>
99
+ <method>resetCustomerTracking</method>
100
+ </listrak_remarketing_observer>
101
+ </observers>
102
+ </customer_logout>
103
+ </events>
104
+ </frontend>
105
+ <global>
106
+ <models>
107
+ <listrak>
108
+ <class>Listrak_Remarketing_Model</class>
109
+ <resourceModel>listrak_mysql4</resourceModel>
110
+ </listrak>
111
+ <listrak_mysql4>
112
+ <class>Listrak_Remarketing_Model_Mysql4</class>
113
+ <entities>
114
+ <click>
115
+ <table>listrak_remarketing_click</table>
116
+ </click>
117
+ <log>
118
+ <table>listrak_remarketing_log</table>
119
+ </log>
120
+ <session>
121
+ <table>listrak_remarketing_session</table>
122
+ </session>
123
+ <session_email>
124
+ <table>listrak_remarketing_session_email</table>
125
+ </session_email>
126
+ <emailcapture>
127
+ <table>listrak_remarketing_emailcapture</table>
128
+ </emailcapture>
129
+ <subscriber_update>
130
+ <table>listrak_remarketing_subscriber_update</table>
131
+ </subscriber_update>
132
+ <review_update>
133
+ <table>listrak_remarketing_review_update</table>
134
+ </review_update>
135
+ <product_attribute_set_map>
136
+ <table>listrak_remarketing_product_attribute_set_map</table>
137
+ </product_attribute_set_map>
138
+ </entities>
139
+ </listrak_mysql4>
140
+ <newsletter>
141
+ <rewrite>
142
+ <subscriber>Listrak_Remarketing_Model_Subscriber</subscriber>
143
+ </rewrite>
144
+ </newsletter>
145
+ </models>
146
+ <resources>
147
+ <listrak_remarketing_setup>
148
+ <setup>
149
+ <module>Listrak_Remarketing</module>
150
+ </setup>
151
+ <connection>
152
+ <use>core_setup</use>
153
+ </connection>
154
+ </listrak_remarketing_setup>
155
+ <listrak_write>
156
+ <connection>
157
+ <use>core_write</use>
158
+ </connection>
159
+ </listrak_write>
160
+ <listrak_read>
161
+ <connection>
162
+ <use>core_read</use>
163
+ </connection>
164
+ </listrak_read>
165
+ </resources>
166
+ <helpers>
167
+ <remarketing>
168
+ <class>Listrak_Remarketing_Helper</class>
169
+ </remarketing>
170
+ </helpers>
171
+ <blocks>
172
+ <remarketing>
173
+ <class>Listrak_Remarketing_Block</class>
174
+ </remarketing>
175
+ </blocks>
176
+ </global>
177
+ <admin>
178
+ <routers>
179
+ <remarketing>
180
+ <use>admin</use>
181
+ <args>
182
+ <module>Listrak_Remarketing</module>
183
+ <frontName>remarketing</frontName>
184
+ </args>
185
+ </remarketing>
186
+ </routers>
187
+ </admin>
188
+ <adminhtml>
189
+ <layout>
190
+ <updates>
191
+ <remarketing>
192
+ <file>remarketing.xml</file>
193
+ </remarketing>
194
+ </updates>
195
+ </layout>
196
+ <events>
197
+ <review_save_commit_after>
198
+ <observers>
199
+ <listrak_remarketing_observer>
200
+ <type>singleton</type>
201
+ <class>listrak/observer</class>
202
+ <method>reviewUpdated</method>
203
+ </listrak_remarketing_observer>
204
+ </observers>
205
+ </review_save_commit_after>
206
+ <review_delete_commit_after>
207
+ <observers>
208
+ <listrak_remarketing_observer>
209
+ <type>singleton</type>
210
+ <class>listrak/observer</class>
211
+ <method>reviewDeleted</method>
212
+ </listrak_remarketing_observer>
213
+ </observers>
214
+ </review_delete_commit_after>
215
+ </events>
216
+ </adminhtml>
217
+ <default>
218
+ <remarketing>
219
+ <modules>
220
+ <core>1</core>
221
+ <reviews>0</reviews>
222
+ </modules>
223
+ <subscription>
224
+ <signup_success_email>0</signup_success_email>
225
+ <unsubscribe_email>0</unsubscribe_email>
226
+ </subscription>
227
+ <modal>
228
+ <enabled>1</enabled>
229
+ <sca>1</sca>
230
+ <activity>0</activity>
231
+ </modal>
232
+ <productcategories>
233
+ <categories_source>default</categories_source>
234
+ <category_level>3</category_level>
235
+ <product_links>0</product_links>
236
+ <purchasable_visibility>site</purchasable_visibility>
237
+ </productcategories>
238
+ </remarketing>
239
+ </default>
240
  </config>
app/code/community/Listrak/Remarketing/etc/system.xml CHANGED
@@ -1,150 +1,192 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
- */
6
- -->
7
- <config>
8
- <sections>
9
- <remarketing translate="label" module="remarketing">
10
- <label>Listrak</label>
11
- <tab>customer</tab>
12
- <frontend_type>text</frontend_type>
13
- <sort_order>100</sort_order>
14
- <show_in_default>1</show_in_default>
15
- <show_in_website>1</show_in_website>
16
- <show_in_store>1</show_in_store>
17
- <groups>
18
- <modules translate="label">
19
- <label>Component Options</label>
20
- <frontend_type>text</frontend_type>
21
- <sort_order>1</sort_order>
22
- <show_in_default>1</show_in_default>
23
- <show_in_website>1</show_in_website>
24
- <show_in_store>1</show_in_store>
25
- <fields>
26
- <core translate="label">
27
- <label>Core Functionality</label>
28
- <frontend_type>select</frontend_type>
29
- <source_model>adminhtml/system_config_source_enabledisable</source_model>
30
- <sort_order>2</sort_order>
31
- <show_in_default>1</show_in_default>
32
- <show_in_website>1</show_in_website>
33
- <show_in_store>1</show_in_store>
34
- </core>
35
- <reviews translate="label">
36
- <label>Review API</label>
37
- <frontend_type>select</frontend_type>
38
- <source_model>adminhtml/system_config_source_enabledisable</source_model>
39
- <sort_order>3</sort_order>
40
- <show_in_default>1</show_in_default>
41
- <show_in_website>1</show_in_website>
42
- <show_in_store>1</show_in_store>
43
- </reviews>
44
- </fields>
45
- </modules>
46
- <subscription translate="label">
47
- <label>Newsletter Options</label>
48
- <frontend_type>text</frontend_type>
49
- <sort_order>2</sort_order>
50
- <show_in_default>1</show_in_default>
51
- <show_in_website>1</show_in_website>
52
- <show_in_store>1</show_in_store>
53
- <fields>
54
- <signup_success_email translate="label">
55
- <label>Signup Success Email</label>
56
- <frontend_type>select</frontend_type>
57
- <source_model>adminhtml/system_config_source_enabledisable</source_model>
58
- <sort_order>2</sort_order>
59
- <show_in_default>1</show_in_default>
60
- <show_in_website>1</show_in_website>
61
- <show_in_store>1</show_in_store>
62
- </signup_success_email>
63
- <unsubscribe_email translate="label">
64
- <label>Unsubscribe Email</label>
65
- <frontend_type>select</frontend_type>
66
- <source_model>adminhtml/system_config_source_enabledisable</source_model>
67
- <sort_order>3</sort_order>
68
- <show_in_default>1</show_in_default>
69
- <show_in_website>1</show_in_website>
70
- <show_in_store>1</show_in_store>
71
- </unsubscribe_email>
72
- </fields>
73
- </subscription>
74
- <modal translate="label">
75
- <label>Email Signup Popup</label>
76
- <frontend_type>text</frontend_type>
77
- <sort_order>3</sort_order>
78
- <show_in_default>1</show_in_default>
79
- <show_in_website>1</show_in_website>
80
- <show_in_store>1</show_in_store>
81
- <fields>
82
- <enabled translate="label">
83
- <label>Enabled</label>
84
- <frontend_type>select</frontend_type>
85
- <source_model>adminhtml/system_config_source_enabledisable</source_model>
86
- <sort_order>1</sort_order>
87
- <show_in_default>1</show_in_default>
88
- <show_in_website>1</show_in_website>
89
- <show_in_store>1</show_in_store>
90
- </enabled>
91
- <listrakMerchantID translate="label">
92
- <label>Merchant ID</label>
93
- <frontend_type>text</frontend_type>
94
- <sort_order>2</sort_order>
95
- <show_in_default>1</show_in_default>
96
- <show_in_website>1</show_in_website>
97
- <show_in_store>1</show_in_store>
98
- </listrakMerchantID>
99
- <scriptLocation translate="label">
100
- <label>Script Location</label>
101
- <frontend_type>text</frontend_type>
102
- <sort_order>3</sort_order>
103
- <show_in_default>1</show_in_default>
104
- <show_in_website>1</show_in_website>
105
- <show_in_store>1</show_in_store>
106
- </scriptLocation>
107
- </fields>
108
- </modal>
109
- <abandonedcarts translate="label">
110
- <label>Abandoned Carts</label>
111
- <frontend_type>text</frontend_type>
112
- <sort_order>4</sort_order>
113
- <show_in_default>1</show_in_default>
114
- <show_in_website>1</show_in_website>
115
- <show_in_store>1</show_in_store>
116
- <fields>
117
- <abandoned_cart_report_timeout translate="label">
118
- <label>Abandoned Cart Report Timeout</label>
119
- <frontend_type>text</frontend_type>
120
- <sort_order>2</sort_order>
121
- <show_in_default>1</show_in_default>
122
- <show_in_website>1</show_in_website>
123
- <show_in_store>1</show_in_store>
124
- </abandoned_cart_report_timeout>
125
- </fields>
126
- </abandonedcarts>
127
- <productcategories translate="label">
128
- <label>Product Categories</label>
129
- <frontend_type>text</frontend_type>
130
- <sort_order>5</sort_order>
131
- <show_in_default>1</show_in_default>
132
- <show_in_website>0</show_in_website>
133
- <show_in_store>0</show_in_store>
134
- <fields>
135
- <categories_source translate="label">
136
- <label>Source</label>
137
- <comment>More options under Listrak > Product Attributes.</comment>
138
- <frontend_type>select</frontend_type>
139
- <source_model>listrak/product_category_source</source_model>
140
- <sort_order>1</sort_order>
141
- <show_in_default>1</show_in_default>
142
- <show_in_website>0</show_in_website>
143
- <show_in_store>0</show_in_store>
144
- </categories_source>
145
- </fields>
146
- </productcategories>
147
- </groups>
148
- </remarketing>
149
- </sections>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  </config>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <config>
8
+ <sections>
9
+ <remarketing translate="label" module="remarketing">
10
+ <label>Listrak</label>
11
+ <tab>customer</tab>
12
+ <frontend_type>text</frontend_type>
13
+ <sort_order>100</sort_order>
14
+ <show_in_default>1</show_in_default>
15
+ <show_in_website>1</show_in_website>
16
+ <show_in_store>1</show_in_store>
17
+ <groups>
18
+ <modules translate="label">
19
+ <label>Component Options</label>
20
+ <frontend_type>text</frontend_type>
21
+ <sort_order>1</sort_order>
22
+ <show_in_default>1</show_in_default>
23
+ <show_in_website>1</show_in_website>
24
+ <show_in_store>1</show_in_store>
25
+ <fields>
26
+ <core translate="label">
27
+ <label>Core Functionality</label>
28
+ <comment>Enable/disable all functionality apart from Review API.</comment>
29
+ <frontend_type>select</frontend_type>
30
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
31
+ <sort_order>1</sort_order>
32
+ <show_in_default>1</show_in_default>
33
+ <show_in_website>1</show_in_website>
34
+ <show_in_store>1</show_in_store>
35
+ </core>
36
+ <reviews translate="label">
37
+ <label>Review API</label>
38
+ <comment>Enable/disable Review API calls.</comment>
39
+ <frontend_type>select</frontend_type>
40
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
41
+ <sort_order>2</sort_order>
42
+ <show_in_default>1</show_in_default>
43
+ <show_in_website>1</show_in_website>
44
+ <show_in_store>1</show_in_store>
45
+ </reviews>
46
+ </fields>
47
+ </modules>
48
+ <subscription translate="label">
49
+ <label>Newsletter Options</label>
50
+ <frontend_type>text</frontend_type>
51
+ <sort_order>2</sort_order>
52
+ <show_in_default>1</show_in_default>
53
+ <show_in_website>1</show_in_website>
54
+ <show_in_store>1</show_in_store>
55
+ <fields>
56
+ <signup_success_email translate="label">
57
+ <label>Signup Success Email</label>
58
+ <frontend_type>select</frontend_type>
59
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
60
+ <sort_order>1</sort_order>
61
+ <show_in_default>1</show_in_default>
62
+ <show_in_website>1</show_in_website>
63
+ <show_in_store>1</show_in_store>
64
+ </signup_success_email>
65
+ <unsubscribe_email translate="label">
66
+ <label>Unsubscribe Email</label>
67
+ <frontend_type>select</frontend_type>
68
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
69
+ <sort_order>2</sort_order>
70
+ <show_in_default>1</show_in_default>
71
+ <show_in_website>1</show_in_website>
72
+ <show_in_store>1</show_in_store>
73
+ </unsubscribe_email>
74
+ </fields>
75
+ </subscription>
76
+ <modal translate="label">
77
+ <label>JavaScript Integration Options</label>
78
+ <frontend_type>text</frontend_type>
79
+ <sort_order>3</sort_order>
80
+ <show_in_default>1</show_in_default>
81
+ <show_in_website>1</show_in_website>
82
+ <show_in_store>1</show_in_store>
83
+ <fields>
84
+ <enabled translate="label">
85
+ <label>Enabled</label>
86
+ <frontend_type>select</frontend_type>
87
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
88
+ <sort_order>1</sort_order>
89
+ <show_in_default>1</show_in_default>
90
+ <show_in_website>1</show_in_website>
91
+ <show_in_store>1</show_in_store>
92
+ </enabled>
93
+ <sca>
94
+ <label>Shopping Cart Tracking</label>
95
+ <frontend_type>select</frontend_type>
96
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
97
+ <sort_order>2</sort_order>
98
+ <show_in_default>1</show_in_default>
99
+ <show_in_website>1</show_in_website>
100
+ <show_in_store>1</show_in_store>
101
+ </sca>
102
+ <activity>
103
+ <label>Browse Tracking</label>
104
+ <frontend_type>select</frontend_type>
105
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
106
+ <sort_order>3</sort_order>
107
+ <show_in_default>1</show_in_default>
108
+ <show_in_website>1</show_in_website>
109
+ <show_in_store>1</show_in_store>
110
+ </activity>
111
+ <listrakMerchantID translate="label">
112
+ <label>Merchant ID</label>
113
+ <frontend_type>text</frontend_type>
114
+ <sort_order>4</sort_order>
115
+ <show_in_default>1</show_in_default>
116
+ <show_in_website>1</show_in_website>
117
+ <show_in_store>1</show_in_store>
118
+ </listrakMerchantID>
119
+ </fields>
120
+ </modal>
121
+ <productcategories translate="label">
122
+ <label>Product Retrieval Options</label>
123
+ <frontend_type>text</frontend_type>
124
+ <sort_order>4</sort_order>
125
+ <show_in_default>1</show_in_default>
126
+ <show_in_website>1</show_in_website>
127
+ <show_in_store>1</show_in_store>
128
+ <fields>
129
+ <categories_source translate="label">
130
+ <label>Category Source</label>
131
+ <comment>More options under Listrak > Product Attributes.</comment>
132
+ <frontend_type>select</frontend_type>
133
+ <source_model>listrak/product_category_source</source_model>
134
+ <sort_order>1</sort_order>
135
+ <show_in_default>1</show_in_default>
136
+ <show_in_website>1</show_in_website>
137
+ <show_in_store>1</show_in_store>
138
+ </categories_source>
139
+ <category_level translate="label">
140
+ <label>Base Category Level</label>
141
+ <comment>Set the base category level, increasing this value will start deeper in the category tree.</comment>
142
+ <frontend_type>text</frontend_type>
143
+ <sort_order>2</sort_order>
144
+ <show_in_default>1</show_in_default>
145
+ <show_in_website>1</show_in_website>
146
+ <show_in_store>1</show_in_store>
147
+ </category_level>
148
+ <product_links translate="label">
149
+ <label>Related Products</label>
150
+ <comment>Return product relationships in the products API calls.</comment>
151
+ <frontend_type>select</frontend_type>
152
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
153
+ <sort_order>3</sort_order>
154
+ <show_in_default>1</show_in_default>
155
+ <show_in_website>1</show_in_website>
156
+ <show_in_store>1</show_in_store>
157
+ </product_links>
158
+ <purchasable_visibility translate="title">
159
+ <label>Products Available for Purchase</label>
160
+ <comment>Select the level(s) of product visibility that matches your definition of availability for purchase.</comment>
161
+ <frontend_type>select</frontend_type>
162
+ <source_model>listrak/product_purchasable_visibility</source_model>
163
+ <sort_order>4</sort_order>
164
+ <show_in_default>1</show_in_default>
165
+ <show_in_website>1</show_in_website>
166
+ <show_in_store>1</show_in_store>
167
+ </purchasable_visibility>
168
+ </fields>
169
+ </productcategories>
170
+ <advanced>
171
+ <label>Advanced Options</label>
172
+ <frontend_type>text</frontend_type>
173
+ <sort_order>5</sort_order>
174
+ <show_in_default>1</show_in_default>
175
+ <show_in_website>1</show_in_website>
176
+ <show_in_store>1</show_in_store>
177
+ <fields>
178
+ <meta_provider>
179
+ <label>Meta Data Provider</label>
180
+ <comment>Route to helper which provides the meta data array.</comment>
181
+ <frontend_type>text</frontend_type>
182
+ <sort_order>1</sort_order>
183
+ <show_in_default>1</show_in_default>
184
+ <show_in_website>1</show_in_website>
185
+ <show_in_store>1</show_in_store>
186
+ </meta_provider>
187
+ </fields>
188
+ </advanced>
189
+ </groups>
190
+ </remarketing>
191
+ </sections>
192
  </config>
app/code/community/Listrak/Remarketing/etc/wsdl.xml CHANGED
@@ -1,1010 +1,1160 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
- */
6
- -->
7
- <definitions xmlns:typens="urn:{{var wsdl.name}}"
8
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
9
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
10
- xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
11
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
12
- xmlns="http://schemas.xmlsoap.org/wsdl/"
13
- name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
14
- <types>
15
- <schema xmlns="http://www.w3.org/2001/XMLSchema"
16
- targetNamespace="urn:Magento">
17
- <import namespace="http://schemas.xmlsoap.org/soap/encoding/"
18
- schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
19
- <complexType name="ArrayOfString">
20
- <complexContent>
21
- <restriction base="soapenc:Array">
22
- <attribute ref="soapenc:arrayType"
23
- wsdl:arrayType="xsd:string[]"/>
24
- </restriction>
25
- </complexContent>
26
- </complexType>
27
- <!-- session -->
28
- <complexType name="ListrakRemarketingSessionEntity">
29
- <all>
30
- <element name="session_id" type="xsd:string" minOccurs="0"/>
31
- <element name="store_id" type="xsd:string" minOccurs="0"/>
32
- <element name="created_at" type="xsd:string" minOccurs="0"/>
33
- <element name="updated_at" type="xsd:string" minOccurs="0"/>
34
- <element name="quote_id" type="xsd:string" minOccurs="0"/>
35
- <element name="ips" type="xsd:string" minOccurs="0"/>
36
- <element name="pi_id" type="xsd:string" minOccurs="0"/>
37
- <element name="customer"
38
- type="typens:ListrakRemarketingCustomerEntity"
39
- minOccurs="0"/>
40
- <element name="emails"
41
- type="typens:ArrayOfListrakRemarketingSessionEmail"
42
- minOccurs="0"/>
43
- <element name="clicks"
44
- type="typens:ArrayOfListrakRemarketingClick"
45
- minOccurs="0"/>
46
- </all>
47
- </complexType>
48
- <complexType name="ListrakRemarketingSessionEmailEntity">
49
- <all>
50
- <element name="email" type="xsd:string" minOccurs="0"/>
51
- <element name="created_at" type="xsd:string" minOccurs="0"/>
52
- <element name="page" type="xsd:string" minOccurs="0"/>
53
- <element name="field_id" type="xsd:string" minOccurs="0"/>
54
- </all>
55
- </complexType>
56
- <complexType name="ArrayOfListrakRemarketingSessionEmail">
57
- <complexContent>
58
- <restriction base="soapenc:Array">
59
- <attribute ref="soapenc:arrayType"
60
- wsdl:arrayType="typens:ListrakRemarketingSessionEmailEntity[]"/>
61
- </restriction>
62
- </complexContent>
63
- </complexType>
64
-
65
- <!-- abandoned cart -->
66
- <complexType name="ListrakRemarketingAbandonedCartEntity">
67
- <all>
68
- <element name="store_id" type="xsd:string" minOccurs="0"/>
69
- <element name="session"
70
- type="typens:ListrakRemarketingSessionEntity"
71
- minOccurs="0"/>
72
- <element name="products"
73
- type="typens:ArrayOfListrakRemarketingAbandonedCartProduct"
74
- minOccurs="0"/>
75
- </all>
76
- </complexType>
77
- <complexType name="ArrayOfListrakRemarketingAbandonedCart">
78
- <complexContent>
79
- <restriction base="soapenc:Array">
80
- <attribute ref="soapenc:arrayType"
81
- wsdl:arrayType="typens:ListrakRemarketingAbandonedCartEntity[]"/>
82
- </restriction>
83
- </complexContent>
84
- </complexType>
85
- <complexType name="ListrakRemarketingAbandonedCartProductEntity">
86
- <all>
87
- <element name="entity_id" type="xsd:string" minOccurs="0"/>
88
- <element name="sku" type="xsd:string" minOccurs="0"/>
89
- <element name="name" type="xsd:string" minOccurs="0"/>
90
- <element name="price" type="xsd:string" minOccurs="0"/>
91
- <element name="special_price" type="xsd:string" minOccurs="0"/>
92
- <element name="special_from_date" type="xsd:string"
93
- minOccurs="0"/>
94
- <element name="special_to_date" type="xsd:string" minOccurs="0"/>
95
- <element name="cost" type="xsd:string" minOccurs="0"/>
96
- <element name="description" type="xsd:string" minOccurs="0"/>
97
- <element name="short_description" type="xsd:string"
98
- minOccurs="0"/>
99
- <element name="weight" type="xsd:string" minOccurs="0"/>
100
- <element name="url_key" type="xsd:string" minOccurs="0"/>
101
- <element name="url_path" type="xsd:string" minOccurs="0"/>
102
- <element name="image" type="xsd:string" minOccurs="0"/>
103
- <element name="small_image" type="xsd:string" minOccurs="0"/>
104
- <element name="thumbnail" type="xsd:string" minOccurs="0"/>
105
- <element name="qty" type="xsd:string" minOccurs="0"/>
106
- <element name="bundle_items"
107
- type="typens:ArrayOfListrakRemarketingAbandonedCartProduct"
108
- minOccurs="0"/>
109
- </all>
110
- </complexType>
111
- <complexType name="ArrayOfListrakRemarketingAbandonedCartProduct">
112
- <complexContent>
113
- <restriction base="soapenc:Array">
114
- <attribute ref="soapenc:arrayType"
115
- wsdl:arrayType="typens:ListrakRemarketingAbandonedCartProductEntity[]"/>
116
- </restriction>
117
- </complexContent>
118
- </complexType>
119
-
120
- <!-- product -->
121
- <complexType name="ListrakRemarketingConfigurableAttributeEntity">
122
- <all>
123
- <element name="attribute_name" type="xsd:string" minOccurs="0"/>
124
- <element name="value" type="xsd:string" minOccurs="0"/>
125
- </all>
126
- </complexType>
127
- <complexType name="ArrayOfListrakRemarketingConfigurableAttributeEntity">
128
- <complexContent>
129
- <restriction base="soapenc:Array">
130
- <attribute ref="soapenc:arrayType"
131
- wsdl:arrayType="typens:ListrakRemarketingConfigurableAttributeEntity[]"/>
132
- </restriction>
133
- </complexContent>
134
- </complexType>
135
- <complexType name="ListrakRemarketingProductEntity">
136
- <all>
137
- <element name="entity_id" type="xsd:string" minOccurs="0"/>
138
- <element name="sku" type="xsd:string" minOccurs="0"/>
139
- <element name="name" type="xsd:string" minOccurs="0"/>
140
- <element name="price" type="xsd:string" minOccurs="0"/>
141
- <element name="special_price" type="xsd:string" minOccurs="0"/>
142
- <element name="special_from_date" type="xsd:string"
143
- minOccurs="0"/>
144
- <element name="special_to_date" type="xsd:string" minOccurs="0"/>
145
- <element name="cost" type="xsd:string" minOccurs="0"/>
146
- <element name="description" type="xsd:string" minOccurs="0"/>
147
- <element name="short_description" type="xsd:string"
148
- minOccurs="0"/>
149
- <element name="weight" type="xsd:string" minOccurs="0"/>
150
- <element name="url_key" type="xsd:string" minOccurs="0"/>
151
- <element name="url_path" type="xsd:string" minOccurs="0"/>
152
- <element name="image" type="xsd:string" minOccurs="0"/>
153
- <element name="small_image" type="xsd:string" minOccurs="0"/>
154
- <element name="thumbnail" type="xsd:string" minOccurs="0"/>
155
- <element name="qty" type="xsd:string" minOccurs="0"/>
156
- <element name="parent_id" type="xsd:string" minOccurs="0"/>
157
- <element name="parent_sku" type="xsd:string" minOccurs="0"/>
158
- <element name="brand" type="xsd:string" minOccurs="0"/>
159
- <element name="category" type="xsd:string" minOccurs="0"/>
160
- <element name="sub_category" type="xsd:string" minOccurs="0"/>
161
- <element name="in_stock" type="xsd:string" minOccurs="0"/>
162
- <element name="qty_on_hand" type="xsd:string" minOccurs="0"/>
163
- <element name="type" type="xsd:string" minOccurs="0"/>
164
- <element name="configurable_attributes"
165
- type="typens:ArrayOfListrakRemarketingConfigurableAttributeEntity"
166
- minOccurs="0"/>
167
- </all>
168
- </complexType>
169
- <complexType name="ArrayOfListrakRemarketingProduct">
170
- <complexContent>
171
- <restriction base="soapenc:Array">
172
- <attribute ref="soapenc:arrayType"
173
- wsdl:arrayType="typens:ListrakRemarketingProductEntity[]"/>
174
- </restriction>
175
- </complexContent>
176
- </complexType>
177
-
178
- <!-- click -->
179
- <complexType name="ListrakRemarketingClickEntity">
180
- <all>
181
- <element name="store_id" type="xsd:string" minOccurs="0"/>
182
- <element name="customer_id" type="xsd:string" minOccurs="0"/>
183
- <element name="customer_email" type="xsd:string" minOccurs="0"/>
184
- <element name="querystring" type="xsd:string" minOccurs="0"/>
185
- <element name="click_date" type="xsd:string" minOccurs="0"/>
186
- <element name="token_uid" type="xsd:string" minOccurs="0"/>
187
- <element name="session_uid" type="xsd:string" minOccurs="0"/>
188
- <element name="pi_id" type="xsd:string" minOccurs="0"/>
189
- </all>
190
- </complexType>
191
- <complexType name="ArrayOfListrakRemarketingClick">
192
- <complexContent>
193
- <restriction base="soapenc:Array">
194
- <attribute ref="soapenc:arrayType"
195
- wsdl:arrayType="typens:ListrakRemarketingClickEntity[]"/>
196
- </restriction>
197
- </complexContent>
198
- </complexType>
199
-
200
- <!-- log -->
201
- <complexType name="ListrakRemarketingLogEntity">
202
- <all>
203
- <element name="store_id" type="xsd:string" minOccurs="0"/>
204
- <element name="message" type="xsd:string" minOccurs="0"/>
205
- <element name="date_entered" type="xsd:string" minOccurs="0"/>
206
- <element name="log_type_id" type="xsd:string" minOccurs="0"/>
207
- </all>
208
- </complexType>
209
- <complexType name="ArrayOfListrakRemarketingLog">
210
- <complexContent>
211
- <restriction base="soapenc:Array">
212
- <attribute ref="soapenc:arrayType"
213
- wsdl:arrayType="typens:ListrakRemarketingLogEntity[]"/>
214
- </restriction>
215
- </complexContent>
216
- </complexType>
217
-
218
- <!-- order -->
219
- <complexType name="ListrakRemarketingOrderEntity">
220
- <all>
221
- <element name="info"
222
- type="typens:ListrakRemarketingOrderInfoEntity"
223
- minOccurs="0"/>
224
- <element name="billing_address"
225
- type="typens:ListrakRemarketingOrderAddressEntity"
226
- minOccurs="0"/>
227
- <element name="shipping_address"
228
- type="typens:ListrakRemarketingOrderAddressEntity"
229
- minOccurs="0"/>
230
- <element name="product"
231
- type="typens:ArrayOfListrakRemarketingProductShort"
232
- minOccurs="0"/>
233
- <element name="session"
234
- type="typens:ListrakRemarketingSessionEntity"
235
- minOccurs="0"/>
236
- <element name="customer"
237
- type="typens:ListrakRemarketingCustomerEntity"
238
- minOccurs="0"/>
239
- </all>
240
- </complexType>
241
- <complexType name="ArrayOfListrakRemarketingOrder">
242
- <complexContent>
243
- <restriction base="soapenc:Array">
244
- <attribute ref="soapenc:arrayType"
245
- wsdl:arrayType="typens:ListrakRemarketingOrderEntity[]"/>
246
- </restriction>
247
- </complexContent>
248
- </complexType>
249
- <complexType name="ListrakRemarketingOrderInfoEntity">
250
- <all>
251
- <element name="entity_id" type="xsd:string" minOccurs="0"/>
252
- <element name="order_id" type="xsd:string" minOccurs="0"/>
253
- <element name="status" type="xsd:string" minOccurs="0"/>
254
- <element name="customer_firstname" type="xsd:string"
255
- minOccurs="0"/>
256
- <element name="customer_lastname" type="xsd:string"
257
- minOccurs="0"/>
258
- <element name="customer_email" type="xsd:string" minOccurs="0"/>
259
- <element name="subtotal" type="xsd:string" minOccurs="0"/>
260
- <element name="tax_amount" type="xsd:string" minOccurs="0"/>
261
- <element name="shipping_amount" type="xsd:string" minOccurs="0"/>
262
- <element name="grand_total" type="xsd:string" minOccurs="0"/>
263
- <element name="billing_firstname" type="xsd:string"
264
- minOccurs="0"/>
265
- <element name="created_at" type="xsd:string" minOccurs="0"/>
266
- <element name="updated_at" type="xsd:string" minOccurs="0"/>
267
- </all>
268
- </complexType>
269
- <complexType name="ListrakRemarketingOrderAddressEntity">
270
- <all>
271
- <element name="firstname" type="xsd:string" minOccurs="0"/>
272
- <element name="lastname" type="xsd:string" minOccurs="0"/>
273
- <element name="company" type="xsd:string" minOccurs="0"/>
274
- <element name="street" type="xsd:string" minOccurs="0"/>
275
- <element name="city" type="xsd:string" minOccurs="0"/>
276
- <element name="region" type="xsd:string" minOccurs="0"/>
277
- <element name="postcode" type="xsd:string" minOccurs="0"/>
278
- <element name="country" type="xsd:string" minOccurs="0"/>
279
- </all>
280
- </complexType>
281
- <complexType name="ListrakRemarketingProductShortEntity">
282
- <all>
283
- <element name="sku" type="xsd:string" minOccurs="0"/>
284
- <element name="name" type="xsd:string" minOccurs="0"/>
285
- <element name="price" type="xsd:string" minOccurs="0"/>
286
- <element name="qty_ordered" type="xsd:string" minOccurs="0"/>
287
- <element name="product_price" type="xsd:string" minOccurs="0"/>
288
- <element name="bundle_items"
289
- type="typens:ArrayOfListrakRemarketingProductShort"
290
- minOccurs="0"/>
291
- </all>
292
- </complexType>
293
- <complexType name="ArrayOfListrakRemarketingProductShort">
294
- <complexContent>
295
- <restriction base="soapenc:Array">
296
- <attribute ref="soapenc:arrayType"
297
- wsdl:arrayType="typens:ListrakRemarketingProductShortEntity[]"/>
298
- </restriction>
299
- </complexContent>
300
- </complexType>
301
-
302
- <!-- order status -->
303
- <complexType name="ListrakRemarketingOrderStatusEntity">
304
- <all>
305
- <element name="increment_id" type="xsd:string" minOccurs="0"/>
306
- <element name="status" type="xsd:string" minOccurs="0"/>
307
- <element name="updated_at" type="xsd:string" minOccurs="0"/>
308
- </all>
309
- </complexType>
310
- <complexType name="ArrayOfListrakRemarketingOrderStatus">
311
- <complexContent>
312
- <restriction base="soapenc:Array">
313
- <attribute ref="soapenc:arrayType"
314
- wsdl:arrayType="typens:ListrakRemarketingOrderStatusEntity[]"/>
315
- </restriction>
316
- </complexContent>
317
- </complexType>
318
-
319
- <!-- customer -->
320
- <complexType name="ListrakRemarketingCustomerEntity">
321
- <all>
322
- <element name="entity_id" type="xsd:string" minOccurs="0"/>
323
- <element name="firstname" type="xsd:string" minOccurs="0"/>
324
- <element name="lastname" type="xsd:string" minOccurs="0"/>
325
- <element name="email" type="xsd:string" minOccurs="0"/>
326
- <element name="website_id" type="xsd:string" minOccurs="0"/>
327
- <element name="store_id" type="xsd:string" minOccurs="0"/>
328
- <element name="gender_name" type="xsd:string" minOccurs="0"/>
329
- <element name="dob" type="xsd:string" minOccurs="0"/>
330
- <element name="group_name" type="xsd:string" minOccurs="0"/>
331
- </all>
332
- </complexType>
333
- <complexType name="ArrayOfListrakRemarketingCustomer">
334
- <complexContent>
335
- <restriction base="soapenc:Array">
336
- <attribute ref="soapenc:arrayType"
337
- wsdl:arrayType="typens:ListrakRemarketingCustomerEntity[]"/>
338
- </restriction>
339
- </complexContent>
340
- </complexType>
341
-
342
- <!-- subscriber -->
343
- <complexType name="ListrakRemarketingSubscriberEntity">
344
- <all>
345
- <element name="subscriber_id" type="xsd:string" minOccurs="0"/>
346
- <element name="store_id" type="xsd:string" minOccurs="0"/>
347
- <element name="customer_id" type="xsd:string" minOccurs="0"/>
348
- <element name="change_status_at" type="xsd:string"
349
- minOccurs="0"/>
350
- <element name="subscriber_email" type="xsd:string"
351
- minOccurs="0"/>
352
- <element name="subscriber_status" type="xsd:string"
353
- minOccurs="0"/>
354
- <element name="updated_at" type="xsd:string" minOccurs="0"/>
355
- </all>
356
- </complexType>
357
- <complexType name="ArrayOfListrakRemarketingSubscriber">
358
- <complexContent>
359
- <restriction base="soapenc:Array">
360
- <attribute ref="soapenc:arrayType"
361
- wsdl:arrayType="typens:ListrakRemarketingSubscriberEntity[]"/>
362
- </restriction>
363
- </complexContent>
364
- </complexType>
365
-
366
- <complexType name="ListrakRemarketingInfoEntity">
367
- <all>
368
- <element name="magentoVersion" type="xsd:string" minOccurs="0"/>
369
- <element name="listrakSettings"
370
- type="typens:ListrakRemarketingSettingEntity"
371
- minOccurs="0"/>
372
- <element name="modules" type="typens:ArrayOfString"
373
- minOccurs="0"/>
374
- <element name="ini" type="typens:ArrayOfString" minOccurs="0"/>
375
- <element name="classes" type="xsd:string" minOccurs="0"/>
376
- <element name="counts" type="xsd:string" minOccurs="0"/>
377
- </all>
378
- </complexType>
379
- <complexType name="ListrakRemarketingSettingEntity">
380
- <all>
381
- <element name="coreEnabled" type="xsd:string" minOccurs="0"/>
382
- <element name="reviewsApiEnabled" type="xsd:string"
383
- minOccurs="0"/>
384
- </all>
385
- </complexType>
386
-
387
- <!-- review list / review update list -->
388
- <complexType name="ListrakRemarketingReviewListResult">
389
- <complexContent>
390
- <restriction base="soapenc:Array">
391
- <attribute ref="soapenc:arrayType"
392
- wsdl:arrayType="typens:ListrakRemarketingReviewListItem[]"/>
393
- </restriction>
394
- </complexContent>
395
- </complexType>
396
- <complexType name="ListrakRemarketingReviewListItem">
397
- <all>
398
- <element name="update_id" type="xsd:string" minOccurs="0"/>
399
- <element name="review_id" type="xsd:string" minOccurs="0"/>
400
- <element name="product_id" type="xsd:string" minOccurs="0"/>
401
- <element name="title" type="xsd:string" minOccurs="0"/>
402
- <element name="text" type="xsd:string" minOccurs="0"/>
403
- <element name="overall_rating" type="xsd:string" minOccurs="0"/>
404
- <element name="created_at" type="xsd:string" minOccurs="0"/>
405
- <element name="updated_at" type="xsd:string" minOccurs="0"/>
406
- <element name="reviewer_name" type="xsd:string" minOccurs="0"/>
407
- <element name="email" type="xsd:string" minOccurs="0"/>
408
- <element name="status_id" type="xsd:string" minOccurs="0"/>
409
- <element name="status_code" type="xsd:string" minOccurs="0"/>
410
- <element name="ratings"
411
- type="typens:ArrayOfListrakRemarketingReviewRating"
412
- minOccurs="0"/>
413
- </all>
414
- </complexType>
415
- <complexType name="ArrayOfListrakRemarketingReviewRating">
416
- <complexContent>
417
- <restriction base="soapenc:Array">
418
- <attribute ref="soapenc:arrayType"
419
- wsdl:arrayType="typens:ListrakRemarketingReviewRatingItem[]"/>
420
- </restriction>
421
- </complexContent>
422
- </complexType>
423
- <complexType name="ListrakRemarketingReviewRatingItem">
424
- <all>
425
- <element name="rating_id" type="xsd:string" minOccurs="0"/>
426
- <element name="rating_code" type="xsd:string" minOccurs="0"/>
427
- <element name="rating" type="xsd:string" minOccurs="0"/>
428
- </all>
429
- </complexType>
430
-
431
- <!-- rating summary list / rating summary update list -->
432
- <complexType name="ListrakRemarketingRatingSummaryListResult">
433
- <complexContent>
434
- <restriction base="soapenc:Array">
435
- <attribute ref="soapenc:arrayType"
436
- wsdl:arrayType="typens:ListrakRemarketingRatingSummaryItem[]"/>
437
- </restriction>
438
- </complexContent>
439
- </complexType>
440
- <complexType name="ListrakRemarketingRatingSummaryItem">
441
- <all>
442
- <element name="update_id" type="xsd:string" minOccurs="0"/>
443
- <element name="rating_summary_id" type="xsd:string"
444
- minOccurs="0"/>
445
- <element name="product_id" type="xsd:string" minOccurs="0"/>
446
- <element name="updated_at" type="xsd:string" minOccurs="0"/>
447
- <element name="total_reviews" type="xsd:string" minOccurs="0"/>
448
- <element name="rating" type="xsd:string" minOccurs="0"/>
449
- <element name="ratings"
450
- type="typens:ArrayOfListrakRemarketingRatingSummaryAttribute"
451
- minOccurs="0"/>
452
- </all>
453
- </complexType>
454
- <complexType name="ArrayOfListrakRemarketingRatingSummaryAttribute">
455
- <complexContent>
456
- <restriction base="soapenc:Array">
457
- <attribute ref="soapenc:arrayType"
458
- wsdl:arrayType="typens:ListrakRemarketingRatingSummaryAttributeItem[]"/>
459
- </restriction>
460
- </complexContent>
461
- </complexType>
462
- <complexType name="ListrakRemarketingRatingSummaryAttributeItem">
463
- <all>
464
- <element name="rating_id" type="xsd:string" minOccurs="0"/>
465
- <element name="rating_code" type="xsd:string" minOccurs="0"/>
466
- <element name="rating" type="xsd:string" minOccurs="0"/>
467
- </all>
468
- </complexType>
469
-
470
- <!-- review delete list -->
471
- <complexType name="ListrakRemarketingReviewDeleteListResult">
472
- <complexContent>
473
- <restriction base="soapenc:Array">
474
- <attribute ref="soapenc:arrayType"
475
- wsdl:arrayType="typens:ListrakRemarketingDeletedReview[]"/>
476
- </restriction>
477
- </complexContent>
478
- </complexType>
479
- <complexType name="ListrakRemarketingDeletedReview">
480
- <all>
481
- <element name="delete_id" type="xsd:string" minOccurs="0"/>
482
- <element name="review_id" type="xsd:string" minOccurs="0"/>
483
- </all>
484
- </complexType>
485
-
486
- <!-- review update purge -->
487
- <complexType name="ListrakRemarketingReviewUpdatePurgeResult">
488
- <all>
489
- <element name="count" type="xsd:string" minOccurs="0"/>
490
- <element name="before" type="xsd:string" minOccurs="0"/>
491
- </all>
492
- </complexType>
493
- </schema>
494
- </types>
495
- <message name="listrakRemarketingAbandonedCartListRequest">
496
- <part name="sessionId" type="xsd:string"/>
497
- <part name="storeId" type="xsd:string"/>
498
- <part name="startDate" type="xsd:string"/>
499
- <part name="endDate" type="xsd:string"/>
500
- <part name="perPage" type="xsd:int"/>
501
- <part name="page" type="xsd:int"/>
502
- </message>
503
- <message name="listrakRemarketingAbandonedCartListResponse">
504
- <part name="result" type="typens:ArrayOfListrakRemarketingAbandonedCart"/>
505
- </message>
506
- <message name="listrakRemarketingAbandonedCartPurgeRequest">
507
- <part name="sessionId" type="xsd:string"/>
508
- <part name="storeId" type="xsd:string"/>
509
- <part name="endDate" type="xsd:string"/>
510
- </message>
511
- <message name="listrakRemarketingAbandonedCartPurgeResponse">
512
- <part name="result" type="xsd:string"/>
513
- </message>
514
- <message name="listrakRemarketingClickListRequest">
515
- <part name="sessionId" type="xsd:string"/>
516
- <part name="storeId" type="xsd:string"/>
517
- <part name="startDate" type="xsd:string"/>
518
- <part name="endDate" type="xsd:string"/>
519
- <part name="perPage" type="xsd:int"/>
520
- <part name="page" type="xsd:int"/>
521
- </message>
522
- <message name="listrakRemarketingClickListResponse">
523
- <part name="result" type="typens:ArrayOfListrakRemarketingClick"/>
524
- </message>
525
- <message name="listrakRemarketingClickPurgeRequest">
526
- <part name="sessionId" type="xsd:string"/>
527
- <part name="storeId" type="xsd:string"/>
528
- <part name="endDate" type="xsd:string"/>
529
- </message>
530
- <message name="listrakRemarketingClickPurgeResponse">
531
- <part name="result" type="xsd:string"/>
532
- </message>
533
- <message name="listrakRemarketingLogListRequest">
534
- <part name="sessionId" type="xsd:string"/>
535
- <part name="storeId" type="xsd:string"/>
536
- <part name="startDate" type="xsd:string"/>
537
- <part name="endDate" type="xsd:string"/>
538
- <part name="perPage" type="xsd:int"/>
539
- <part name="page" type="xsd:int"/>
540
- <part name="logTypeId" type="xsd:string"/>
541
- </message>
542
- <message name="listrakRemarketingLogListResponse">
543
- <part name="result" type="typens:ArrayOfListrakRemarketingLog"/>
544
- </message>
545
- <message name="listrakRemarketingLogPurgeRequest">
546
- <part name="sessionId" type="xsd:string"/>
547
- <part name="storeId" type="xsd:string"/>
548
- <part name="endDate" type="xsd:string"/>
549
- </message>
550
- <message name="listrakRemarketingLogPurgeResponse">
551
- <part name="result" type="xsd:string"/>
552
- </message>
553
- <message name="listrakRemarketingLogToggleRequest">
554
- <part name="sessionId" type="xsd:string"/>
555
- <part name="storeId" type="xsd:string"/>
556
- <part name="onOff" type="xsd:string"/>
557
- </message>
558
- <message name="listrakRemarketingLogToggleResponse">
559
- <part name="result" type="xsd:string"/>
560
- </message>
561
- <message name="listrakRemarketingOrderListRequest">
562
- <part name="sessionId" type="xsd:string"/>
563
- <part name="storeId" type="xsd:string"/>
564
- <part name="startDate" type="xsd:string"/>
565
- <part name="endDate" type="xsd:string"/>
566
- <part name="perPage" type="xsd:int"/>
567
- <part name="page" type="xsd:int"/>
568
- </message>
569
- <message name="listrakRemarketingOrderListResponse">
570
- <part name="result" type="typens:ArrayOfListrakRemarketingOrder"/>
571
- </message>
572
- <message name="listrakRemarketingOrderStatusListRequest">
573
- <part name="sessionId" type="xsd:string"/>
574
- <part name="storeId" type="xsd:string"/>
575
- <part name="startDate" type="xsd:string"/>
576
- <part name="endDate" type="xsd:string"/>
577
- <part name="perPage" type="xsd:int"/>
578
- <part name="page" type="xsd:int"/>
579
- <part name="filters" type="typens:filters"/>
580
- </message>
581
- <message name="listrakRemarketingOrderStatusListResponse">
582
- <part name="result" type="typens:ArrayOfListrakRemarketingOrderStatus"/>
583
- </message>
584
- <message name="listrakRemarketingProductListRequest">
585
- <part name="sessionId" type="xsd:string"/>
586
- <part name="storeId" type="xsd:string"/>
587
- <part name="perPage" type="xsd:int"/>
588
- <part name="page" type="xsd:int"/>
589
- </message>
590
- <message name="listrakRemarketingProductListResponse">
591
- <part name="result" type="typens:ArrayOfListrakRemarketingProduct"/>
592
- </message>
593
- <message name="listrakRemarketingSubscriberListRequest">
594
- <part name="sessionId" type="xsd:string"/>
595
- <part name="storeId" type="xsd:string"/>
596
- <part name="startDate" type="xsd:string"/>
597
- <part name="perPage" type="xsd:int"/>
598
- <part name="page" type="xsd:int"/>
599
- </message>
600
- <message name="listrakRemarketingSubscriberListResponse">
601
- <part name="result" type="typens:ArrayOfListrakRemarketingSubscriber"/>
602
- </message>
603
- <message name="listrakRemarketingSubscriberPurgeRequest">
604
- <part name="sessionId" type="xsd:string"/>
605
- <part name="endDate" type="xsd:string"/>
606
- </message>
607
- <message name="listrakRemarketingSubscriberPurgeResponse">
608
- <part name="result" type="xsd:string"/>
609
- </message>
610
- <message name="listrakRemarketingCustomerListRequest">
611
- <part name="sessionId" type="xsd:string"/>
612
- <part name="storeId" type="xsd:string"/>
613
- <part name="websiteId" type="xsd:int"/>
614
- <part name="perPage" type="xsd:int"/>
615
- <part name="page" type="xsd:int"/>
616
- </message>
617
- <message name="listrakRemarketingCustomerListResponse">
618
- <part name="result" type="typens:ArrayOfListrakRemarketingCustomer"/>
619
- </message>
620
- <message name="listrakRemarketingInfoListRequest">
621
- <part name="sessionId" type="xsd:string"/>
622
- <part name="storeId" type="xsd:string"/>
623
- </message>
624
- <message name="listrakRemarketingInfoListResponse">
625
- <part name="result" type="typens:ListrakRemarketingInfoEntity"/>
626
- </message>
627
- <message name="listrakRemarketingReviewListRequest">
628
- <part name="sessionId" type="xsd:string"/>
629
- <part name="storeId" type="xsd:string"/>
630
- <part name="chunkSize" type="xsd:string"/>
631
- <part name="startReviewId" type="xsd:string"/>
632
- </message>
633
- <message name="listrakRemarketingReviewListResponse">
634
- <part name="result" type="typens:ListrakRemarketingReviewListResult"/>
635
- </message>
636
- <message name="listrakRemarketingRatingSummaryListRequest">
637
- <part name="sessionId" type="xsd:string"/>
638
- <part name="storeId" type="xsd:string"/>
639
- <part name="chunkSize" type="xsd:string"/>
640
- <part name="startRatingSummaryId" type="xsd:string"/>
641
- </message>
642
- <message name="listrakRemarketingRatingSummaryListResponse">
643
- <part name="result" type="typens:ListrakRemarketingRatingSummaryListResult"/>
644
- </message>
645
- <message name="listrakRemarketingReviewUpdateListRequest">
646
- <part name="sessionId" type="xsd:string"/>
647
- <part name="storeId" type="xsd:string"/>
648
- <part name="chunkSize" type="xsd:string"/>
649
- <part name="startUpdateId" type="xsd:string"/>
650
- </message>
651
- <message name="listrakRemarketingReviewUpdateListResponse">
652
- <part name="result" type="typens:ListrakRemarketingReviewListResult"/>
653
- </message>
654
- <message name="listrakRemarketingRatingSummaryUpdateListRequest">
655
- <part name="sessionId" type="xsd:string"/>
656
- <part name="storeId" type="xsd:string"/>
657
- <part name="chunkSize" type="xsd:string"/>
658
- <part name="startUpdateId" type="xsd:string"/>
659
- </message>
660
- <message name="listrakRemarketingRatingSummaryUpdateListResponse">
661
- <part name="result" type="typens:ListrakRemarketingRatingSummaryListResult"/>
662
- </message>
663
- <message name="listrakRemarketingReviewDeleteListRequest">
664
- <part name="sessionId" type="xsd:string"/>
665
- <part name="chunkSize" type="xsd:string"/>
666
- <part name="startDeleteId" type="xsd:string"/>
667
- </message>
668
- <message name="listrakRemarketingReviewDeleteListResponse">
669
- <part name="result" type="typens:ListrakRemarketingReviewDeleteListResult"/>
670
- </message>
671
- <message name="listrakRemarketingReviewUpdatePurgeRequest">
672
- <part name="sessionId" type="xsd:string"/>
673
- <part name="purgeBeforeDays" type="xsd:string"/>
674
- </message>
675
- <message name="listrakRemarketingReviewUpdatePurgeResponse">
676
- <part name="result" type="typens:ListrakRemarketingReviewUpdatePurgeResult"/>
677
- </message>
678
- <portType name="{{var wsdl.handler}}PortType">
679
- <operation name="listrakRemarketingAbandonedCartList">
680
- <documentation>Get stores abandoned carts</documentation>
681
- <input message="typens:listrakRemarketingAbandonedCartListRequest"/>
682
- <output message="typens:listrakRemarketingAbandonedCartListResponse"/>
683
- </operation>
684
- <operation name="listrakRemarketingAbandonedCartPurge">
685
- <documentation>Purge abandoned carts</documentation>
686
- <input message="typens:listrakRemarketingAbandonedCartPurgeRequest"/>
687
- <output message="typens:listrakRemarketingAbandonedCartPurgeResponse"/>
688
- </operation>
689
- <operation name="listrakRemarketingClickList">
690
- <documentation>Get clicks</documentation>
691
- <input message="typens:listrakRemarketingClickListRequest"/>
692
- <output message="typens:listrakRemarketingClickListResponse"/>
693
- </operation>
694
- <operation name="listrakRemarketingClickPurge">
695
- <documentation>Purge clicks</documentation>
696
- <input message="typens:listrakRemarketingClickPurgeRequest"/>
697
- <output message="typens:listrakRemarketingClickPurgeResponse"/>
698
- </operation>
699
- <operation name="listrakRemarketingLogList">
700
- <documentation>Get log entries</documentation>
701
- <input message="typens:listrakRemarketingLogListRequest"/>
702
- <output message="typens:listrakRemarketingLogListResponse"/>
703
- </operation>
704
- <operation name="listrakRemarketingLogPurge">
705
- <documentation>Purge log entries</documentation>
706
- <input message="typens:listrakRemarketingLogPurgeRequest"/>
707
- <output message="typens:listrakRemarketingLogPurgeResponse"/>
708
- </operation>
709
- <operation name="listrakRemarketingLogToggle">
710
- <documentation>toggle logging</documentation>
711
- <input message="typens:listrakRemarketingLogToggleRequest"/>
712
- <output message="typens:listrakRemarketingLogToggleResponse"/>
713
- </operation>
714
- <operation name="listrakRemarketingOrderList">
715
- <documentation>Get orders</documentation>
716
- <input message="typens:listrakRemarketingOrderListRequest"/>
717
- <output message="typens:listrakRemarketingOrderListResponse"/>
718
- </operation>
719
- <operation name="listrakRemarketingOrderStatusList">
720
- <documentation>Get order status changes</documentation>
721
- <input message="typens:listrakRemarketingOrderStatusListRequest"/>
722
- <output message="typens:listrakRemarketingOrderStatusListResponse"/>
723
- </operation>
724
- <operation name="listrakRemarketingProductList">
725
- <documentation>Get products</documentation>
726
- <input message="typens:listrakRemarketingProductListRequest"/>
727
- <output message="typens:listrakRemarketingProductListResponse"/>
728
- </operation>
729
- <operation name="listrakRemarketingSubscriberList">
730
- <documentation>Get subscribers and unsubscribers</documentation>
731
- <input message="typens:listrakRemarketingSubscriberListRequest"/>
732
- <output message="typens:listrakRemarketingSubscriberListResponse"/>
733
- </operation>
734
- <operation name="listrakRemarketingSubscriberPurge">
735
- <documentation>Purge old subscriber updates</documentation>
736
- <input message="typens:listrakRemarketingSubscriberPurgeRequest"/>
737
- <output message="typens:listrakRemarketingSubscriberPurgeResponse"/>
738
- </operation>
739
- <operation name="listrakRemarketingCustomerList">
740
- <documentation>Get customers</documentation>
741
- <input message="typens:listrakRemarketingCustomerListRequest"/>
742
- <output message="typens:listrakRemarketingCustomerListResponse"/>
743
- </operation>
744
- <operation name="listrakRemarketingInfoList">
745
- <documentation>Get info</documentation>
746
- <input message="typens:listrakRemarketingInfoListRequest"/>
747
- <output message="typens:listrakRemarketingInfoListResponse"/>
748
- </operation>
749
- <operation name="listrakRemarketingReviewList">
750
- <documentation>Get review list</documentation>
751
- <input message="typens:listrakRemarketingReviewListRequest"/>
752
- <output message="typens:listrakRemarketingReviewListResponse"/>
753
- </operation>
754
- <operation name="listrakRemarketingRatingSummaryList">
755
- <documentation>Get rating summary list</documentation>
756
- <input message="typens:listrakRemarketingRatingSummaryListRequest"/>
757
- <output message="typens:listrakRemarketingRatingSummaryListResponse"/>
758
- </operation>
759
- <operation name="listrakRemarketingReviewUpdateList">
760
- <documentation>Get review list</documentation>
761
- <input message="typens:listrakRemarketingReviewUpdateListRequest"/>
762
- <output message="typens:listrakRemarketingReviewUpdateListResponse"/>
763
- </operation>
764
- <operation name="listrakRemarketingRatingSummaryUpdateList">
765
- <documentation>Get rating summary list</documentation>
766
- <input message="typens:listrakRemarketingRatingSummaryUpdateListRequest"/>
767
- <output message="typens:listrakRemarketingRatingSummaryUpdateListResponse"/>
768
- </operation>
769
- <operation name="listrakRemarketingReviewDeleteList">
770
- <documentation>Get deleted reviews list</documentation>
771
- <input message="typens:listrakRemarketingReviewDeleteListRequest"/>
772
- <output message="typens:listrakRemarketingReviewDeleteListResponse"/>
773
- </operation>
774
- <operation name="listrakRemarketingReviewUpdatePurge">
775
- <documentation>Get deleted reviews list</documentation>
776
- <input message="typens:listrakRemarketingReviewUpdatePurgeRequest"/>
777
- <output message="typens:listrakRemarketingReviewUpdatePurgeResponse"/>
778
- </operation>
779
- </portType>
780
- <binding name="{{var wsdl.handler}}Binding"
781
- type="typens:{{var wsdl.handler}}PortType">
782
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
783
- <operation name="listrakRemarketingAbandonedCartList">
784
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
785
- <input>
786
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
787
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
788
- </input>
789
- <output>
790
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
791
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
792
- </output>
793
- </operation>
794
- <operation name="listrakRemarketingAbandonedCartPurge">
795
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
796
- <input>
797
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
798
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
799
- </input>
800
- <output>
801
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
802
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
803
- </output>
804
- </operation>
805
- <operation name="listrakRemarketingClickList">
806
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
807
- <input>
808
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
809
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
810
- </input>
811
- <output>
812
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
813
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
814
- </output>
815
- </operation>
816
- <operation name="listrakRemarketingClickPurge">
817
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
818
- <input>
819
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
820
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
821
- </input>
822
- <output>
823
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
824
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
825
- </output>
826
- </operation>
827
- <operation name="listrakRemarketingLogList">
828
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
829
- <input>
830
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
831
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
832
- </input>
833
- <output>
834
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
835
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
836
- </output>
837
- </operation>
838
- <operation name="listrakRemarketingLogPurge">
839
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
840
- <input>
841
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
842
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
843
- </input>
844
- <output>
845
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
846
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
847
- </output>
848
- </operation>
849
- <operation name="listrakRemarketingLogToggle">
850
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
851
- <input>
852
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
853
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
854
- </input>
855
- <output>
856
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
857
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
858
- </output>
859
- </operation>
860
- <operation name="listrakRemarketingOrderList">
861
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
862
- <input>
863
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
864
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
865
- </input>
866
- <output>
867
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
868
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
869
- </output>
870
- </operation>
871
- <operation name="listrakRemarketingOrderStatusList">
872
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
873
- <input>
874
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
875
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
876
- </input>
877
- <output>
878
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
879
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
880
- </output>
881
- </operation>
882
- <operation name="listrakRemarketingProductList">
883
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
884
- <input>
885
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
886
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
887
- </input>
888
- <output>
889
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
890
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
891
- </output>
892
- </operation>
893
- <operation name="listrakRemarketingSubscriberList">
894
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
895
- <input>
896
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
897
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
898
- </input>
899
- <output>
900
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
901
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
902
- </output>
903
- </operation>
904
- <operation name="listrakRemarketingSubscriberPurge">
905
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
906
- <input>
907
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
908
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
909
- </input>
910
- <output>
911
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
912
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
913
- </output>
914
- </operation>
915
- <operation name="listrakRemarketingCustomerList">
916
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
917
- <input>
918
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
919
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
920
- </input>
921
- <output>
922
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
923
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
924
- </output>
925
- </operation>
926
- <operation name="listrakRemarketingInfoList">
927
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
928
- <input>
929
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
930
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
931
- </input>
932
- <output>
933
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
934
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
935
- </output>
936
- </operation>
937
- <operation name="listrakRemarketingReviewList">
938
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
939
- <input>
940
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
941
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
942
- </input>
943
- <output>
944
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
945
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
946
- </output>
947
- </operation>
948
- <operation name="listrakRemarketingRatingSummaryList">
949
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
950
- <input>
951
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
952
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
953
- </input>
954
- <output>
955
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
956
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
957
- </output>
958
- </operation>
959
- <operation name="listrakRemarketingReviewUpdateList">
960
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
961
- <input>
962
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
963
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
964
- </input>
965
- <output>
966
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
967
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
968
- </output>
969
- </operation>
970
- <operation name="listrakRemarketingRatingSummaryUpdateList">
971
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
972
- <input>
973
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
974
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
975
- </input>
976
- <output>
977
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
978
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
979
- </output>
980
- </operation>
981
- <operation name="listrakRemarketingReviewDeleteList">
982
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
983
- <input>
984
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
985
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
986
- </input>
987
- <output>
988
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
989
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
990
- </output>
991
- </operation>
992
- <operation name="listrakRemarketingReviewUpdatePurge">
993
- <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
994
- <input>
995
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
996
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
997
- </input>
998
- <output>
999
- <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1000
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1001
- </output>
1002
- </operation>
1003
- </binding>
1004
- <service name="{{var wsdl.name}}Service">
1005
- <port name="{{var wsdl.handler}}Port"
1006
- binding="typens:{{var wsdl.handler}}Binding">
1007
- <soap:address location="{{var wsdl.url}}"/>
1008
- </port>
1009
- </service>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1010
  </definitions>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <definitions xmlns:typens="urn:{{var wsdl.name}}"
8
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
9
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
10
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
11
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
12
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
13
+ name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
14
+ <types>
15
+ <schema xmlns="http://www.w3.org/2001/XMLSchema"
16
+ targetNamespace="urn:Magento">
17
+ <import namespace="http://schemas.xmlsoap.org/soap/encoding/"
18
+ schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
19
+ <complexType name="ArrayOfString">
20
+ <complexContent>
21
+ <restriction base="soapenc:Array">
22
+ <attribute ref="soapenc:arrayType"
23
+ wsdl:arrayType="xsd:string[]"/>
24
+ </restriction>
25
+ </complexContent>
26
+ </complexType>
27
+ <!-- session -->
28
+ <complexType name="ListrakRemarketingSessionEntity">
29
+ <all>
30
+ <element name="session_id" type="xsd:string" minOccurs="0"/>
31
+ <element name="store_id" type="xsd:string" minOccurs="0"/>
32
+ <element name="created_at" type="xsd:string" minOccurs="0"/>
33
+ <element name="updated_at" type="xsd:string" minOccurs="0"/>
34
+ <element name="quote_id" type="xsd:string" minOccurs="0"/>
35
+ <element name="ips" type="xsd:string" minOccurs="0"/>
36
+ <element name="pi_id" type="xsd:string" minOccurs="0"/>
37
+ <element name="customer"
38
+ type="typens:ListrakRemarketingCustomerEntity"
39
+ minOccurs="0"/>
40
+ <element name="emails"
41
+ type="typens:ArrayOfListrakRemarketingSessionEmail"
42
+ minOccurs="0"/>
43
+ <element name="clicks"
44
+ type="typens:ArrayOfListrakRemarketingClick"
45
+ minOccurs="0"/>
46
+ </all>
47
+ </complexType>
48
+ <complexType name="ListrakRemarketingSessionEmailEntity">
49
+ <all>
50
+ <element name="email" type="xsd:string" minOccurs="0"/>
51
+ <element name="created_at" type="xsd:string" minOccurs="0"/>
52
+ <element name="page" type="xsd:string" minOccurs="0"/>
53
+ <element name="field_id" type="xsd:string" minOccurs="0"/>
54
+ </all>
55
+ </complexType>
56
+ <complexType name="ArrayOfListrakRemarketingSessionEmail">
57
+ <complexContent>
58
+ <restriction base="soapenc:Array">
59
+ <attribute ref="soapenc:arrayType"
60
+ wsdl:arrayType="typens:ListrakRemarketingSessionEmailEntity[]"/>
61
+ </restriction>
62
+ </complexContent>
63
+ </complexType>
64
+
65
+ <!-- abandoned cart -->
66
+ <complexType name="ListrakRemarketingAbandonedCartEntity">
67
+ <all>
68
+ <element name="store_id" type="xsd:string" minOccurs="0"/>
69
+ <element name="session"
70
+ type="typens:ListrakRemarketingSessionEntity"
71
+ minOccurs="0"/>
72
+ <element name="products"
73
+ type="typens:ArrayOfListrakRemarketingAbandonedCartProduct"
74
+ minOccurs="0"/>
75
+ </all>
76
+ </complexType>
77
+ <complexType name="ArrayOfListrakRemarketingAbandonedCart">
78
+ <complexContent>
79
+ <restriction base="soapenc:Array">
80
+ <attribute ref="soapenc:arrayType"
81
+ wsdl:arrayType="typens:ListrakRemarketingAbandonedCartEntity[]"/>
82
+ </restriction>
83
+ </complexContent>
84
+ </complexType>
85
+ <complexType name="ListrakRemarketingAbandonedCartProductEntity">
86
+ <all>
87
+ <element name="entity_id" type="xsd:string" minOccurs="0"/>
88
+ <element name="sku" type="xsd:string" minOccurs="0"/>
89
+ <element name="name" type="xsd:string" minOccurs="0"/>
90
+ <element name="price" type="xsd:string" minOccurs="0"/>
91
+ <element name="special_price" type="xsd:string" minOccurs="0"/>
92
+ <element name="special_from_date" type="xsd:string"
93
+ minOccurs="0"/>
94
+ <element name="special_to_date" type="xsd:string" minOccurs="0"/>
95
+ <element name="cost" type="xsd:string" minOccurs="0"/>
96
+ <element name="description" type="xsd:string" minOccurs="0"/>
97
+ <element name="short_description" type="xsd:string"
98
+ minOccurs="0"/>
99
+ <element name="weight" type="xsd:string" minOccurs="0"/>
100
+ <element name="url_key" type="xsd:string" minOccurs="0"/>
101
+ <element name="url_path" type="xsd:string" minOccurs="0"/>
102
+ <element name="image" type="xsd:string" minOccurs="0"/>
103
+ <element name="small_image" type="xsd:string" minOccurs="0"/>
104
+ <element name="thumbnail" type="xsd:string" minOccurs="0"/>
105
+ <element name="qty" type="xsd:string" minOccurs="0"/>
106
+ <element name="bundle_items"
107
+ type="typens:ArrayOfListrakRemarketingAbandonedCartProduct"
108
+ minOccurs="0"/>
109
+ </all>
110
+ </complexType>
111
+ <complexType name="ArrayOfListrakRemarketingAbandonedCartProduct">
112
+ <complexContent>
113
+ <restriction base="soapenc:Array">
114
+ <attribute ref="soapenc:arrayType"
115
+ wsdl:arrayType="typens:ListrakRemarketingAbandonedCartProductEntity[]"/>
116
+ </restriction>
117
+ </complexContent>
118
+ </complexType>
119
+
120
+ <!-- product -->
121
+ <complexType name="ListrakRemarketingConfigurableAttributeEntity">
122
+ <all>
123
+ <element name="attribute_name" type="xsd:string" minOccurs="0"/>
124
+ <element name="value" type="xsd:string" minOccurs="0"/>
125
+ </all>
126
+ </complexType>
127
+ <complexType name="ArrayOfListrakRemarketingConfigurableAttributeEntity">
128
+ <complexContent>
129
+ <restriction base="soapenc:Array">
130
+ <attribute ref="soapenc:arrayType"
131
+ wsdl:arrayType="typens:ListrakRemarketingConfigurableAttributeEntity[]"/>
132
+ </restriction>
133
+ </complexContent>
134
+ </complexType>
135
+ <complexType name="ListrakRemarketingProductLinkEntity">
136
+ <all>
137
+ <element name="link_type" type="xsd:string" minOccurs="0"/>
138
+ <element name="sku" type="xsd:string" minOccurs="0"/>
139
+ <element name="position" type="xsd:string" minOccurs="0"/>
140
+ </all>
141
+ </complexType>
142
+ <complexType name="ArrayOfListrakRemarketingProductLinkEntity">
143
+ <complexContent>
144
+ <restriction base="soapenc:Array">
145
+ <attribute ref="soapenc:arrayType"
146
+ wsdl:arrayType="typens:ListrakRemarketingProductLinkEntity[]"/>
147
+ </restriction>
148
+ </complexContent>
149
+ </complexType>
150
+ <complexType name="ListrakRemarketingProductIdEntity">
151
+ <all>
152
+ <element name="entity_id" type="xsd:string" minOccurs="0"/>
153
+ <element name="sku" type="xsd:string" minOccurs="0"/>
154
+ </all>
155
+ </complexType>
156
+ <complexType name="ArrayOfListrakRemarketingProductId">
157
+ <complexContent>
158
+ <restriction base="soapenc:Array">
159
+ <attribute ref="soapenc:arrayType"
160
+ wsdl:arrayType="typens:ListrakRemarketingProductIdEntity[]"/>
161
+ </restriction>
162
+ </complexContent>
163
+ </complexType>
164
+ <complexType name="ListrakRemarketingProductEntity">
165
+ <all>
166
+ <element name="entity_id" type="xsd:string" minOccurs="0"/>
167
+ <element name="sku" type="xsd:string" minOccurs="0"/>
168
+ <element name="name" type="xsd:string" minOccurs="0"/>
169
+ <element name="price" type="xsd:string" minOccurs="0"/>
170
+ <element name="special_price" type="xsd:string" minOccurs="0"/>
171
+ <element name="special_from_date" type="xsd:string"
172
+ minOccurs="0"/>
173
+ <element name="special_to_date" type="xsd:string" minOccurs="0"/>
174
+ <element name="cost" type="xsd:string" minOccurs="0"/>
175
+ <element name="description" type="xsd:string" minOccurs="0"/>
176
+ <element name="short_description" type="xsd:string"
177
+ minOccurs="0"/>
178
+ <element name="weight" type="xsd:string" minOccurs="0"/>
179
+ <element name="url_key" type="xsd:string" minOccurs="0"/>
180
+ <element name="url_path" type="xsd:string" minOccurs="0"/>
181
+ <element name="image" type="xsd:string" minOccurs="0"/>
182
+ <element name="small_image" type="xsd:string" minOccurs="0"/>
183
+ <element name="thumbnail" type="xsd:string" minOccurs="0"/>
184
+ <element name="qty" type="xsd:string" minOccurs="0"/>
185
+ <element name="parent_id" type="xsd:string" minOccurs="0"/>
186
+ <element name="parent_sku" type="xsd:string" minOccurs="0"/>
187
+ <element name="brand" type="xsd:string" minOccurs="0"/>
188
+ <element name="category" type="xsd:string" minOccurs="0"/>
189
+ <element name="sub_category" type="xsd:string" minOccurs="0"/>
190
+ <element name="in_stock" type="xsd:string" minOccurs="0"/>
191
+ <element name="qty_on_hand" type="xsd:string" minOccurs="0"/>
192
+ <element name="purchasable" type="xsd:string" minOccurs="0"/>
193
+ <element name="type" type="xsd:string" minOccurs="0"/>
194
+ <element name="configurable_attributes"
195
+ type="typens:ArrayOfListrakRemarketingConfigurableAttributeEntity"
196
+ minOccurs="0"/>
197
+ <element name="links"
198
+ type="typens:ArrayOfListrakRemarketingProductLinkEntity"
199
+ minOccurs="0"/>
200
+ <element name="meta3" type="xsd:string" minOccurs="0"/>
201
+ <element name="meta4" type="xsd:string" minOccurs="0"/>
202
+ <element name="meta5" type="xsd:string" minOccurs="0"/>
203
+ <element name="updated_at" type="xsd:string" minOccurs="0"/>
204
+ </all>
205
+ </complexType>
206
+ <complexType name="ArrayOfListrakRemarketingProduct">
207
+ <complexContent>
208
+ <restriction base="soapenc:Array">
209
+ <attribute ref="soapenc:arrayType"
210
+ wsdl:arrayType="typens:ListrakRemarketingProductEntity[]"/>
211
+ </restriction>
212
+ </complexContent>
213
+ </complexType>
214
+
215
+ <!-- click -->
216
+ <complexType name="ListrakRemarketingClickEntity">
217
+ <all>
218
+ <element name="store_id" type="xsd:string" minOccurs="0"/>
219
+ <element name="customer_id" type="xsd:string" minOccurs="0"/>
220
+ <element name="customer_email" type="xsd:string" minOccurs="0"/>
221
+ <element name="querystring" type="xsd:string" minOccurs="0"/>
222
+ <element name="click_date" type="xsd:string" minOccurs="0"/>
223
+ <element name="token_uid" type="xsd:string" minOccurs="0"/>
224
+ <element name="session_uid" type="xsd:string" minOccurs="0"/>
225
+ <element name="pi_id" type="xsd:string" minOccurs="0"/>
226
+ </all>
227
+ </complexType>
228
+ <complexType name="ArrayOfListrakRemarketingClick">
229
+ <complexContent>
230
+ <restriction base="soapenc:Array">
231
+ <attribute ref="soapenc:arrayType"
232
+ wsdl:arrayType="typens:ListrakRemarketingClickEntity[]"/>
233
+ </restriction>
234
+ </complexContent>
235
+ </complexType>
236
+
237
+ <!-- log -->
238
+ <complexType name="ListrakRemarketingLogEntity">
239
+ <all>
240
+ <element name="store_id" type="xsd:string" minOccurs="0"/>
241
+ <element name="message" type="xsd:string" minOccurs="0"/>
242
+ <element name="date_entered" type="xsd:string" minOccurs="0"/>
243
+ <element name="log_type_id" type="xsd:string" minOccurs="0"/>
244
+ </all>
245
+ </complexType>
246
+ <complexType name="ArrayOfListrakRemarketingLog">
247
+ <complexContent>
248
+ <restriction base="soapenc:Array">
249
+ <attribute ref="soapenc:arrayType"
250
+ wsdl:arrayType="typens:ListrakRemarketingLogEntity[]"/>
251
+ </restriction>
252
+ </complexContent>
253
+ </complexType>
254
+
255
+ <!-- order -->
256
+ <complexType name="ListrakRemarketingOrderEntity">
257
+ <all>
258
+ <element name="info"
259
+ type="typens:ListrakRemarketingOrderInfoEntity"
260
+ minOccurs="0"/>
261
+ <element name="billing_address"
262
+ type="typens:ListrakRemarketingOrderAddressEntity"
263
+ minOccurs="0"/>
264
+ <element name="shipping_address"
265
+ type="typens:ListrakRemarketingOrderAddressEntity"
266
+ minOccurs="0"/>
267
+ <element name="product"
268
+ type="typens:ArrayOfListrakRemarketingProductShort"
269
+ minOccurs="0"/>
270
+ <element name="session"
271
+ type="typens:ListrakRemarketingSessionEntity"
272
+ minOccurs="0"/>
273
+ <element name="customer"
274
+ type="typens:ListrakRemarketingCustomerEntity"
275
+ minOccurs="0"/>
276
+ </all>
277
+ </complexType>
278
+ <complexType name="ArrayOfListrakRemarketingOrder">
279
+ <complexContent>
280
+ <restriction base="soapenc:Array">
281
+ <attribute ref="soapenc:arrayType"
282
+ wsdl:arrayType="typens:ListrakRemarketingOrderEntity[]"/>
283
+ </restriction>
284
+ </complexContent>
285
+ </complexType>
286
+ <complexType name="ListrakRemarketingOrderInfoEntity">
287
+ <all>
288
+ <element name="entity_id" type="xsd:string" minOccurs="0"/>
289
+ <element name="order_id" type="xsd:string" minOccurs="0"/>
290
+ <element name="status" type="xsd:string" minOccurs="0"/>
291
+ <element name="customer_firstname" type="xsd:string"
292
+ minOccurs="0"/>
293
+ <element name="customer_lastname" type="xsd:string"
294
+ minOccurs="0"/>
295
+ <element name="customer_email" type="xsd:string" minOccurs="0"/>
296
+ <element name="subtotal" type="xsd:string" minOccurs="0"/>
297
+ <element name="tax_amount" type="xsd:string" minOccurs="0"/>
298
+ <element name="discount_amount" type="xsd:string" minOccurs="0"/>
299
+ <element name="shipping_amount" type="xsd:string" minOccurs="0"/>
300
+ <element name="grand_total" type="xsd:string" minOccurs="0"/>
301
+ <element name="coupon_code" type="xsd:string" minOccurs="0"/>
302
+ <element name="billing_firstname" type="xsd:string"
303
+ minOccurs="0"/>
304
+ <element name="meta1" type="xsd:string" minOccurs="0"/>
305
+ <element name="meta2" type="xsd:string" minOccurs="0"/>
306
+ <element name="meta3" type="xsd:string" minOccurs="0"/>
307
+ <element name="meta4" type="xsd:string" minOccurs="0"/>
308
+ <element name="meta5" type="xsd:string" minOccurs="0"/>
309
+ <element name="created_at" type="xsd:string" minOccurs="0"/>
310
+ <element name="updated_at" type="xsd:string" minOccurs="0"/>
311
+ </all>
312
+ </complexType>
313
+ <complexType name="ListrakRemarketingOrderAddressEntity">
314
+ <all>
315
+ <element name="firstname" type="xsd:string" minOccurs="0"/>
316
+ <element name="lastname" type="xsd:string" minOccurs="0"/>
317
+ <element name="company" type="xsd:string" minOccurs="0"/>
318
+ <element name="street" type="xsd:string" minOccurs="0"/>
319
+ <element name="city" type="xsd:string" minOccurs="0"/>
320
+ <element name="region" type="xsd:string" minOccurs="0"/>
321
+ <element name="postcode" type="xsd:string" minOccurs="0"/>
322
+ <element name="country" type="xsd:string" minOccurs="0"/>
323
+ </all>
324
+ </complexType>
325
+ <complexType name="ListrakRemarketingProductShortEntity">
326
+ <all>
327
+ <element name="sku" type="xsd:string" minOccurs="0"/>
328
+ <element name="name" type="xsd:string" minOccurs="0"/>
329
+ <element name="price" type="xsd:string" minOccurs="0"/>
330
+ <element name="in_stock" type="xsd:string" minOccurs="0"/>
331
+ <element name="qty_on_hand" type="xsd:string" minOccurs="0"/>
332
+ <element name="qty_ordered" type="xsd:string" minOccurs="0"/>
333
+ <element name="product_price" type="xsd:string" minOccurs="0"/>
334
+ <element name="meta1" type="xsd:string" minOccurs="0"/>
335
+ <element name="meta2" type="xsd:string" minOccurs="0"/>
336
+ <element name="meta3" type="xsd:string" minOccurs="0"/>
337
+ <element name="meta4" type="xsd:string" minOccurs="0"/>
338
+ <element name="meta5" type="xsd:string" minOccurs="0"/>
339
+ <element name="bundle_items"
340
+ type="typens:ArrayOfListrakRemarketingProductShort"
341
+ minOccurs="0"/>
342
+ </all>
343
+ </complexType>
344
+ <complexType name="ArrayOfListrakRemarketingProductShort">
345
+ <complexContent>
346
+ <restriction base="soapenc:Array">
347
+ <attribute ref="soapenc:arrayType"
348
+ wsdl:arrayType="typens:ListrakRemarketingProductShortEntity[]"/>
349
+ </restriction>
350
+ </complexContent>
351
+ </complexType>
352
+
353
+ <!-- order status -->
354
+ <complexType name="ListrakRemarketingOrderStatusEntity">
355
+ <all>
356
+ <element name="increment_id" type="xsd:string" minOccurs="0"/>
357
+ <element name="status" type="xsd:string" minOccurs="0"/>
358
+ <element name="updated_at" type="xsd:string" minOccurs="0"/>
359
+ <element name="tracking_number" type="xsd:string" minOccurs="0"/>
360
+ <element name="carrier_code" type="xsd:string" minOccurs="0"/>
361
+ <element name="meta1" type="xsd:string" minOccurs="0"/>
362
+ <element name="meta2" type="xsd:string" minOccurs="0"/>
363
+ <element name="meta3" type="xsd:string" minOccurs="0"/>
364
+ <element name="meta4" type="xsd:string" minOccurs="0"/>
365
+ <element name="meta5" type="xsd:string" minOccurs="0"/>
366
+ <element name="quantities" type="typens:ArrayOfListrakRemarketingProductQuantity" minOccurs="0"/>
367
+ </all>
368
+ </complexType>
369
+ <complexType name="ArrayOfListrakRemarketingOrderStatus">
370
+ <complexContent>
371
+ <restriction base="soapenc:Array">
372
+ <attribute ref="soapenc:arrayType"
373
+ wsdl:arrayType="typens:ListrakRemarketingOrderStatusEntity[]"/>
374
+ </restriction>
375
+ </complexContent>
376
+ </complexType>
377
+ <complexType name="ListrakRemarketingProductQuantityEntity">
378
+ <all>
379
+ <element name="sku" type="xsd:string" minOccurs="0"/>
380
+ <element name="in_stock" type="xsd:string" minOccurs="0"/>
381
+ <element name="qty_on_hand" type="xsd:string" minOccurs="0"/>
382
+ </all>
383
+ </complexType>
384
+ <complexType name="ArrayOfListrakRemarketingProductQuantity">
385
+ <complexContent>
386
+ <restriction base="soapenc:Array">
387
+ <attribute ref="soapenc:arrayType"
388
+ wsdl:arrayType="typens:ListrakRemarketingProductQuantityEntity[]"/>
389
+ </restriction>
390
+ </complexContent>
391
+ </complexType>
392
+
393
+ <!-- customer -->
394
+ <complexType name="ListrakRemarketingCustomerEntity">
395
+ <all>
396
+ <element name="entity_id" type="xsd:string" minOccurs="0"/>
397
+ <element name="firstname" type="xsd:string" minOccurs="0"/>
398
+ <element name="lastname" type="xsd:string" minOccurs="0"/>
399
+ <element name="email" type="xsd:string" minOccurs="0"/>
400
+ <element name="website_id" type="xsd:string" minOccurs="0"/>
401
+ <element name="store_id" type="xsd:string" minOccurs="0"/>
402
+ <element name="gender_name" type="xsd:string" minOccurs="0"/>
403
+ <element name="dob" type="xsd:string" minOccurs="0"/>
404
+ <element name="group_name" type="xsd:string" minOccurs="0"/>
405
+ <element name="meta2" type="xsd:string" minOccurs="0"/>
406
+ <element name="meta3" type="xsd:string" minOccurs="0"/>
407
+ <element name="meta4" type="xsd:string" minOccurs="0"/>
408
+ <element name="meta5" type="xsd:string" minOccurs="0"/>
409
+ </all>
410
+ </complexType>
411
+ <complexType name="ArrayOfListrakRemarketingCustomer">
412
+ <complexContent>
413
+ <restriction base="soapenc:Array">
414
+ <attribute ref="soapenc:arrayType"
415
+ wsdl:arrayType="typens:ListrakRemarketingCustomerEntity[]"/>
416
+ </restriction>
417
+ </complexContent>
418
+ </complexType>
419
+
420
+ <!-- subscriber -->
421
+ <complexType name="ListrakRemarketingSubscriberEntity">
422
+ <all>
423
+ <element name="subscriber_id" type="xsd:string" minOccurs="0"/>
424
+ <element name="store_id" type="xsd:string" minOccurs="0"/>
425
+ <element name="customer_id" type="xsd:string" minOccurs="0"/>
426
+ <element name="change_status_at" type="xsd:string"
427
+ minOccurs="0"/>
428
+ <element name="subscriber_email" type="xsd:string"
429
+ minOccurs="0"/>
430
+ <element name="subscriber_status" type="xsd:string"
431
+ minOccurs="0"/>
432
+ <element name="updated_at" type="xsd:string" minOccurs="0"/>
433
+ </all>
434
+ </complexType>
435
+ <complexType name="ArrayOfListrakRemarketingSubscriber">
436
+ <complexContent>
437
+ <restriction base="soapenc:Array">
438
+ <attribute ref="soapenc:arrayType"
439
+ wsdl:arrayType="typens:ListrakRemarketingSubscriberEntity[]"/>
440
+ </restriction>
441
+ </complexContent>
442
+ </complexType>
443
+
444
+ <complexType name="ListrakRemarketingInfoEntity">
445
+ <all>
446
+ <element name="magentoVersion" type="xsd:string" minOccurs="0"/>
447
+ <element name="listrakExtension"
448
+ type="typens:ListrakRemarketingInfoExtensionEntity"
449
+ minOccurs="0"/>
450
+ <element name="listrakSettings"
451
+ type="typens:ListrakRemarketingSettingEntity"
452
+ minOccurs="0"/>
453
+ <element name="modules" type="typens:ArrayOfString"
454
+ minOccurs="0"/>
455
+ <element name="ini" type="typens:ArrayOfString" minOccurs="0"/>
456
+ <element name="classes" type="xsd:string" minOccurs="0"/>
457
+ <element name="counts" type="xsd:string" minOccurs="0"/>
458
+ </all>
459
+ </complexType>
460
+ <complexType name="ListrakRemarketingInfoExtensionEntity">
461
+ <all>
462
+ <element name="name" type="xsd:string" minOccurs="0"/>
463
+ <element name="active" type="xsd:string" minOccurs="0"/>
464
+ <element name="output" type="xsd:string" minOccurs="0"/>
465
+ <element name="version" type="xsd:string" minOccurs="0"/>
466
+ <element name="install_version" type="xsd:string" minOccurs="0"/>
467
+ <element name="data_version" type="xsd:string" minOccurs="0"/>
468
+ </all>
469
+ </complexType>
470
+ <complexType name="ListrakRemarketingSettingEntity">
471
+ <all>
472
+ <element name="coreEnabled" type="xsd:string" minOccurs="0"/>
473
+ <element name="onescriptEnabled" type="xsd:string" minOccurs="0"/>
474
+ <element name="onescriptReady" type="xsd:string" minOccurs="0"/>
475
+ <element name="trackingID" type="xsd:string" minOccurs="0"/>
476
+ <element name="scaEnabled" type="xsd:string" minOccurs="0"/>
477
+ <element name="activityEnabled" type="xsd:string" minOccurs="0"/>
478
+ <element name="reviewsApiEnabled" type="xsd:string" minOccurs="0"/>
479
+ <element name="trackingTablesExist" type="xsd:string" minOccurs="0"/>
480
+ <element name="skipCategoriesText" type="xsd:string" minOccurs="0"/>
481
+ <element name="skipCategories" type="xsd:string" minOccurs="0"/>
482
+ </all>
483
+ </complexType>
484
+
485
+ <!-- review list / review update list -->
486
+ <complexType name="ListrakRemarketingReviewListResult">
487
+ <complexContent>
488
+ <restriction base="soapenc:Array">
489
+ <attribute ref="soapenc:arrayType"
490
+ wsdl:arrayType="typens:ListrakRemarketingReviewListItem[]"/>
491
+ </restriction>
492
+ </complexContent>
493
+ </complexType>
494
+ <complexType name="ListrakRemarketingReviewListItem">
495
+ <all>
496
+ <element name="update_id" type="xsd:string" minOccurs="0"/>
497
+ <element name="review_id" type="xsd:string" minOccurs="0"/>
498
+ <element name="product_id" type="xsd:string" minOccurs="0"/>
499
+ <element name="title" type="xsd:string" minOccurs="0"/>
500
+ <element name="text" type="xsd:string" minOccurs="0"/>
501
+ <element name="overall_rating" type="xsd:string" minOccurs="0"/>
502
+ <element name="created_at" type="xsd:string" minOccurs="0"/>
503
+ <element name="updated_at" type="xsd:string" minOccurs="0"/>
504
+ <element name="reviewer_name" type="xsd:string" minOccurs="0"/>
505
+ <element name="email" type="xsd:string" minOccurs="0"/>
506
+ <element name="status_id" type="xsd:string" minOccurs="0"/>
507
+ <element name="status_code" type="xsd:string" minOccurs="0"/>
508
+ <element name="ratings"
509
+ type="typens:ArrayOfListrakRemarketingReviewRating"
510
+ minOccurs="0"/>
511
+ </all>
512
+ </complexType>
513
+ <complexType name="ArrayOfListrakRemarketingReviewRating">
514
+ <complexContent>
515
+ <restriction base="soapenc:Array">
516
+ <attribute ref="soapenc:arrayType"
517
+ wsdl:arrayType="typens:ListrakRemarketingReviewRatingItem[]"/>
518
+ </restriction>
519
+ </complexContent>
520
+ </complexType>
521
+ <complexType name="ListrakRemarketingReviewRatingItem">
522
+ <all>
523
+ <element name="rating_id" type="xsd:string" minOccurs="0"/>
524
+ <element name="rating_code" type="xsd:string" minOccurs="0"/>
525
+ <element name="rating" type="xsd:string" minOccurs="0"/>
526
+ </all>
527
+ </complexType>
528
+
529
+ <!-- rating summary list / rating summary update list -->
530
+ <complexType name="ListrakRemarketingRatingSummaryListResult">
531
+ <complexContent>
532
+ <restriction base="soapenc:Array">
533
+ <attribute ref="soapenc:arrayType"
534
+ wsdl:arrayType="typens:ListrakRemarketingRatingSummaryItem[]"/>
535
+ </restriction>
536
+ </complexContent>
537
+ </complexType>
538
+ <complexType name="ListrakRemarketingRatingSummaryItem">
539
+ <all>
540
+ <element name="update_id" type="xsd:string" minOccurs="0"/>
541
+ <element name="rating_summary_id" type="xsd:string"
542
+ minOccurs="0"/>
543
+ <element name="product_id" type="xsd:string" minOccurs="0"/>
544
+ <element name="updated_at" type="xsd:string" minOccurs="0"/>
545
+ <element name="total_reviews" type="xsd:string" minOccurs="0"/>
546
+ <element name="rating" type="xsd:string" minOccurs="0"/>
547
+ <element name="ratings"
548
+ type="typens:ArrayOfListrakRemarketingRatingSummaryAttribute"
549
+ minOccurs="0"/>
550
+ </all>
551
+ </complexType>
552
+ <complexType name="ArrayOfListrakRemarketingRatingSummaryAttribute">
553
+ <complexContent>
554
+ <restriction base="soapenc:Array">
555
+ <attribute ref="soapenc:arrayType"
556
+ wsdl:arrayType="typens:ListrakRemarketingRatingSummaryAttributeItem[]"/>
557
+ </restriction>
558
+ </complexContent>
559
+ </complexType>
560
+ <complexType name="ListrakRemarketingRatingSummaryAttributeItem">
561
+ <all>
562
+ <element name="rating_id" type="xsd:string" minOccurs="0"/>
563
+ <element name="rating_code" type="xsd:string" minOccurs="0"/>
564
+ <element name="rating" type="xsd:string" minOccurs="0"/>
565
+ </all>
566
+ </complexType>
567
+
568
+ <!-- review delete list -->
569
+ <complexType name="ListrakRemarketingReviewDeleteListResult">
570
+ <complexContent>
571
+ <restriction base="soapenc:Array">
572
+ <attribute ref="soapenc:arrayType"
573
+ wsdl:arrayType="typens:ListrakRemarketingDeletedReview[]"/>
574
+ </restriction>
575
+ </complexContent>
576
+ </complexType>
577
+ <complexType name="ListrakRemarketingDeletedReview">
578
+ <all>
579
+ <element name="delete_id" type="xsd:string" minOccurs="0"/>
580
+ <element name="review_id" type="xsd:string" minOccurs="0"/>
581
+ </all>
582
+ </complexType>
583
+
584
+ <!-- review update purge -->
585
+ <complexType name="ListrakRemarketingReviewUpdatePurgeResult">
586
+ <all>
587
+ <element name="count" type="xsd:string" minOccurs="0"/>
588
+ <element name="before" type="xsd:string" minOccurs="0"/>
589
+ </all>
590
+ </complexType>
591
+ </schema>
592
+ </types>
593
+ <message name="listrakRemarketingAbandonedCartListRequest">
594
+ <part name="sessionId" type="xsd:string"/>
595
+ <part name="storeId" type="xsd:string"/>
596
+ <part name="startDate" type="xsd:string"/>
597
+ <part name="endDate" type="xsd:string"/>
598
+ <part name="perPage" type="xsd:int"/>
599
+ <part name="page" type="xsd:int"/>
600
+ </message>
601
+ <message name="listrakRemarketingAbandonedCartListResponse">
602
+ <part name="result" type="typens:ArrayOfListrakRemarketingAbandonedCart"/>
603
+ </message>
604
+ <message name="listrakRemarketingAbandonedCartPurgeRequest">
605
+ <part name="sessionId" type="xsd:string"/>
606
+ <part name="storeId" type="xsd:string"/>
607
+ <part name="endDate" type="xsd:string"/>
608
+ </message>
609
+ <message name="listrakRemarketingAbandonedCartPurgeResponse">
610
+ <part name="result" type="xsd:string"/>
611
+ </message>
612
+ <message name="listrakRemarketingClickListRequest">
613
+ <part name="sessionId" type="xsd:string"/>
614
+ <part name="storeId" type="xsd:string"/>
615
+ <part name="startDate" type="xsd:string"/>
616
+ <part name="endDate" type="xsd:string"/>
617
+ <part name="perPage" type="xsd:int"/>
618
+ <part name="page" type="xsd:int"/>
619
+ </message>
620
+ <message name="listrakRemarketingClickListResponse">
621
+ <part name="result" type="typens:ArrayOfListrakRemarketingClick"/>
622
+ </message>
623
+ <message name="listrakRemarketingClickPurgeRequest">
624
+ <part name="sessionId" type="xsd:string"/>
625
+ <part name="storeId" type="xsd:string"/>
626
+ <part name="endDate" type="xsd:string"/>
627
+ </message>
628
+ <message name="listrakRemarketingClickPurgeResponse">
629
+ <part name="result" type="xsd:string"/>
630
+ </message>
631
+ <message name="listrakRemarketingLogListRequest">
632
+ <part name="sessionId" type="xsd:string"/>
633
+ <part name="storeId" type="xsd:string"/>
634
+ <part name="startDate" type="xsd:string"/>
635
+ <part name="endDate" type="xsd:string"/>
636
+ <part name="perPage" type="xsd:int"/>
637
+ <part name="page" type="xsd:int"/>
638
+ <part name="logTypeId" type="xsd:string"/>
639
+ </message>
640
+ <message name="listrakRemarketingLogListResponse">
641
+ <part name="result" type="typens:ArrayOfListrakRemarketingLog"/>
642
+ </message>
643
+ <message name="listrakRemarketingLogPurgeRequest">
644
+ <part name="sessionId" type="xsd:string"/>
645
+ <part name="storeId" type="xsd:string"/>
646
+ <part name="endDate" type="xsd:string"/>
647
+ </message>
648
+ <message name="listrakRemarketingLogPurgeResponse">
649
+ <part name="result" type="xsd:string"/>
650
+ </message>
651
+ <message name="listrakRemarketingLogToggleRequest">
652
+ <part name="sessionId" type="xsd:string"/>
653
+ <part name="storeId" type="xsd:string"/>
654
+ <part name="onOff" type="xsd:string"/>
655
+ </message>
656
+ <message name="listrakRemarketingLogToggleResponse">
657
+ <part name="result" type="xsd:string"/>
658
+ </message>
659
+ <message name="listrakRemarketingOrderListRequest">
660
+ <part name="sessionId" type="xsd:string"/>
661
+ <part name="storeId" type="xsd:string"/>
662
+ <part name="startDate" type="xsd:string"/>
663
+ <part name="endDate" type="xsd:string"/>
664
+ <part name="perPage" type="xsd:int"/>
665
+ <part name="page" type="xsd:int"/>
666
+ </message>
667
+ <message name="listrakRemarketingOrderListResponse">
668
+ <part name="result" type="typens:ArrayOfListrakRemarketingOrder"/>
669
+ </message>
670
+ <message name="listrakRemarketingOrderStatusListRequest">
671
+ <part name="sessionId" type="xsd:string"/>
672
+ <part name="storeId" type="xsd:string"/>
673
+ <part name="startDate" type="xsd:string"/>
674
+ <part name="endDate" type="xsd:string"/>
675
+ <part name="perPage" type="xsd:int"/>
676
+ <part name="page" type="xsd:int"/>
677
+ <part name="filters" type="typens:filters"/>
678
+ </message>
679
+ <message name="listrakRemarketingOrderStatusListResponse">
680
+ <part name="result" type="typens:ArrayOfListrakRemarketingOrderStatus"/>
681
+ </message>
682
+ <message name="listrakRemarketingProductListRequest">
683
+ <part name="sessionId" type="xsd:string"/>
684
+ <part name="storeId" type="xsd:string"/>
685
+ <part name="perPage" type="xsd:int"/>
686
+ <part name="page" type="xsd:int"/>
687
+ </message>
688
+ <message name="listrakRemarketingProductListResponse">
689
+ <part name="result" type="typens:ArrayOfListrakRemarketingProduct"/>
690
+ </message>
691
+ <message name="listrakRemarketingProductUpdateListRequest">
692
+ <part name="sessionId" type="xsd:string"/>
693
+ <part name="storeId" type="xsd:string"/>
694
+ <part name="startDate" type="xsd:dateTime"/>
695
+ <part name="endDate" type="xsd:dateTime"/>
696
+ <part name="perPage" type="xsd:int"/>
697
+ <part name="page" type="xsd:int"/>
698
+ </message>
699
+ <message name="listrakRemarketingProductUpdateListResponse">
700
+ <part name="result" type="typens:ArrayOfListrakRemarketingProduct"/>
701
+ </message>
702
+ <message name="listrakRemarketingProductPurchasableListRequest">
703
+ <part name="sessionID" type="xsd:string"/>
704
+ <part name="storeId" type="xsd:string"/>
705
+ <part name="perPage" type="xsd:int"/>
706
+ <part name="page" type="xsd:string"/>
707
+ </message>
708
+ <message name="listrakRemarketingProductPurchasableListResponse">
709
+ <part name="result" type="typens:ArrayOfListrakRemarketingProductId"/>
710
+ </message>
711
+ <message name="listrakRemarketingSubscriberListRequest">
712
+ <part name="sessionId" type="xsd:string"/>
713
+ <part name="storeId" type="xsd:string"/>
714
+ <part name="startDate" type="xsd:string"/>
715
+ <part name="perPage" type="xsd:int"/>
716
+ <part name="page" type="xsd:int"/>
717
+ </message>
718
+ <message name="listrakRemarketingSubscriberListResponse">
719
+ <part name="result" type="typens:ArrayOfListrakRemarketingSubscriber"/>
720
+ </message>
721
+ <message name="listrakRemarketingSubscriberPurgeRequest">
722
+ <part name="sessionId" type="xsd:string"/>
723
+ <part name="endDate" type="xsd:string"/>
724
+ </message>
725
+ <message name="listrakRemarketingSubscriberPurgeResponse">
726
+ <part name="result" type="xsd:string"/>
727
+ </message>
728
+ <message name="listrakRemarketingCustomerListRequest">
729
+ <part name="sessionId" type="xsd:string"/>
730
+ <part name="storeId" type="xsd:string"/>
731
+ <part name="websiteId" type="xsd:int"/>
732
+ <part name="perPage" type="xsd:int"/>
733
+ <part name="page" type="xsd:int"/>
734
+ </message>
735
+ <message name="listrakRemarketingCustomerListResponse">
736
+ <part name="result" type="typens:ArrayOfListrakRemarketingCustomer"/>
737
+ </message>
738
+ <message name="listrakRemarketingInfoListRequest">
739
+ <part name="sessionId" type="xsd:string"/>
740
+ <part name="storeId" type="xsd:string"/>
741
+ </message>
742
+ <message name="listrakRemarketingInfoListResponse">
743
+ <part name="result" type="typens:ListrakRemarketingInfoEntity"/>
744
+ </message>
745
+ <message name="listrakRemarketingReviewListRequest">
746
+ <part name="sessionId" type="xsd:string"/>
747
+ <part name="storeId" type="xsd:string"/>
748
+ <part name="chunkSize" type="xsd:string"/>
749
+ <part name="startReviewId" type="xsd:string"/>
750
+ </message>
751
+ <message name="listrakRemarketingReviewListResponse">
752
+ <part name="result" type="typens:ListrakRemarketingReviewListResult"/>
753
+ </message>
754
+ <message name="listrakRemarketingRatingSummaryListRequest">
755
+ <part name="sessionId" type="xsd:string"/>
756
+ <part name="storeId" type="xsd:string"/>
757
+ <part name="chunkSize" type="xsd:string"/>
758
+ <part name="startRatingSummaryId" type="xsd:string"/>
759
+ </message>
760
+ <message name="listrakRemarketingRatingSummaryListResponse">
761
+ <part name="result" type="typens:ListrakRemarketingRatingSummaryListResult"/>
762
+ </message>
763
+ <message name="listrakRemarketingReviewUpdateListRequest">
764
+ <part name="sessionId" type="xsd:string"/>
765
+ <part name="storeId" type="xsd:string"/>
766
+ <part name="chunkSize" type="xsd:string"/>
767
+ <part name="startUpdateId" type="xsd:string"/>
768
+ </message>
769
+ <message name="listrakRemarketingReviewUpdateListResponse">
770
+ <part name="result" type="typens:ListrakRemarketingReviewListResult"/>
771
+ </message>
772
+ <message name="listrakRemarketingRatingSummaryUpdateListRequest">
773
+ <part name="sessionId" type="xsd:string"/>
774
+ <part name="storeId" type="xsd:string"/>
775
+ <part name="chunkSize" type="xsd:string"/>
776
+ <part name="startUpdateId" type="xsd:string"/>
777
+ </message>
778
+ <message name="listrakRemarketingRatingSummaryUpdateListResponse">
779
+ <part name="result" type="typens:ListrakRemarketingRatingSummaryListResult"/>
780
+ </message>
781
+ <message name="listrakRemarketingReviewDeleteListRequest">
782
+ <part name="sessionId" type="xsd:string"/>
783
+ <part name="chunkSize" type="xsd:string"/>
784
+ <part name="startDeleteId" type="xsd:string"/>
785
+ </message>
786
+ <message name="listrakRemarketingReviewDeleteListResponse">
787
+ <part name="result" type="typens:ListrakRemarketingReviewDeleteListResult"/>
788
+ </message>
789
+ <message name="listrakRemarketingReviewUpdatePurgeRequest">
790
+ <part name="sessionId" type="xsd:string"/>
791
+ <part name="purgeBeforeDays" type="xsd:string"/>
792
+ </message>
793
+ <message name="listrakRemarketingReviewUpdatePurgeResponse">
794
+ <part name="result" type="typens:ListrakRemarketingReviewUpdatePurgeResult"/>
795
+ </message>
796
+ <portType name="{{var wsdl.handler}}PortType">
797
+ <operation name="listrakRemarketingAbandonedCartList">
798
+ <documentation>Get stores abandoned carts</documentation>
799
+ <input message="typens:listrakRemarketingAbandonedCartListRequest"/>
800
+ <output message="typens:listrakRemarketingAbandonedCartListResponse"/>
801
+ </operation>
802
+ <operation name="listrakRemarketingAbandonedCartPurge">
803
+ <documentation>Purge abandoned carts</documentation>
804
+ <input message="typens:listrakRemarketingAbandonedCartPurgeRequest"/>
805
+ <output message="typens:listrakRemarketingAbandonedCartPurgeResponse"/>
806
+ </operation>
807
+ <operation name="listrakRemarketingClickList">
808
+ <documentation>Get clicks</documentation>
809
+ <input message="typens:listrakRemarketingClickListRequest"/>
810
+ <output message="typens:listrakRemarketingClickListResponse"/>
811
+ </operation>
812
+ <operation name="listrakRemarketingClickPurge">
813
+ <documentation>Purge clicks</documentation>
814
+ <input message="typens:listrakRemarketingClickPurgeRequest"/>
815
+ <output message="typens:listrakRemarketingClickPurgeResponse"/>
816
+ </operation>
817
+ <operation name="listrakRemarketingLogList">
818
+ <documentation>Get log entries</documentation>
819
+ <input message="typens:listrakRemarketingLogListRequest"/>
820
+ <output message="typens:listrakRemarketingLogListResponse"/>
821
+ </operation>
822
+ <operation name="listrakRemarketingLogPurge">
823
+ <documentation>Purge log entries</documentation>
824
+ <input message="typens:listrakRemarketingLogPurgeRequest"/>
825
+ <output message="typens:listrakRemarketingLogPurgeResponse"/>
826
+ </operation>
827
+ <operation name="listrakRemarketingLogToggle">
828
+ <documentation>toggle logging</documentation>
829
+ <input message="typens:listrakRemarketingLogToggleRequest"/>
830
+ <output message="typens:listrakRemarketingLogToggleResponse"/>
831
+ </operation>
832
+ <operation name="listrakRemarketingOrderList">
833
+ <documentation>Get orders</documentation>
834
+ <input message="typens:listrakRemarketingOrderListRequest"/>
835
+ <output message="typens:listrakRemarketingOrderListResponse"/>
836
+ </operation>
837
+ <operation name="listrakRemarketingOrderStatusList">
838
+ <documentation>Get order status changes</documentation>
839
+ <input message="typens:listrakRemarketingOrderStatusListRequest"/>
840
+ <output message="typens:listrakRemarketingOrderStatusListResponse"/>
841
+ </operation>
842
+ <operation name="listrakRemarketingProductList">
843
+ <documentation>Get products</documentation>
844
+ <input message="typens:listrakRemarketingProductListRequest"/>
845
+ <output message="typens:listrakRemarketingProductListResponse"/>
846
+ </operation>
847
+ <operation name="listrakRemarketingProductUpdateList">
848
+ <documentation>Get products</documentation>
849
+ <input message="typens:listrakRemarketingProductUpdateListRequest"/>
850
+ <output message="typens:listrakRemarketingProductUpdateListResponse"/>
851
+ </operation>
852
+ <operation name="listrakRemarketingProductPurchasableList">
853
+ <documentation>Get all products available for purchase</documentation>
854
+ <input message="typens:listrakRemarketingProductPurchasableListRequest"/>
855
+ <output message="typens:listrakRemarketingProductPurchasableListResponse"/>
856
+ </operation>
857
+ <operation name="listrakRemarketingSubscriberList">
858
+ <documentation>Get subscribers and unsubscribers</documentation>
859
+ <input message="typens:listrakRemarketingSubscriberListRequest"/>
860
+ <output message="typens:listrakRemarketingSubscriberListResponse"/>
861
+ </operation>
862
+ <operation name="listrakRemarketingSubscriberPurge">
863
+ <documentation>Purge old subscriber updates</documentation>
864
+ <input message="typens:listrakRemarketingSubscriberPurgeRequest"/>
865
+ <output message="typens:listrakRemarketingSubscriberPurgeResponse"/>
866
+ </operation>
867
+ <operation name="listrakRemarketingCustomerList">
868
+ <documentation>Get customers</documentation>
869
+ <input message="typens:listrakRemarketingCustomerListRequest"/>
870
+ <output message="typens:listrakRemarketingCustomerListResponse"/>
871
+ </operation>
872
+ <operation name="listrakRemarketingInfoList">
873
+ <documentation>Get info</documentation>
874
+ <input message="typens:listrakRemarketingInfoListRequest"/>
875
+ <output message="typens:listrakRemarketingInfoListResponse"/>
876
+ </operation>
877
+ <operation name="listrakRemarketingReviewList">
878
+ <documentation>Get review list</documentation>
879
+ <input message="typens:listrakRemarketingReviewListRequest"/>
880
+ <output message="typens:listrakRemarketingReviewListResponse"/>
881
+ </operation>
882
+ <operation name="listrakRemarketingRatingSummaryList">
883
+ <documentation>Get rating summary list</documentation>
884
+ <input message="typens:listrakRemarketingRatingSummaryListRequest"/>
885
+ <output message="typens:listrakRemarketingRatingSummaryListResponse"/>
886
+ </operation>
887
+ <operation name="listrakRemarketingReviewUpdateList">
888
+ <documentation>Get review list</documentation>
889
+ <input message="typens:listrakRemarketingReviewUpdateListRequest"/>
890
+ <output message="typens:listrakRemarketingReviewUpdateListResponse"/>
891
+ </operation>
892
+ <operation name="listrakRemarketingRatingSummaryUpdateList">
893
+ <documentation>Get rating summary list</documentation>
894
+ <input message="typens:listrakRemarketingRatingSummaryUpdateListRequest"/>
895
+ <output message="typens:listrakRemarketingRatingSummaryUpdateListResponse"/>
896
+ </operation>
897
+ <operation name="listrakRemarketingReviewDeleteList">
898
+ <documentation>Get deleted reviews list</documentation>
899
+ <input message="typens:listrakRemarketingReviewDeleteListRequest"/>
900
+ <output message="typens:listrakRemarketingReviewDeleteListResponse"/>
901
+ </operation>
902
+ <operation name="listrakRemarketingReviewUpdatePurge">
903
+ <documentation>Get deleted reviews list</documentation>
904
+ <input message="typens:listrakRemarketingReviewUpdatePurgeRequest"/>
905
+ <output message="typens:listrakRemarketingReviewUpdatePurgeResponse"/>
906
+ </operation>
907
+ </portType>
908
+ <binding name="{{var wsdl.handler}}Binding"
909
+ type="typens:{{var wsdl.handler}}PortType">
910
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
911
+ <operation name="listrakRemarketingAbandonedCartList">
912
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
913
+ <input>
914
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
915
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
916
+ </input>
917
+ <output>
918
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
919
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
920
+ </output>
921
+ </operation>
922
+ <operation name="listrakRemarketingAbandonedCartPurge">
923
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
924
+ <input>
925
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
926
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
927
+ </input>
928
+ <output>
929
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
930
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
931
+ </output>
932
+ </operation>
933
+ <operation name="listrakRemarketingClickList">
934
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
935
+ <input>
936
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
937
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
938
+ </input>
939
+ <output>
940
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
941
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
942
+ </output>
943
+ </operation>
944
+ <operation name="listrakRemarketingClickPurge">
945
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
946
+ <input>
947
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
948
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
949
+ </input>
950
+ <output>
951
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
952
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
953
+ </output>
954
+ </operation>
955
+ <operation name="listrakRemarketingLogList">
956
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
957
+ <input>
958
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
959
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
960
+ </input>
961
+ <output>
962
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
963
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
964
+ </output>
965
+ </operation>
966
+ <operation name="listrakRemarketingLogPurge">
967
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
968
+ <input>
969
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
970
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
971
+ </input>
972
+ <output>
973
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
974
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
975
+ </output>
976
+ </operation>
977
+ <operation name="listrakRemarketingLogToggle">
978
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
979
+ <input>
980
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
981
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
982
+ </input>
983
+ <output>
984
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
985
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
986
+ </output>
987
+ </operation>
988
+ <operation name="listrakRemarketingOrderList">
989
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
990
+ <input>
991
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
992
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
993
+ </input>
994
+ <output>
995
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
996
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
997
+ </output>
998
+ </operation>
999
+ <operation name="listrakRemarketingOrderStatusList">
1000
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1001
+ <input>
1002
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1003
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1004
+ </input>
1005
+ <output>
1006
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1007
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1008
+ </output>
1009
+ </operation>
1010
+ <operation name="listrakRemarketingProductList">
1011
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1012
+ <input>
1013
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1014
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1015
+ </input>
1016
+ <output>
1017
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1018
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1019
+ </output>
1020
+ </operation>
1021
+ <operation name="listrakRemarketingProductUpdateList">
1022
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1023
+ <input>
1024
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1025
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1026
+ </input>
1027
+ <output>
1028
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1029
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1030
+ </output>
1031
+ </operation>
1032
+ <operation name="listrakRemarketingProductPurchasableList">
1033
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1034
+ <input>
1035
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1036
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1037
+ </input>
1038
+ <output>
1039
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1040
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1041
+ </output>
1042
+ </operation>
1043
+ <operation name="listrakRemarketingSubscriberList">
1044
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1045
+ <input>
1046
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1047
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1048
+ </input>
1049
+ <output>
1050
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1051
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1052
+ </output>
1053
+ </operation>
1054
+ <operation name="listrakRemarketingSubscriberPurge">
1055
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1056
+ <input>
1057
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1058
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1059
+ </input>
1060
+ <output>
1061
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1062
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1063
+ </output>
1064
+ </operation>
1065
+ <operation name="listrakRemarketingCustomerList">
1066
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1067
+ <input>
1068
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1069
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1070
+ </input>
1071
+ <output>
1072
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1073
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1074
+ </output>
1075
+ </operation>
1076
+ <operation name="listrakRemarketingInfoList">
1077
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1078
+ <input>
1079
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1080
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1081
+ </input>
1082
+ <output>
1083
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1084
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1085
+ </output>
1086
+ </operation>
1087
+ <operation name="listrakRemarketingReviewList">
1088
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1089
+ <input>
1090
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1091
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1092
+ </input>
1093
+ <output>
1094
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1095
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1096
+ </output>
1097
+ </operation>
1098
+ <operation name="listrakRemarketingRatingSummaryList">
1099
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1100
+ <input>
1101
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1102
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1103
+ </input>
1104
+ <output>
1105
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1106
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1107
+ </output>
1108
+ </operation>
1109
+ <operation name="listrakRemarketingReviewUpdateList">
1110
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1111
+ <input>
1112
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1113
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1114
+ </input>
1115
+ <output>
1116
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1117
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1118
+ </output>
1119
+ </operation>
1120
+ <operation name="listrakRemarketingRatingSummaryUpdateList">
1121
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1122
+ <input>
1123
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1124
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1125
+ </input>
1126
+ <output>
1127
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1128
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1129
+ </output>
1130
+ </operation>
1131
+ <operation name="listrakRemarketingReviewDeleteList">
1132
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1133
+ <input>
1134
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1135
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1136
+ </input>
1137
+ <output>
1138
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1139
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1140
+ </output>
1141
+ </operation>
1142
+ <operation name="listrakRemarketingReviewUpdatePurge">
1143
+ <soap:operation soapAction="urn:{{var wsdl.handler}}Action"/>
1144
+ <input>
1145
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1146
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1147
+ </input>
1148
+ <output>
1149
+ <soap:body namespace="urn:{{var wsdl.name}}" use="encoded"
1150
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
1151
+ </output>
1152
+ </operation>
1153
+ </binding>
1154
+ <service name="{{var wsdl.name}}Service">
1155
+ <port name="{{var wsdl.handler}}Port"
1156
+ binding="typens:{{var wsdl.handler}}Binding">
1157
+ <soap:address location="{{var wsdl.url}}"/>
1158
+ </port>
1159
+ </service>
1160
  </definitions>
app/code/community/Listrak/Remarketing/etc/wsi.xml CHANGED
@@ -1,1406 +1,1581 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
- */
6
- -->
7
- <wsdl:definitions xmlns:typens="urn:{{var wsdl.name}}"
8
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
9
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
10
- xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
11
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
12
- name="{{var wsdl.name}}"
13
- targetNamespace="urn:{{var wsdl.name}}">
14
- <wsdl:types>
15
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
16
- targetNamespace="urn:{{var wsdl.name}}">
17
- <xsd:complexType name="ArrayOfString">
18
- <xsd:sequence>
19
- <xsd:element minOccurs="0" maxOccurs="unbounded"
20
- name="complexObjectArray" type="xsd:string"/>
21
- </xsd:sequence>
22
- </xsd:complexType>
23
- <!-- session -->
24
- <xsd:complexType name="ListrakRemarketingSessionEntity">
25
- <xsd:sequence>
26
- <xsd:element name="session_id" type="xsd:string" minOccurs="0"/>
27
- <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
28
- <xsd:element name="created_at" type="xsd:string" minOccurs="0"/>
29
- <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
30
- <xsd:element name="quote_id" type="xsd:string" minOccurs="0"/>
31
- <xsd:element name="ips" type="xsd:string" minOccurs="0"/>
32
- <xsd:element name="pi_id" type="xsd:string" minOccurs="0"/>
33
- <xsd:element name="customer"
34
- type="typens:ListrakRemarketingCustomerEntity"
35
- minOccurs="0"/>
36
- <xsd:element name="emails"
37
- type="typens:ArrayOfListrakRemarketingSessionEmail"
38
- minOccurs="0"/>
39
- <xsd:element name="clicks"
40
- type="typens:ArrayOfListrakRemarketingClick"
41
- minOccurs="0"/>
42
- </xsd:sequence>
43
- </xsd:complexType>
44
- <xsd:complexType name="ListrakRemarketingSessionEmailEntity">
45
- <xsd:sequence>
46
- <xsd:element name="email" type="xsd:string" minOccurs="0"/>
47
- <xsd:element name="created_at" type="xsd:string" minOccurs="0"/>
48
- <xsd:element name="page" type="xsd:string" minOccurs="0"/>
49
- <xsd:element name="field_id" type="xsd:string" minOccurs="0"/>
50
- </xsd:sequence>
51
- </xsd:complexType>
52
- <xsd:complexType name="ArrayOfListrakRemarketingSessionEmail">
53
- <xsd:sequence>
54
- <xsd:element minOccurs="0" maxOccurs="unbounded"
55
- name="complexObjectArray"
56
- type="typens:ListrakRemarketingSessionEmailEntity"/>
57
- </xsd:sequence>
58
- </xsd:complexType>
59
-
60
- <!-- abandoned cart -->
61
- <xsd:complexType name="ListrakRemarketingAbandonedCartEntity">
62
- <xsd:sequence>
63
- <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
64
- <xsd:element name="session"
65
- type="typens:ListrakRemarketingSessionEntity"
66
- minOccurs="0"/>
67
- <xsd:element name="products"
68
- type="typens:ArrayOfListrakRemarketingAbandonedCartProduct"
69
- minOccurs="0"/>
70
- </xsd:sequence>
71
- </xsd:complexType>
72
- <xsd:complexType name="ArrayOfListrakRemarketingAbandonedCart">
73
- <xsd:sequence>
74
- <xsd:element minOccurs="0" maxOccurs="unbounded"
75
- name="complexObjectArray"
76
- type="typens:ListrakRemarketingAbandonedCartEntity"/>
77
- </xsd:sequence>
78
- </xsd:complexType>
79
- <xsd:complexType name="ListrakRemarketingAbandonedCartProductEntity">
80
- <xsd:sequence>
81
- <xsd:element name="entity_id" type="xsd:string" minOccurs="0"/>
82
- <xsd:element name="sku" type="xsd:string" minOccurs="0"/>
83
- <xsd:element name="name" type="xsd:string" minOccurs="0"/>
84
- <xsd:element name="price" type="xsd:string" minOccurs="0"/>
85
- <xsd:element name="special_price" type="xsd:string"
86
- minOccurs="0"/>
87
- <xsd:element name="special_from_date" type="xsd:string"
88
- minOccurs="0"/>
89
- <xsd:element name="special_to_date" type="xsd:string"
90
- minOccurs="0"/>
91
- <xsd:element name="cost" type="xsd:string" minOccurs="0"/>
92
- <xsd:element name="description" type="xsd:string" minOccurs="0"/>
93
- <xsd:element name="short_description" type="xsd:string"
94
- minOccurs="0"/>
95
- <xsd:element name="weight" type="xsd:string" minOccurs="0"/>
96
- <xsd:element name="url_key" type="xsd:string" minOccurs="0"/>
97
- <xsd:element name="url_path" type="xsd:string" minOccurs="0"/>
98
- <xsd:element name="image" type="xsd:string" minOccurs="0"/>
99
- <xsd:element name="small_image" type="xsd:string" minOccurs="0"/>
100
- <xsd:element name="thumbnail" type="xsd:string" minOccurs="0"/>
101
- <xsd:element name="qty" type="xsd:string" minOccurs="0"/>
102
- <xsd:element name="bundle_items"
103
- type="typens:ArrayOfListrakRemarketingAbandonedCartProduct"
104
- minOccurs="0"/>
105
- </xsd:sequence>
106
- </xsd:complexType>
107
- <xsd:complexType name="ArrayOfListrakRemarketingAbandonedCartProduct">
108
- <xsd:sequence>
109
- <xsd:element minOccurs="0" maxOccurs="unbounded"
110
- name="complexObjectArray"
111
- type="typens:ListrakRemarketingAbandonedCartProductEntity"/>
112
- </xsd:sequence>
113
- </xsd:complexType>
114
-
115
- <!-- product -->
116
- <xsd:complexType name="ListrakRemarketingConfigurableAttributeEntity">
117
- <xsd:sequence>
118
- <xsd:element name="attribute_name" type="xsd:string"
119
- minOccurs="0"/>
120
- <xsd:element name="value" type="xsd:string" minOccurs="0"/>
121
- </xsd:sequence>
122
- </xsd:complexType>
123
- <xsd:complexType
124
- name="ArrayOfListrakRemarketingConfigurableAttributeEntity">
125
- <xsd:sequence>
126
- <xsd:element minOccurs="0" maxOccurs="unbounded"
127
- name="complexObjectArray"
128
- type="typens:ListrakRemarketingConfigurableAttributeEntity"/>
129
- </xsd:sequence>
130
- </xsd:complexType>
131
- <xsd:complexType name="ListrakRemarketingProductEntity">
132
- <xsd:sequence>
133
- <xsd:element name="entity_id" type="xsd:string" minOccurs="0"/>
134
- <xsd:element name="sku" type="xsd:string" minOccurs="0"/>
135
- <xsd:element name="name" type="xsd:string" minOccurs="0"/>
136
- <xsd:element name="price" type="xsd:string" minOccurs="0"/>
137
- <xsd:element name="special_price" type="xsd:string"
138
- minOccurs="0"/>
139
- <xsd:element name="special_from_date" type="xsd:string"
140
- minOccurs="0"/>
141
- <xsd:element name="special_to_date" type="xsd:string"
142
- minOccurs="0"/>
143
- <xsd:element name="cost" type="xsd:string" minOccurs="0"/>
144
- <xsd:element name="description" type="xsd:string" minOccurs="0"/>
145
- <xsd:element name="short_description" type="xsd:string"
146
- minOccurs="0"/>
147
- <xsd:element name="weight" type="xsd:string" minOccurs="0"/>
148
- <xsd:element name="url_key" type="xsd:string" minOccurs="0"/>
149
- <xsd:element name="url_path" type="xsd:string" minOccurs="0"/>
150
- <xsd:element name="image" type="xsd:string" minOccurs="0"/>
151
- <xsd:element name="small_image" type="xsd:string" minOccurs="0"/>
152
- <xsd:element name="thumbnail" type="xsd:string" minOccurs="0"/>
153
- <xsd:element name="qty" type="xsd:string" minOccurs="0"/>
154
- <xsd:element name="parent_id" type="xsd:string" minOccurs="0"/>
155
- <xsd:element name="parent_sku" type="xsd:string" minOccurs="0"/>
156
- <xsd:element name="brand" type="xsd:string" minOccurs="0"/>
157
- <xsd:element name="category" type="xsd:string" minOccurs="0"/>
158
- <xsd:element name="sub_category" type="xsd:string"
159
- minOccurs="0"/>
160
- <xsd:element name="in_stock" type="xsd:string" minOccurs="0"/>
161
- <xsd:element name="qty_on_hand" type="xsd:string" minOccurs="0"/>
162
- <xsd:element name="type" type="xsd:string" minOccurs="0"/>
163
- <xsd:element name="configurable_attributes"
164
- type="typens:ArrayOfListrakRemarketingConfigurableAttributeEntity"
165
- minOccurs="0"/>
166
- </xsd:sequence>
167
- </xsd:complexType>
168
- <xsd:complexType name="ArrayOfListrakRemarketingProduct">
169
- <xsd:sequence>
170
- <xsd:element minOccurs="0" maxOccurs="unbounded"
171
- name="complexObjectArray"
172
- type="typens:ListrakRemarketingProductEntity"/>
173
- </xsd:sequence>
174
- </xsd:complexType>
175
-
176
- <!-- click -->
177
- <xsd:complexType name="ListrakRemarketingClickEntity">
178
- <xsd:sequence>
179
- <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
180
- <xsd:element name="customer_id" type="xsd:string" minOccurs="0"/>
181
- <xsd:element name="customer_email" type="xsd:string"
182
- minOccurs="0"/>
183
- <xsd:element name="querystring" type="xsd:string" minOccurs="0"/>
184
- <xsd:element name="click_date" type="xsd:string" minOccurs="0"/>
185
- <xsd:element name="token_uid" type="xsd:string" minOccurs="0"/>
186
- <xsd:element name="session_uid" type="xsd:string" minOccurs="0"/>
187
- <xsd:element name="pi_id" type="xsd:string" minOccurs="0"/>
188
- </xsd:sequence>
189
- </xsd:complexType>
190
- <xsd:complexType name="ArrayOfListrakRemarketingClick">
191
- <xsd:sequence>
192
- <xsd:element minOccurs="0" maxOccurs="unbounded"
193
- name="complexObjectArray"
194
- type="typens:ListrakRemarketingClickEntity"/>
195
- </xsd:sequence>
196
- </xsd:complexType>
197
-
198
- <!-- log -->
199
- <xsd:complexType name="ListrakRemarketingLogEntity">
200
- <xsd:sequence>
201
- <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
202
- <xsd:element name="message" type="xsd:string" minOccurs="0"/>
203
- <xsd:element name="date_entered" type="xsd:string"
204
- minOccurs="0"/>
205
- <xsd:element name="log_type_id" type="xsd:string" minOccurs="0"/>
206
- </xsd:sequence>
207
- </xsd:complexType>
208
- <xsd:complexType name="ArrayOfListrakRemarketingLog">
209
- <xsd:sequence>
210
- <xsd:element minOccurs="0" maxOccurs="unbounded"
211
- name="complexObjectArray"
212
- type="typens:ListrakRemarketingLogEntity"/>
213
- </xsd:sequence>
214
- </xsd:complexType>
215
-
216
- <!-- order -->
217
- <xsd:complexType name="ListrakRemarketingOrderEntity">
218
- <xsd:sequence>
219
- <xsd:element name="info"
220
- type="typens:ListrakRemarketingOrderInfoEntity"
221
- minOccurs="0"/>
222
- <xsd:element name="billing_address"
223
- type="typens:ListrakRemarketingOrderAddressEntity"
224
- minOccurs="0"/>
225
- <xsd:element name="shipping_address"
226
- type="typens:ListrakRemarketingOrderAddressEntity"
227
- minOccurs="0"/>
228
- <xsd:element name="product"
229
- type="typens:ArrayOfListrakRemarketingProductShort"
230
- minOccurs="0"/>
231
- <xsd:element name="session"
232
- type="typens:ListrakRemarketingSessionEntity"
233
- minOccurs="0"/>
234
- <xsd:element name="customer"
235
- type="typens:ListrakRemarketingCustomerEntity"
236
- minOccurs="0"/>
237
- </xsd:sequence>
238
- </xsd:complexType>
239
- <xsd:complexType name="ArrayOfListrakRemarketingOrder">
240
- <xsd:sequence>
241
- <xsd:element minOccurs="0" maxOccurs="unbounded"
242
- name="complexObjectArray"
243
- type="typens:ListrakRemarketingOrderEntity"/>
244
- </xsd:sequence>
245
- </xsd:complexType>
246
- <xsd:complexType name="ListrakRemarketingOrderInfoEntity">
247
- <xsd:sequence>
248
- <xsd:element name="entity_id" type="xsd:string" minOccurs="0"/>
249
- <xsd:element name="order_id" type="xsd:string" minOccurs="0"/>
250
- <xsd:element name="status" type="xsd:string" minOccurs="0"/>
251
- <xsd:element name="customer_firstname" type="xsd:string"
252
- minOccurs="0"/>
253
- <xsd:element name="customer_lastname" type="xsd:string"
254
- minOccurs="0"/>
255
- <xsd:element name="customer_email" type="xsd:string"
256
- minOccurs="0"/>
257
- <xsd:element name="subtotal" type="xsd:string" minOccurs="0"/>
258
- <xsd:element name="tax_amount" type="xsd:string" minOccurs="0"/>
259
- <xsd:element name="shipping_amount" type="xsd:string"
260
- minOccurs="0"/>
261
- <xsd:element name="grand_total" type="xsd:string" minOccurs="0"/>
262
- <xsd:element name="billing_firstname" type="xsd:string"
263
- minOccurs="0"/>
264
- <xsd:element name="created_at" type="xsd:string" minOccurs="0"/>
265
- <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
266
- </xsd:sequence>
267
- </xsd:complexType>
268
- <xsd:complexType name="ListrakRemarketingOrderAddressEntity">
269
- <xsd:sequence>
270
- <xsd:element name="firstname" type="xsd:string" minOccurs="0"/>
271
- <xsd:element name="lastname" type="xsd:string" minOccurs="0"/>
272
- <xsd:element name="company" type="xsd:string" minOccurs="0"/>
273
- <xsd:element name="street" type="xsd:string" minOccurs="0"/>
274
- <xsd:element name="city" type="xsd:string" minOccurs="0"/>
275
- <xsd:element name="region" type="xsd:string" minOccurs="0"/>
276
- <xsd:element name="postcode" type="xsd:string" minOccurs="0"/>
277
- <xsd:element name="country" type="xsd:string" minOccurs="0"/>
278
- </xsd:sequence>
279
- </xsd:complexType>
280
- <xsd:complexType name="ListrakRemarketingProductShortEntity">
281
- <xsd:sequence>
282
- <xsd:element name="sku" type="xsd:string" minOccurs="0"/>
283
- <xsd:element name="name" type="xsd:string" minOccurs="0"/>
284
- <xsd:element name="price" type="xsd:string" minOccurs="0"/>
285
- <xsd:element name="qty_ordered" type="xsd:string" minOccurs="0"/>
286
- <xsd:element name="product_price" type="xsd:string"
287
- minOccurs="0"/>
288
- <xsd:element name="bundle_items"
289
- type="typens:ArrayOfListrakRemarketingProductShort"
290
- minOccurs="0"/>
291
- </xsd:sequence>
292
- </xsd:complexType>
293
- <xsd:complexType name="ArrayOfListrakRemarketingProductShort">
294
- <xsd:sequence>
295
- <xsd:element minOccurs="0" maxOccurs="unbounded"
296
- name="complexObjectArray"
297
- type="typens:ListrakRemarketingProductShortEntity"/>
298
- </xsd:sequence>
299
- </xsd:complexType>
300
-
301
- <!-- order status -->
302
- <xsd:complexType name="ListrakRemarketingOrderStatusEntity">
303
- <xsd:sequence>
304
- <xsd:element name="increment_id" type="xsd:string"
305
- minOccurs="0"/>
306
- <xsd:element name="status" type="xsd:string" minOccurs="0"/>
307
- <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
308
- </xsd:sequence>
309
- </xsd:complexType>
310
- <xsd:complexType name="ArrayOfListrakRemarketingOrderStatus">
311
- <xsd:sequence>
312
- <xsd:element minOccurs="0" maxOccurs="unbounded"
313
- name="complexObjectArray"
314
- type="typens:ListrakRemarketingOrderStatusEntity"/>
315
- </xsd:sequence>
316
- </xsd:complexType>
317
-
318
- <!-- customer -->
319
- <xsd:complexType name="ListrakRemarketingCustomerEntity">
320
- <xsd:sequence>
321
- <xsd:element name="entity_id" type="xsd:string" minOccurs="0"/>
322
- <xsd:element name="firstname" type="xsd:string" minOccurs="0"/>
323
- <xsd:element name="lastname" type="xsd:string" minOccurs="0"/>
324
- <xsd:element name="email" type="xsd:string" minOccurs="0"/>
325
- <xsd:element name="website_id" type="xsd:string" minOccurs="0"/>
326
- <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
327
- <xsd:element name="gender_name" type="xsd:string" minOccurs="0"/>
328
- <xsd:element name="dob" type="xsd:string" minOccurs="0"/>
329
- <xsd:element name="group_name" type="xsd:string" minOccurs="0"/>
330
- </xsd:sequence>
331
- </xsd:complexType>
332
- <xsd:complexType name="ArrayOfListrakRemarketingCustomer">
333
- <xsd:sequence>
334
- <xsd:element minOccurs="0" maxOccurs="unbounded"
335
- name="complexObjectArray"
336
- type="typens:ListrakRemarketingCustomerEntity"/>
337
- </xsd:sequence>
338
- </xsd:complexType>
339
-
340
- <!-- subscriber -->
341
- <xsd:complexType name="ListrakRemarketingSubscriberEntity">
342
- <xsd:sequence>
343
- <xsd:element name="subscriber_id" type="xsd:string"
344
- minOccurs="0"/>
345
- <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
346
- <xsd:element name="customer_id" type="xsd:string" minOccurs="0"/>
347
- <xsd:element name="change_status_at" type="xsd:string"
348
- minOccurs="0"/>
349
- <xsd:element name="subscriber_email" type="xsd:string"
350
- minOccurs="0"/>
351
- <xsd:element name="subscriber_status" type="xsd:string"
352
- minOccurs="0"/>
353
- <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
354
- </xsd:sequence>
355
- </xsd:complexType>
356
- <xsd:complexType name="ArrayOfListrakRemarketingSubscriber">
357
- <xsd:sequence>
358
- <xsd:element minOccurs="0" maxOccurs="unbounded"
359
- name="complexObjectArray"
360
- type="typens:ListrakRemarketingSubscriberEntity"/>
361
- </xsd:sequence>
362
- </xsd:complexType>
363
-
364
- <xsd:complexType name="ListrakRemarketingInfoEntity">
365
- <xsd:sequence>
366
- <xsd:element name="magentoVersion" type="xsd:string"
367
- minOccurs="0"/>
368
- <xsd:element name="listrakSettings"
369
- type="typens:ListrakRemarketingSettingEntity"
370
- minOccurs="0"/>
371
- <xsd:element name="modules" type="typens:ArrayOfString"
372
- minOccurs="0"/>
373
- <xsd:element name="ini" type="typens:ArrayOfString"
374
- minOccurs="0"/>
375
- <xsd:element name="classes" type="xsd:string" minOccurs="0"/>
376
- <xsd:element name="counts" type="xsd:string" minOccurs="0"/>
377
- </xsd:sequence>
378
- </xsd:complexType>
379
- <xsd:complexType name="ListrakRemarketingSettingEntity">
380
- <xsd:sequence>
381
- <xsd:element name="coreEnabled" type="xsd:string" minOccurs="0"/>
382
- <xsd:element name="reviewsApiEnabled" type="xsd:string"
383
- minOccurs="0"/>
384
- </xsd:sequence>
385
- </xsd:complexType>
386
-
387
- <!-- review list / review update list -->
388
- <xsd:complexType name="ListrakRemarketingReviewListResult">
389
- <xsd:sequence>
390
- <xsd:element minOccurs="0" maxOccurs="unbounded"
391
- name="complexObjectArray"
392
- type="typens:ListrakRemarketingReviewListItem"/>
393
- </xsd:sequence>
394
- </xsd:complexType>
395
- <xsd:complexType name="ListrakRemarketingReviewListItem">
396
- <xsd:sequence>
397
- <xsd:element name="update_id" type="xsd:string" minOccurs="0"/>
398
- <xsd:element name="review_id" type="xsd:string" minOccurs="0"/>
399
- <xsd:element name="product_id" type="xsd:string" minOccurs="0"/>
400
- <xsd:element name="title" type="xsd:string" minOccurs="0"/>
401
- <xsd:element name="text" type="xsd:string" minOccurs="0"/>
402
- <xsd:element name="overall_rating" type="xsd:string"
403
- minOccurs="0"/>
404
- <xsd:element name="created_at" type="xsd:string" minOccurs="0"/>
405
- <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
406
- <xsd:element name="reviewer_name" type="xsd:string"
407
- minOccurs="0"/>
408
- <xsd:element name="email" type="xsd:string" minOccurs="0"/>
409
- <xsd:element name="status_id" type="xsd:string" minOccurs="0"/>
410
- <xsd:element name="status_code" type="xsd:string" minOccurs="0"/>
411
- <xsd:element name="ratings"
412
- type="typens:ArrayOfListrakRemarketingReviewRating"
413
- minOccurs="0"/>
414
- </xsd:sequence>
415
- </xsd:complexType>
416
- <xsd:complexType name="ArrayOfListrakRemarketingReviewRating">
417
- <xsd:sequence>
418
- <xsd:element minOccurs="0" maxOccurs="unbounded"
419
- name="complexObjectArray"
420
- type="typens:ListrakRemarketingReviewRatingItem"/>
421
- </xsd:sequence>
422
- </xsd:complexType>
423
- <xsd:complexType name="ListrakRemarketingReviewRatingItem">
424
- <xsd:sequence>
425
- <xsd:element name="rating_id" type="xsd:string" minOccurs="0"/>
426
- <xsd:element name="rating_code" type="xsd:string" minOccurs="0"/>
427
- <xsd:element name="rating" type="xsd:string" minOccurs="0"/>
428
- </xsd:sequence>
429
- </xsd:complexType>
430
-
431
- <!-- rating summary list / rating summary update list -->
432
- <xsd:complexType name="ListrakRemarketingRatingSummaryListResult">
433
- <xsd:sequence>
434
- <xsd:element minOccurs="0" maxOccurs="unbounded"
435
- name="complexObjectArray"
436
- type="typens:ListrakRemarketingRatingSummaryItem"/>
437
- </xsd:sequence>
438
- </xsd:complexType>
439
- <xsd:complexType name="ListrakRemarketingRatingSummaryItem">
440
- <xsd:sequence>
441
- <xsd:element name="update_id" type="xsd:string" minOccurs="0"/>
442
- <xsd:element name="rating_summary_id" type="xsd:string"
443
- minOccurs="0"/>
444
- <xsd:element name="product_id" type="xsd:string" minOccurs="0"/>
445
- <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
446
- <xsd:element name="total_reviews" type="xsd:string"
447
- minOccurs="0"/>
448
- <xsd:element name="rating" type="xsd:string" minOccurs="0"/>
449
- <xsd:element name="ratings"
450
- type="typens:ArrayOfListrakRemarketingRatingSummaryAttribute"
451
- minOccurs="0"/>
452
- </xsd:sequence>
453
- </xsd:complexType>
454
- <xsd:complexType name="ArrayOfListrakRemarketingRatingSummaryAttribute">
455
- <xsd:sequence>
456
- <xsd:element minOccurs="0" maxOccurs="unbounded"
457
- name="complexObjectArray"
458
- type="typens:ListrakRemarketingRatingSummaryAttributeItem"/>
459
- </xsd:sequence>
460
- </xsd:complexType>
461
- <xsd:complexType name="ListrakRemarketingRatingSummaryAttributeItem">
462
- <xsd:sequence>
463
- <xsd:element name="rating_id" type="xsd:string" minOccurs="0"/>
464
- <xsd:element name="rating_code" type="xsd:string" minOccurs="0"/>
465
- <xsd:element name="rating" type="xsd:string" minOccurs="0"/>
466
- </xsd:sequence>
467
- </xsd:complexType>
468
-
469
- <!-- review delete list -->
470
- <xsd:complexType name="ListrakRemarketingReviewDeleteListResult">
471
- <xsd:sequence>
472
- <xsd:element minOccurs="0" maxOccurs="unbounded"
473
- name="complexObjectArray"
474
- type="typens:ListrakRemarketingDeletedReview"/>
475
- </xsd:sequence>
476
- </xsd:complexType>
477
- <xsd:complexType name="ListrakRemarketingDeletedReview">
478
- <xsd:sequence>
479
- <xsd:element name="delete_id" type="xsd:string" minOccurs="0"/>
480
- <xsd:element name="review_id" type="xsd:string" minOccurs="0"/>
481
- </xsd:sequence>
482
- </xsd:complexType>
483
-
484
- <!-- review update purge -->
485
- <xsd:complexType name="ListrakRemarketingReviewUpdatePurgeResult">
486
- <xsd:sequence>
487
- <xsd:element name="count" type="xsd:string" minOccurs="0"/>
488
- <xsd:element name="before" type="xsd:string" minOccurs="0"/>
489
- </xsd:sequence>
490
- </xsd:complexType>
491
-
492
- <!-- message parameters -->
493
- <xsd:element name="listrakRemarketingAbandonedCartListRequestParam">
494
- <xsd:complexType>
495
- <xsd:sequence>
496
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
497
- type="xsd:string"/>
498
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
499
- type="xsd:string"/>
500
- <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
501
- type="xsd:string"/>
502
- <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
503
- type="xsd:string"/>
504
- <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
505
- type="xsd:int"/>
506
- <xsd:element minOccurs="1" maxOccurs="1" name="page"
507
- type="xsd:int"/>
508
- </xsd:sequence>
509
- </xsd:complexType>
510
- </xsd:element>
511
- <xsd:element name="listrakRemarketingAbandonedCartListResponseParam">
512
- <xsd:complexType>
513
- <xsd:sequence>
514
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
515
- type="typens:ArrayOfListrakRemarketingAbandonedCart"/>
516
- </xsd:sequence>
517
- </xsd:complexType>
518
- </xsd:element>
519
- <xsd:element name="listrakRemarketingAbandonedCartPurgeRequestParam">
520
- <xsd:complexType>
521
- <xsd:sequence>
522
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
523
- type="xsd:string"/>
524
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
525
- type="xsd:string"/>
526
- <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
527
- type="xsd:string"/>
528
- </xsd:sequence>
529
- </xsd:complexType>
530
- </xsd:element>
531
- <xsd:element name="listrakRemarketingAbandonedCartPurgeResponseParam">
532
- <xsd:complexType>
533
- <xsd:sequence>
534
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
535
- type="xsd:string"/>
536
- </xsd:sequence>
537
- </xsd:complexType>
538
- </xsd:element>
539
- <xsd:element name="listrakRemarketingClickListRequestParam">
540
- <xsd:complexType>
541
- <xsd:sequence>
542
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
543
- type="xsd:string"/>
544
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
545
- type="xsd:string"/>
546
- <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
547
- type="xsd:string"/>
548
- <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
549
- type="xsd:string"/>
550
- <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
551
- type="xsd:int"/>
552
- <xsd:element minOccurs="1" maxOccurs="1" name="page"
553
- type="xsd:int"/>
554
- </xsd:sequence>
555
- </xsd:complexType>
556
- </xsd:element>
557
- <xsd:element name="listrakRemarketingClickListResponseParam">
558
- <xsd:complexType>
559
- <xsd:sequence>
560
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
561
- type="typens:ArrayOfListrakRemarketingClick"/>
562
- </xsd:sequence>
563
- </xsd:complexType>
564
- </xsd:element>
565
- <xsd:element name="listrakRemarketingClickPurgeRequestParam">
566
- <xsd:complexType>
567
- <xsd:sequence>
568
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
569
- type="xsd:string"/>
570
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
571
- type="xsd:string"/>
572
- <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
573
- type="xsd:string"/>
574
- </xsd:sequence>
575
- </xsd:complexType>
576
- </xsd:element>
577
- <xsd:element name="listrakRemarketingClickPurgeResponseParam">
578
- <xsd:complexType>
579
- <xsd:sequence>
580
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
581
- type="xsd:string"/>
582
- </xsd:sequence>
583
- </xsd:complexType>
584
- </xsd:element>
585
- <xsd:element name="listrakRemarketingLogListRequestParam">
586
- <xsd:complexType>
587
- <xsd:sequence>
588
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
589
- type="xsd:string"/>
590
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
591
- type="xsd:string"/>
592
- <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
593
- type="xsd:string"/>
594
- <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
595
- type="xsd:string"/>
596
- <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
597
- type="xsd:int"/>
598
- <xsd:element minOccurs="1" maxOccurs="1" name="page"
599
- type="xsd:int"/>
600
- <xsd:element minOccurs="1" maxOccurs="1" name="logTypeId"
601
- type="xsd:string"/>
602
- </xsd:sequence>
603
- </xsd:complexType>
604
- </xsd:element>
605
- <xsd:element name="listrakRemarketingLogListResponseParam">
606
- <xsd:complexType>
607
- <xsd:sequence>
608
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
609
- type="typens:ArrayOfListrakRemarketingLog"/>
610
- </xsd:sequence>
611
- </xsd:complexType>
612
- </xsd:element>
613
- <xsd:element name="listrakRemarketingLogPurgeRequestParam">
614
- <xsd:complexType>
615
- <xsd:sequence>
616
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
617
- type="xsd:string"/>
618
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
619
- type="xsd:string"/>
620
- <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
621
- type="xsd:string"/>
622
- </xsd:sequence>
623
- </xsd:complexType>
624
- </xsd:element>
625
- <xsd:element name="listrakRemarketingLogPurgeResponseParam">
626
- <xsd:complexType>
627
- <xsd:sequence>
628
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
629
- type="xsd:string"/>
630
- </xsd:sequence>
631
- </xsd:complexType>
632
- </xsd:element>
633
- <xsd:element name="listrakRemarketingLogToggleRequestParam">
634
- <xsd:complexType>
635
- <xsd:sequence>
636
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
637
- type="xsd:string"/>
638
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
639
- type="xsd:string"/>
640
- <xsd:element minOccurs="1" maxOccurs="1" name="onOff"
641
- type="xsd:string"/>
642
- </xsd:sequence>
643
- </xsd:complexType>
644
- </xsd:element>
645
- <xsd:element name="listrakRemarketingLogToggleResponseParam">
646
- <xsd:complexType>
647
- <xsd:sequence>
648
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
649
- type="xsd:string"/>
650
- </xsd:sequence>
651
- </xsd:complexType>
652
- </xsd:element>
653
- <xsd:element name="listrakRemarketingOrderListRequestParam">
654
- <xsd:complexType>
655
- <xsd:sequence>
656
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
657
- type="xsd:string"/>
658
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
659
- type="xsd:string"/>
660
- <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
661
- type="xsd:string"/>
662
- <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
663
- type="xsd:string"/>
664
- <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
665
- type="xsd:int"/>
666
- <xsd:element minOccurs="1" maxOccurs="1" name="page"
667
- type="xsd:int"/>
668
- </xsd:sequence>
669
- </xsd:complexType>
670
- </xsd:element>
671
- <xsd:element name="listrakRemarketingOrderListResponseParam">
672
- <xsd:complexType>
673
- <xsd:sequence>
674
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
675
- type="typens:ArrayOfListrakRemarketingOrder"/>
676
- </xsd:sequence>
677
- </xsd:complexType>
678
- </xsd:element>
679
- <xsd:element name="listrakRemarketingOrderStatusListRequestParam">
680
- <xsd:complexType>
681
- <xsd:sequence>
682
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
683
- type="xsd:string"/>
684
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
685
- type="xsd:string"/>
686
- <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
687
- type="xsd:string"/>
688
- <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
689
- type="xsd:string"/>
690
- <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
691
- type="xsd:int"/>
692
- <xsd:element minOccurs="1" maxOccurs="1" name="page"
693
- type="xsd:int"/>
694
- <xsd:element minOccurs="1" maxOccurs="1" name="filters"
695
- type="typens:filters"/>
696
- </xsd:sequence>
697
- </xsd:complexType>
698
- </xsd:element>
699
- <xsd:element name="listrakRemarketingOrderStatusListResponseParam">
700
- <xsd:complexType>
701
- <xsd:sequence>
702
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
703
- type="typens:ArrayOfListrakRemarketingOrderStatus"/>
704
- </xsd:sequence>
705
- </xsd:complexType>
706
- </xsd:element>
707
- <xsd:element name="listrakRemarketingProductListRequestParam">
708
- <xsd:complexType>
709
- <xsd:sequence>
710
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
711
- type="xsd:string"/>
712
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
713
- type="xsd:string"/>
714
- <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
715
- type="xsd:int"/>
716
- <xsd:element minOccurs="1" maxOccurs="1" name="page"
717
- type="xsd:int"/>
718
- </xsd:sequence>
719
- </xsd:complexType>
720
- </xsd:element>
721
- <xsd:element name="listrakRemarketingProductListResponseParam">
722
- <xsd:complexType>
723
- <xsd:sequence>
724
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
725
- type="typens:ArrayOfListrakRemarketingProduct"/>
726
- </xsd:sequence>
727
- </xsd:complexType>
728
- </xsd:element>
729
- <xsd:element name="listrakRemarketingSubscriberListRequestParam">
730
- <xsd:complexType>
731
- <xsd:sequence>
732
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
733
- type="xsd:string"/>
734
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
735
- type="xsd:string"/>
736
- <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
737
- type="xsd:string"/>
738
- <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
739
- type="xsd:int"/>
740
- <xsd:element minOccurs="1" maxOccurs="1" name="page"
741
- type="xsd:int"/>
742
- </xsd:sequence>
743
- </xsd:complexType>
744
- </xsd:element>
745
- <xsd:element name="listrakRemarketingSubscriberListResponseParam">
746
- <xsd:complexType>
747
- <xsd:sequence>
748
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
749
- type="typens:ArrayOfListrakRemarketingSubscriber"/>
750
- </xsd:sequence>
751
- </xsd:complexType>
752
- </xsd:element>
753
- <xsd:element name="listrakRemarketingSubscriberPurgeRequestParam">
754
- <xsd:complexType>
755
- <xsd:sequence>
756
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
757
- type="xsd:string"/>
758
- <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
759
- type="xsd:string"/>
760
- </xsd:sequence>
761
- </xsd:complexType>
762
- </xsd:element>
763
- <xsd:element name="listrakRemarketingSubscriberPurgeResponseParam">
764
- <xsd:complexType>
765
- <xsd:sequence>
766
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
767
- type="xsd:string"/>
768
- </xsd:sequence>
769
- </xsd:complexType>
770
- </xsd:element>
771
- <xsd:element name="listrakRemarketingCustomerListRequestParam">
772
- <xsd:complexType>
773
- <xsd:sequence>
774
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
775
- type="xsd:string"/>
776
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
777
- type="xsd:string"/>
778
- <xsd:element minOccurs="1" maxOccurs="1" name="websiteId"
779
- type="xsd:int"/>
780
- <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
781
- type="xsd:int"/>
782
- <xsd:element minOccurs="1" maxOccurs="1" name="page"
783
- type="xsd:int"/>
784
- </xsd:sequence>
785
- </xsd:complexType>
786
- </xsd:element>
787
- <xsd:element name="listrakRemarketingCustomerListResponseParam">
788
- <xsd:complexType>
789
- <xsd:sequence>
790
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
791
- type="typens:ArrayOfListrakRemarketingCustomer"/>
792
- </xsd:sequence>
793
- </xsd:complexType>
794
- </xsd:element>
795
- <xsd:element name="listrakRemarketingInfoListRequestParam">
796
- <xsd:complexType>
797
- <xsd:sequence>
798
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
799
- type="xsd:string"/>
800
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
801
- type="xsd:string"/>
802
- </xsd:sequence>
803
- </xsd:complexType>
804
- </xsd:element>
805
- <xsd:element name="listrakRemarketingInfoListResponseParam">
806
- <xsd:complexType>
807
- <xsd:sequence>
808
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
809
- type="typens:ListrakRemarketingInfoEntity"/>
810
- </xsd:sequence>
811
- </xsd:complexType>
812
- </xsd:element>
813
- <xsd:element name="listrakRemarketingReviewListRequestParam">
814
- <xsd:complexType>
815
- <xsd:sequence>
816
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
817
- type="xsd:string"/>
818
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
819
- type="xsd:string"/>
820
- <xsd:element minOccurs="1" maxOccurs="1" name="chunkSize"
821
- type="xsd:string"/>
822
- <xsd:element minOccurs="1" maxOccurs="1" name="startReviewId"
823
- type="xsd:string"/>
824
- </xsd:sequence>
825
- </xsd:complexType>
826
- </xsd:element>
827
- <xsd:element name="listrakRemarketingReviewListResponseParam">
828
- <xsd:complexType>
829
- <xsd:sequence>
830
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
831
- type="typens:ListrakRemarketingReviewListResult"/>
832
- </xsd:sequence>
833
- </xsd:complexType>
834
- </xsd:element>
835
- <xsd:element name="listrakRemarketingRatingSummaryListRequestParam">
836
- <xsd:complexType>
837
- <xsd:sequence>
838
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
839
- type="xsd:string"/>
840
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
841
- type="xsd:string"/>
842
- <xsd:element minOccurs="1" maxOccurs="1" name="chunkSize"
843
- type="xsd:string"/>
844
- <xsd:element minOccurs="1" maxOccurs="1"
845
- name="startRatingSummaryId" type="xsd:string"/>
846
- </xsd:sequence>
847
- </xsd:complexType>
848
- </xsd:element>
849
- <xsd:element name="listrakRemarketingRatingSummaryListResponseParam">
850
- <xsd:complexType>
851
- <xsd:sequence>
852
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
853
- type="typens:ListrakRemarketingRatingSummaryListResult"/>
854
- </xsd:sequence>
855
- </xsd:complexType>
856
- </xsd:element>
857
- <xsd:element name="listrakRemarketingReviewUpdateListRequestParam">
858
- <xsd:complexType>
859
- <xsd:sequence>
860
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
861
- type="xsd:string"/>
862
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
863
- type="xsd:string"/>
864
- <xsd:element minOccurs="1" maxOccurs="1" name="chunkSize"
865
- type="xsd:string"/>
866
- <xsd:element minOccurs="1" maxOccurs="1" name="startUpdateId"
867
- type="xsd:string"/>
868
- </xsd:sequence>
869
- </xsd:complexType>
870
- </xsd:element>
871
- <xsd:element name="listrakRemarketingReviewUpdateListResponseParam">
872
- <xsd:complexType>
873
- <xsd:sequence>
874
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
875
- type="typens:ListrakRemarketingReviewListResult"/>
876
- </xsd:sequence>
877
- </xsd:complexType>
878
- </xsd:element>
879
- <xsd:element
880
- name="listrakRemarketingRatingSummaryUpdateListRequestParam">
881
- <xsd:complexType>
882
- <xsd:sequence>
883
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
884
- type="xsd:string"/>
885
- <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
886
- type="xsd:string"/>
887
- <xsd:element minOccurs="1" maxOccurs="1" name="chunkSize"
888
- type="xsd:string"/>
889
- <xsd:element minOccurs="1" maxOccurs="1" name="startUpdateId"
890
- type="xsd:string"/>
891
- </xsd:sequence>
892
- </xsd:complexType>
893
- </xsd:element>
894
- <xsd:element
895
- name="listrakRemarketingRatingSummaryUpdateListResponseParam">
896
- <xsd:complexType>
897
- <xsd:sequence>
898
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
899
- type="typens:ListrakRemarketingRatingSummaryListResult"/>
900
- </xsd:sequence>
901
- </xsd:complexType>
902
- </xsd:element>
903
- <xsd:element name="listrakRemarketingReviewDeleteListRequestParam">
904
- <xsd:complexType>
905
- <xsd:sequence>
906
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
907
- type="xsd:string"/>
908
- <xsd:element minOccurs="1" maxOccurs="1" name="chunkSize"
909
- type="xsd:string"/>
910
- <xsd:element minOccurs="1" maxOccurs="1" name="startDeleteId"
911
- type="xsd:string"/>
912
- </xsd:sequence>
913
- </xsd:complexType>
914
- </xsd:element>
915
- <xsd:element name="listrakRemarketingReviewDeleteListResponseParam">
916
- <xsd:complexType>
917
- <xsd:sequence>
918
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
919
- type="typens:ListrakRemarketingReviewDeleteListResult"/>
920
- </xsd:sequence>
921
- </xsd:complexType>
922
- </xsd:element>
923
- <xsd:element name="listrakRemarketingReviewUpdatePurgeRequestParam">
924
- <xsd:complexType>
925
- <xsd:sequence>
926
- <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
927
- type="xsd:string"/>
928
- <xsd:element minOccurs="1" maxOccurs="1"
929
- name="purgeBeforeDays" type="xsd:string"/>
930
- </xsd:sequence>
931
- </xsd:complexType>
932
- </xsd:element>
933
- <xsd:element name="listrakRemarketingReviewUpdatePurgeResponseParam">
934
- <xsd:complexType>
935
- <xsd:sequence>
936
- <xsd:element minOccurs="1" maxOccurs="1" name="result"
937
- type="typens:ListrakRemarketingReviewUpdatePurgeResult"/>
938
- </xsd:sequence>
939
- </xsd:complexType>
940
- </xsd:element>
941
- </xsd:schema>
942
- </wsdl:types>
943
- <wsdl:message name="listrakRemarketingAbandonedCartListRequest">
944
- <wsdl:part name="parameters"
945
- element="typens:listrakRemarketingAbandonedCartListRequestParam"/>
946
- </wsdl:message>
947
- <wsdl:message name="listrakRemarketingAbandonedCartListResponse">
948
- <wsdl:part name="parameters"
949
- element="typens:listrakRemarketingAbandonedCartListResponseParam"/>
950
- </wsdl:message>
951
- <wsdl:message name="listrakRemarketingAbandonedCartPurgeRequest">
952
- <wsdl:part name="parameters"
953
- element="typens:listrakRemarketingAbandonedCartPurgeRequestParam"/>
954
- </wsdl:message>
955
- <wsdl:message name="listrakRemarketingAbandonedCartPurgeResponse">
956
- <wsdl:part name="parameters"
957
- element="typens:listrakRemarketingAbandonedCartPurgeResponseParam"/>
958
- </wsdl:message>
959
- <wsdl:message name="listrakRemarketingClickListRequest">
960
- <wsdl:part name="parameters"
961
- element="typens:listrakRemarketingClickListRequestParam"/>
962
- </wsdl:message>
963
- <wsdl:message name="listrakRemarketingClickListResponse">
964
- <wsdl:part name="parameters"
965
- element="typens:listrakRemarketingClickListResponseParam"/>
966
- </wsdl:message>
967
- <wsdl:message name="listrakRemarketingClickPurgeRequest">
968
- <wsdl:part name="parameters"
969
- element="typens:listrakRemarketingClickPurgeRequestParam"/>
970
- </wsdl:message>
971
- <wsdl:message name="listrakRemarketingClickPurgeResponse">
972
- <wsdl:part name="parameters"
973
- element="typens:listrakRemarketingClickPurgeResponseParam"/>
974
- </wsdl:message>
975
- <wsdl:message name="listrakRemarketingLogListRequest">
976
- <wsdl:part name="parameters"
977
- element="typens:listrakRemarketingLogListRequestParam"/>
978
- </wsdl:message>
979
- <wsdl:message name="listrakRemarketingLogListResponse">
980
- <wsdl:part name="parameters"
981
- element="typens:listrakRemarketingLogListResponseParam"/>
982
- </wsdl:message>
983
- <wsdl:message name="listrakRemarketingLogPurgeRequest">
984
- <wsdl:part name="parameters"
985
- element="typens:listrakRemarketingLogPurgeRequestParam"/>
986
- </wsdl:message>
987
- <wsdl:message name="listrakRemarketingLogPurgeResponse">
988
- <wsdl:part name="parameters"
989
- element="typens:listrakRemarketingLogPurgeResponseParam"/>
990
- </wsdl:message>
991
- <wsdl:message name="listrakRemarketingLogToggleRequest">
992
- <wsdl:part name="parameters"
993
- element="typens:listrakRemarketingLogToggleRequestParam"/>
994
- </wsdl:message>
995
- <wsdl:message name="listrakRemarketingLogToggleResponse">
996
- <wsdl:part name="parameters"
997
- element="typens:listrakRemarketingLogToggleResponseParam"/>
998
- </wsdl:message>
999
- <wsdl:message name="listrakRemarketingOrderListRequest">
1000
- <wsdl:part name="parameters"
1001
- element="typens:listrakRemarketingOrderListRequestParam"/>
1002
- </wsdl:message>
1003
- <wsdl:message name="listrakRemarketingOrderListResponse">
1004
- <wsdl:part name="parameters"
1005
- element="typens:listrakRemarketingOrderListResponseParam"/>
1006
- </wsdl:message>
1007
- <wsdl:message name="listrakRemarketingOrderStatusListRequest">
1008
- <wsdl:part name="parameters"
1009
- element="typens:listrakRemarketingOrderStatusListRequestParam"/>
1010
- </wsdl:message>
1011
- <wsdl:message name="listrakRemarketingOrderStatusListResponse">
1012
- <wsdl:part name="parameters"
1013
- element="typens:listrakRemarketingOrderStatusListResponseParam"/>
1014
- </wsdl:message>
1015
- <wsdl:message name="listrakRemarketingProductListRequest">
1016
- <wsdl:part name="parameters"
1017
- element="typens:listrakRemarketingProductListRequestParam"/>
1018
- </wsdl:message>
1019
- <wsdl:message name="listrakRemarketingProductListResponse">
1020
- <wsdl:part name="parameters"
1021
- element="typens:listrakRemarketingProductListResponseParam"/>
1022
- </wsdl:message>
1023
- <wsdl:message name="listrakRemarketingSubscriberListRequest">
1024
- <wsdl:part name="parameters"
1025
- element="typens:listrakRemarketingSubscriberListRequestParam"/>
1026
- </wsdl:message>
1027
- <wsdl:message name="listrakRemarketingSubscriberListResponse">
1028
- <wsdl:part name="parameters"
1029
- element="typens:listrakRemarketingSubscriberListResponseParam"/>
1030
- </wsdl:message>
1031
- <wsdl:message name="listrakRemarketingSubscriberPurgeRequest">
1032
- <wsdl:part name="parameters"
1033
- element="typens:listrakRemarketingSubscriberPurgeRequestParam"/>
1034
- </wsdl:message>
1035
- <wsdl:message name="listrakRemarketingSubscriberPurgeResponse">
1036
- <wsdl:part name="parameters"
1037
- element="typens:listrakRemarketingSubscriberPurgeResponseParam"/>
1038
- </wsdl:message>
1039
- <wsdl:message name="listrakRemarketingCustomerListRequest">
1040
- <wsdl:part name="parameters"
1041
- element="typens:listrakRemarketingCustomerListRequestParam"/>
1042
- </wsdl:message>
1043
- <wsdl:message name="listrakRemarketingCustomerListResponse">
1044
- <wsdl:part name="parameters"
1045
- element="typens:listrakRemarketingCustomerListResponseParam"/>
1046
- </wsdl:message>
1047
- <wsdl:message name="listrakRemarketingInfoListRequest">
1048
- <wsdl:part name="parameters"
1049
- element="typens:listrakRemarketingInfoListRequestParam"/>
1050
- </wsdl:message>
1051
- <wsdl:message name="listrakRemarketingInfoListResponse">
1052
- <wsdl:part name="parameters"
1053
- element="typens:listrakRemarketingInfoListResponseParam"/>
1054
- </wsdl:message>
1055
- <wsdl:message name="listrakRemarketingReviewListRequest">
1056
- <wsdl:part name="parameters"
1057
- element="typens:listrakRemarketingReviewListRequestParam"/>
1058
- </wsdl:message>
1059
- <wsdl:message name="listrakRemarketingReviewListResponse">
1060
- <wsdl:part name="parameters"
1061
- element="typens:listrakRemarketingReviewListResponseParam"/>
1062
- </wsdl:message>
1063
- <wsdl:message name="listrakRemarketingRatingSummaryListRequest">
1064
- <wsdl:part name="parameters"
1065
- element="typens:listrakRemarketingRatingSummaryListRequestParam"/>
1066
- </wsdl:message>
1067
- <wsdl:message name="listrakRemarketingRatingSummaryListResponse">
1068
- <wsdl:part name="parameters"
1069
- element="typens:listrakRemarketingRatingSummaryListResponseParam"/>
1070
- </wsdl:message>
1071
- <wsdl:message name="listrakRemarketingReviewUpdateListRequest">
1072
- <wsdl:part name="parameters"
1073
- element="typens:listrakRemarketingReviewUpdateListRequestParam"/>
1074
- </wsdl:message>
1075
- <wsdl:message name="listrakRemarketingReviewUpdateListResponse">
1076
- <wsdl:part name="parameters"
1077
- element="typens:listrakRemarketingReviewUpdateListResponseParam"/>
1078
- </wsdl:message>
1079
- <wsdl:message name="listrakRemarketingRatingSummaryUpdateListRequest">
1080
- <wsdl:part name="parameters"
1081
- element="typens:listrakRemarketingRatingSummaryUpdateListRequestParam"/>
1082
- </wsdl:message>
1083
- <wsdl:message name="listrakRemarketingRatingSummaryUpdateListResponse">
1084
- <wsdl:part name="parameters"
1085
- element="typens:listrakRemarketingRatingSummaryUpdateListResponseParam"/>
1086
- </wsdl:message>
1087
- <wsdl:message name="listrakRemarketingReviewDeleteListRequest">
1088
- <wsdl:part name="parameters"
1089
- element="typens:listrakRemarketingReviewDeleteListRequestParam"/>
1090
- </wsdl:message>
1091
- <wsdl:message name="listrakRemarketingReviewDeleteListResponse">
1092
- <wsdl:part name="parameters"
1093
- element="typens:listrakRemarketingReviewDeleteListResponseParam"/>
1094
- </wsdl:message>
1095
- <wsdl:message name="listrakRemarketingReviewUpdatePurgeRequest">
1096
- <wsdl:part name="parameters"
1097
- element="typens:listrakRemarketingReviewUpdatePurgeRequestParam"/>
1098
- </wsdl:message>
1099
- <wsdl:message name="listrakRemarketingReviewUpdatePurgeResponse">
1100
- <wsdl:part name="parameters"
1101
- element="typens:listrakRemarketingReviewUpdatePurgeResponseParam"/>
1102
- </wsdl:message>
1103
- <wsdl:portType name="{{var wsdl.handler}}PortType">
1104
- <wsdl:operation name="listrakRemarketingAbandonedCartList">
1105
- <wsdl:documentation>Get stores abandoned carts</wsdl:documentation>
1106
- <wsdl:input message="typens:listrakRemarketingAbandonedCartListRequest"/>
1107
- <wsdl:output
1108
- message="typens:listrakRemarketingAbandonedCartListResponse"/>
1109
- </wsdl:operation>
1110
- <wsdl:operation name="listrakRemarketingAbandonedCartPurge">
1111
- <wsdl:documentation>Purge abandoned carts</wsdl:documentation>
1112
- <wsdl:input
1113
- message="typens:listrakRemarketingAbandonedCartPurgeRequest"/>
1114
- <wsdl:output
1115
- message="typens:listrakRemarketingAbandonedCartPurgeResponse"/>
1116
- </wsdl:operation>
1117
- <wsdl:operation name="listrakRemarketingClickList">
1118
- <wsdl:documentation>Get clicks</wsdl:documentation>
1119
- <wsdl:input message="typens:listrakRemarketingClickListRequest"/>
1120
- <wsdl:output message="typens:listrakRemarketingClickListResponse"/>
1121
- </wsdl:operation>
1122
- <wsdl:operation name="listrakRemarketingClickPurge">
1123
- <wsdl:documentation>Purge clicks</wsdl:documentation>
1124
- <wsdl:input message="typens:listrakRemarketingClickPurgeRequest"/>
1125
- <wsdl:output message="typens:listrakRemarketingClickPurgeResponse"/>
1126
- </wsdl:operation>
1127
- <wsdl:operation name="listrakRemarketingLogList">
1128
- <wsdl:documentation>Get log entries</wsdl:documentation>
1129
- <wsdl:input message="typens:listrakRemarketingLogListRequest"/>
1130
- <wsdl:output message="typens:listrakRemarketingLogListResponse"/>
1131
- </wsdl:operation>
1132
- <wsdl:operation name="listrakRemarketingLogPurge">
1133
- <wsdl:documentation>Purge log entries</wsdl:documentation>
1134
- <wsdl:input message="typens:listrakRemarketingLogPurgeRequest"/>
1135
- <wsdl:output message="typens:listrakRemarketingLogPurgeResponse"/>
1136
- </wsdl:operation>
1137
- <wsdl:operation name="listrakRemarketingLogToggle">
1138
- <wsdl:documentation>toggle logging</wsdl:documentation>
1139
- <wsdl:input message="typens:listrakRemarketingLogToggleRequest"/>
1140
- <wsdl:output message="typens:listrakRemarketingLogToggleResponse"/>
1141
- </wsdl:operation>
1142
- <wsdl:operation name="listrakRemarketingOrderList">
1143
- <wsdl:documentation>Get orders</wsdl:documentation>
1144
- <wsdl:input message="typens:listrakRemarketingOrderListRequest"/>
1145
- <wsdl:output message="typens:listrakRemarketingOrderListResponse"/>
1146
- </wsdl:operation>
1147
- <wsdl:operation name="listrakRemarketingOrderStatusList">
1148
- <wsdl:documentation>Get order status changes</wsdl:documentation>
1149
- <wsdl:input message="typens:listrakRemarketingOrderStatusListRequest"/>
1150
- <wsdl:output message="typens:listrakRemarketingOrderStatusListResponse"/>
1151
- </wsdl:operation>
1152
- <wsdl:operation name="listrakRemarketingProductList">
1153
- <wsdl:documentation>Get products</wsdl:documentation>
1154
- <wsdl:input message="typens:listrakRemarketingProductListRequest"/>
1155
- <wsdl:output message="typens:listrakRemarketingProductListResponse"/>
1156
- </wsdl:operation>
1157
- <wsdl:operation name="listrakRemarketingSubscriberList">
1158
- <wsdl:documentation>Get subscribers and unsubscribers
1159
- </wsdl:documentation>
1160
- <wsdl:input message="typens:listrakRemarketingSubscriberListRequest"/>
1161
- <wsdl:output message="typens:listrakRemarketingSubscriberListResponse"/>
1162
- </wsdl:operation>
1163
- <wsdl:operation name="listrakRemarketingSubscriberPurge">
1164
- <wsdl:documentation>Purge old subscriber updates</wsdl:documentation>
1165
- <wsdl:input message="typens:listrakRemarketingSubscriberPurgeRequest"/>
1166
- <wsdl:output message="typens:listrakRemarketingSubscriberPurgeResponse"/>
1167
- </wsdl:operation>
1168
- <wsdl:operation name="listrakRemarketingCustomerList">
1169
- <wsdl:documentation>Get customers</wsdl:documentation>
1170
- <wsdl:input message="typens:listrakRemarketingCustomerListRequest"/>
1171
- <wsdl:output message="typens:listrakRemarketingCustomerListResponse"/>
1172
- </wsdl:operation>
1173
- <wsdl:operation name="listrakRemarketingInfoList">
1174
- <wsdl:documentation>Get info</wsdl:documentation>
1175
- <wsdl:input message="typens:listrakRemarketingInfoListRequest"/>
1176
- <wsdl:output message="typens:listrakRemarketingInfoListResponse"/>
1177
- </wsdl:operation>
1178
- <wsdl:operation name="listrakRemarketingReviewList">
1179
- <wsdl:documentation>Get review list</wsdl:documentation>
1180
- <wsdl:input message="typens:listrakRemarketingReviewListRequest"/>
1181
- <wsdl:output message="typens:listrakRemarketingReviewListResponse"/>
1182
- </wsdl:operation>
1183
- <wsdl:operation name="listrakRemarketingRatingSummaryList">
1184
- <wsdl:documentation>Get rating summary list</wsdl:documentation>
1185
- <wsdl:input message="typens:listrakRemarketingRatingSummaryListRequest"/>
1186
- <wsdl:output
1187
- message="typens:listrakRemarketingRatingSummaryListResponse"/>
1188
- </wsdl:operation>
1189
- <wsdl:operation name="listrakRemarketingReviewUpdateList">
1190
- <wsdl:documentation>Get review list</wsdl:documentation>
1191
- <wsdl:input message="typens:listrakRemarketingReviewUpdateListRequest"/>
1192
- <wsdl:output
1193
- message="typens:listrakRemarketingReviewUpdateListResponse"/>
1194
- </wsdl:operation>
1195
- <wsdl:operation name="listrakRemarketingRatingSummaryUpdateList">
1196
- <wsdl:documentation>Get rating summary list</wsdl:documentation>
1197
- <wsdl:input
1198
- message="typens:listrakRemarketingRatingSummaryUpdateListRequest"/>
1199
- <wsdl:output
1200
- message="typens:listrakRemarketingRatingSummaryUpdateListResponse"/>
1201
- </wsdl:operation>
1202
- <wsdl:operation name="listrakRemarketingReviewDeleteList">
1203
- <wsdl:documentation>Get deleted reviews list</wsdl:documentation>
1204
- <wsdl:input message="typens:listrakRemarketingReviewDeleteListRequest"/>
1205
- <wsdl:output
1206
- message="typens:listrakRemarketingReviewDeleteListResponse"/>
1207
- </wsdl:operation>
1208
- <wsdl:operation name="listrakRemarketingReviewUpdatePurge">
1209
- <wsdl:documentation>Get deleted reviews list</wsdl:documentation>
1210
- <wsdl:input message="typens:listrakRemarketingReviewUpdatePurgeRequest"/>
1211
- <wsdl:output
1212
- message="typens:listrakRemarketingReviewUpdatePurgeResponse"/>
1213
- </wsdl:operation>
1214
- </wsdl:portType>
1215
- <wsdl:binding name="{{var wsdl.handler}}Binding"
1216
- type="typens:{{var wsdl.handler}}PortType">
1217
- <soap:binding style="document"
1218
- transport="http://schemas.xmlsoap.org/soap/http"/>
1219
- <wsdl:operation name="listrakRemarketingAbandonedCartList">
1220
- <soap:operation soapAction=""/>
1221
- <wsdl:input>
1222
- <soap:body use="literal"/>
1223
- </wsdl:input>
1224
- <wsdl:output>
1225
- <soap:body use="literal"/>
1226
- </wsdl:output>
1227
- </wsdl:operation>
1228
- <wsdl:operation name="listrakRemarketingAbandonedCartPurge">
1229
- <soap:operation soapAction=""/>
1230
- <wsdl:input>
1231
- <soap:body use="literal"/>
1232
- </wsdl:input>
1233
- <wsdl:output>
1234
- <soap:body use="literal"/>
1235
- </wsdl:output>
1236
- </wsdl:operation>
1237
- <wsdl:operation name="listrakRemarketingClickList">
1238
- <soap:operation soapAction=""/>
1239
- <wsdl:input>
1240
- <soap:body use="literal"/>
1241
- </wsdl:input>
1242
- <wsdl:output>
1243
- <soap:body use="literal"/>
1244
- </wsdl:output>
1245
- </wsdl:operation>
1246
- <wsdl:operation name="listrakRemarketingClickPurge">
1247
- <soap:operation soapAction=""/>
1248
- <wsdl:input>
1249
- <soap:body use="literal"/>
1250
- </wsdl:input>
1251
- <wsdl:output>
1252
- <soap:body use="literal"/>
1253
- </wsdl:output>
1254
- </wsdl:operation>
1255
- <wsdl:operation name="listrakRemarketingLogList">
1256
- <soap:operation soapAction=""/>
1257
- <wsdl:input>
1258
- <soap:body use="literal"/>
1259
- </wsdl:input>
1260
- <wsdl:output>
1261
- <soap:body use="literal"/>
1262
- </wsdl:output>
1263
- </wsdl:operation>
1264
- <wsdl:operation name="listrakRemarketingLogPurge">
1265
- <soap:operation soapAction=""/>
1266
- <wsdl:input>
1267
- <soap:body use="literal"/>
1268
- </wsdl:input>
1269
- <wsdl:output>
1270
- <soap:body use="literal"/>
1271
- </wsdl:output>
1272
- </wsdl:operation>
1273
- <wsdl:operation name="listrakRemarketingLogToggle">
1274
- <soap:operation soapAction=""/>
1275
- <wsdl:input>
1276
- <soap:body use="literal"/>
1277
- </wsdl:input>
1278
- <wsdl:output>
1279
- <soap:body use="literal"/>
1280
- </wsdl:output>
1281
- </wsdl:operation>
1282
- <wsdl:operation name="listrakRemarketingOrderList">
1283
- <soap:operation soapAction=""/>
1284
- <wsdl:input>
1285
- <soap:body use="literal"/>
1286
- </wsdl:input>
1287
- <wsdl:output>
1288
- <soap:body use="literal"/>
1289
- </wsdl:output>
1290
- </wsdl:operation>
1291
- <wsdl:operation name="listrakRemarketingOrderStatusList">
1292
- <soap:operation soapAction=""/>
1293
- <wsdl:input>
1294
- <soap:body use="literal"/>
1295
- </wsdl:input>
1296
- <wsdl:output>
1297
- <soap:body use="literal"/>
1298
- </wsdl:output>
1299
- </wsdl:operation>
1300
- <wsdl:operation name="listrakRemarketingProductList">
1301
- <soap:operation soapAction=""/>
1302
- <wsdl:input>
1303
- <soap:body use="literal"/>
1304
- </wsdl:input>
1305
- <wsdl:output>
1306
- <soap:body use="literal"/>
1307
- </wsdl:output>
1308
- </wsdl:operation>
1309
- <wsdl:operation name="listrakRemarketingSubscriberList">
1310
- <soap:operation soapAction=""/>
1311
- <wsdl:input>
1312
- <soap:body use="literal"/>
1313
- </wsdl:input>
1314
- <wsdl:output>
1315
- <soap:body use="literal"/>
1316
- </wsdl:output>
1317
- </wsdl:operation>
1318
- <wsdl:operation name="listrakRemarketingSubscriberPurge">
1319
- <soap:operation soapAction=""/>
1320
- <wsdl:input>
1321
- <soap:body use="literal"/>
1322
- </wsdl:input>
1323
- <wsdl:output>
1324
- <soap:body use="literal"/>
1325
- </wsdl:output>
1326
- </wsdl:operation>
1327
- <wsdl:operation name="listrakRemarketingCustomerList">
1328
- <soap:operation soapAction=""/>
1329
- <wsdl:input>
1330
- <soap:body use="literal"/>
1331
- </wsdl:input>
1332
- <wsdl:output>
1333
- <soap:body use="literal"/>
1334
- </wsdl:output>
1335
- </wsdl:operation>
1336
- <wsdl:operation name="listrakRemarketingInfoList">
1337
- <soap:operation soapAction=""/>
1338
- <wsdl:input>
1339
- <soap:body use="literal"/>
1340
- </wsdl:input>
1341
- <wsdl:output>
1342
- <soap:body use="literal"/>
1343
- </wsdl:output>
1344
- </wsdl:operation>
1345
- <wsdl:operation name="listrakRemarketingReviewList">
1346
- <soap:operation soapAction=""/>
1347
- <wsdl:input>
1348
- <soap:body use="literal"/>
1349
- </wsdl:input>
1350
- <wsdl:output>
1351
- <soap:body use="literal"/>
1352
- </wsdl:output>
1353
- </wsdl:operation>
1354
- <wsdl:operation name="listrakRemarketingRatingSummaryList">
1355
- <soap:operation soapAction=""/>
1356
- <wsdl:input>
1357
- <soap:body use="literal"/>
1358
- </wsdl:input>
1359
- <wsdl:output>
1360
- <soap:body use="literal"/>
1361
- </wsdl:output>
1362
- </wsdl:operation>
1363
- <wsdl:operation name="listrakRemarketingReviewUpdateList">
1364
- <soap:operation soapAction=""/>
1365
- <wsdl:input>
1366
- <soap:body use="literal"/>
1367
- </wsdl:input>
1368
- <wsdl:output>
1369
- <soap:body use="literal"/>
1370
- </wsdl:output>
1371
- </wsdl:operation>
1372
- <wsdl:operation name="listrakRemarketingRatingSummaryUpdateList">
1373
- <soap:operation soapAction=""/>
1374
- <wsdl:input>
1375
- <soap:body use="literal"/>
1376
- </wsdl:input>
1377
- <wsdl:output>
1378
- <soap:body use="literal"/>
1379
- </wsdl:output>
1380
- </wsdl:operation>
1381
- <wsdl:operation name="listrakRemarketingReviewDeleteList">
1382
- <soap:operation soapAction=""/>
1383
- <wsdl:input>
1384
- <soap:body use="literal"/>
1385
- </wsdl:input>
1386
- <wsdl:output>
1387
- <soap:body use="literal"/>
1388
- </wsdl:output>
1389
- </wsdl:operation>
1390
- <wsdl:operation name="listrakRemarketingReviewUpdatePurge">
1391
- <soap:operation soapAction=""/>
1392
- <wsdl:input>
1393
- <soap:body use="literal"/>
1394
- </wsdl:input>
1395
- <wsdl:output>
1396
- <soap:body use="literal"/>
1397
- </wsdl:output>
1398
- </wsdl:operation>
1399
- </wsdl:binding>
1400
- <wsdl:service name="{{var wsdl.name}}Service">
1401
- <wsdl:port name="{{var wsdl.handler}}Port"
1402
- binding="typens:{{var wsdl.handler}}Binding">
1403
- <soap:address location="{{var wsdl.url}}"/>
1404
- </wsdl:port>
1405
- </wsdl:service>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1406
  </wsdl:definitions>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <wsdl:definitions xmlns:typens="urn:{{var wsdl.name}}"
8
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
9
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
10
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
11
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
12
+ name="{{var wsdl.name}}"
13
+ targetNamespace="urn:{{var wsdl.name}}">
14
+ <wsdl:types>
15
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
16
+ targetNamespace="urn:{{var wsdl.name}}">
17
+ <xsd:complexType name="ArrayOfString">
18
+ <xsd:sequence>
19
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
20
+ name="complexObjectArray" type="xsd:string"/>
21
+ </xsd:sequence>
22
+ </xsd:complexType>
23
+ <!-- session -->
24
+ <xsd:complexType name="ListrakRemarketingSessionEntity">
25
+ <xsd:sequence>
26
+ <xsd:element name="session_id" type="xsd:string" minOccurs="0"/>
27
+ <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
28
+ <xsd:element name="created_at" type="xsd:string" minOccurs="0"/>
29
+ <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
30
+ <xsd:element name="quote_id" type="xsd:string" minOccurs="0"/>
31
+ <xsd:element name="ips" type="xsd:string" minOccurs="0"/>
32
+ <xsd:element name="pi_id" type="xsd:string" minOccurs="0"/>
33
+ <xsd:element name="customer"
34
+ type="typens:ListrakRemarketingCustomerEntity"
35
+ minOccurs="0"/>
36
+ <xsd:element name="emails"
37
+ type="typens:ArrayOfListrakRemarketingSessionEmail"
38
+ minOccurs="0"/>
39
+ <xsd:element name="clicks"
40
+ type="typens:ArrayOfListrakRemarketingClick"
41
+ minOccurs="0"/>
42
+ </xsd:sequence>
43
+ </xsd:complexType>
44
+ <xsd:complexType name="ListrakRemarketingSessionEmailEntity">
45
+ <xsd:sequence>
46
+ <xsd:element name="email" type="xsd:string" minOccurs="0"/>
47
+ <xsd:element name="created_at" type="xsd:string" minOccurs="0"/>
48
+ <xsd:element name="page" type="xsd:string" minOccurs="0"/>
49
+ <xsd:element name="field_id" type="xsd:string" minOccurs="0"/>
50
+ </xsd:sequence>
51
+ </xsd:complexType>
52
+ <xsd:complexType name="ArrayOfListrakRemarketingSessionEmail">
53
+ <xsd:sequence>
54
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
55
+ name="complexObjectArray"
56
+ type="typens:ListrakRemarketingSessionEmailEntity"/>
57
+ </xsd:sequence>
58
+ </xsd:complexType>
59
+
60
+ <!-- abandoned cart -->
61
+ <xsd:complexType name="ListrakRemarketingAbandonedCartEntity">
62
+ <xsd:sequence>
63
+ <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
64
+ <xsd:element name="session"
65
+ type="typens:ListrakRemarketingSessionEntity"
66
+ minOccurs="0"/>
67
+ <xsd:element name="products"
68
+ type="typens:ArrayOfListrakRemarketingAbandonedCartProduct"
69
+ minOccurs="0"/>
70
+ </xsd:sequence>
71
+ </xsd:complexType>
72
+ <xsd:complexType name="ArrayOfListrakRemarketingAbandonedCart">
73
+ <xsd:sequence>
74
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
75
+ name="complexObjectArray"
76
+ type="typens:ListrakRemarketingAbandonedCartEntity"/>
77
+ </xsd:sequence>
78
+ </xsd:complexType>
79
+ <xsd:complexType name="ListrakRemarketingAbandonedCartProductEntity">
80
+ <xsd:sequence>
81
+ <xsd:element name="entity_id" type="xsd:string" minOccurs="0"/>
82
+ <xsd:element name="sku" type="xsd:string" minOccurs="0"/>
83
+ <xsd:element name="name" type="xsd:string" minOccurs="0"/>
84
+ <xsd:element name="price" type="xsd:string" minOccurs="0"/>
85
+ <xsd:element name="special_price" type="xsd:string"
86
+ minOccurs="0"/>
87
+ <xsd:element name="special_from_date" type="xsd:string"
88
+ minOccurs="0"/>
89
+ <xsd:element name="special_to_date" type="xsd:string"
90
+ minOccurs="0"/>
91
+ <xsd:element name="cost" type="xsd:string" minOccurs="0"/>
92
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
93
+ <xsd:element name="short_description" type="xsd:string"
94
+ minOccurs="0"/>
95
+ <xsd:element name="weight" type="xsd:string" minOccurs="0"/>
96
+ <xsd:element name="url_key" type="xsd:string" minOccurs="0"/>
97
+ <xsd:element name="url_path" type="xsd:string" minOccurs="0"/>
98
+ <xsd:element name="image" type="xsd:string" minOccurs="0"/>
99
+ <xsd:element name="small_image" type="xsd:string" minOccurs="0"/>
100
+ <xsd:element name="thumbnail" type="xsd:string" minOccurs="0"/>
101
+ <xsd:element name="qty" type="xsd:string" minOccurs="0"/>
102
+ <xsd:element name="bundle_items"
103
+ type="typens:ArrayOfListrakRemarketingAbandonedCartProduct"
104
+ minOccurs="0"/>
105
+ </xsd:sequence>
106
+ </xsd:complexType>
107
+ <xsd:complexType name="ArrayOfListrakRemarketingAbandonedCartProduct">
108
+ <xsd:sequence>
109
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
110
+ name="complexObjectArray"
111
+ type="typens:ListrakRemarketingAbandonedCartProductEntity"/>
112
+ </xsd:sequence>
113
+ </xsd:complexType>
114
+
115
+ <!-- product -->
116
+ <xsd:complexType name="ListrakRemarketingConfigurableAttributeEntity">
117
+ <xsd:sequence>
118
+ <xsd:element name="attribute_name" type="xsd:string"
119
+ minOccurs="0"/>
120
+ <xsd:element name="value" type="xsd:string" minOccurs="0"/>
121
+ </xsd:sequence>
122
+ </xsd:complexType>
123
+ <xsd:complexType
124
+ name="ArrayOfListrakRemarketingConfigurableAttributeEntity">
125
+ <xsd:sequence>
126
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
127
+ name="complexObjectArray"
128
+ type="typens:ListrakRemarketingConfigurableAttributeEntity"/>
129
+ </xsd:sequence>
130
+ </xsd:complexType>
131
+ <xsd:complexType name="ListrakRemarketingProductLinkEntity">
132
+ <xsd:sequence>
133
+ <xsd:element name="link_type" type="xsd:string" minOccurs="0"/>
134
+ <xsd:element name="sku" type="xsd:string" minOccurs="0"/>
135
+ <xsd:element name="position" type="xsd:string" minOccurs="0"/>
136
+ </xsd:sequence>
137
+ </xsd:complexType>
138
+ <xsd:complexType name="ArrayOfListrakRemarketingProductLinkEntity">
139
+ <xsd:sequence>
140
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray"
141
+ type="typens:ListrakRemarketingProductLinkEntity"/>
142
+ </xsd:sequence>
143
+ </xsd:complexType>
144
+ <xsd:complexType name="ListrakRemarketingProductIdEntity">
145
+ <xsd:sequence>
146
+ <xsd:element name="entity_id" type="xsd:string" minOccurs="0"/>
147
+ <xsd:element name="sku" type="xsd:string" minOccurs="0"/>
148
+ </xsd:sequence>
149
+ </xsd:complexType>
150
+ <xsd:complexType name="ArrayOfListrakRemarketingProductId">
151
+ <xsd:sequence>
152
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="complexObjectArray"
153
+ type="typens:ListrakRemarketingProductIdEntity"/>
154
+ </xsd:sequence>
155
+ </xsd:complexType>
156
+ <xsd:complexType name="ListrakRemarketingProductEntity">
157
+ <xsd:sequence>
158
+ <xsd:element name="entity_id" type="xsd:string" minOccurs="0"/>
159
+ <xsd:element name="sku" type="xsd:string" minOccurs="0"/>
160
+ <xsd:element name="name" type="xsd:string" minOccurs="0"/>
161
+ <xsd:element name="price" type="xsd:string" minOccurs="0"/>
162
+ <xsd:element name="special_price" type="xsd:string"
163
+ minOccurs="0"/>
164
+ <xsd:element name="special_from_date" type="xsd:string"
165
+ minOccurs="0"/>
166
+ <xsd:element name="special_to_date" type="xsd:string"
167
+ minOccurs="0"/>
168
+ <xsd:element name="cost" type="xsd:string" minOccurs="0"/>
169
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
170
+ <xsd:element name="short_description" type="xsd:string"
171
+ minOccurs="0"/>
172
+ <xsd:element name="weight" type="xsd:string" minOccurs="0"/>
173
+ <xsd:element name="url_key" type="xsd:string" minOccurs="0"/>
174
+ <xsd:element name="url_path" type="xsd:string" minOccurs="0"/>
175
+ <xsd:element name="image" type="xsd:string" minOccurs="0"/>
176
+ <xsd:element name="small_image" type="xsd:string" minOccurs="0"/>
177
+ <xsd:element name="thumbnail" type="xsd:string" minOccurs="0"/>
178
+ <xsd:element name="qty" type="xsd:string" minOccurs="0"/>
179
+ <xsd:element name="parent_id" type="xsd:string" minOccurs="0"/>
180
+ <xsd:element name="parent_sku" type="xsd:string" minOccurs="0"/>
181
+ <xsd:element name="brand" type="xsd:string" minOccurs="0"/>
182
+ <xsd:element name="category" type="xsd:string" minOccurs="0"/>
183
+ <xsd:element name="sub_category" type="xsd:string"
184
+ minOccurs="0"/>
185
+ <xsd:element name="in_stock" type="xsd:string" minOccurs="0"/>
186
+ <xsd:element name="qty_on_hand" type="xsd:string" minOccurs="0"/>
187
+ <xsd:element name="purchasable" type="xsd:string" minOccurs="0"/>
188
+ <xsd:element name="type" type="xsd:string" minOccurs="0"/>
189
+ <xsd:element name="configurable_attributes"
190
+ type="typens:ArrayOfListrakRemarketingConfigurableAttributeEntity"
191
+ minOccurs="0"/>
192
+ <xsd:element name="links"
193
+ type="typens:ArrayOfListrakRemarketingProductLinkEntity"
194
+ minOccurs="0"/>
195
+ <xsd:element name="meta3" type="xsd:string" minOccurs="0"/>
196
+ <xsd:element name="meta4" type="xsd:string" minOccurs="0"/>
197
+ <xsd:element name="meta5" type="xsd:string" minOccurs="0"/>
198
+ <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
199
+ </xsd:sequence>
200
+ </xsd:complexType>
201
+ <xsd:complexType name="ArrayOfListrakRemarketingProduct">
202
+ <xsd:sequence>
203
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
204
+ name="complexObjectArray"
205
+ type="typens:ListrakRemarketingProductEntity"/>
206
+ </xsd:sequence>
207
+ </xsd:complexType>
208
+
209
+ <!-- click -->
210
+ <xsd:complexType name="ListrakRemarketingClickEntity">
211
+ <xsd:sequence>
212
+ <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
213
+ <xsd:element name="customer_id" type="xsd:string" minOccurs="0"/>
214
+ <xsd:element name="customer_email" type="xsd:string"
215
+ minOccurs="0"/>
216
+ <xsd:element name="querystring" type="xsd:string" minOccurs="0"/>
217
+ <xsd:element name="click_date" type="xsd:string" minOccurs="0"/>
218
+ <xsd:element name="token_uid" type="xsd:string" minOccurs="0"/>
219
+ <xsd:element name="session_uid" type="xsd:string" minOccurs="0"/>
220
+ <xsd:element name="pi_id" type="xsd:string" minOccurs="0"/>
221
+ </xsd:sequence>
222
+ </xsd:complexType>
223
+ <xsd:complexType name="ArrayOfListrakRemarketingClick">
224
+ <xsd:sequence>
225
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
226
+ name="complexObjectArray"
227
+ type="typens:ListrakRemarketingClickEntity"/>
228
+ </xsd:sequence>
229
+ </xsd:complexType>
230
+
231
+ <!-- log -->
232
+ <xsd:complexType name="ListrakRemarketingLogEntity">
233
+ <xsd:sequence>
234
+ <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
235
+ <xsd:element name="message" type="xsd:string" minOccurs="0"/>
236
+ <xsd:element name="date_entered" type="xsd:string"
237
+ minOccurs="0"/>
238
+ <xsd:element name="log_type_id" type="xsd:string" minOccurs="0"/>
239
+ </xsd:sequence>
240
+ </xsd:complexType>
241
+ <xsd:complexType name="ArrayOfListrakRemarketingLog">
242
+ <xsd:sequence>
243
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
244
+ name="complexObjectArray"
245
+ type="typens:ListrakRemarketingLogEntity"/>
246
+ </xsd:sequence>
247
+ </xsd:complexType>
248
+
249
+ <!-- order -->
250
+ <xsd:complexType name="ListrakRemarketingOrderEntity">
251
+ <xsd:sequence>
252
+ <xsd:element name="info"
253
+ type="typens:ListrakRemarketingOrderInfoEntity"
254
+ minOccurs="0"/>
255
+ <xsd:element name="billing_address"
256
+ type="typens:ListrakRemarketingOrderAddressEntity"
257
+ minOccurs="0"/>
258
+ <xsd:element name="shipping_address"
259
+ type="typens:ListrakRemarketingOrderAddressEntity"
260
+ minOccurs="0"/>
261
+ <xsd:element name="product"
262
+ type="typens:ArrayOfListrakRemarketingProductShort"
263
+ minOccurs="0"/>
264
+ <xsd:element name="session"
265
+ type="typens:ListrakRemarketingSessionEntity"
266
+ minOccurs="0"/>
267
+ <xsd:element name="customer"
268
+ type="typens:ListrakRemarketingCustomerEntity"
269
+ minOccurs="0"/>
270
+ </xsd:sequence>
271
+ </xsd:complexType>
272
+ <xsd:complexType name="ArrayOfListrakRemarketingOrder">
273
+ <xsd:sequence>
274
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
275
+ name="complexObjectArray"
276
+ type="typens:ListrakRemarketingOrderEntity"/>
277
+ </xsd:sequence>
278
+ </xsd:complexType>
279
+ <xsd:complexType name="ListrakRemarketingOrderInfoEntity">
280
+ <xsd:sequence>
281
+ <xsd:element name="entity_id" type="xsd:string" minOccurs="0"/>
282
+ <xsd:element name="order_id" type="xsd:string" minOccurs="0"/>
283
+ <xsd:element name="status" type="xsd:string" minOccurs="0"/>
284
+ <xsd:element name="customer_firstname" type="xsd:string"
285
+ minOccurs="0"/>
286
+ <xsd:element name="customer_lastname" type="xsd:string"
287
+ minOccurs="0"/>
288
+ <xsd:element name="customer_email" type="xsd:string"
289
+ minOccurs="0"/>
290
+ <xsd:element name="subtotal" type="xsd:string" minOccurs="0"/>
291
+ <xsd:element name="tax_amount" type="xsd:string" minOccurs="0"/>
292
+ <xsd:element name="discount_amount" type="xsd:string" minOccurs="0"/>
293
+ <xsd:element name="shipping_amount" type="xsd:string"
294
+ minOccurs="0"/>
295
+ <xsd:element name="grand_total" type="xsd:string" minOccurs="0"/>
296
+ <xsd:element name="coupon_code" type="xsd:string" minOccurs="0"/>
297
+ <xsd:element name="billing_firstname" type="xsd:string"
298
+ minOccurs="0"/>
299
+ <xsd:element name="meta1" type="xsd:string" minOccurs="0"/>
300
+ <xsd:element name="meta2" type="xsd:string" minOccurs="0"/>
301
+ <xsd:element name="meta3" type="xsd:string" minOccurs="0"/>
302
+ <xsd:element name="meta4" type="xsd:string" minOccurs="0"/>
303
+ <xsd:element name="meta5" type="xsd:string" minOccurs="0"/>
304
+ <xsd:element name="created_at" type="xsd:string" minOccurs="0"/>
305
+ <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
306
+ </xsd:sequence>
307
+ </xsd:complexType>
308
+ <xsd:complexType name="ListrakRemarketingOrderAddressEntity">
309
+ <xsd:sequence>
310
+ <xsd:element name="firstname" type="xsd:string" minOccurs="0"/>
311
+ <xsd:element name="lastname" type="xsd:string" minOccurs="0"/>
312
+ <xsd:element name="company" type="xsd:string" minOccurs="0"/>
313
+ <xsd:element name="street" type="xsd:string" minOccurs="0"/>
314
+ <xsd:element name="city" type="xsd:string" minOccurs="0"/>
315
+ <xsd:element name="region" type="xsd:string" minOccurs="0"/>
316
+ <xsd:element name="postcode" type="xsd:string" minOccurs="0"/>
317
+ <xsd:element name="country" type="xsd:string" minOccurs="0"/>
318
+ </xsd:sequence>
319
+ </xsd:complexType>
320
+ <xsd:complexType name="ListrakRemarketingProductShortEntity">
321
+ <xsd:sequence>
322
+ <xsd:element name="sku" type="xsd:string" minOccurs="0"/>
323
+ <xsd:element name="name" type="xsd:string" minOccurs="0"/>
324
+ <xsd:element name="price" type="xsd:string" minOccurs="0"/>
325
+ <xsd:element name="in_stock" type="xsd:string" minOccurs="0"/>
326
+ <xsd:element name="qty_on_hand" type="xsd:string" minOccurs="0"/>
327
+ <xsd:element name="qty_ordered" type="xsd:string" minOccurs="0"/>
328
+ <xsd:element name="product_price" type="xsd:string"
329
+ minOccurs="0"/>
330
+ <xsd:element name="meta1" type="xsd:string" minOccurs="0"/>
331
+ <xsd:element name="meta2" type="xsd:string" minOccurs="0"/>
332
+ <xsd:element name="meta3" type="xsd:string" minOccurs="0"/>
333
+ <xsd:element name="meta4" type="xsd:string" minOccurs="0"/>
334
+ <xsd:element name="meta5" type="xsd:string" minOccurs="0"/>
335
+ <xsd:element name="bundle_items"
336
+ type="typens:ArrayOfListrakRemarketingProductShort"
337
+ minOccurs="0"/>
338
+ </xsd:sequence>
339
+ </xsd:complexType>
340
+ <xsd:complexType name="ArrayOfListrakRemarketingProductShort">
341
+ <xsd:sequence>
342
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
343
+ name="complexObjectArray"
344
+ type="typens:ListrakRemarketingProductShortEntity"/>
345
+ </xsd:sequence>
346
+ </xsd:complexType>
347
+
348
+ <!-- order status -->
349
+ <xsd:complexType name="ListrakRemarketingOrderStatusEntity">
350
+ <xsd:sequence>
351
+ <xsd:element name="increment_id" type="xsd:string"
352
+ minOccurs="0"/>
353
+ <xsd:element name="status" type="xsd:string" minOccurs="0"/>
354
+ <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
355
+ <xsd:element name="tracking_number" type="xsd:string" minOccurs="0"/>
356
+ <xsd:element name="carrier_code" type="xsd:string" minOccurs="0"/>
357
+ <xsd:element name="meta1" type="xsd:string" minOccurs="0"/>
358
+ <xsd:element name="meta2" type="xsd:string" minOccurs="0"/>
359
+ <xsd:element name="meta3" type="xsd:string" minOccurs="0"/>
360
+ <xsd:element name="meta4" type="xsd:string" minOccurs="0"/>
361
+ <xsd:element name="meta5" type="xsd:string" minOccurs="0"/>
362
+ <xsd:element name="quantities" type="typens:ArrayOfListrakRemarketingProductQuantity" minOccurs="0"/>
363
+ </xsd:sequence>
364
+ </xsd:complexType>
365
+ <xsd:complexType name="ArrayOfListrakRemarketingOrderStatus">
366
+ <xsd:sequence>
367
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
368
+ name="complexObjectArray"
369
+ type="typens:ListrakRemarketingOrderStatusEntity"/>
370
+ </xsd:sequence>
371
+ </xsd:complexType>
372
+ <xsd:complexType name="ListrakRemarketingProductQuantityEntity">
373
+ <xsd:sequence>
374
+ <xsd:element name="sku" type="xsd:string" minOccurs="0"/>
375
+ <xsd:element name="in_stock" type="xsd:string" minOccurs="0"/>
376
+ <xsd:element name="qty_on_hand" type="xsd:string" minOccurs="0"/>
377
+ </xsd:sequence>
378
+ </xsd:complexType>
379
+ <xsd:complexType name="ArrayOfListrakRemarketingProductQuantity">
380
+ <xsd:sequence>
381
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
382
+ name="complexObjectArray"
383
+ type="typens:ListrakRemarketingProductQuantityEntity"/>
384
+ </xsd:sequence>
385
+ </xsd:complexType>
386
+
387
+ <!-- customer -->
388
+ <xsd:complexType name="ListrakRemarketingCustomerEntity">
389
+ <xsd:sequence>
390
+ <xsd:element name="entity_id" type="xsd:string" minOccurs="0"/>
391
+ <xsd:element name="firstname" type="xsd:string" minOccurs="0"/>
392
+ <xsd:element name="lastname" type="xsd:string" minOccurs="0"/>
393
+ <xsd:element name="email" type="xsd:string" minOccurs="0"/>
394
+ <xsd:element name="website_id" type="xsd:string" minOccurs="0"/>
395
+ <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
396
+ <xsd:element name="gender_name" type="xsd:string" minOccurs="0"/>
397
+ <xsd:element name="dob" type="xsd:string" minOccurs="0"/>
398
+ <xsd:element name="group_name" type="xsd:string" minOccurs="0"/>
399
+ <xsd:element name="meta2" type="xsd:string" minOccurs="0"/>
400
+ <xsd:element name="meta3" type="xsd:string" minOccurs="0"/>
401
+ <xsd:element name="meta4" type="xsd:string" minOccurs="0"/>
402
+ <xsd:element name="meta5" type="xsd:string" minOccurs="0"/>
403
+ </xsd:sequence>
404
+ </xsd:complexType>
405
+ <xsd:complexType name="ArrayOfListrakRemarketingCustomer">
406
+ <xsd:sequence>
407
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
408
+ name="complexObjectArray"
409
+ type="typens:ListrakRemarketingCustomerEntity"/>
410
+ </xsd:sequence>
411
+ </xsd:complexType>
412
+
413
+ <!-- subscriber -->
414
+ <xsd:complexType name="ListrakRemarketingSubscriberEntity">
415
+ <xsd:sequence>
416
+ <xsd:element name="subscriber_id" type="xsd:string"
417
+ minOccurs="0"/>
418
+ <xsd:element name="store_id" type="xsd:string" minOccurs="0"/>
419
+ <xsd:element name="customer_id" type="xsd:string" minOccurs="0"/>
420
+ <xsd:element name="change_status_at" type="xsd:string"
421
+ minOccurs="0"/>
422
+ <xsd:element name="subscriber_email" type="xsd:string"
423
+ minOccurs="0"/>
424
+ <xsd:element name="subscriber_status" type="xsd:string"
425
+ minOccurs="0"/>
426
+ <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
427
+ </xsd:sequence>
428
+ </xsd:complexType>
429
+ <xsd:complexType name="ArrayOfListrakRemarketingSubscriber">
430
+ <xsd:sequence>
431
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
432
+ name="complexObjectArray"
433
+ type="typens:ListrakRemarketingSubscriberEntity"/>
434
+ </xsd:sequence>
435
+ </xsd:complexType>
436
+
437
+ <xsd:complexType name="ListrakRemarketingInfoEntity">
438
+ <xsd:sequence>
439
+ <xsd:element name="magentoVersion" type="xsd:string"
440
+ minOccurs="0"/>
441
+ <xsd:element name="listrakExtension"
442
+ type="typens:ListrakRemarketingInfoExtensionEntity"
443
+ minOccurs="0"/>
444
+ <xsd:element name="listrakSettings"
445
+ type="typens:ListrakRemarketingSettingEntity"
446
+ minOccurs="0"/>
447
+ <xsd:element name="modules" type="typens:ArrayOfString"
448
+ minOccurs="0"/>
449
+ <xsd:element name="ini" type="typens:ArrayOfString"
450
+ minOccurs="0"/>
451
+ <xsd:element name="classes" type="xsd:string" minOccurs="0"/>
452
+ <xsd:element name="counts" type="xsd:string" minOccurs="0"/>
453
+ </xsd:sequence>
454
+ </xsd:complexType>
455
+ <xsd:complexType name="ListrakRemarketingInfoExtensionEntity">
456
+ <xsd:sequence>
457
+ <xsd:element name="name" type="xsd:string" minOccurs="0"/>
458
+ <xsd:element name="active" type="xsd:string" minOccurs="0"/>
459
+ <xsd:element name="output" type="xsd:string" minOccurs="0"/>
460
+ <xsd:element name="version" type="xsd:string" minOccurs="0"/>
461
+ <xsd:element name="install_version" type="xsd:string" minOccurs="0"/>
462
+ <xsd:element name="data_version" type="xsd:string" minOccurs="0"/>
463
+ </xsd:sequence>
464
+ </xsd:complexType>
465
+ <xsd:complexType name="ListrakRemarketingSettingEntity">
466
+ <xsd:sequence>
467
+ <xsd:element name="coreEnabled" type="xsd:string" minOccurs="0"/>
468
+ <xsd:element name="onescriptEnabled" type="xsd:string" minOccurs="0"/>
469
+ <xsd:element name="onescriptReady" type="xsd:string" minOccurs="0"/>
470
+ <xsd:element name="trackingID" type="xsd:string" minOccurs="0"/>
471
+ <xsd:element name="scaEnabled" type="xsd:string" minOccurs="0"/>
472
+ <xsd:element name="activityEnabled" type="xsd:string" minOccurs="0"/>
473
+ <xsd:element name="reviewsApiEnabled" type="xsd:string"
474
+ minOccurs="0"/>
475
+ <xsd:element name="trackingTablesExist" type="xsd:string" minOccurs="0"/>
476
+ <xsd:element name="skipCategoriesText" type="xsd:string" minOccurs="0"/>
477
+ <xsd:element name="skipCategories" type="xsd:string" minOccurs="0"/>
478
+ </xsd:sequence>
479
+ </xsd:complexType>
480
+
481
+ <!-- review list / review update list -->
482
+ <xsd:complexType name="ListrakRemarketingReviewListResult">
483
+ <xsd:sequence>
484
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
485
+ name="complexObjectArray"
486
+ type="typens:ListrakRemarketingReviewListItem"/>
487
+ </xsd:sequence>
488
+ </xsd:complexType>
489
+ <xsd:complexType name="ListrakRemarketingReviewListItem">
490
+ <xsd:sequence>
491
+ <xsd:element name="update_id" type="xsd:string" minOccurs="0"/>
492
+ <xsd:element name="review_id" type="xsd:string" minOccurs="0"/>
493
+ <xsd:element name="product_id" type="xsd:string" minOccurs="0"/>
494
+ <xsd:element name="title" type="xsd:string" minOccurs="0"/>
495
+ <xsd:element name="text" type="xsd:string" minOccurs="0"/>
496
+ <xsd:element name="overall_rating" type="xsd:string"
497
+ minOccurs="0"/>
498
+ <xsd:element name="created_at" type="xsd:string" minOccurs="0"/>
499
+ <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
500
+ <xsd:element name="reviewer_name" type="xsd:string"
501
+ minOccurs="0"/>
502
+ <xsd:element name="email" type="xsd:string" minOccurs="0"/>
503
+ <xsd:element name="status_id" type="xsd:string" minOccurs="0"/>
504
+ <xsd:element name="status_code" type="xsd:string" minOccurs="0"/>
505
+ <xsd:element name="ratings"
506
+ type="typens:ArrayOfListrakRemarketingReviewRating"
507
+ minOccurs="0"/>
508
+ </xsd:sequence>
509
+ </xsd:complexType>
510
+ <xsd:complexType name="ArrayOfListrakRemarketingReviewRating">
511
+ <xsd:sequence>
512
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
513
+ name="complexObjectArray"
514
+ type="typens:ListrakRemarketingReviewRatingItem"/>
515
+ </xsd:sequence>
516
+ </xsd:complexType>
517
+ <xsd:complexType name="ListrakRemarketingReviewRatingItem">
518
+ <xsd:sequence>
519
+ <xsd:element name="rating_id" type="xsd:string" minOccurs="0"/>
520
+ <xsd:element name="rating_code" type="xsd:string" minOccurs="0"/>
521
+ <xsd:element name="rating" type="xsd:string" minOccurs="0"/>
522
+ </xsd:sequence>
523
+ </xsd:complexType>
524
+
525
+ <!-- rating summary list / rating summary update list -->
526
+ <xsd:complexType name="ListrakRemarketingRatingSummaryListResult">
527
+ <xsd:sequence>
528
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
529
+ name="complexObjectArray"
530
+ type="typens:ListrakRemarketingRatingSummaryItem"/>
531
+ </xsd:sequence>
532
+ </xsd:complexType>
533
+ <xsd:complexType name="ListrakRemarketingRatingSummaryItem">
534
+ <xsd:sequence>
535
+ <xsd:element name="update_id" type="xsd:string" minOccurs="0"/>
536
+ <xsd:element name="rating_summary_id" type="xsd:string"
537
+ minOccurs="0"/>
538
+ <xsd:element name="product_id" type="xsd:string" minOccurs="0"/>
539
+ <xsd:element name="updated_at" type="xsd:string" minOccurs="0"/>
540
+ <xsd:element name="total_reviews" type="xsd:string"
541
+ minOccurs="0"/>
542
+ <xsd:element name="rating" type="xsd:string" minOccurs="0"/>
543
+ <xsd:element name="ratings"
544
+ type="typens:ArrayOfListrakRemarketingRatingSummaryAttribute"
545
+ minOccurs="0"/>
546
+ </xsd:sequence>
547
+ </xsd:complexType>
548
+ <xsd:complexType name="ArrayOfListrakRemarketingRatingSummaryAttribute">
549
+ <xsd:sequence>
550
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
551
+ name="complexObjectArray"
552
+ type="typens:ListrakRemarketingRatingSummaryAttributeItem"/>
553
+ </xsd:sequence>
554
+ </xsd:complexType>
555
+ <xsd:complexType name="ListrakRemarketingRatingSummaryAttributeItem">
556
+ <xsd:sequence>
557
+ <xsd:element name="rating_id" type="xsd:string" minOccurs="0"/>
558
+ <xsd:element name="rating_code" type="xsd:string" minOccurs="0"/>
559
+ <xsd:element name="rating" type="xsd:string" minOccurs="0"/>
560
+ </xsd:sequence>
561
+ </xsd:complexType>
562
+
563
+ <!-- review delete list -->
564
+ <xsd:complexType name="ListrakRemarketingReviewDeleteListResult">
565
+ <xsd:sequence>
566
+ <xsd:element minOccurs="0" maxOccurs="unbounded"
567
+ name="complexObjectArray"
568
+ type="typens:ListrakRemarketingDeletedReview"/>
569
+ </xsd:sequence>
570
+ </xsd:complexType>
571
+ <xsd:complexType name="ListrakRemarketingDeletedReview">
572
+ <xsd:sequence>
573
+ <xsd:element name="delete_id" type="xsd:string" minOccurs="0"/>
574
+ <xsd:element name="review_id" type="xsd:string" minOccurs="0"/>
575
+ </xsd:sequence>
576
+ </xsd:complexType>
577
+
578
+ <!-- review update purge -->
579
+ <xsd:complexType name="ListrakRemarketingReviewUpdatePurgeResult">
580
+ <xsd:sequence>
581
+ <xsd:element name="count" type="xsd:string" minOccurs="0"/>
582
+ <xsd:element name="before" type="xsd:string" minOccurs="0"/>
583
+ </xsd:sequence>
584
+ </xsd:complexType>
585
+
586
+ <!-- message parameters -->
587
+ <xsd:element name="listrakRemarketingAbandonedCartListRequestParam">
588
+ <xsd:complexType>
589
+ <xsd:sequence>
590
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
591
+ type="xsd:string"/>
592
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
593
+ type="xsd:string"/>
594
+ <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
595
+ type="xsd:string"/>
596
+ <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
597
+ type="xsd:string"/>
598
+ <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
599
+ type="xsd:int"/>
600
+ <xsd:element minOccurs="1" maxOccurs="1" name="page"
601
+ type="xsd:int"/>
602
+ </xsd:sequence>
603
+ </xsd:complexType>
604
+ </xsd:element>
605
+ <xsd:element name="listrakRemarketingAbandonedCartListResponseParam">
606
+ <xsd:complexType>
607
+ <xsd:sequence>
608
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
609
+ type="typens:ArrayOfListrakRemarketingAbandonedCart"/>
610
+ </xsd:sequence>
611
+ </xsd:complexType>
612
+ </xsd:element>
613
+ <xsd:element name="listrakRemarketingAbandonedCartPurgeRequestParam">
614
+ <xsd:complexType>
615
+ <xsd:sequence>
616
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
617
+ type="xsd:string"/>
618
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
619
+ type="xsd:string"/>
620
+ <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
621
+ type="xsd:string"/>
622
+ </xsd:sequence>
623
+ </xsd:complexType>
624
+ </xsd:element>
625
+ <xsd:element name="listrakRemarketingAbandonedCartPurgeResponseParam">
626
+ <xsd:complexType>
627
+ <xsd:sequence>
628
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
629
+ type="xsd:string"/>
630
+ </xsd:sequence>
631
+ </xsd:complexType>
632
+ </xsd:element>
633
+ <xsd:element name="listrakRemarketingClickListRequestParam">
634
+ <xsd:complexType>
635
+ <xsd:sequence>
636
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
637
+ type="xsd:string"/>
638
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
639
+ type="xsd:string"/>
640
+ <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
641
+ type="xsd:string"/>
642
+ <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
643
+ type="xsd:string"/>
644
+ <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
645
+ type="xsd:int"/>
646
+ <xsd:element minOccurs="1" maxOccurs="1" name="page"
647
+ type="xsd:int"/>
648
+ </xsd:sequence>
649
+ </xsd:complexType>
650
+ </xsd:element>
651
+ <xsd:element name="listrakRemarketingClickListResponseParam">
652
+ <xsd:complexType>
653
+ <xsd:sequence>
654
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
655
+ type="typens:ArrayOfListrakRemarketingClick"/>
656
+ </xsd:sequence>
657
+ </xsd:complexType>
658
+ </xsd:element>
659
+ <xsd:element name="listrakRemarketingClickPurgeRequestParam">
660
+ <xsd:complexType>
661
+ <xsd:sequence>
662
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
663
+ type="xsd:string"/>
664
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
665
+ type="xsd:string"/>
666
+ <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
667
+ type="xsd:string"/>
668
+ </xsd:sequence>
669
+ </xsd:complexType>
670
+ </xsd:element>
671
+ <xsd:element name="listrakRemarketingClickPurgeResponseParam">
672
+ <xsd:complexType>
673
+ <xsd:sequence>
674
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
675
+ type="xsd:string"/>
676
+ </xsd:sequence>
677
+ </xsd:complexType>
678
+ </xsd:element>
679
+ <xsd:element name="listrakRemarketingLogListRequestParam">
680
+ <xsd:complexType>
681
+ <xsd:sequence>
682
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
683
+ type="xsd:string"/>
684
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
685
+ type="xsd:string"/>
686
+ <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
687
+ type="xsd:string"/>
688
+ <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
689
+ type="xsd:string"/>
690
+ <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
691
+ type="xsd:int"/>
692
+ <xsd:element minOccurs="1" maxOccurs="1" name="page"
693
+ type="xsd:int"/>
694
+ <xsd:element minOccurs="1" maxOccurs="1" name="logTypeId"
695
+ type="xsd:string"/>
696
+ </xsd:sequence>
697
+ </xsd:complexType>
698
+ </xsd:element>
699
+ <xsd:element name="listrakRemarketingLogListResponseParam">
700
+ <xsd:complexType>
701
+ <xsd:sequence>
702
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
703
+ type="typens:ArrayOfListrakRemarketingLog"/>
704
+ </xsd:sequence>
705
+ </xsd:complexType>
706
+ </xsd:element>
707
+ <xsd:element name="listrakRemarketingLogPurgeRequestParam">
708
+ <xsd:complexType>
709
+ <xsd:sequence>
710
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
711
+ type="xsd:string"/>
712
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
713
+ type="xsd:string"/>
714
+ <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
715
+ type="xsd:string"/>
716
+ </xsd:sequence>
717
+ </xsd:complexType>
718
+ </xsd:element>
719
+ <xsd:element name="listrakRemarketingLogPurgeResponseParam">
720
+ <xsd:complexType>
721
+ <xsd:sequence>
722
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
723
+ type="xsd:string"/>
724
+ </xsd:sequence>
725
+ </xsd:complexType>
726
+ </xsd:element>
727
+ <xsd:element name="listrakRemarketingLogToggleRequestParam">
728
+ <xsd:complexType>
729
+ <xsd:sequence>
730
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
731
+ type="xsd:string"/>
732
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
733
+ type="xsd:string"/>
734
+ <xsd:element minOccurs="1" maxOccurs="1" name="onOff"
735
+ type="xsd:string"/>
736
+ </xsd:sequence>
737
+ </xsd:complexType>
738
+ </xsd:element>
739
+ <xsd:element name="listrakRemarketingLogToggleResponseParam">
740
+ <xsd:complexType>
741
+ <xsd:sequence>
742
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
743
+ type="xsd:string"/>
744
+ </xsd:sequence>
745
+ </xsd:complexType>
746
+ </xsd:element>
747
+ <xsd:element name="listrakRemarketingOrderListRequestParam">
748
+ <xsd:complexType>
749
+ <xsd:sequence>
750
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
751
+ type="xsd:string"/>
752
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
753
+ type="xsd:string"/>
754
+ <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
755
+ type="xsd:string"/>
756
+ <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
757
+ type="xsd:string"/>
758
+ <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
759
+ type="xsd:int"/>
760
+ <xsd:element minOccurs="1" maxOccurs="1" name="page"
761
+ type="xsd:int"/>
762
+ </xsd:sequence>
763
+ </xsd:complexType>
764
+ </xsd:element>
765
+ <xsd:element name="listrakRemarketingOrderListResponseParam">
766
+ <xsd:complexType>
767
+ <xsd:sequence>
768
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
769
+ type="typens:ArrayOfListrakRemarketingOrder"/>
770
+ </xsd:sequence>
771
+ </xsd:complexType>
772
+ </xsd:element>
773
+ <xsd:element name="listrakRemarketingOrderStatusListRequestParam">
774
+ <xsd:complexType>
775
+ <xsd:sequence>
776
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
777
+ type="xsd:string"/>
778
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
779
+ type="xsd:string"/>
780
+ <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
781
+ type="xsd:string"/>
782
+ <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
783
+ type="xsd:string"/>
784
+ <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
785
+ type="xsd:int"/>
786
+ <xsd:element minOccurs="1" maxOccurs="1" name="page"
787
+ type="xsd:int"/>
788
+ <xsd:element minOccurs="1" maxOccurs="1" name="filters"
789
+ type="typens:filters"/>
790
+ </xsd:sequence>
791
+ </xsd:complexType>
792
+ </xsd:element>
793
+ <xsd:element name="listrakRemarketingOrderStatusListResponseParam">
794
+ <xsd:complexType>
795
+ <xsd:sequence>
796
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
797
+ type="typens:ArrayOfListrakRemarketingOrderStatus"/>
798
+ </xsd:sequence>
799
+ </xsd:complexType>
800
+ </xsd:element>
801
+ <xsd:element name="listrakRemarketingProductListRequestParam">
802
+ <xsd:complexType>
803
+ <xsd:sequence>
804
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
805
+ type="xsd:string"/>
806
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
807
+ type="xsd:string"/>
808
+ <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
809
+ type="xsd:int"/>
810
+ <xsd:element minOccurs="1" maxOccurs="1" name="page"
811
+ type="xsd:int"/>
812
+ </xsd:sequence>
813
+ </xsd:complexType>
814
+ </xsd:element>
815
+ <xsd:element name="listrakRemarketingProductListResponseParam">
816
+ <xsd:complexType>
817
+ <xsd:sequence>
818
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
819
+ type="typens:ArrayOfListrakRemarketingProduct"/>
820
+ </xsd:sequence>
821
+ </xsd:complexType>
822
+ </xsd:element>
823
+ <xsd:element name="listrakRemarketingProductUpdateListRequestParam">
824
+ <xsd:complexType>
825
+ <xsd:sequence>
826
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string"/>
827
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId" type="xsd:string"/>
828
+ <xsd:element minOccurs="1" maxOccurs="1" name="startDate" type="xsd:dateTime"/>
829
+ <xsd:element minOccurs="1" maxOccurs="1" name="endDate" type="xsd:dateTime"/>
830
+ <xsd:element minOccurs="1" maxOccurs="1" name="perPage" type="xsd:int"/>
831
+ <xsd:element minOccurs="1" maxOccurs="1" name="page" type="xsd:int"/>
832
+ </xsd:sequence>
833
+ </xsd:complexType>
834
+ </xsd:element>
835
+ <xsd:element name="listrakRemarketingProductUpdateListResponseParam">
836
+ <xsd:complexType>
837
+ <xsd:sequence>
838
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
839
+ type="typens:ArrayOfListrakRemarketingProduct"/>
840
+ </xsd:sequence>
841
+ </xsd:complexType>
842
+ </xsd:element>
843
+ <xsd:element name="listrakRemarketingProductPurchasableListRequestParam">
844
+ <xsd:complexType>
845
+ <xsd:sequence>
846
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionID" type="xsd:string"/>
847
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId" type="xsd:string"/>
848
+ <xsd:element minOccurs="1" maxOccurs="1" name="perPage" type="xsd:int"/>
849
+ <xsd:element minOccurs="1" maxOccurs="1" name="page" type="xsd:string"/>
850
+ </xsd:sequence>
851
+ </xsd:complexType>
852
+ </xsd:element>
853
+ <xsd:element name="listrakRemarketingProductPurchasableListResponseParam">
854
+ <xsd:complexType>
855
+ <xsd:sequence>
856
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
857
+ type="typens:ArrayOfListrakRemarketingProductId"/>
858
+ </xsd:sequence>
859
+ </xsd:complexType>
860
+ </xsd:element>
861
+ <xsd:element name="listrakRemarketingSubscriberListRequestParam">
862
+ <xsd:complexType>
863
+ <xsd:sequence>
864
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
865
+ type="xsd:string"/>
866
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
867
+ type="xsd:string"/>
868
+ <xsd:element minOccurs="1" maxOccurs="1" name="startDate"
869
+ type="xsd:string"/>
870
+ <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
871
+ type="xsd:int"/>
872
+ <xsd:element minOccurs="1" maxOccurs="1" name="page"
873
+ type="xsd:int"/>
874
+ </xsd:sequence>
875
+ </xsd:complexType>
876
+ </xsd:element>
877
+ <xsd:element name="listrakRemarketingSubscriberListResponseParam">
878
+ <xsd:complexType>
879
+ <xsd:sequence>
880
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
881
+ type="typens:ArrayOfListrakRemarketingSubscriber"/>
882
+ </xsd:sequence>
883
+ </xsd:complexType>
884
+ </xsd:element>
885
+ <xsd:element name="listrakRemarketingSubscriberPurgeRequestParam">
886
+ <xsd:complexType>
887
+ <xsd:sequence>
888
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
889
+ type="xsd:string"/>
890
+ <xsd:element minOccurs="1" maxOccurs="1" name="endDate"
891
+ type="xsd:string"/>
892
+ </xsd:sequence>
893
+ </xsd:complexType>
894
+ </xsd:element>
895
+ <xsd:element name="listrakRemarketingSubscriberPurgeResponseParam">
896
+ <xsd:complexType>
897
+ <xsd:sequence>
898
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
899
+ type="xsd:string"/>
900
+ </xsd:sequence>
901
+ </xsd:complexType>
902
+ </xsd:element>
903
+ <xsd:element name="listrakRemarketingCustomerListRequestParam">
904
+ <xsd:complexType>
905
+ <xsd:sequence>
906
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
907
+ type="xsd:string"/>
908
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
909
+ type="xsd:string"/>
910
+ <xsd:element minOccurs="1" maxOccurs="1" name="websiteId"
911
+ type="xsd:int"/>
912
+ <xsd:element minOccurs="1" maxOccurs="1" name="perPage"
913
+ type="xsd:int"/>
914
+ <xsd:element minOccurs="1" maxOccurs="1" name="page"
915
+ type="xsd:int"/>
916
+ </xsd:sequence>
917
+ </xsd:complexType>
918
+ </xsd:element>
919
+ <xsd:element name="listrakRemarketingCustomerListResponseParam">
920
+ <xsd:complexType>
921
+ <xsd:sequence>
922
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
923
+ type="typens:ArrayOfListrakRemarketingCustomer"/>
924
+ </xsd:sequence>
925
+ </xsd:complexType>
926
+ </xsd:element>
927
+ <xsd:element name="listrakRemarketingInfoListRequestParam">
928
+ <xsd:complexType>
929
+ <xsd:sequence>
930
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
931
+ type="xsd:string"/>
932
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
933
+ type="xsd:string"/>
934
+ </xsd:sequence>
935
+ </xsd:complexType>
936
+ </xsd:element>
937
+ <xsd:element name="listrakRemarketingInfoListResponseParam">
938
+ <xsd:complexType>
939
+ <xsd:sequence>
940
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
941
+ type="typens:ListrakRemarketingInfoEntity"/>
942
+ </xsd:sequence>
943
+ </xsd:complexType>
944
+ </xsd:element>
945
+ <xsd:element name="listrakRemarketingReviewListRequestParam">
946
+ <xsd:complexType>
947
+ <xsd:sequence>
948
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
949
+ type="xsd:string"/>
950
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
951
+ type="xsd:string"/>
952
+ <xsd:element minOccurs="1" maxOccurs="1" name="chunkSize"
953
+ type="xsd:string"/>
954
+ <xsd:element minOccurs="1" maxOccurs="1" name="startReviewId"
955
+ type="xsd:string"/>
956
+ </xsd:sequence>
957
+ </xsd:complexType>
958
+ </xsd:element>
959
+ <xsd:element name="listrakRemarketingReviewListResponseParam">
960
+ <xsd:complexType>
961
+ <xsd:sequence>
962
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
963
+ type="typens:ListrakRemarketingReviewListResult"/>
964
+ </xsd:sequence>
965
+ </xsd:complexType>
966
+ </xsd:element>
967
+ <xsd:element name="listrakRemarketingRatingSummaryListRequestParam">
968
+ <xsd:complexType>
969
+ <xsd:sequence>
970
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
971
+ type="xsd:string"/>
972
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
973
+ type="xsd:string"/>
974
+ <xsd:element minOccurs="1" maxOccurs="1" name="chunkSize"
975
+ type="xsd:string"/>
976
+ <xsd:element minOccurs="1" maxOccurs="1"
977
+ name="startRatingSummaryId" type="xsd:string"/>
978
+ </xsd:sequence>
979
+ </xsd:complexType>
980
+ </xsd:element>
981
+ <xsd:element name="listrakRemarketingRatingSummaryListResponseParam">
982
+ <xsd:complexType>
983
+ <xsd:sequence>
984
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
985
+ type="typens:ListrakRemarketingRatingSummaryListResult"/>
986
+ </xsd:sequence>
987
+ </xsd:complexType>
988
+ </xsd:element>
989
+ <xsd:element name="listrakRemarketingReviewUpdateListRequestParam">
990
+ <xsd:complexType>
991
+ <xsd:sequence>
992
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
993
+ type="xsd:string"/>
994
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
995
+ type="xsd:string"/>
996
+ <xsd:element minOccurs="1" maxOccurs="1" name="chunkSize"
997
+ type="xsd:string"/>
998
+ <xsd:element minOccurs="1" maxOccurs="1" name="startUpdateId"
999
+ type="xsd:string"/>
1000
+ </xsd:sequence>
1001
+ </xsd:complexType>
1002
+ </xsd:element>
1003
+ <xsd:element name="listrakRemarketingReviewUpdateListResponseParam">
1004
+ <xsd:complexType>
1005
+ <xsd:sequence>
1006
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
1007
+ type="typens:ListrakRemarketingReviewListResult"/>
1008
+ </xsd:sequence>
1009
+ </xsd:complexType>
1010
+ </xsd:element>
1011
+ <xsd:element
1012
+ name="listrakRemarketingRatingSummaryUpdateListRequestParam">
1013
+ <xsd:complexType>
1014
+ <xsd:sequence>
1015
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
1016
+ type="xsd:string"/>
1017
+ <xsd:element minOccurs="1" maxOccurs="1" name="storeId"
1018
+ type="xsd:string"/>
1019
+ <xsd:element minOccurs="1" maxOccurs="1" name="chunkSize"
1020
+ type="xsd:string"/>
1021
+ <xsd:element minOccurs="1" maxOccurs="1" name="startUpdateId"
1022
+ type="xsd:string"/>
1023
+ </xsd:sequence>
1024
+ </xsd:complexType>
1025
+ </xsd:element>
1026
+ <xsd:element
1027
+ name="listrakRemarketingRatingSummaryUpdateListResponseParam">
1028
+ <xsd:complexType>
1029
+ <xsd:sequence>
1030
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
1031
+ type="typens:ListrakRemarketingRatingSummaryListResult"/>
1032
+ </xsd:sequence>
1033
+ </xsd:complexType>
1034
+ </xsd:element>
1035
+ <xsd:element name="listrakRemarketingReviewDeleteListRequestParam">
1036
+ <xsd:complexType>
1037
+ <xsd:sequence>
1038
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
1039
+ type="xsd:string"/>
1040
+ <xsd:element minOccurs="1" maxOccurs="1" name="chunkSize"
1041
+ type="xsd:string"/>
1042
+ <xsd:element minOccurs="1" maxOccurs="1" name="startDeleteId"
1043
+ type="xsd:string"/>
1044
+ </xsd:sequence>
1045
+ </xsd:complexType>
1046
+ </xsd:element>
1047
+ <xsd:element name="listrakRemarketingReviewDeleteListResponseParam">
1048
+ <xsd:complexType>
1049
+ <xsd:sequence>
1050
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
1051
+ type="typens:ListrakRemarketingReviewDeleteListResult"/>
1052
+ </xsd:sequence>
1053
+ </xsd:complexType>
1054
+ </xsd:element>
1055
+ <xsd:element name="listrakRemarketingReviewUpdatePurgeRequestParam">
1056
+ <xsd:complexType>
1057
+ <xsd:sequence>
1058
+ <xsd:element minOccurs="1" maxOccurs="1" name="sessionId"
1059
+ type="xsd:string"/>
1060
+ <xsd:element minOccurs="1" maxOccurs="1"
1061
+ name="purgeBeforeDays" type="xsd:string"/>
1062
+ </xsd:sequence>
1063
+ </xsd:complexType>
1064
+ </xsd:element>
1065
+ <xsd:element name="listrakRemarketingReviewUpdatePurgeResponseParam">
1066
+ <xsd:complexType>
1067
+ <xsd:sequence>
1068
+ <xsd:element minOccurs="1" maxOccurs="1" name="result"
1069
+ type="typens:ListrakRemarketingReviewUpdatePurgeResult"/>
1070
+ </xsd:sequence>
1071
+ </xsd:complexType>
1072
+ </xsd:element>
1073
+ </xsd:schema>
1074
+ </wsdl:types>
1075
+ <wsdl:message name="listrakRemarketingAbandonedCartListRequest">
1076
+ <wsdl:part name="parameters"
1077
+ element="typens:listrakRemarketingAbandonedCartListRequestParam"/>
1078
+ </wsdl:message>
1079
+ <wsdl:message name="listrakRemarketingAbandonedCartListResponse">
1080
+ <wsdl:part name="parameters"
1081
+ element="typens:listrakRemarketingAbandonedCartListResponseParam"/>
1082
+ </wsdl:message>
1083
+ <wsdl:message name="listrakRemarketingAbandonedCartPurgeRequest">
1084
+ <wsdl:part name="parameters"
1085
+ element="typens:listrakRemarketingAbandonedCartPurgeRequestParam"/>
1086
+ </wsdl:message>
1087
+ <wsdl:message name="listrakRemarketingAbandonedCartPurgeResponse">
1088
+ <wsdl:part name="parameters"
1089
+ element="typens:listrakRemarketingAbandonedCartPurgeResponseParam"/>
1090
+ </wsdl:message>
1091
+ <wsdl:message name="listrakRemarketingClickListRequest">
1092
+ <wsdl:part name="parameters"
1093
+ element="typens:listrakRemarketingClickListRequestParam"/>
1094
+ </wsdl:message>
1095
+ <wsdl:message name="listrakRemarketingClickListResponse">
1096
+ <wsdl:part name="parameters"
1097
+ element="typens:listrakRemarketingClickListResponseParam"/>
1098
+ </wsdl:message>
1099
+ <wsdl:message name="listrakRemarketingClickPurgeRequest">
1100
+ <wsdl:part name="parameters"
1101
+ element="typens:listrakRemarketingClickPurgeRequestParam"/>
1102
+ </wsdl:message>
1103
+ <wsdl:message name="listrakRemarketingClickPurgeResponse">
1104
+ <wsdl:part name="parameters"
1105
+ element="typens:listrakRemarketingClickPurgeResponseParam"/>
1106
+ </wsdl:message>
1107
+ <wsdl:message name="listrakRemarketingLogListRequest">
1108
+ <wsdl:part name="parameters"
1109
+ element="typens:listrakRemarketingLogListRequestParam"/>
1110
+ </wsdl:message>
1111
+ <wsdl:message name="listrakRemarketingLogListResponse">
1112
+ <wsdl:part name="parameters"
1113
+ element="typens:listrakRemarketingLogListResponseParam"/>
1114
+ </wsdl:message>
1115
+ <wsdl:message name="listrakRemarketingLogPurgeRequest">
1116
+ <wsdl:part name="parameters"
1117
+ element="typens:listrakRemarketingLogPurgeRequestParam"/>
1118
+ </wsdl:message>
1119
+ <wsdl:message name="listrakRemarketingLogPurgeResponse">
1120
+ <wsdl:part name="parameters"
1121
+ element="typens:listrakRemarketingLogPurgeResponseParam"/>
1122
+ </wsdl:message>
1123
+ <wsdl:message name="listrakRemarketingLogToggleRequest">
1124
+ <wsdl:part name="parameters"
1125
+ element="typens:listrakRemarketingLogToggleRequestParam"/>
1126
+ </wsdl:message>
1127
+ <wsdl:message name="listrakRemarketingLogToggleResponse">
1128
+ <wsdl:part name="parameters"
1129
+ element="typens:listrakRemarketingLogToggleResponseParam"/>
1130
+ </wsdl:message>
1131
+ <wsdl:message name="listrakRemarketingOrderListRequest">
1132
+ <wsdl:part name="parameters"
1133
+ element="typens:listrakRemarketingOrderListRequestParam"/>
1134
+ </wsdl:message>
1135
+ <wsdl:message name="listrakRemarketingOrderListResponse">
1136
+ <wsdl:part name="parameters"
1137
+ element="typens:listrakRemarketingOrderListResponseParam"/>
1138
+ </wsdl:message>
1139
+ <wsdl:message name="listrakRemarketingOrderStatusListRequest">
1140
+ <wsdl:part name="parameters"
1141
+ element="typens:listrakRemarketingOrderStatusListRequestParam"/>
1142
+ </wsdl:message>
1143
+ <wsdl:message name="listrakRemarketingOrderStatusListResponse">
1144
+ <wsdl:part name="parameters"
1145
+ element="typens:listrakRemarketingOrderStatusListResponseParam"/>
1146
+ </wsdl:message>
1147
+ <wsdl:message name="listrakRemarketingProductListRequest">
1148
+ <wsdl:part name="parameters"
1149
+ element="typens:listrakRemarketingProductListRequestParam"/>
1150
+ </wsdl:message>
1151
+ <wsdl:message name="listrakRemarketingProductListResponse">
1152
+ <wsdl:part name="parameters"
1153
+ element="typens:listrakRemarketingProductListResponseParam"/>
1154
+ </wsdl:message>
1155
+ <wsdl:message name="listrakRemarketingProductUpdateListRequest">
1156
+ <wsdl:part name="parameters"
1157
+ element="typens:listrakRemarketingProductUpdateListRequestParam"/>
1158
+ </wsdl:message>
1159
+ <wsdl:message name="listrakRemarketingProductUpdateListResponse">
1160
+ <wsdl:part name="parameters"
1161
+ element="typens:listrakRemarketingProductUpdateListResponseParam"/>
1162
+ </wsdl:message>
1163
+ <wsdl:message name="listrakRemarketingProductPurchasableListRequest">
1164
+ <wsdl:part name="parameters"
1165
+ element="typens:listrakRemarketingProductPurchasableListRequestParam"/>
1166
+ </wsdl:message>
1167
+ <wsdl:message name="listrakRemarketingProductPurchasableListResponse">
1168
+ <wsdl:part name="parameters"
1169
+ element="typens:listrakRemarketingProductPurchasableListResponseParam"/>
1170
+ </wsdl:message>
1171
+ <wsdl:message name="listrakRemarketingSubscriberListRequest">
1172
+ <wsdl:part name="parameters"
1173
+ element="typens:listrakRemarketingSubscriberListRequestParam"/>
1174
+ </wsdl:message>
1175
+ <wsdl:message name="listrakRemarketingSubscriberListResponse">
1176
+ <wsdl:part name="parameters"
1177
+ element="typens:listrakRemarketingSubscriberListResponseParam"/>
1178
+ </wsdl:message>
1179
+ <wsdl:message name="listrakRemarketingSubscriberPurgeRequest">
1180
+ <wsdl:part name="parameters"
1181
+ element="typens:listrakRemarketingSubscriberPurgeRequestParam"/>
1182
+ </wsdl:message>
1183
+ <wsdl:message name="listrakRemarketingSubscriberPurgeResponse">
1184
+ <wsdl:part name="parameters"
1185
+ element="typens:listrakRemarketingSubscriberPurgeResponseParam"/>
1186
+ </wsdl:message>
1187
+ <wsdl:message name="listrakRemarketingCustomerListRequest">
1188
+ <wsdl:part name="parameters"
1189
+ element="typens:listrakRemarketingCustomerListRequestParam"/>
1190
+ </wsdl:message>
1191
+ <wsdl:message name="listrakRemarketingCustomerListResponse">
1192
+ <wsdl:part name="parameters"
1193
+ element="typens:listrakRemarketingCustomerListResponseParam"/>
1194
+ </wsdl:message>
1195
+ <wsdl:message name="listrakRemarketingInfoListRequest">
1196
+ <wsdl:part name="parameters"
1197
+ element="typens:listrakRemarketingInfoListRequestParam"/>
1198
+ </wsdl:message>
1199
+ <wsdl:message name="listrakRemarketingInfoListResponse">
1200
+ <wsdl:part name="parameters"
1201
+ element="typens:listrakRemarketingInfoListResponseParam"/>
1202
+ </wsdl:message>
1203
+ <wsdl:message name="listrakRemarketingReviewListRequest">
1204
+ <wsdl:part name="parameters"
1205
+ element="typens:listrakRemarketingReviewListRequestParam"/>
1206
+ </wsdl:message>
1207
+ <wsdl:message name="listrakRemarketingReviewListResponse">
1208
+ <wsdl:part name="parameters"
1209
+ element="typens:listrakRemarketingReviewListResponseParam"/>
1210
+ </wsdl:message>
1211
+ <wsdl:message name="listrakRemarketingRatingSummaryListRequest">
1212
+ <wsdl:part name="parameters"
1213
+ element="typens:listrakRemarketingRatingSummaryListRequestParam"/>
1214
+ </wsdl:message>
1215
+ <wsdl:message name="listrakRemarketingRatingSummaryListResponse">
1216
+ <wsdl:part name="parameters"
1217
+ element="typens:listrakRemarketingRatingSummaryListResponseParam"/>
1218
+ </wsdl:message>
1219
+ <wsdl:message name="listrakRemarketingReviewUpdateListRequest">
1220
+ <wsdl:part name="parameters"
1221
+ element="typens:listrakRemarketingReviewUpdateListRequestParam"/>
1222
+ </wsdl:message>
1223
+ <wsdl:message name="listrakRemarketingReviewUpdateListResponse">
1224
+ <wsdl:part name="parameters"
1225
+ element="typens:listrakRemarketingReviewUpdateListResponseParam"/>
1226
+ </wsdl:message>
1227
+ <wsdl:message name="listrakRemarketingRatingSummaryUpdateListRequest">
1228
+ <wsdl:part name="parameters"
1229
+ element="typens:listrakRemarketingRatingSummaryUpdateListRequestParam"/>
1230
+ </wsdl:message>
1231
+ <wsdl:message name="listrakRemarketingRatingSummaryUpdateListResponse">
1232
+ <wsdl:part name="parameters"
1233
+ element="typens:listrakRemarketingRatingSummaryUpdateListResponseParam"/>
1234
+ </wsdl:message>
1235
+ <wsdl:message name="listrakRemarketingReviewDeleteListRequest">
1236
+ <wsdl:part name="parameters"
1237
+ element="typens:listrakRemarketingReviewDeleteListRequestParam"/>
1238
+ </wsdl:message>
1239
+ <wsdl:message name="listrakRemarketingReviewDeleteListResponse">
1240
+ <wsdl:part name="parameters"
1241
+ element="typens:listrakRemarketingReviewDeleteListResponseParam"/>
1242
+ </wsdl:message>
1243
+ <wsdl:message name="listrakRemarketingReviewUpdatePurgeRequest">
1244
+ <wsdl:part name="parameters"
1245
+ element="typens:listrakRemarketingReviewUpdatePurgeRequestParam"/>
1246
+ </wsdl:message>
1247
+ <wsdl:message name="listrakRemarketingReviewUpdatePurgeResponse">
1248
+ <wsdl:part name="parameters"
1249
+ element="typens:listrakRemarketingReviewUpdatePurgeResponseParam"/>
1250
+ </wsdl:message>
1251
+ <wsdl:portType name="{{var wsdl.handler}}PortType">
1252
+ <wsdl:operation name="listrakRemarketingAbandonedCartList">
1253
+ <wsdl:documentation>Get stores abandoned carts</wsdl:documentation>
1254
+ <wsdl:input message="typens:listrakRemarketingAbandonedCartListRequest"/>
1255
+ <wsdl:output
1256
+ message="typens:listrakRemarketingAbandonedCartListResponse"/>
1257
+ </wsdl:operation>
1258
+ <wsdl:operation name="listrakRemarketingAbandonedCartPurge">
1259
+ <wsdl:documentation>Purge abandoned carts</wsdl:documentation>
1260
+ <wsdl:input
1261
+ message="typens:listrakRemarketingAbandonedCartPurgeRequest"/>
1262
+ <wsdl:output
1263
+ message="typens:listrakRemarketingAbandonedCartPurgeResponse"/>
1264
+ </wsdl:operation>
1265
+ <wsdl:operation name="listrakRemarketingClickList">
1266
+ <wsdl:documentation>Get clicks</wsdl:documentation>
1267
+ <wsdl:input message="typens:listrakRemarketingClickListRequest"/>
1268
+ <wsdl:output message="typens:listrakRemarketingClickListResponse"/>
1269
+ </wsdl:operation>
1270
+ <wsdl:operation name="listrakRemarketingClickPurge">
1271
+ <wsdl:documentation>Purge clicks</wsdl:documentation>
1272
+ <wsdl:input message="typens:listrakRemarketingClickPurgeRequest"/>
1273
+ <wsdl:output message="typens:listrakRemarketingClickPurgeResponse"/>
1274
+ </wsdl:operation>
1275
+ <wsdl:operation name="listrakRemarketingLogList">
1276
+ <wsdl:documentation>Get log entries</wsdl:documentation>
1277
+ <wsdl:input message="typens:listrakRemarketingLogListRequest"/>
1278
+ <wsdl:output message="typens:listrakRemarketingLogListResponse"/>
1279
+ </wsdl:operation>
1280
+ <wsdl:operation name="listrakRemarketingLogPurge">
1281
+ <wsdl:documentation>Purge log entries</wsdl:documentation>
1282
+ <wsdl:input message="typens:listrakRemarketingLogPurgeRequest"/>
1283
+ <wsdl:output message="typens:listrakRemarketingLogPurgeResponse"/>
1284
+ </wsdl:operation>
1285
+ <wsdl:operation name="listrakRemarketingLogToggle">
1286
+ <wsdl:documentation>toggle logging</wsdl:documentation>
1287
+ <wsdl:input message="typens:listrakRemarketingLogToggleRequest"/>
1288
+ <wsdl:output message="typens:listrakRemarketingLogToggleResponse"/>
1289
+ </wsdl:operation>
1290
+ <wsdl:operation name="listrakRemarketingOrderList">
1291
+ <wsdl:documentation>Get orders</wsdl:documentation>
1292
+ <wsdl:input message="typens:listrakRemarketingOrderListRequest"/>
1293
+ <wsdl:output message="typens:listrakRemarketingOrderListResponse"/>
1294
+ </wsdl:operation>
1295
+ <wsdl:operation name="listrakRemarketingOrderStatusList">
1296
+ <wsdl:documentation>Get order status changes</wsdl:documentation>
1297
+ <wsdl:input message="typens:listrakRemarketingOrderStatusListRequest"/>
1298
+ <wsdl:output message="typens:listrakRemarketingOrderStatusListResponse"/>
1299
+ </wsdl:operation>
1300
+ <wsdl:operation name="listrakRemarketingProductList">
1301
+ <wsdl:documentation>Get products</wsdl:documentation>
1302
+ <wsdl:input message="typens:listrakRemarketingProductListRequest"/>
1303
+ <wsdl:output message="typens:listrakRemarketingProductListResponse"/>
1304
+ </wsdl:operation>
1305
+ <wsdl:operation name="listrakRemarketingProductUpdateList">
1306
+ <wsdl:documentation>Get updated products</wsdl:documentation>
1307
+ <wsdl:input message="typens:listrakRemarketingProductUpdateListRequest"/>
1308
+ <wsdl:output message="typens:listrakRemarketingProductUpdateListResponse"/>
1309
+ </wsdl:operation>
1310
+ <wsdl:operation name="listrakRemarketingProductPurchasableList">
1311
+ <wsdl:documentation>Get purchasable products</wsdl:documentation>
1312
+ <wsdl:input message="typens:listrakRemarketingProductPurchasableListRequest"/>
1313
+ <wsdl:output message="typens:listrakRemarketingProductPurchasableListResponse"/>
1314
+ </wsdl:operation>
1315
+ <wsdl:operation name="listrakRemarketingSubscriberList">
1316
+ <wsdl:documentation>Get subscribers and unsubscribers</wsdl:documentation>
1317
+ <wsdl:input message="typens:listrakRemarketingSubscriberListRequest"/>
1318
+ <wsdl:output message="typens:listrakRemarketingSubscriberListResponse"/>
1319
+ </wsdl:operation>
1320
+ <wsdl:operation name="listrakRemarketingSubscriberPurge">
1321
+ <wsdl:documentation>Purge old subscriber updates</wsdl:documentation>
1322
+ <wsdl:input message="typens:listrakRemarketingSubscriberPurgeRequest"/>
1323
+ <wsdl:output message="typens:listrakRemarketingSubscriberPurgeResponse"/>
1324
+ </wsdl:operation>
1325
+ <wsdl:operation name="listrakRemarketingCustomerList">
1326
+ <wsdl:documentation>Get customers</wsdl:documentation>
1327
+ <wsdl:input message="typens:listrakRemarketingCustomerListRequest"/>
1328
+ <wsdl:output message="typens:listrakRemarketingCustomerListResponse"/>
1329
+ </wsdl:operation>
1330
+ <wsdl:operation name="listrakRemarketingInfoList">
1331
+ <wsdl:documentation>Get info</wsdl:documentation>
1332
+ <wsdl:input message="typens:listrakRemarketingInfoListRequest"/>
1333
+ <wsdl:output message="typens:listrakRemarketingInfoListResponse"/>
1334
+ </wsdl:operation>
1335
+ <wsdl:operation name="listrakRemarketingReviewList">
1336
+ <wsdl:documentation>Get review list</wsdl:documentation>
1337
+ <wsdl:input message="typens:listrakRemarketingReviewListRequest"/>
1338
+ <wsdl:output message="typens:listrakRemarketingReviewListResponse"/>
1339
+ </wsdl:operation>
1340
+ <wsdl:operation name="listrakRemarketingRatingSummaryList">
1341
+ <wsdl:documentation>Get rating summary list</wsdl:documentation>
1342
+ <wsdl:input message="typens:listrakRemarketingRatingSummaryListRequest"/>
1343
+ <wsdl:output
1344
+ message="typens:listrakRemarketingRatingSummaryListResponse"/>
1345
+ </wsdl:operation>
1346
+ <wsdl:operation name="listrakRemarketingReviewUpdateList">
1347
+ <wsdl:documentation>Get review list</wsdl:documentation>
1348
+ <wsdl:input message="typens:listrakRemarketingReviewUpdateListRequest"/>
1349
+ <wsdl:output
1350
+ message="typens:listrakRemarketingReviewUpdateListResponse"/>
1351
+ </wsdl:operation>
1352
+ <wsdl:operation name="listrakRemarketingRatingSummaryUpdateList">
1353
+ <wsdl:documentation>Get rating summary list</wsdl:documentation>
1354
+ <wsdl:input
1355
+ message="typens:listrakRemarketingRatingSummaryUpdateListRequest"/>
1356
+ <wsdl:output
1357
+ message="typens:listrakRemarketingRatingSummaryUpdateListResponse"/>
1358
+ </wsdl:operation>
1359
+ <wsdl:operation name="listrakRemarketingReviewDeleteList">
1360
+ <wsdl:documentation>Get deleted reviews list</wsdl:documentation>
1361
+ <wsdl:input message="typens:listrakRemarketingReviewDeleteListRequest"/>
1362
+ <wsdl:output
1363
+ message="typens:listrakRemarketingReviewDeleteListResponse"/>
1364
+ </wsdl:operation>
1365
+ <wsdl:operation name="listrakRemarketingReviewUpdatePurge">
1366
+ <wsdl:documentation>Get deleted reviews list</wsdl:documentation>
1367
+ <wsdl:input message="typens:listrakRemarketingReviewUpdatePurgeRequest"/>
1368
+ <wsdl:output
1369
+ message="typens:listrakRemarketingReviewUpdatePurgeResponse"/>
1370
+ </wsdl:operation>
1371
+ </wsdl:portType>
1372
+ <wsdl:binding name="{{var wsdl.handler}}Binding"
1373
+ type="typens:{{var wsdl.handler}}PortType">
1374
+ <soap:binding style="document"
1375
+ transport="http://schemas.xmlsoap.org/soap/http"/>
1376
+ <wsdl:operation name="listrakRemarketingAbandonedCartList">
1377
+ <soap:operation soapAction=""/>
1378
+ <wsdl:input>
1379
+ <soap:body use="literal"/>
1380
+ </wsdl:input>
1381
+ <wsdl:output>
1382
+ <soap:body use="literal"/>
1383
+ </wsdl:output>
1384
+ </wsdl:operation>
1385
+ <wsdl:operation name="listrakRemarketingAbandonedCartPurge">
1386
+ <soap:operation soapAction=""/>
1387
+ <wsdl:input>
1388
+ <soap:body use="literal"/>
1389
+ </wsdl:input>
1390
+ <wsdl:output>
1391
+ <soap:body use="literal"/>
1392
+ </wsdl:output>
1393
+ </wsdl:operation>
1394
+ <wsdl:operation name="listrakRemarketingClickList">
1395
+ <soap:operation soapAction=""/>
1396
+ <wsdl:input>
1397
+ <soap:body use="literal"/>
1398
+ </wsdl:input>
1399
+ <wsdl:output>
1400
+ <soap:body use="literal"/>
1401
+ </wsdl:output>
1402
+ </wsdl:operation>
1403
+ <wsdl:operation name="listrakRemarketingClickPurge">
1404
+ <soap:operation soapAction=""/>
1405
+ <wsdl:input>
1406
+ <soap:body use="literal"/>
1407
+ </wsdl:input>
1408
+ <wsdl:output>
1409
+ <soap:body use="literal"/>
1410
+ </wsdl:output>
1411
+ </wsdl:operation>
1412
+ <wsdl:operation name="listrakRemarketingLogList">
1413
+ <soap:operation soapAction=""/>
1414
+ <wsdl:input>
1415
+ <soap:body use="literal"/>
1416
+ </wsdl:input>
1417
+ <wsdl:output>
1418
+ <soap:body use="literal"/>
1419
+ </wsdl:output>
1420
+ </wsdl:operation>
1421
+ <wsdl:operation name="listrakRemarketingLogPurge">
1422
+ <soap:operation soapAction=""/>
1423
+ <wsdl:input>
1424
+ <soap:body use="literal"/>
1425
+ </wsdl:input>
1426
+ <wsdl:output>
1427
+ <soap:body use="literal"/>
1428
+ </wsdl:output>
1429
+ </wsdl:operation>
1430
+ <wsdl:operation name="listrakRemarketingLogToggle">
1431
+ <soap:operation soapAction=""/>
1432
+ <wsdl:input>
1433
+ <soap:body use="literal"/>
1434
+ </wsdl:input>
1435
+ <wsdl:output>
1436
+ <soap:body use="literal"/>
1437
+ </wsdl:output>
1438
+ </wsdl:operation>
1439
+ <wsdl:operation name="listrakRemarketingOrderList">
1440
+ <soap:operation soapAction=""/>
1441
+ <wsdl:input>
1442
+ <soap:body use="literal"/>
1443
+ </wsdl:input>
1444
+ <wsdl:output>
1445
+ <soap:body use="literal"/>
1446
+ </wsdl:output>
1447
+ </wsdl:operation>
1448
+ <wsdl:operation name="listrakRemarketingOrderStatusList">
1449
+ <soap:operation soapAction=""/>
1450
+ <wsdl:input>
1451
+ <soap:body use="literal"/>
1452
+ </wsdl:input>
1453
+ <wsdl:output>
1454
+ <soap:body use="literal"/>
1455
+ </wsdl:output>
1456
+ </wsdl:operation>
1457
+ <wsdl:operation name="listrakRemarketingProductList">
1458
+ <soap:operation soapAction=""/>
1459
+ <wsdl:input>
1460
+ <soap:body use="literal"/>
1461
+ </wsdl:input>
1462
+ <wsdl:output>
1463
+ <soap:body use="literal"/>
1464
+ </wsdl:output>
1465
+ </wsdl:operation>
1466
+ <wsdl:operation name="listrakRemarketingProductUpdateList">
1467
+ <soap:operation soapAction=""/>
1468
+ <wsdl:input>
1469
+ <soap:body use="literal"/>
1470
+ </wsdl:input>
1471
+ <wsdl:output>
1472
+ <soap:body use="literal"/>
1473
+ </wsdl:output>
1474
+ </wsdl:operation>
1475
+ <wsdl:operation name="listrakRemarketingProductPurchasableList">
1476
+ <soap:operation soapAction=""/>
1477
+ <wsdl:input>
1478
+ <soap:body use="literal"/>
1479
+ </wsdl:input>
1480
+ <wsdl:output>
1481
+ <soap:body use="literal"/>
1482
+ </wsdl:output>
1483
+ </wsdl:operation>
1484
+ <wsdl:operation name="listrakRemarketingSubscriberList">
1485
+ <soap:operation soapAction=""/>
1486
+ <wsdl:input>
1487
+ <soap:body use="literal"/>
1488
+ </wsdl:input>
1489
+ <wsdl:output>
1490
+ <soap:body use="literal"/>
1491
+ </wsdl:output>
1492
+ </wsdl:operation>
1493
+ <wsdl:operation name="listrakRemarketingSubscriberPurge">
1494
+ <soap:operation soapAction=""/>
1495
+ <wsdl:input>
1496
+ <soap:body use="literal"/>
1497
+ </wsdl:input>
1498
+ <wsdl:output>
1499
+ <soap:body use="literal"/>
1500
+ </wsdl:output>
1501
+ </wsdl:operation>
1502
+ <wsdl:operation name="listrakRemarketingCustomerList">
1503
+ <soap:operation soapAction=""/>
1504
+ <wsdl:input>
1505
+ <soap:body use="literal"/>
1506
+ </wsdl:input>
1507
+ <wsdl:output>
1508
+ <soap:body use="literal"/>
1509
+ </wsdl:output>
1510
+ </wsdl:operation>
1511
+ <wsdl:operation name="listrakRemarketingInfoList">
1512
+ <soap:operation soapAction=""/>
1513
+ <wsdl:input>
1514
+ <soap:body use="literal"/>
1515
+ </wsdl:input>
1516
+ <wsdl:output>
1517
+ <soap:body use="literal"/>
1518
+ </wsdl:output>
1519
+ </wsdl:operation>
1520
+ <wsdl:operation name="listrakRemarketingReviewList">
1521
+ <soap:operation soapAction=""/>
1522
+ <wsdl:input>
1523
+ <soap:body use="literal"/>
1524
+ </wsdl:input>
1525
+ <wsdl:output>
1526
+ <soap:body use="literal"/>
1527
+ </wsdl:output>
1528
+ </wsdl:operation>
1529
+ <wsdl:operation name="listrakRemarketingRatingSummaryList">
1530
+ <soap:operation soapAction=""/>
1531
+ <wsdl:input>
1532
+ <soap:body use="literal"/>
1533
+ </wsdl:input>
1534
+ <wsdl:output>
1535
+ <soap:body use="literal"/>
1536
+ </wsdl:output>
1537
+ </wsdl:operation>
1538
+ <wsdl:operation name="listrakRemarketingReviewUpdateList">
1539
+ <soap:operation soapAction=""/>
1540
+ <wsdl:input>
1541
+ <soap:body use="literal"/>
1542
+ </wsdl:input>
1543
+ <wsdl:output>
1544
+ <soap:body use="literal"/>
1545
+ </wsdl:output>
1546
+ </wsdl:operation>
1547
+ <wsdl:operation name="listrakRemarketingRatingSummaryUpdateList">
1548
+ <soap:operation soapAction=""/>
1549
+ <wsdl:input>
1550
+ <soap:body use="literal"/>
1551
+ </wsdl:input>
1552
+ <wsdl:output>
1553
+ <soap:body use="literal"/>
1554
+ </wsdl:output>
1555
+ </wsdl:operation>
1556
+ <wsdl:operation name="listrakRemarketingReviewDeleteList">
1557
+ <soap:operation soapAction=""/>
1558
+ <wsdl:input>
1559
+ <soap:body use="literal"/>
1560
+ </wsdl:input>
1561
+ <wsdl:output>
1562
+ <soap:body use="literal"/>
1563
+ </wsdl:output>
1564
+ </wsdl:operation>
1565
+ <wsdl:operation name="listrakRemarketingReviewUpdatePurge">
1566
+ <soap:operation soapAction=""/>
1567
+ <wsdl:input>
1568
+ <soap:body use="literal"/>
1569
+ </wsdl:input>
1570
+ <wsdl:output>
1571
+ <soap:body use="literal"/>
1572
+ </wsdl:output>
1573
+ </wsdl:operation>
1574
+ </wsdl:binding>
1575
+ <wsdl:service name="{{var wsdl.name}}Service">
1576
+ <wsdl:port name="{{var wsdl.handler}}Port"
1577
+ binding="typens:{{var wsdl.handler}}Binding">
1578
+ <soap:address location="{{var wsdl.url}}"/>
1579
+ </wsdl:port>
1580
+ </wsdl:service>
1581
  </wsdl:definitions>
app/code/community/Listrak/Remarketing/sql/listrak_remarketing_setup/mysql4-install-1.0.0.php CHANGED
@@ -88,4 +88,9 @@ VALUES (NULL , '*', 'newsletter');
88
  "
89
  );
90
 
 
 
 
 
 
91
  $installer->endSetup();
88
  "
89
  );
90
 
91
+ try {
92
+ Mage::getModel("listrak/log")->addMessage("1.0.0 install");
93
+ } catch (Exception $e) {
94
+ }
95
+
96
  $installer->endSetup();
app/code/community/Listrak/Remarketing/sql/listrak_remarketing_setup/mysql4-install-1.1.9.php ADDED
@@ -0,0 +1,107 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ $installer = $this;
16
+ $installer->startSetup();
17
+
18
+ $installer->run(
19
+ "
20
+ DROP TABLE IF EXISTS {$this->getTable('listrak/session')};
21
+
22
+ DROP TABLE IF EXISTS {$this->getTable('listrak/session_email')};
23
+
24
+ DROP TABLE IF EXISTS {$this->getTable('listrak/click')};
25
+
26
+ DROP TABLE IF EXISTS {$this->getTable('listrak/emailcapture')};
27
+ CREATE TABLE {$this->getTable('listrak/emailcapture')} (
28
+ `emailcapture_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
29
+ `page` varchar(255) NOT NULL,
30
+ `field_id` varchar(255) NOT NULL,
31
+ PRIMARY KEY (`emailcapture_id`)
32
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
33
+
34
+ CREATE TABLE IF NOT EXISTS {$this->getTable('listrak/subscriber_update')} (
35
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
36
+ `subscriber_id` int(10) unsigned NOT NULL,
37
+ `updated_at` datetime NOT NULL,
38
+ PRIMARY KEY (`id`)
39
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
40
+
41
+ CREATE TABLE IF NOT EXISTS {$this->getTable('listrak/log')} (
42
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
43
+ `store_id` int(11) DEFAULT NULL,
44
+ `date_entered` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
45
+ `message` text CHARACTER SET utf8 NOT NULL,
46
+ `log_type_id` tinyint(4) NOT NULL,
47
+ PRIMARY KEY (`id`),
48
+ KEY `log_type_id` (`log_type_id`)
49
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
50
+
51
+
52
+ DROP TABLE IF EXISTS {$this->getTable('listrak/product_attribute_set_map')};
53
+ CREATE TABLE {$this->getTable('listrak/product_attribute_set_map')} (
54
+ `map_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
55
+ `attribute_set_id` smallint(5) unsigned NOT NULL,
56
+ `brand_attribute_code` varchar(255),
57
+ `categories_source` varchar(31),
58
+ `use_config_categories_source` tinyint(1) NOT NULL DEFAULT 1,
59
+ `category_attribute_code` varchar(255),
60
+ `subcategory_attribute_code` varchar(255),
61
+ `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
62
+ PRIMARY KEY (`map_id`),
63
+ KEY `idx_attribute_set_id` (`attribute_set_id`)
64
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
65
+
66
+ DROP TABLE IF EXISTS {$this->getTable('listrak/review_update')};
67
+ CREATE TABLE {$this->getTable('listrak/review_update')} (
68
+ `update_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
69
+ `review_id` bigint(20) NOT NULL,
70
+ `entity_id` tinyint(4) NOT NULL,
71
+ `entity_pk_value` bigint(20) NOT NULL,
72
+ `activity_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
73
+ `activity` tinyint(4) NOT NULL,
74
+ PRIMARY KEY (`update_id`)
75
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
76
+
77
+ INSERT INTO {$this->getTable('listrak/emailcapture')} (`emailcapture_id` ,`page` ,`field_id`)
78
+ VALUES (NULL , '/checkout/onepage/index', 'billing:email')
79
+ , (NULL , '/checkout/onepage/index', 'login-email')
80
+ , (NULL , '*', 'newsletter')
81
+ , (NULL , '*', 'ltkmodal-email');
82
+
83
+ "
84
+ );
85
+
86
+ try {
87
+ Mage::getModel("listrak/log")->addMessage("1.1.9 install");
88
+ } catch (Exception $e) {
89
+ }
90
+
91
+ try {
92
+ $client = new Varien_Http_Client("http://magento.listrakbi.com/Install.ashx");
93
+ $client->setMethod(Varien_Http_Client::POST);
94
+ $client->setParameterPost("Listrak Extension Version", "1.1.9");
95
+ $client->setParameterPost("Magento Version", Mage::getVersion());
96
+ $client->setParameterPost("Install URL", "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
97
+ $client->setParameterPost("IP Address", "$_SERVER[SERVER_ADDR]");
98
+ $client->request();
99
+ } catch (Exception $e) {
100
+ }
101
+
102
+ $config = Mage::getConfig();
103
+ $config->saveConfig('remarketing/config/tracking_tables_deleted', '1');
104
+ $config->saveConfig('remarketing/config/onescript_ready', '1');
105
+ // the cache is updated automatically, no need to do a full cache clean
106
+
107
+ $installer->endSetup();
app/code/community/Listrak/Remarketing/sql/listrak_remarketing_setup/mysql4-upgrade-1.1.7-1.1.8.php CHANGED
@@ -15,63 +15,9 @@
15
  $installer = $this;
16
  $installer->startSetup();
17
 
18
- $duplicateSessions = array();
19
-
20
- // populate the sessions
21
- $findDuplicatesCollection = Mage::getModel('listrak/session')->getCollection();
22
- $findDuplicatesCollection->getSelect()
23
- ->group("session_id")
24
- ->having("COUNT(*) > 1");
25
- foreach($findDuplicatesCollection as $session) {
26
- $duplicateSessions[] = $session->getSessionId();
27
- }
28
-
29
- // delete the duplicate sessions
30
- $deleteDuplicatesCollection = Mage::getModel('listrak/session')->getCollection();
31
- $deleteDuplicatesCollection->getSelect()
32
- ->where("session_id IN (?)", $duplicateSessions);
33
- foreach($deleteDuplicatesCollection as $session) {
34
- $session->delete();
35
- }
36
-
37
- try {
38
- $installer->run("ALTER TABLE {$this->getTable('listrak/session')} DROP KEY `unique_session_id`;");
39
- } catch(Exception $e) {
40
- }
41
-
42
- $installer->run("
43
- ALTER TABLE {$this->getTable('listrak/session')}
44
- ADD UNIQUE KEY `unique_session_id` (`session_id`);
45
- ");
46
-
47
  try {
48
  Mage::getModel("listrak/log")->addMessage("1.1.7-1.1.8 upgrade");
49
  } catch (Exception $e) {
50
  }
51
 
52
- if (sizeof($duplicateSessions) > 0) {
53
- try {
54
- Mage::getModel('listrak/log')->addException("Removed duplicate sessions when updating the session table structure: " . implode(", ", $duplicateSessions));
55
-
56
- $client = new Varien_Http_Client("http://magento.listrakbi.com/Install.ashx");
57
- $client->setMethod(Varien_Http_Client::POST);
58
- $client->setParameterPost("Listrak Extension Version", "1.1.8");
59
- $client->setParameterPost("Client URL", "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
60
- $client->setParameterPost("Duplicate Sessions", implode(", ", $duplicateSessions));
61
- $client->request();
62
- } catch (Exception $e) {
63
- }
64
- }
65
-
66
- try {
67
- $client = new Varien_Http_Client("http://magento.listrakbi.com/Install.ashx");
68
- $client->setMethod(Varien_Http_Client::POST);
69
- $client->setParameterPost("Listrak Extension Version", "1.1.8");
70
- $client->setParameterPost("Magento Version", Mage::getVersion());
71
- $client->setParameterPost("Install URL", "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
72
- $client->setParameterPost("IP Address", "$_SERVER[SERVER_ADDR]");
73
- $client->request();
74
- } catch (Exception $e) {
75
- }
76
-
77
  $installer->endSetup();
15
  $installer = $this;
16
  $installer->startSetup();
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  try {
19
  Mage::getModel("listrak/log")->addMessage("1.1.7-1.1.8 upgrade");
20
  } catch (Exception $e) {
21
  }
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  $installer->endSetup();
app/code/community/Listrak/Remarketing/sql/listrak_remarketing_setup/mysql4-upgrade-1.1.8-1.1.9.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.9
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2014 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ $installer = $this;
16
+ $installer->startSetup();
17
+
18
+ $installer->run("
19
+ ALTER TABLE {$this->getTable('listrak/session')}
20
+ ADD COLUMN `converted` boolean NOT NULL DEFAULT 0;
21
+ ");
22
+
23
+ try {
24
+ Mage::getModel("listrak/log")->addMessage("1.1.8-1.1.9 upgrade");
25
+ } catch (Exception $e) {
26
+ }
27
+
28
+ $installer->endSetup();
app/design/adminhtml/default/default/layout/remarketing.xml CHANGED
@@ -1,15 +1,15 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
- */
6
- -->
7
- <layout>
8
- <default>
9
- <reference name="notifications">
10
- <block type="remarketing/adminhtml_notifications"
11
- name="remarketing_notifications"
12
- as="remarketing_notifications"/>
13
- </reference>
14
- </default>
15
  </layout>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <layout>
8
+ <default>
9
+ <reference name="notifications">
10
+ <block type="remarketing/adminhtml_notifications"
11
+ name="remarketing_notifications"
12
+ as="remarketing_notifications"/>
13
+ </reference>
14
+ </default>
15
  </layout>
app/design/adminhtml/default/default/template/listrak/remarketing/productattributes.phtml CHANGED
@@ -1,33 +1,33 @@
1
- <?php
2
- /**
3
- * Listrak Remarketing Magento Extension Ver. 1.1.5
4
- *
5
- * PHP version 5
6
- *
7
- * @category Listrak
8
- * @package Listrak_Remarketing
9
- * @author Listrak Magento Team <magento@listrak.com>
10
- * @copyright 2013 Listrak Inc
11
- * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
- * @link http://www.listrak.com
13
- * @see Listrak_Remarketing_Block_Adminhtml_Productattributes
14
- */
15
- ?>
16
- <div class="content-header">
17
- <table cellspacing="0">
18
- <tr>
19
- <td style="width:50%;"><h3
20
- class="icon-head head-products"><?php echo Mage::helper('remarketing')->__('Product Attributes') ?></h3>
21
- </td>
22
- <td class="a-right">
23
- <?php echo '' . $this->getButtonsHtml() ?>
24
- </td>
25
- </tr>
26
- </table>
27
- </div>
28
- <?php if (sizeof($this->setsWithoutBrandAttribute()) > 3): ?>
29
- <?php echo '' . $this->getInitBrandsHtml(); ?>
30
- <?php endif; ?>
31
- <div>
32
- <?php echo '' . $this->getGridHtml() ?>
33
  </div>
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.5
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2013 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ * @see Listrak_Remarketing_Block_Adminhtml_Productattributes
14
+ */
15
+ ?>
16
+ <div class="content-header">
17
+ <table cellspacing="0">
18
+ <tr>
19
+ <td style="width:50%;"><h3
20
+ class="icon-head head-products"><?php echo Mage::helper('remarketing')->__('Product Attributes') ?></h3>
21
+ </td>
22
+ <td class="a-right">
23
+ <?php echo '' . $this->getButtonsHtml() ?>
24
+ </td>
25
+ </tr>
26
+ </table>
27
+ </div>
28
+ <?php if (sizeof($this->setsWithoutBrandAttribute()) > 3): ?>
29
+ <?php echo '' . $this->getInitBrandsHtml(); ?>
30
+ <?php endif; ?>
31
+ <div>
32
+ <?php echo '' . $this->getGridHtml() ?>
33
  </div>
app/design/adminhtml/default/default/template/listrak/remarketing/productattributes/form/categories.phtml CHANGED
@@ -1,158 +1,158 @@
1
- <?php
2
- /**
3
- * Listrak Remarketing Magento Extension Ver. 1.1.5
4
- *
5
- * PHP version 5
6
- *
7
- * @category Listrak
8
- * @package Listrak_Remarketing
9
- * @author Listrak Magento Team <magento@listrak.com>
10
- * @copyright 2013 Listrak Inc
11
- * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
- * @link http://www.listrak.com
13
- */
14
-
15
- ?>
16
- <div class="entry-edit">
17
- <div class="entry-edit-head">
18
- <h4 class="icon-head head-edit-form fieldset-legend">
19
- <?php echo Mage::helper('catalog')->__('Category and Subcategory') ?>
20
- </h4>
21
- </div>
22
- <fieldset>
23
-
24
- <legend>
25
- <?php echo Mage::helper('remarketing')->__('Product Categories') ?>
26
- </legend>
27
- <table cellspacing="0" class="form-list"
28
- id="table_productattributes_categories">
29
- <tr>
30
- <td class="label">
31
- <label for="categories_source">
32
- <?php echo Mage::helper('remarketing')->__('Source') ?>
33
- </label>
34
- </td>
35
- <td class="value">
36
- <select id="categories_source" name="categories_source"
37
- class="select">
38
- <option value="default"
39
- <?php if ($this->getCategoriesSource() == 'default'): ?> selected="selected"<?php endif; ?>>
40
- <?php echo Mage::helper('remarketing')->__('Use Catalog Configuration') ?>
41
- </option>
42
- <option value="attributes"
43
- <?php if ($this->getCategoriesSource() == 'attributes'): ?> selected="selected"<?php endif; ?>>
44
- <?php echo Mage::helper('remarketing')->__('Map from Product Attributes') ?>
45
- </option>
46
- </select>
47
- <input type="hidden" id="categories_source_default"
48
- value="<?php echo $this->getConfigCategoriesSource(); ?>"/>
49
-
50
- <?php $_checked = $this->getUseConfigCategoriesSource() ? 'checked="checked"' : '' ?>
51
- <input type="checkbox" id="categories_use_config_source"
52
- name="use_config_categories_source"
53
- value="1" <?php echo $_checked ?>
54
- onclick="toggleValueElements(this, this.parentNode);"
55
- class="checkbox"/>
56
- <label for="categories_use_config_source" class="normal">
57
- <?php echo Mage::helper('catalog')->__('Use Listrak Configuration Settings') ?>
58
- </label>
59
- </td>
60
- <td class="value scope-label">
61
- <?php echo Mage::helper('remarketing')->__('[GLOBAL]') ?>
62
- </td>
63
- </tr>
64
-
65
- <tr>
66
- <td class="label">
67
- <label for="categories_category_attribute">
68
- <?php echo Mage::helper('remarketing')->__('Category Attribute') ?>
69
- </label>
70
- </td>
71
- <td class="value">
72
- <select id="categories_category_attribute"
73
- name="categories_category_attribute"
74
- class="listrak_validate_unique_selection_category_attribute select">
75
- <option value="">- No Category Attribute -</option>
76
- <?php foreach ($this->getAttributeOptions() as $key => $option): ?>
77
- <?php $_selected = ($key == $this->getCategoryAttributeCode()) ? 'selected="selected"' : '' ?>
78
- <option
79
- value="<?php echo $key ?>" <?php echo $_selected ?>><?php echo $option ?></option>
80
- <?php endforeach; ?>
81
- </select>
82
- </td>
83
- <td class="value scope-label">
84
- <?php echo Mage::helper('remarketing')->__('[GLOBAL]') ?>
85
- </td>
86
- </tr>
87
-
88
- <tr>
89
- <td class="label">
90
- <label for="categories_subcategory_attribute">
91
- <?php echo Mage::helper('catalog')->__('Subcategory Attribute') ?>
92
- </label>
93
- </td>
94
- <td class="value">
95
- <select id="categories_subcategory_attribute"
96
- name="categories_subcategory_attribute"
97
- class="listrak_validate_unique_selection_subcategory_attribute select">
98
- <option value="">- No Subcategory Attribute -</option>
99
- <?php foreach ($this->getAttributeOptions() as $key => $option): ?>
100
- <?php $_selected = ($key == $this->getSubcategoryAttributeCode()) ? 'selected="selected"' : '' ?>
101
- <option
102
- value="<?php echo $key ?>" <?php echo $_selected ?>><?php echo $option ?></option>
103
- <?php endforeach; ?>
104
- </select>
105
- </td>
106
- <td class="value scope-label">
107
- <?php echo Mage::helper('catalog')->__('[GLOBAL]') ?>
108
- </td>
109
- </tr>
110
- </table>
111
- <script type="text/javascript">
112
- //<![CDATA[
113
- function changeCategoriesSourceOption() {
114
- var configSource = $('categories_use_config_source').checked;
115
- var catSource = configSource ? $('categories_source_default').value : $('categories_source').value;
116
- var showSelect = catSource == 'attributes';
117
-
118
- var catRow = $('categories_category_attribute').up('tr');
119
- var subcatRow = $('categories_subcategory_attribute').up('tr');
120
-
121
- if (showSelect) {
122
- catRow.show();
123
- subcatRow.show();
124
- }
125
- else {
126
- catRow.hide();
127
- subcatRow.hide();
128
- }
129
- }
130
-
131
- toggleValueElements($('categories_use_config_source'), $('categories_use_config_source').parentNode);
132
-
133
- Event.observe($('categories_source'), 'change', changeCategoriesSourceOption);
134
- Event.observe($('categories_use_config_source'), 'change', changeCategoriesSourceOption);
135
- changeCategoriesSourceOption();
136
-
137
- Validation.add('listrak_validate_unique_selection_category_attribute', 'You may select an attribute only once.', function (attr) {
138
- if (attr == '')
139
- return true;
140
-
141
- // make sure brand doesn't have this value
142
- var brandAttr = $('brand_attribute');
143
- return brandAttr == null || !(brandAttr.selectedIndex > 0 && brandAttr.value == attr);
144
- });
145
-
146
- Validation.add('listrak_validate_unique_selection_subcategory_attribute', 'You may select an attribute only once.', function (attr) {
147
- if (attr == '')
148
- return true;
149
-
150
- // make sure neither brand nor category has the same value
151
- var brandAttr = $('brand_attribute');
152
- var catAttr = $('categories_category_attribute');
153
- return ((brandAttr == null || !(brandAttr.selectedIndex > 0 && brandAttr.value == attr)) && !(catAttr.selectedIndex > 0 && catAttr.value == attr));
154
- });
155
- //]]>
156
- </script>
157
- </fieldset>
158
- </div>
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.5
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2013 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ */
14
+
15
+ ?>
16
+ <div class="entry-edit">
17
+ <div class="entry-edit-head">
18
+ <h4 class="icon-head head-edit-form fieldset-legend">
19
+ <?php echo Mage::helper('catalog')->__('Category and Subcategory') ?>
20
+ </h4>
21
+ </div>
22
+ <fieldset>
23
+
24
+ <legend>
25
+ <?php echo Mage::helper('remarketing')->__('Product Categories') ?>
26
+ </legend>
27
+ <table cellspacing="0" class="form-list"
28
+ id="table_productattributes_categories">
29
+ <tr>
30
+ <td class="label">
31
+ <label for="categories_source">
32
+ <?php echo Mage::helper('remarketing')->__('Source') ?>
33
+ </label>
34
+ </td>
35
+ <td class="value">
36
+ <select id="categories_source" name="categories_source"
37
+ class="select">
38
+ <option value="default"
39
+ <?php if ($this->getCategoriesSource() == 'default'): ?> selected="selected"<?php endif; ?>>
40
+ <?php echo Mage::helper('remarketing')->__('Use Catalog Configuration') ?>
41
+ </option>
42
+ <option value="attributes"
43
+ <?php if ($this->getCategoriesSource() == 'attributes'): ?> selected="selected"<?php endif; ?>>
44
+ <?php echo Mage::helper('remarketing')->__('Map from Product Attributes') ?>
45
+ </option>
46
+ </select>
47
+ <input type="hidden" id="categories_source_default"
48
+ value="<?php echo $this->getConfigCategoriesSource(); ?>"/>
49
+
50
+ <?php $_checked = $this->getUseConfigCategoriesSource() ? 'checked="checked"' : '' ?>
51
+ <input type="checkbox" id="categories_use_config_source"
52
+ name="use_config_categories_source"
53
+ value="1" <?php echo $_checked ?>
54
+ onclick="toggleValueElements(this, this.parentNode);"
55
+ class="checkbox"/>
56
+ <label for="categories_use_config_source" class="normal">
57
+ <?php echo Mage::helper('catalog')->__('Use Listrak Configuration Settings') ?>
58
+ </label>
59
+ </td>
60
+ <td class="value scope-label">
61
+ <?php echo Mage::helper('remarketing')->__('[GLOBAL]') ?>
62
+ </td>
63
+ </tr>
64
+
65
+ <tr>
66
+ <td class="label">
67
+ <label for="categories_category_attribute">
68
+ <?php echo Mage::helper('remarketing')->__('Category Attribute') ?>
69
+ </label>
70
+ </td>
71
+ <td class="value">
72
+ <select id="categories_category_attribute"
73
+ name="categories_category_attribute"
74
+ class="listrak_validate_unique_selection_category_attribute select">
75
+ <option value="">- No Category Attribute -</option>
76
+ <?php foreach ($this->getAttributeOptions() as $key => $option): ?>
77
+ <?php $_selected = ($key == $this->getCategoryAttributeCode()) ? 'selected="selected"' : '' ?>
78
+ <option
79
+ value="<?php echo $key ?>" <?php echo $_selected ?>><?php echo $option ?></option>
80
+ <?php endforeach; ?>
81
+ </select>
82
+ </td>
83
+ <td class="value scope-label">
84
+ <?php echo Mage::helper('remarketing')->__('[GLOBAL]') ?>
85
+ </td>
86
+ </tr>
87
+
88
+ <tr>
89
+ <td class="label">
90
+ <label for="categories_subcategory_attribute">
91
+ <?php echo Mage::helper('catalog')->__('Subcategory Attribute') ?>
92
+ </label>
93
+ </td>
94
+ <td class="value">
95
+ <select id="categories_subcategory_attribute"
96
+ name="categories_subcategory_attribute"
97
+ class="listrak_validate_unique_selection_subcategory_attribute select">
98
+ <option value="">- No Subcategory Attribute -</option>
99
+ <?php foreach ($this->getAttributeOptions() as $key => $option): ?>
100
+ <?php $_selected = ($key == $this->getSubcategoryAttributeCode()) ? 'selected="selected"' : '' ?>
101
+ <option
102
+ value="<?php echo $key ?>" <?php echo $_selected ?>><?php echo $option ?></option>
103
+ <?php endforeach; ?>
104
+ </select>
105
+ </td>
106
+ <td class="value scope-label">
107
+ <?php echo Mage::helper('catalog')->__('[GLOBAL]') ?>
108
+ </td>
109
+ </tr>
110
+ </table>
111
+ <script type="text/javascript">
112
+ //<![CDATA[
113
+ function changeCategoriesSourceOption() {
114
+ var configSource = $('categories_use_config_source').checked;
115
+ var catSource = configSource ? $('categories_source_default').value : $('categories_source').value;
116
+ var showSelect = catSource == 'attributes';
117
+
118
+ var catRow = $('categories_category_attribute').up('tr');
119
+ var subcatRow = $('categories_subcategory_attribute').up('tr');
120
+
121
+ if (showSelect) {
122
+ catRow.show();
123
+ subcatRow.show();
124
+ }
125
+ else {
126
+ catRow.hide();
127
+ subcatRow.hide();
128
+ }
129
+ }
130
+
131
+ toggleValueElements($('categories_use_config_source'), $('categories_use_config_source').parentNode);
132
+
133
+ Event.observe($('categories_source'), 'change', changeCategoriesSourceOption);
134
+ Event.observe($('categories_use_config_source'), 'change', changeCategoriesSourceOption);
135
+ changeCategoriesSourceOption();
136
+
137
+ Validation.add('listrak_validate_unique_selection_category_attribute', 'You may select an attribute only once.', function (attr) {
138
+ if (attr == '')
139
+ return true;
140
+
141
+ // make sure brand doesn't have this value
142
+ var brandAttr = $('brand_attribute');
143
+ return brandAttr == null || !(brandAttr.selectedIndex > 0 && brandAttr.value == attr);
144
+ });
145
+
146
+ Validation.add('listrak_validate_unique_selection_subcategory_attribute', 'You may select an attribute only once.', function (attr) {
147
+ if (attr == '')
148
+ return true;
149
+
150
+ // make sure neither brand nor category has the same value
151
+ var brandAttr = $('brand_attribute');
152
+ var catAttr = $('categories_category_attribute');
153
+ return ((brandAttr == null || !(brandAttr.selectedIndex > 0 && brandAttr.value == attr)) && !(catAttr.selectedIndex > 0 && catAttr.value == attr));
154
+ });
155
+ //]]>
156
+ </script>
157
+ </fieldset>
158
+ </div>
app/design/adminhtml/default/default/template/listrak/remarketing/productattributes/form/initbrands.phtml CHANGED
@@ -1,59 +1,59 @@
1
- <?php
2
- /**
3
- * Listrak Remarketing Magento Extension Ver. 1.1.5
4
- *
5
- * PHP version 5
6
- *
7
- * @category Listrak
8
- * @package Listrak_Remarketing
9
- * @author Listrak Magento Team <magento@listrak.com>
10
- * @copyright 2013 Listrak Inc
11
- * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
- * @link http://www.listrak.com
13
- * @see Listrak_Remarketing_Block_Adminhtml_Productattributes_Init_Brands
14
- */
15
- ?>
16
- <div class="message">
17
- <div class="mainText">Multiple attribute sets are missing a brand attribute
18
- mapping.
19
- </div>
20
- <div class="note">Please select an attribute from the dropdown to use for the
21
- attribute sets that include the
22
- selected attribute.
23
- </div>
24
- <div class="form">
25
- <?php echo $this->getFormInitScripts() ?>
26
- <?php echo $this->getFormHtml(); ?>
27
- <script type="text/javascript">
28
- bulkassignForm = new varienForm('bulk_form', '');
29
- $('bulkassign_submit').onclick = function () {
30
- bulkassignForm.submit();
31
- };
32
- </script>
33
- <?php echo $this->getFormScripts() ?>
34
- </div>
35
- </div>
36
- <style>
37
- .message {
38
- margin-bottom: 15px !important;
39
- min-height: 23px !important;
40
- padding: 8px 8px 4px 16px !important;
41
- border: 1px solid #FFD967 !important;
42
- background: 10px #FFFBF0 !important;
43
- }
44
-
45
- .mainText {
46
- color: #3D6611 !important;
47
- font-size: 0.95em !important;
48
- font-weight: bold !important;
49
- }
50
-
51
- .note {
52
- color: #777;
53
- font-size: 0.9em !important;
54
- }
55
-
56
- .form {
57
- margin-top: 6px !important;
58
- }
59
  </style>
1
+ <?php
2
+ /**
3
+ * Listrak Remarketing Magento Extension Ver. 1.1.5
4
+ *
5
+ * PHP version 5
6
+ *
7
+ * @category Listrak
8
+ * @package Listrak_Remarketing
9
+ * @author Listrak Magento Team <magento@listrak.com>
10
+ * @copyright 2013 Listrak Inc
11
+ * @license http://s1.listrakbi.com/licenses/magento.txt License For Customer Use of Listrak Software
12
+ * @link http://www.listrak.com
13
+ * @see Listrak_Remarketing_Block_Adminhtml_Productattributes_Init_Brands
14
+ */
15
+ ?>
16
+ <div class="message">
17
+ <div class="mainText">Multiple attribute sets are missing a brand attribute
18
+ mapping.
19
+ </div>
20
+ <div class="note">Please select an attribute from the dropdown to use for the
21
+ attribute sets that include the
22
+ selected attribute.
23
+ </div>
24
+ <div class="form">
25
+ <?php echo $this->getFormInitScripts() ?>
26
+ <?php echo $this->getFormHtml(); ?>
27
+ <script type="text/javascript">
28
+ bulkassignForm = new varienForm('bulk_form', '');
29
+ $('bulkassign_submit').onclick = function () {
30
+ bulkassignForm.submit();
31
+ };
32
+ </script>
33
+ <?php echo $this->getFormScripts() ?>
34
+ </div>
35
+ </div>
36
+ <style>
37
+ .message {
38
+ margin-bottom: 15px !important;
39
+ min-height: 23px !important;
40
+ padding: 8px 8px 4px 16px !important;
41
+ border: 1px solid #FFD967 !important;
42
+ background: 10px #FFFBF0 !important;
43
+ }
44
+
45
+ .mainText {
46
+ color: #3D6611 !important;
47
+ font-size: 0.95em !important;
48
+ font-weight: bold !important;
49
+ }
50
+
51
+ .note {
52
+ color: #777;
53
+ font-size: 0.9em !important;
54
+ }
55
+
56
+ .form {
57
+ margin-top: 6px !important;
58
+ }
59
  </style>
app/design/frontend/base/default/layout/remarketing.xml CHANGED
@@ -1,16 +1,50 @@
1
- <?xml version="1.0"?>
2
- <!--
3
- /**
4
- * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
- */
6
- -->
7
- <layout>
8
- <default>
9
- <reference name="before_body_end">
10
- <block type="remarketing/ecjs" name="remarketing_ecjs"
11
- as="remarketing_ecjs"/>
12
- <block type="remarketing/modal" name="remarketing_modal"
13
- as="remarketing_modal"/>
14
- </reference>
15
- </default>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  </layout>
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Listrak Remarketing Magento Extension Ver. 1.0.0 - Copyright (c) 2011 Listrak, Inc.
5
+ */
6
+ -->
7
+ <layout>
8
+ <default>
9
+ <reference name="before_body_end">
10
+ <block type="remarketing/require_legacy" name="remarketing_legacy_block">
11
+ <block type="remarketing/legacy_ecjs" name="remarketing_ecjs" as="remarketing_ecjs"/>
12
+ <block type="remarketing/legacy_modal" name="remarketing_modal" as="remarketing_modal"/>
13
+ </block>
14
+ <block type="remarketing/require_onescript" name="remarketing_onescript_block" template="remarketing/async_wrapper.phtml">
15
+ <block type="remarketing/tracking_click" name="remarketing_click_tracking" />
16
+ <block type="remarketing/tracking_email" name="remarketing_email_capture" />
17
+ <block type="remarketing/tracking_activity" name="remarketing_activity_tracking" />
18
+ </block>
19
+ <block type="remarketing/tracking_sca" name="remarketing_sca_tracking" template="remarketing/async_wrapper.phtml">
20
+ <action method="setFullPageRendering"><val>true</val></action>
21
+ </block>
22
+ <block type="remarketing/require_onescript" name="remarketing_onescript" template="remarketing/onescript.phtml">
23
+ <action method="setAlwaysRenderTemplate"><val>true</val></action>
24
+ </block>
25
+ <block type="remarketing/require_onescript" name="remarketing_utils" template="remarketing/utils.phtml">
26
+ <action method="setAlwaysRenderTemplate"><val>true</val></action>
27
+ </block>
28
+ </reference>
29
+ </default>
30
+
31
+ <!-- confirmation page -->
32
+ <checkout_multishipping_success>
33
+ <reference name="after_body_start">
34
+ <block type="remarketing/conversion_fingerprint" name="remarketing_fingerprint_image_ms" />
35
+ </reference>
36
+ <reference name="remarketing_onescript_block">
37
+ <block type="remarketing/conversion_order" name="remarketing_conversion_order_ms" />
38
+ <block type="remarketing/conversion_cart" name="remarketing_conversion_cart_ms" />
39
+ </reference>
40
+ </checkout_multishipping_success>
41
+ <checkout_onepage_success>
42
+ <reference name="after_body_start">
43
+ <block type="remarketing/conversion_fingerprint" name="remarketing_fingerprint_image_op" />
44
+ </reference>
45
+ <reference name="remarketing_onescript_block">
46
+ <block type="remarketing/conversion_order" name="remarketing_conversion_order_op" />
47
+ <block type="remarketing/conversion_cart" name="remarketing_conversion_cart_op" />
48
+ </reference>
49
+ </checkout_onepage_success>
50
  </layout>
app/design/frontend/base/default/template/remarketing/async_wrapper.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ 
2
+ <script type="text/javascript">
3
+ (function(d) { if (document.addEventListener) document.addEventListener('ltkAsyncListener', d);
4
+ else {e = document.documentElement; e.ltkAsyncProperty = 0; e.attachEvent('onpropertychange', function (e) {
5
+ if (e.propertyName == 'ltkAsyncProperty'){d();}});}})(function() {
6
+ <?php echo rtrim($this->getScript()); ?>
7
+
8
+ });
9
+ </script>
app/design/frontend/base/default/template/remarketing/onescript.phtml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ 
2
+ <script type="text/javascript">
3
+ (function (d, s, id, url) {
4
+ var js, ljs = d.getElementsByTagName(s)[0];
5
+ if (d.getElementById(id)) return;
6
+ js = d.createElement(s); js.id = id; js.src = url;
7
+ ljs.parentNode.insertBefore(js, ljs);
8
+ })(document, 'script', 'ltkSDK', '<?php echo Mage::helper('remarketing')->onescriptSrc() ?>');
9
+ </script>
app/design/frontend/base/default/template/remarketing/utils.phtml ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 
2
+ <script type="text/javascript">
3
+ Listrak_Remarketing = new function() {
4
+ this.updateCart = function() {
5
+ <?php if (Mage::helper('remarketing')->scaEnabled()) { ?>
6
+ new Ajax.Request('<?php echo Mage::getUrl('remarketing/ajax/cart')?>');
7
+ <?php } ?>
8
+ };
9
+
10
+ this.track = function() {
11
+ <?php if (Mage::helper('remarketing')->scaEnabled()) { ?>
12
+ new Ajax.Request('<?php echo Mage::getUrl('remarketing/ajax/tracking')?>');
13
+ <?php } ?>
14
+ };
15
+ };
16
+ </script>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Listrak_Remarketing</name>
4
- <version>1.1.8</version>
5
  <stability>stable</stability>
6
  <license uri="http://s1.listrakbi.com/licenses/magento.txt">Listrak EULA</license>
7
  <channel>community</channel>
@@ -46,11 +46,14 @@ To make sure your marketing list is always current, all newsletter subscribers a
46
  &#xD;
47
  &lt;p&gt;&lt;b&gt;About Listrak&lt;/b&gt;&lt;br /&gt;&#xD;
48
  Listrak works with online retailers to maximize marketing ROI by helping them reach optimal engagement with their customers. Our focus is on prompting dialog and interaction through email and mobile marketing to increase customer lifetime value.&lt;/p&gt;</description>
49
- <notes>Fixed duplicate session ID issue.</notes>
 
 
 
50
  <authors><author><name>Listrak</name><user>auto-converted</user><email>magento@listrak.com</email></author></authors>
51
- <date>2013-08-07</date>
52
- <time>17:16:01</time>
53
- <contents><target name="magecommunity"><dir name="Listrak"><dir name="Remarketing"><dir name="Block"><dir name="Adminhtml"><dir name="Abandonedcartreport"><file name="Grid.php" hash="40136886343be51aabb16004bae62c0f"/></dir><dir name="Emailcapture"><dir name="Edit"><dir name="Tab"><file name="Form.php" hash="03de7fb256e7b7acd1e149e46bc8a75a"/></dir><file name="Form.php" hash="ec3e084666f6625236b888f679ee05ae"/><file name="Tabs.php" hash="5d3f873074ebb7a29d109784c10dbfd3"/></dir><file name="Edit.php" hash="b60f716de292575504649b46224d6d09"/><file name="Grid.php" hash="b904f2c149c904244b34444cae38eb88"/></dir><dir name="Productattributes"><dir name="Edit"><dir name="Tab"><dir name="Form"><file name="Brand.php" hash="74c68b4b8ea1c1e785257aa4bbeaab09"/><file name="Categories.php" hash="529c82cc102872e4f57570c68e0adf87"/></dir></dir><file name="Form.php" hash="56f7c630820641cb8f12d82e91aea1bf"/><file name="Tabs.php" hash="a735bcf5bd86a67fae4efda97f0fa41a"/></dir><dir name="Init"><dir name="Brands"><file name="Form.php" hash="e83a9e79275f50b0cb3df8da597ad4e2"/></dir><file name="Brands.php" hash="8bf63ec8fdda9cf9bc1b3a9e493c62e8"/></dir><file name="Edit.php" hash="e774d47debad3a91ee06695fc4bd2c26"/><file name="Grid.php" hash="a464e4f72f82f61a80510e19c09b98a0"/></dir><file name="Abandonedcartreport.php" hash="ada17a818a8c0f543a4f6c62e817454b"/><file name="Emailcapture.php" hash="fa12181d06b55d08e7534129ecd4f371"/><file name="Notifications.php" hash="d1d5f8c95716290d60583c4c72ada6f4"/><file name="Productattributes.php" hash="3b27f937512e1d2c01e6786cbc8ceb8f"/></dir><file name="Ecjs.php" hash="1c791b6335b8f8874bc12117287a0b97"/><file name="Modal.php" hash="c8657e3cb06c30e932b9b2631e7e198e"/></dir><dir name="Helper"><dir name="Product"><dir name="Attribute"><dir name="Set"><file name="Map.php" hash="74587e809ea245eaab053cab5b4c8ac5"/></dir></dir></dir><dir name="Review"><file name="Update.php" hash="2b43132557868702c9b0826925da428c"/></dir><file name="Data.php" hash="d971ca9727576d81e6c177608e6917be"/><file name="Product.php" hash="aef5c144ad44d72282ec7877170e0776"/></dir><dir name="Model"><dir name="Abandonedcart"><dir name="Api"><file name="V2.php" hash="00ffd794e4b681008b648b708cb92150"/></dir><file name="Api.php" hash="2ec68fa06ea7c8f87ad2d32052105785"/></dir><dir name="Apiextension"><dir name="Api"><file name="V2.php" hash="f4c04e0182f109bf142fcdc029314f3c"/></dir><file name="Api.php" hash="9c2b166e417fe41b4689db6d3f03a667"/></dir><dir name="Click"><dir name="Api"><file name="V2.php" hash="46247b357cbe65be78625c21f78af51f"/></dir><file name="Api.php" hash="b05137dab038a4f7466ac60e8980a2c0"/></dir><dir name="Log"><dir name="Api"><file name="V2.php" hash="b6c152d27d85b2db1e0ce24b56d38e9f"/></dir><file name="Api.php" hash="8828beb6ef4a1217aa7c4d476819663c"/></dir><dir name="Mysql4"><dir name="Abandonedcart"><file name="Collection.php" hash="d54243b443d4569b666f26d4af4b6c21"/></dir><dir name="Click"><file name="Collection.php" hash="4e426d50bd9039ec6a54d3bcbe56fbb0"/></dir><dir name="Emailcapture"><file name="Collection.php" hash="02be573207405024553d363cd1f51aa0"/></dir><dir name="Log"><file name="Collection.php" hash="9f0597af33ffd65e09ba9fce51f5f0ff"/></dir><dir name="Product"><dir name="Attribute"><dir name="Set"><dir name="Map"><file name="Collection.php" hash="80b7748fec09b135cee605d07e4c62e5"/></dir><file name="Map.php" hash="2e146d91dc174dc9bd8ce96b5fc52483"/></dir></dir></dir><dir name="Review"><dir name="Update"><file name="Collection.php" hash="abbd1594c2ff6218998beaa9411d244f"/></dir><file name="Update.php" hash="19ede3bb0dd78a7f2cac10ae466c1bc0"/></dir><dir name="Session"><file name="Collection.php" hash="93fd53dbdc2a8c5ddb34ea1c0390865b"/></dir><dir name="Subscriberupdate"><file name="Collection.php" hash="a348915e86b7400bdb2f9fb9910f3b45"/></dir><file name="Abandonedcart.php" hash="4b6ee29a824b74fec6810c1aa1c9f62b"/><file name="Apiextension.php" hash="9f1ebf124573901dd15f6101f3a39074"/><file name="Click.php" hash="1b4f106a299611574dbfa958dfc96c6c"/><file name="Emailcapture.php" hash="be122a427584d13e6469ddafc01e55bb"/><file name="Log.php" hash="4729dc9fdf2a812a9243c82cf3a0659a"/><file name="Session.php" hash="a7d1ea065a9042d9aab466a981a3554b"/><file name="Subscriberupdate.php" hash="6eb60180f5a84a05c8b1396f649dcd03"/></dir><dir name="Product"><dir name="Attribute"><dir name="Set"><file name="Map.php" hash="44794eb84ab1f1aa1b6b1fd6d2a45ced"/></dir></dir><dir name="Category"><file name="Source.php" hash="49bb519e75521ad4f5273f1a8306fc0a"/></dir><file name="Attributes.php" hash="1d10e1b56d7dfa4726e25888d36f8611"/></dir><dir name="Review"><dir name="Update"><dir name="Api"><file name="V2.php" hash="37a0b841ea0b575526ef04c2c63fc6fe"/></dir><file name="Api.php" hash="bc4b6cee7769afe1a64ec29683f5b231"/></dir><file name="Update.php" hash="d2bb50a577d4dbd739936e6478e2603b"/></dir><file name="Abandonedcart.php" hash="d731df1be52538c4a08ee3486049430f"/><file name="Apiextension.php" hash="3967cefbb8bb4bffb1c9d6660107fe04"/><file name="Click.php" hash="047b2b5543071a37d8535e067b4a73ba"/><file name="Emailcapture.php" hash="0f733cbfd06586daef5c2f7bb17cb697"/><file name="Log.php" hash="554d1e99cc1c976bfed850c929b122ab"/><file name="Observer.php" hash="494e1f1b9c65a174ec755002faafc01a"/><file name="Session.php" hash="789a8809af2eaae8b9a37231bf89e99c"/><file name="Subscriber.php" hash="eb8b7f41801140579b7f58f63a66c854"/><file name="Subscriberupdate.php" hash="b5d8a6e7e0e2e803f72c8a28bff4b098"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="AbandonedcartreportController.php" hash="30190c05d46c027a095fc5b88a4473ba"/><file name="EmailcaptureController.php" hash="8facd1046802dd5a95148c994dea008d"/><file name="ProductattributesController.php" hash="33df5581af7a1d6cb75b4b390d8e412c"/></dir><file name="CartController.php" hash="ce6f10e325a646bcbced8fafaa646418"/><file name="ConfigController.php" hash="e2a8e5c4fa4aec9c9da924fea681f36c"/><file name="EmailController.php" hash="981a5f70785b332cd5d0823fa34254d0"/><file name="TroubleshootingController.php" hash="cf13b1319d5eca6c86e0f0f6c863678f"/></dir><dir name="etc"><file name="adminhtml.xml" hash="bfd29a447658ff83a1df77d305f6c125"/><file name="api.xml" hash="ba5fe70e1084bc7dbdc8ca15b25ed958"/><file name="config.xml" hash="a8b937d25a656cfa1da2ed807d0ec412"/><file name="system.xml" hash="69fd27ef41d804213e33f7e887e853d8"/><file name="wsdl.xml" hash="8e572ffb0e404da799380f0a096073f2"/><file name="wsi.xml" hash="4b550ffc19dbd05419871f5b9c01d423"/></dir><dir name="sql"><dir name="listrak_remarketing_setup"><file name="mysql4-install-1.0.0.php" hash="97ff43fccf948969c539b0d8618fe77f"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="adcb8ac59dcb86c44aeb4d79a5529e31"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="de98367400f3d5d77b3a4622cb87275d"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="1962c9ca9337a8ab6e97f0bdbc5df088"/><file name="mysql4-upgrade-1.1.3-1.1.4.php" hash="1a3d6deb0a4358f4b2593c54360e1cd8"/><file name="mysql4-upgrade-1.1.4-1.1.5.php" hash="f4f265d29d27d1486a80d1d5f820d441"/><file name="mysql4-upgrade-1.1.5-1.1.6.php" hash="eaa1104f5a74d3c55fdd01c8cef5374f"/><file name="mysql4-upgrade-1.1.6-1.1.7.php" hash="97a23595bab47c7cd6af9afc45edea17"/><file name="mysql4-upgrade-1.1.7-1.1.8.php" hash="d23453bb646bd83d3d3f028c1efb0b28"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="remarketing.xml" hash="54fa6221639f1c81476306484a842c38"/></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="remarketing.xml" hash="9c98437a6e02c083407fdf36c3e3d4a1"/></dir><dir name="template"><dir name="listrak"><dir name="remarketing"><dir name="productattributes"><dir name="form"><file name="categories.phtml" hash="b0bde2e0e93b3a0cf6eab3dc8dc5fb2e"/><file name="initbrands.phtml" hash="0350e9f1a41c60872ee070dc97083439"/></dir></dir><file name="productattributes.phtml" hash="01f12416a562f757457f19492e623a29"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Listrak_Remarketing.xml" hash="63082a312f4668561da45ccd445a862b"/></dir></target></contents>
54
  <compatible/>
55
  <dependencies/>
56
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Listrak_Remarketing</name>
4
+ <version>1.1.9.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://s1.listrakbi.com/licenses/magento.txt">Listrak EULA</license>
7
  <channel>community</channel>
46
  &#xD;
47
  &lt;p&gt;&lt;b&gt;About Listrak&lt;/b&gt;&lt;br /&gt;&#xD;
48
  Listrak works with online retailers to maximize marketing ROI by helping them reach optimal engagement with their customers. Our focus is on prompting dialog and interaction through email and mobile marketing to increase customer lifetime value.&lt;/p&gt;</description>
49
+ <notes>Browse tracking functionality.&#xD;
50
+ Session tracking improvements.&#xD;
51
+ Catalog retrieval improvements.&#xD;
52
+ Cart recreate improvements.</notes>
53
  <authors><author><name>Listrak</name><user>auto-converted</user><email>magento@listrak.com</email></author></authors>
54
+ <date>2015-03-30</date>
55
+ <time>14:14:14</time>
56
+ <contents><target name="magecommunity"><dir name="Listrak"><dir name="Remarketing"><dir name="Block"><dir name="Adminhtml"><dir name="Emailcapture"><dir name="Edit"><dir name="Tab"><file name="Form.php" hash="03de7fb256e7b7acd1e149e46bc8a75a"/></dir><file name="Form.php" hash="ec3e084666f6625236b888f679ee05ae"/><file name="Tabs.php" hash="5d3f873074ebb7a29d109784c10dbfd3"/></dir><file name="Edit.php" hash="b60f716de292575504649b46224d6d09"/><file name="Grid.php" hash="b904f2c149c904244b34444cae38eb88"/></dir><dir name="Productattributes"><dir name="Edit"><dir name="Tab"><dir name="Form"><file name="Brand.php" hash="74c68b4b8ea1c1e785257aa4bbeaab09"/><file name="Categories.php" hash="529c82cc102872e4f57570c68e0adf87"/></dir></dir><file name="Form.php" hash="56f7c630820641cb8f12d82e91aea1bf"/><file name="Tabs.php" hash="a735bcf5bd86a67fae4efda97f0fa41a"/></dir><dir name="Init"><dir name="Brands"><file name="Form.php" hash="e83a9e79275f50b0cb3df8da597ad4e2"/></dir><file name="Brands.php" hash="8bf63ec8fdda9cf9bc1b3a9e493c62e8"/></dir><file name="Edit.php" hash="e774d47debad3a91ee06695fc4bd2c26"/><file name="Grid.php" hash="a464e4f72f82f61a80510e19c09b98a0"/></dir><file name="Emailcapture.php" hash="fa12181d06b55d08e7534129ecd4f371"/><file name="Notifications.php" hash="d1d5f8c95716290d60583c4c72ada6f4"/><file name="Productattributes.php" hash="3b27f937512e1d2c01e6786cbc8ceb8f"/></dir><dir name="Conversion"><file name="Abstract.php" hash="91bab6ad58c72008a6c2e1beb8713aa5"/><file name="Cart.php" hash="2c3ccc919286f473c2144a58a9c8bb83"/><file name="Fingerprint.php" hash="63bd2fb001809b886cd21fb1439fa416"/><file name="Order.php" hash="e3fd1e2bdaa8fb58e0727cf5f542eadc"/></dir><dir name="Legacy"><file name="Ecjs.php" hash="1c3e2e0b3a20811a84e5ac0532a799d8"/><file name="Modal.php" hash="c38f33f50aa073f1d0cc07b5110a68ac"/></dir><dir name="Require"><file name="Activity.php" hash="57938fe6fa15a200ec603462945a4ff2"/><file name="Legacy.php" hash="fb0aef1f56f9c11d55e052d562c786f3"/><file name="Onescript.php" hash="29442f56f7fd82835c3addab236c1e1c"/><file name="Sca.php" hash="1049bfb1b2f1e0b155f1adb561a72be6"/></dir><dir name="Tracking"><file name="Activity.php" hash="3c8d7d1dea5ef7e1a418f952982c291d"/><file name="Click.php" hash="9420ff3ba4367164908adc2c803e523e"/><file name="Email.php" hash="7b62ee2823e71cf0002a972576be0a13"/><file name="Sca.php" hash="ec56b127dbe85a34e2966fcc766562cb"/></dir><file name="Base.php" hash="d2adc523e1cf1c0c598cbad958bd236a"/></dir><dir name="Helper"><dir name="Product"><dir name="Attribute"><dir name="Set"><file name="Map.php" hash="74587e809ea245eaab053cab5b4c8ac5"/></dir></dir></dir><dir name="Review"><file name="Update.php" hash="2b43132557868702c9b0826925da428c"/></dir><file name="Data.php" hash="3508288a3a83ef2af456c8c73917ee56"/><file name="Product.php" hash="9b6d290870b27ccd6af8800519659ec5"/></dir><dir name="Model"><dir name="Abandonedcart"><dir name="Api"><file name="V2.php" hash="00ffd794e4b681008b648b708cb92150"/></dir><file name="Api.php" hash="d14a38e07929230a034cf9ce6d55a1fc"/></dir><dir name="Apiextension"><dir name="Api"><file name="V2.php" hash="f4c04e0182f109bf142fcdc029314f3c"/></dir><file name="Api.php" hash="00c6758776587be1707651cede44b278"/></dir><dir name="Cache"><file name="Sca.php" hash="8da2873971aae723872ce5138c7a4838"/></dir><dir name="Click"><dir name="Api"><file name="V2.php" hash="46247b357cbe65be78625c21f78af51f"/></dir><file name="Api.php" hash="f91354214b431e1f76cdc91daeb02c4c"/></dir><dir name="Log"><dir name="Api"><file name="V2.php" hash="b6c152d27d85b2db1e0ce24b56d38e9f"/></dir><file name="Api.php" hash="8828beb6ef4a1217aa7c4d476819663c"/></dir><dir name="Mysql4"><dir name="Abandonedcart"><file name="Collection.php" hash="d54243b443d4569b666f26d4af4b6c21"/></dir><dir name="Click"><file name="Collection.php" hash="4e426d50bd9039ec6a54d3bcbe56fbb0"/></dir><dir name="Emailcapture"><file name="Collection.php" hash="02be573207405024553d363cd1f51aa0"/></dir><dir name="Log"><file name="Collection.php" hash="9f0597af33ffd65e09ba9fce51f5f0ff"/></dir><dir name="Product"><dir name="Attribute"><dir name="Set"><dir name="Map"><file name="Collection.php" hash="80b7748fec09b135cee605d07e4c62e5"/></dir><file name="Map.php" hash="2e146d91dc174dc9bd8ce96b5fc52483"/></dir></dir></dir><dir name="Review"><dir name="Update"><file name="Collection.php" hash="abbd1594c2ff6218998beaa9411d244f"/></dir><file name="Update.php" hash="19ede3bb0dd78a7f2cac10ae466c1bc0"/></dir><dir name="Session"><file name="Collection.php" hash="93fd53dbdc2a8c5ddb34ea1c0390865b"/></dir><dir name="Subscriberupdate"><file name="Collection.php" hash="a348915e86b7400bdb2f9fb9910f3b45"/></dir><file name="Abandonedcart.php" hash="1d51e3f43c055255d37b8395357f0764"/><file name="Apiextension.php" hash="9f1ebf124573901dd15f6101f3a39074"/><file name="Click.php" hash="1b4f106a299611574dbfa958dfc96c6c"/><file name="Emailcapture.php" hash="be122a427584d13e6469ddafc01e55bb"/><file name="Log.php" hash="4729dc9fdf2a812a9243c82cf3a0659a"/><file name="Session.php" hash="a7d1ea065a9042d9aab466a981a3554b"/><file name="Subscriberupdate.php" hash="6eb60180f5a84a05c8b1396f649dcd03"/></dir><dir name="Product"><dir name="Api"><file name="V2.php" hash="86a66a07f3e20d744f64c56d133cfbb9"/></dir><dir name="Attribute"><dir name="Set"><file name="Map.php" hash="44794eb84ab1f1aa1b6b1fd6d2a45ced"/></dir></dir><dir name="Category"><file name="Source.php" hash="49bb519e75521ad4f5273f1a8306fc0a"/></dir><dir name="Purchasable"><file name="Visibility.php" hash="f0cb0ec0411347f3b777592eaa5f6181"/></dir><file name="Api.php" hash="74ddc3ecb4af61280f9516e3be4c1556"/><file name="Attributes.php" hash="1d10e1b56d7dfa4726e25888d36f8611"/></dir><dir name="Review"><dir name="Update"><dir name="Api"><file name="V2.php" hash="37a0b841ea0b575526ef04c2c63fc6fe"/></dir><file name="Api.php" hash="6fe750f995c8145aaa6072872a6e5839"/></dir><file name="Update.php" hash="d2bb50a577d4dbd739936e6478e2603b"/></dir><file name="Abandonedcart.php" hash="d731df1be52538c4a08ee3486049430f"/><file name="Apiextension.php" hash="3967cefbb8bb4bffb1c9d6660107fe04"/><file name="Click.php" hash="047b2b5543071a37d8535e067b4a73ba"/><file name="Emailcapture.php" hash="0f733cbfd06586daef5c2f7bb17cb697"/><file name="Log.php" hash="554d1e99cc1c976bfed850c929b122ab"/><file name="Observer.php" hash="2bb3d975cc70ae3148f6a3634d57bd6c"/><file name="Session.php" hash="3e6261f9cd95a6523cb44e56f4c92cfd"/><file name="Subscriber.php" hash="eb8b7f41801140579b7f58f63a66c854"/><file name="Subscriberupdate.php" hash="b5d8a6e7e0e2e803f72c8a28bff4b098"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="AbandonedcartreportController.php" hash="30190c05d46c027a095fc5b88a4473ba"/><file name="EmailcaptureController.php" hash="8facd1046802dd5a95148c994dea008d"/><file name="ProductattributesController.php" hash="33df5581af7a1d6cb75b4b390d8e412c"/></dir><file name="AjaxController.php" hash="76a4e0bb99c7a84172f826fe5bb92a05"/><file name="CartController.php" hash="48b83f136e93ed9d0adc57bbc2c7fd59"/><file name="ConfigController.php" hash="f57183b58036815da7eaa557fcef944c"/><file name="EmailController.php" hash="981a5f70785b332cd5d0823fa34254d0"/><file name="TroubleshootingController.php" hash="cf13b1319d5eca6c86e0f0f6c863678f"/></dir><dir name="etc"><file name="adminhtml.xml" hash="cdea6da6f2e806cbaa85259b241a92b4"/><file name="api.xml" hash="3d4f2b7486c21f4e8a10316d1e167bf1"/><file name="cache.xml" hash="54e65d484807b3ca62ab1efdada4ced2"/><file name="config.xml" hash="b9ca07edf42347f8a94427434586f5e9"/><file name="system.xml" hash="50af45b64a41b740dfc92581d0948766"/><file name="wsdl.xml" hash="844a40c62ac578ccf86b3245b3c5c6be"/><file name="wsi.xml" hash="3f45fdac125d4caba1b6aa15c1339f74"/></dir><dir name="sql"><dir name="listrak_remarketing_setup"><file name="mysql4-install-1.0.0.php" hash="b717cc55a937eb1241efe38a38b3dd1c"/><file name="mysql4-install-1.1.9.php" hash="846ddc4cbcc4ff54e42a8b28cbe883a6"/><file name="mysql4-upgrade-1.0.0-1.0.1.php" hash="adcb8ac59dcb86c44aeb4d79a5529e31"/><file name="mysql4-upgrade-1.0.8-1.0.9.php" hash="de98367400f3d5d77b3a4622cb87275d"/><file name="mysql4-upgrade-1.1.0-1.1.1.php" hash="1962c9ca9337a8ab6e97f0bdbc5df088"/><file name="mysql4-upgrade-1.1.3-1.1.4.php" hash="1a3d6deb0a4358f4b2593c54360e1cd8"/><file name="mysql4-upgrade-1.1.4-1.1.5.php" hash="f4f265d29d27d1486a80d1d5f820d441"/><file name="mysql4-upgrade-1.1.5-1.1.6.php" hash="eaa1104f5a74d3c55fdd01c8cef5374f"/><file name="mysql4-upgrade-1.1.6-1.1.7.php" hash="97a23595bab47c7cd6af9afc45edea17"/><file name="mysql4-upgrade-1.1.7-1.1.8.php" hash="1f402652d7715a9e7db8c264d4c67c46"/><file name="mysql4-upgrade-1.1.8-1.1.9.php" hash="11dbb40a1ceaf0ff64d1a778d03114cc"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="remarketing.xml" hash="f2442f57ca7aada33af17ef8fe763dff"/></dir><dir name="template"><dir name="remarketing"><file name="async_wrapper.phtml" hash="131528d3e0bc654416a0fba97d866704"/><file name="onescript.phtml" hash="f47365d62611a25fb9edab4e537bf3c4"/><file name="utils.phtml" hash="6c1c2312acf13cc9ccd16348ff71c2b7"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="remarketing.xml" hash="d8065af171ca34e334f29d506217cd65"/></dir><dir name="template"><dir name="listrak"><dir name="remarketing"><dir name="productattributes"><dir name="form"><file name="categories.phtml" hash="dc4313b519c4981538d524749c955789"/><file name="initbrands.phtml" hash="64eb3bd86b40fa6d9fcdf451cca56b34"/></dir></dir><file name="productattributes.phtml" hash="fad54db289cbc4fe113419ccfb9d3ab0"/></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Listrak_Remarketing.xml" hash="63082a312f4668561da45ccd445a862b"/></dir></target></contents>
57
  <compatible/>
58
  <dependencies/>
59
  </package>