zaius/zaius-magento-1

适用于 Magento 1 的 Zaius Engage 连接器。此模块目前处于测试阶段,因此不建议在生产环境中使用。

安装: 0

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 7

分支: 0

开放问题: 0

类型:magento-module

1.0.0-beta.1 2019-03-05 23:49 UTC

This package is auto-updated.

Last update: 2024-09-20 09:36:51 UTC


README

使用 Zaius Magento 1 连接器直接将 Zaius 集成到您的 Magento 实例中。

入门指南

以下说明将帮助您在本地机器上复制项目并运行,用于开发和测试。有关如何在实时系统上部署项目的说明,请参阅部署。

先决条件

  1. Magento 1 "^1.9.x"
  2. PHP 5 >= 5.5.0, PHP 7
  3. (可选) 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

  1. 从 Git 下载 Zaius Magento 1 模块存档: https://github.com/ZaiusInc/zaius-magento-1/archive/master.zip
  2. 将 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 权限的用户。

  1. 系统 下拉菜单,转到 Web Services -> SOAP/XML-RPC Roles 子菜单。
  2. 在右上角点击 添加新角色。a. 输入角色的名称,例如 zaius_engage。b. 点击左侧菜单中的 角色资源。c. 勾选 Zaius Engage 旁边的框。这将启用此 SOAP 用户的所有 Zaius Engage API 方法。 d. 在左侧菜单中返回到 角色信息,并在提供的框中输入 当前管理员密码。e. 在右上角点击 保存角色
  3. 系统 下拉菜单,转到 Web Services -> SOAP/XML-RPC Users 子菜单。
  4. 点击右上角的添加新用户。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_gallerynewsletter_subscribersalesrule_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(管理)->事件检查器。

  1. 点击“开始检查器”。您的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

请求

方法
zaiusEngageLocales();
请求

无特殊参数

响应

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"
      }
    }
  }
}

变更日志