zaius / zaius-magento-1
适用于 Magento 1 的 Zaius Engage 连接器。此模块目前处于测试阶段,因此不建议在生产环境中使用。
Requires
- magento-hackathon/magento-composer-installer: ^3.2
- zaius/zaius-php-sdk: 1.0.0-beta.2
This package is auto-updated.
Last update: 2024-09-20 09:36:51 UTC
README
使用 Zaius Magento 1 连接器直接将 Zaius 集成到您的 Magento 实例中。
入门指南
以下说明将帮助您在本地机器上复制项目并运行,用于开发和测试。有关如何在实时系统上部署项目的说明,请参阅部署。
先决条件
- Magento 1 "^1.9.x"
- PHP 5 >= 5.5.0, PHP 7
- (可选) Composer
安装
Composer
到目前为止,安装和维护 Zaius Magento 1 连接器最快、最简单的方法是使用 Composer。不幸的是,由于 Magento 1 在 Composer 之前构建,因此默认不支持它。但是,使 composer 和 Magneto 1 一起工作很容易。要安装 Composer,需要能够访问服务器的命令行。
cd ~ curl -sS https://composer.php.ac.cn/installer -o composer-setup.php sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
要测试安装,请运行
composer
Composer 已全局安装在您的服务器上。
要使用 composer 安装 Zaius Magento 1 连接器,可以将文件 composer.json.example 放入您的 Magento 1 根目录中(不包含 .example 扩展名)。
如果您已经有了 composer.json 文件,请从 composer.json.example 中添加所需的库。
一旦记下这些要求,安装 Zaius Magento 1 连接器就像在您的 Magento 实例根目录中运行简单命令一样简单
composer install
这将下载 Composer 与 Magento 1 一起工作的必要文件,以及 Zaius Magento 1 连接器和 Zaius PHP SDK。
ZIP
- 从 Git 下载 Zaius Magento 1 模块存档: https://github.com/ZaiusInc/zaius-magento-1/archive/master.zip
- 将 ZIP 文件的内容提取到 <MAGENTO_ROOT>/<extract_here>。
在正确的目录结构中,您将在 <MAGENTO_ROOT>/app/code/community/Zaius 中找到 Zaius Magento 1 连接器文件。
设置连接器
第一部分:设置 SOAP 角色 & 用户
imTLBMb8R8CmhcwZTeig_Screen%2520Shot%25202016-04-07%2520at%25208.53.34%2520AM.png
为了使用 Zaius 与 Magento,必须创建具有 SOAP API 权限的用户。
- 从 系统 下拉菜单,转到 Web Services -> SOAP/XML-RPC Roles 子菜单。
- 在右上角点击 添加新角色。a. 输入角色的名称,例如
zaius_engage。b. 点击左侧菜单中的 角色资源。c. 勾选Zaius Engage旁边的框。这将启用此 SOAP 用户的所有 Zaius Engage API 方法。 d. 在左侧菜单中返回到 角色信息,并在提供的框中输入 当前管理员密码。e. 在右上角点击 保存角色。 - 从 系统 下拉菜单,转到 Web Services -> SOAP/XML-RPC Users 子菜单。
- 点击右上角的添加新用户。a. 填写必要的字段。 用户名: 创建一个简单的用户名;例如
zaius_engage。 API密钥: 为用户名创建一个用于验证的'密码';例如password123。 b. 点击左侧菜单中的用户角色。 c. 为新的SOAP用户选择适当的角色。在我们的例子中是zaius_engage。 d. 在右上角点击保存用户。
指定的用户名和API密钥将提供给Zaius,以启用集成。
第二部分:与Zaius集成
在Zaius的集成界面中,将用户名、API密钥和服务器URL端点输入到发现框中。API URL通常形式为:“http://your-magento-server/api/v2_soap?wsdl=1”
9J9L6X4YR6WrU3Wkd4wo_Screen%2520Shot%25202016-04-12%2520at%252011.55.19%2520AM.png
第三部分:配置Zaius Engage
Zaius Engage
- 跟踪标识符:发送数据到的Zaius跟踪标识符。
- 购物车放弃密钥:这是一个用于对购物车放弃活动中的链接信息进行编码的密值。一旦设置,不应更改。这是一个随机字符串,您需要输入,而不是Zaius提供的。
- 全局ID前缀
- Zaius新闻通讯列表ID
- 使用Magento客户ID
- 跟踪产品列表查看
- 跟踪前端订单
- 收集所有产品属性
- 报告货币
Zaius模式更新
- 更新模式:更新三个表(
catalog_product_entity_media_gallery、newsletter_subscriber、salesrule_coupon)的Magento数据库模式,以允许处理可能未被Magento观察者捕获的记录。
Zaius本地化
- 本地化:启用本地化将为发送到Zaius的事件提供本地化的store_view数据。
许多Magento网站支持多种语言/货币代码组合,并为每个组合创建一个单独的store_view。Zaius已添加对此工作流程的支持。
在Zaius Engage模块中的Zaius本地化功能为这类网站提供支持。该功能自动检测配置为本地化的store_views,并发送额外的本地化版本的产品。这些产品提供了生成动态产品网格所需的所有信息,即使显示的产品不是客户明确交互的产品。
目前此功能处于测试阶段,这意味着Zaius支持团队必须在Zaius平台上进行某些更新,以充分利用此功能。请在初始化此功能之前与您的CSM协商以进行这些更改。
- 导航到Zaius Engage配置页面。
- 在Zaius本地化面板中,将启用/禁用下拉菜单切换到“启用”。
Zaius批量更新
- 周期性批量更新:启用批量更新后,错过的事件将在计划好的cron间隔内发送到Zaius。
许多Magento网站有各种后端进程,直接运行SQL插入和更新,特别是ERP。当通过直接SQL修改Magento数据库时,Magento的观察者不知道有更新要通知其他技术(如Zaius)。这可能导致这些技术与Magento数据集不同步。
为了解决这个问题,Zaius在Magento中构建了一个批量更新模块。此功能导致Magento定期检查数据库,以找到自上次扫描以来已更新的产品、客户和订单。
- 导航到Zaius Engage配置页面。
- 在Zaius模式更新面板中,点击“运行它!”进行必要的修改,以便批量过程知道哪些条目需要同步。这向Zaius同步的数据库表添加了两个列,zaius_created_at和zaius_updated_at。
- 在Zaius批量更新面板中,修改Crontab行以指示您希望更新执行的频率。更频繁的更新意味着每个更新处理时间更短,但每次我们计划更新时,都会在数据库中运行一个小查询,以确定是否有需要同步的内容。Zaius建议使用高频率更新(例如“*/5 * * * *”表示每5分钟更新一次)或在不繁忙的时间进行每日批量更新(例如“0 1 * * *”表示在您的Magento服务器时钟指示的凌晨1点)。
- 确保将“启用/禁用”选项设置为“启用”。
Zaius双确认
- Zaius Engage支持双确认工作流的新选项。要启用此选项,请确保在Zaius Engage配置中设置“提交事件以状态不活动”选项。
- 启用“提交事件以状态不活动”选项后,订阅状态为2(“不活动”)的新用户将触发一个“newsletters”事件,操作为“email_submitted”。
- 用户可以配置一个由事件触发的活动,允许用户确认订阅,并使用该活动的参与度作为其定期发送的过滤器。您的Zaius CSM可以帮助您设置此操作。
第4部分:在Zaius中运行批量导入
Zaius支持通过CSV文件批量导入客户和产品数据。
可以直接从应用程序上传CSV文件。要上传CSV文件,请转到Cog(管理)->(数据管理)->集成->上传CSV。
第5部分:使用事件检查器
一旦事件被发送到Zaius的API,您可以通过Zaius UI中的事件检查器确认Zaius是否收到您的数据,并查看Zaius收到哪些数据。
要访问事件检查器,请转到Cog(管理)->事件检查器。
- 点击“开始检查器”。您的API调用现在将被记录并在UI中通过点击“刷新”可见。
客户端测试常规操作
为了测试连接器,建议客户在完成以上步骤并设置连接器后尝试以下操作。
前端测试
- 在您的Magento商店中创建(或登录)一个客户账户。
- 在您的账户设置中更新您的地址。
- 在您的账户设置中订阅(或取消订阅)时事通讯。
- 在登录状态下,导航到商店中的产品,并将其添加到购物车。
- 将您想添加到购物车中的产品数量添加到购物车。
- 将产品添加到您的愿望清单。
- 导航到您的购物车。如果您购物车中有多个商品,请移除一个商品。
- 对购物车中的商品进行测试购买。
后端测试
- 创建一个新商品。
- 更新现有商品。
- 创建一个订单。
- 退款订单。
- 取消订单。
以上列出的每个事件都会触发Zaius的更新。
Zaius Engage事件
全局事件
前端事件
Adminhtml事件
API方法和选项
所有API方法接受limit & offset选项
Limit: 允许您限制返回负载中的结果数量。
Offset: 允许您偏移返回负载中的结果。如果我们只想返回16条以上的记录,请设置"offset" => 15。
$jsonOpts = array( "sessionId" => $sessionId, "jsonOpts" => json_encode(array( "limit" => 5, "offset" => 0 )) );
locales
响应
array(1) { ["locales"]=> array(2) { ["french"]=> array(5) { ["label"]=> string(15) "French (France)" ["code"]=> string(5) "fr_FR" ["currency_symbol"]=> string(3) "€" ["currency_code"]=> string(3) "EUR" ["base_url"]=> string(18) "http://zaius.mage/" } ["german"]=> array(5) { ["label"]=> string(16) "German (Germany)" ["code"]=> string(5) "de_DE" ["currency_symbol"]=> string(3) "€" ["currency_code"]=> string(3) "EUR" ["base_url"]=> string(18) "http://zaius.mage/" } } }
客户
请求
方法
zaiusEngageCustomers();
请求
$jsonOpts = array( "sessionId" => $sessionId, "jsonOpts" => json_encode(array( "updated_at" => "2018-01-01", "created_at" => "2018-01-01", "id" => 1, "email" => "email@example.com", "limit" => 5, "offset" => 0 )) );
响应
array(1) { [0]=> array(2) { ["type"]=> string(8) "customer" ["data"]=> array(13) { ["email"]=> string(16) "jack@example.com" ["first_name"]=> string(4) "Jack" ["last_name"]=> string(4) "Fitz" ["subscribed"]=> bool(false) ["customer_id"]=> string(2) "24" ["street1"]=> string(13) "7 N Willow St" ["street2"]=> string(0) "" ["city"]=> string(9) "Montclair" ["state"]=> string(10) "New Jersey" ["zip"]=> string(5) "07042" ["country"]=> string(2) "US" ["phone"]=> string(12) "222-555-4190" ["zaius_engage_version"]=> array(1) { [0]=> string(6) "0.13.1" } } }
产品
请求
方法
zaiusEngageProducts();
请求
$jsonOpts = array( "sessionId" => $sessionId, "jsonOpts" => json_encode(array( "updated_at" => "2018-01-01", "created_at" => "2018-01-01", "type_id" => "simple", "store_view_code" => "french", "synthetic_upsert_default" => true, "append_store_view_code" => true, "product_id" => 240, "sku" => "mtk000", "limit" => 5, "offset" => 0 )) );
append_store_view_code必须包含,并且当synthetic_upsert_default包含并设置为true时,应将其设置为true。
响应
array(1) { [0]=> array(2) { ["type"]=> string(7) "product" ["data"]=> array(12) { ["product_id"]=> string(3) "231" ["product_url"]=> string(56) "http://zaius.mage/index.php/catalog/product/view/id/231/" ["name"]=> string(31) "French Cuff Cotton Twill Oxford" ["sku"]=> string(6) "msj000" ["description"]=> string(126) "Made with wrinkle resistant cotton twill, this French-cuffed luxury dress shirt is perfect for Business Class frequent flyers." ["image_url"]=> string(52) "http://zaius.mage/media/catalog/product/no_selection" ["category"]=> string(31) "Default Category > Men > Shirts" ["price"]=> string(8) "190.0000" ["qty"]=> string(7) "15.0000" ["is_in_stock"]=> string(1) "1" ["parent_product_id"]=> string(3) "402" ["zaius_engage_version"]=> array(1) { [0]=> string(6) "0.13.1" } } }
订单
请求
方法
zaiusEngageOrders();
请求
$jsonOpts = array( "sessionId" => $sessionId, "jsonOpts" => json_encode(array( "updated_at" => "2018-01-01", "created_at" => "2018-01-01", "refund" => true, "cancel" => true, "id" => 123, "entity_id" => 123, "customer_id" => 123, "email" => "example@email.com" )) );
响应
array(1) { [0]=> array(2) { ["type"]=> string(5) "order" ["data"]=> array(11) { ["action"]=> string(8) "purchase" ["ts"]=> int(1363287694) ["ip"]=> string(15) "216.113.168.131" ["ua"]=> string(0) "" ["order"]=> array(21) { ["order_id"]=> string(9) "100000049" ["total"]=> string(8) "823.4500" ["subtotal"]=> string(8) "750.0000" ["coupon_code"]=> NULL ["discount"]=> int(0) ["tax"]=> string(7) "61.8800" ["shipping"]=> string(7) "11.5700" ["currency"]=> string(3) "USD" ["native_total"]=> string(8) "823.4500" ["native_subtotal"]=> string(8) "750.0000" ["native_discount"]=> int(0) ["native_tax"]=> string(7) "61.8800" ["native_shipping"]=> string(7) "11.5700" ["native_currency"]=> NULL ["bill_address"]=> string(68) "10441 Jefferson Blvd., Suite 200, Culver City, California, 90232, US" ["email"]=> string(15) "mosses@ebay.com" ["phone"]=> string(10) "3105551212" ["first_name"]=> string(6) "Mosses" ["last_name"]=> string(7) "Akizian" ["ship_address"]=> string(68) "10441 Jefferson Blvd., Suite 200, Culver City, California, 90232, US" ["items"]=> array(1) { [0]=> array(9) { ["product_id"]=> string(3) "377" ["subtotal"]=> string(8) "750.0000" ["sku"]=> string(6) "abl007" ["quantity"]=> string(6) "1.0000" ["price"]=> string(8) "750.0000" ["discount"]=> int(0) ["native_subtotal"]=> string(8) "750.0000" ["native_price"]=> string(8) "750.0000" ["native_discount"]=> int(0) } } } ["magento_website"]=> string(12) "Main Website" ["magento_store"]=> string(14) "Madison Island" ["magento_store_view"]=> string(7) "English" ["store_view_code"]=> string(7) "default" ["email"]=> string(15) "mosses@ebay.com" ["zaius_engage_version"]=> array(1) { [0]=> string(6) "0.13.1" } } }
创建优惠券
请求
方法
zaiusEngageCreateCoupons();
请求
$jsonOpts = array( "sessionId" => $sessionId, "jsonOpts" => json_encode(array( "rule_id" => 1, "format" => "alphanum", "qty" => 12, "length" => 12, "delimiter" => "", "dash" => "", "prefix" => "prefix", "suffix" => "suffix" )) );
响应
array(2) { ["type"]=> string(6) "coupon" ["data"]=> array(2) { ["zaius_engage_version"]=> string(6) "0.13.1" ["codes"]=> array(1) { [0]=> string(12) "DSTXKP2I567N" } } }
订阅者
请求
方法
zaiusEngageSubscribers();
请求
$jsonOpts = array( "sessionId" => $sessionId, "jsonOpts" => json_encode(array( "updated_at" => "2018-01-01", "created_at" => "2018-01-01" )) );
响应
array(1) { [0]=> array(2) { ["type"]=> string(10) "subscriber" ["data"]=> array(5) { ["email"]=> string(18) "mickey@example.com" ["list_id"]=> string(18) "default_newsletter" ["subscribed"]=> bool(true) ["ts"]=> string(19) "2018-05-21 09:48:23" ["zaius_engage_version"]=> array(1) { [0]=> string(6) "0.13.1" } } }
配置
请求
方法
zaiusEngageConfiguration();
请求
$jsonOpts = array( "jsonOpts" => json_encode(array( "zaius_tracking_id" => "RanDOmZaIus-tRAcKinGiD" )) );
响应
array(3) { ["default"]=> array(7) { ["wsi_enabled"]=> bool(true) ["magento_fpc_enabled"]=> bool(false) ["magento_edition"]=> string(9) "Community" ["magento_version"]=> string(7) "1.9.3.9" ["zaius_engage_version"]=> string(6) "0.13.1" ["zaius_engage_enabled"]=> bool(true) ["config"]=> array(3) { ["zaius_config"]=> array(8) { ["zaius_newsletter_list_id"]=> string(10) "newsletter" ["track_orders_on_frontend"]=> string(1) "1" ["track_product_listings"]=> string(1) "0" ["use_magento_customer_id"]=> string(1) "1" ["tracking_id"]=> string(22) "piUzfdlpdHM-rtbS6OpeCQ" ["global_id_prefix"]=> string(0) "" ["collect_all_product_attributes"]=> string(1) "0" ["reported_currency"]=> string(1) "0" } ["zaius_cron"]=> array(2) { ["active"]=> string(1) "0" ["cron_settings"]=> string(11) "*/5 * * * *" } ["zaius_localizations"]=> array(1) { ["locale_toggle"]=> string(1) "0" } } } ["french"]=> array(7) { ["magento_fpc_enabled"]=> bool(false) ["magento_edition"]=> string(9) "Community" ["wsi_enabled"]=> bool(true) ["magento_version"]=> string(7) "1.9.3.9" ["zaius_engage_version"]=> string(6) "0.13.1" ["zaius_engage_enabled"]=> bool(true) ["config"]=> array(3) { ["zaius_config"]=> array(8) { ["zaius_newsletter_list_id"]=> string(10) "newsletter" ["track_orders_on_frontend"]=> string(1) "1" ["track_product_listings"]=> string(1) "0" ["use_magento_customer_id"]=> string(1) "1" ["tracking_id"]=> string(22) "piUzfdlpdHM-rtbS6OpeCQ" ["global_id_prefix"]=> string(0) "" ["collect_all_product_attributes"]=> string(1) "0" ["reported_currency"]=> string(1) "0" } ["zaius_cron"]=> array(2) { ["active"]=> string(1) "0" ["cron_settings"]=> string(11) "*/5 * * * *" } ["zaius_localizations"]=> array(1) { ["locale_toggle"]=> string(1) "0" } } } ["german"]=> array(7) { ["magento_fpc_enabled"]=> bool(false) ["magento_edition"]=> string(9) "Community" ["wsi_enabled"]=> bool(true) ["magento_version"]=> string(7) "1.9.3.9" ["zaius_engage_version"]=> string(6) "0.13.1" ["zaius_engage_enabled"]=> bool(true) ["config"]=> array(3) { ["zaius_config"]=> array(8) { ["zaius_newsletter_list_id"]=> string(10) "newsletter" ["track_orders_on_frontend"]=> string(1) "1" ["track_product_listings"]=> string(1) "0" ["use_magento_customer_id"]=> string(1) "1" ["tracking_id"]=> string(22) "piUzfdlpdHM-rtbS6OpeCQ" ["global_id_prefix"]=> string(0) "" ["collect_all_product_attributes"]=> string(1) "0" ["reported_currency"]=> string(1) "0" } ["zaius_cron"]=> array(2) { ["active"]=> string(1) "0" ["cron_settings"]=> string(11) "*/5 * * * *" } ["zaius_localizations"]=> array(1) { ["locale_toggle"]=> string(1) "0" } } } }