flowcommerce / flowconnector
Flow Connector
Requires
- guzzlehttp/guzzle: ^7.3
- phpseclib/phpseclib: ^3.0
- dev-main
- 2.7.6
- 2.7.5
- 2.7.4
- 2.7.3
- 2.7.2
- 2.7.1
- 2.7.0
- 2.6.19
- 2.6.18
- 2.6.17
- 2.6.16
- 2.6.15
- 2.6.14
- 2.6.13
- 2.6.12
- 2.6.11
- 2.6.10
- 2.6.9
- 2.6.8
- 2.6.7
- 2.6.6
- 2.6.5
- 2.6.4
- 2.6.0
- 2.5.6
- 2.5.5
- 2.5.4
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.7
- 2.3.6
- 2.3.5
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.4
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.40
- 1.0.39
- 1.0.38
- 1.0.37
- 1.0.36
- 1.0.35
- 1.0.34
- 1.0.33
- 1.0.32
- 1.0.31
- 1.0.30
- 1.0.29
- 1.0.28
- 1.0.27
- 1.0.26
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.0
- dev-core-5287-chilewich
- dev-country_of_manufacture-as-iso3
- dev-duplicate-orders-fix
- dev-original-price-logging
- dev-master
- dev-PET-2440-fix-organization-race-condition
- dev-REV-704
This package is auto-updated.
Last update: 2024-09-30 02:05:14 UTC
README
简介
Magento 2 是一个流行的电子商务平台,帮助企业构建和管理在线商店。Flow Connector 扩展程序让用户可以无缝管理所有全球销售挑战。
在本指南中,您将
- 安装 Flow Connector 扩展程序
- 初始化 Flow-Magento 集成
- 配置集成选项
安装此扩展程序后,您可以
- 启用 Flow 国家选择器
- 本地化 Magento 目录价格
- 本地化 Magento 购物车价格和总计
- 将国际客户重定向到 Flow 结算界面
先决条件
为了成功连接您的 Magento 控制台到 Flow,您需要以下内容
- 一个带有
- 包含可用的运输层活动的有效体验的 Flow 账户
- 用于在 Magento 后台设置中使用的 Flow API 密钥
- 您的 Flow 组织 ID,可以在您的 Flow 控制台 URL 中找到。例如,https://console.flow.io/{ORGANIZATION_ID}/experiences
- 具有以下内容的 Magento 安装
- 版本 2.4.2 或更高版本
- Magento Open Source (CE)、使用本地托管的 Magento Commerce (EE) 或云端的 Magento Commerce (ECE)
- shell 访问权限和运行命令行工具的权限
- 启用了 cron
现在,让我们开始安装过程。
步骤 1 — 安装扩展
首先,在 Magento 的 composer.json
文件的 require
部分中需要 flowcommerce/flowconnector
的最新版本
"require": { "flowcommerce/flowconnector": "^{VERSION}" }
然后,使用 composer 获取依赖项的最新版本并更新您的 composer.lock 文件。请注意,本指南中的所有命令都将使用 Magento 应用程序根目录作为工作目录运行
$ composer update
然后,使用 composer 解决依赖项并将 Flow Connector 安装到您的 vendor 目录
$ composer install
最后,使用 Magento 的命令行工具通过更新您的数据库模式和清除编译代码和缓存来完成安装
$ php bin/magento setup:upgrade
现在,我们将连接您的 Flow 组织到您的 Magento 商店视图。
步骤 2 — 将 Magento 连接到 Flow
首先,登录到您的 Magento 后台办公室。从左侧菜单中,点击“商店”->“配置”。将范围更改为您的商店(或默认商店,如果您只有一个的话)并选择“Flow Commerce”->“Connector 设置”。
然后,启用连接器并填写您的 Flow 组织 ID、Flow API 密钥并保存配置。
然后,我们将使用我们刚刚配置的设置来注册用于从 Flow 导入订单的 webhook、注册同步流,并准备 Flow 的目录以同步 Magento 的目录属性
$ php bin/magento flow:connector:initialize
同步流是 Flow 服务,用于跟踪双方之间(在本例中为 Flow 和 Magento 2)的数据同步。有关 Flow Webhook 的工作原理的更多详细信息,请参阅此指南:Flow Webhook
然后,将 Magento 目录排队以进行同步
$ php bin/magento flow:connector:catalog-enqueue
最后,同步您的 Magento 目录
$ php bin/magento flow:connector:catalog-sync
此扩展程序还以两种方式自动将产品信息同步到 Flow
- 产品创建、更新和删除通过观察者排队。此队列每分钟由 cron 任务处理,如果队列不为空,则每分钟产生额外的工作者。
- 一个将整个产品目录同步到 Flow 的 cron 任务。默认情况下,对于生产 Flow 组织,此同步每天执行两次。
现在,我们将配置 Magento 后台管理中剩余的集成选项,以满足您的业务和技术需求。
步骤 3 — 配置集成
登录您的 Magento 后台管理。从左侧菜单中,点击“店铺 -> 配置”。将范围更改为您的店铺(如果您只有一个店铺,则为默认店铺)并选择“Flow Commerce -> 连接器设置”。这是一个可用的扩展配置选项列表
启用
此开关控制整个扩展的启用状态。当“启用”选项设置为“否”时,Flow 连接器的所有功能都将禁用。
组织 ID
此文本框指示应与当前 Magento 店铺集成的 Flow 组织。这是一个必填字段。
API 令牌
此文本框指示用于授权和与 Flow API 通信的 Flow 组织密钥。这是一个必填字段。
结账基础 URL
此文本框指示用于重定向到 Flow 结账 UI 的基础 URL。提供的值必须有一个 CNAME DNS 记录映射到 https://checkout.flow.io/,这必须由 Flow 验证。默认情况下,此字段无值,结账重定向到 Flow 使用标准的 https://checkout.flow.io/。
重定向到 Flow 结账
此开关通过控制器拦截自动将国际用户重定向到 Flow 结账 UI。在此重定向点,将 Magento 的购物车转换为 Flow 订单,包括启用的情况下项目折扣,并将用户发送到 Flow 结账 UI 完成购买。在此购买后,从 Flow 发送 webhook 回到 Magento 以导入订单数据并清空用户的 Magento 购物车。建议您选择“是”,以便集成简单一致。此字段默认为“否”。
或者,您可以使用与自动路径相同的相同功能,通过手动发送用户到重定向控制器 {BASE_URL}/flowconnector/checkout/redirecttoflow?country=FRA
或根据此指南实现自己的集成:[Flow 结账 UI](https://docs.flow.io/docs/redirect-users-to-checkout-ui)
有关自定义 Flow 结账 UI 的更多信息,请参阅此指南:[自定义结账 UI](https://docs.flow.io/docs/customize-checkout-ui)
支持 Magento 折扣
折扣根据您的 Magento 店铺基础货币的规则计算并应用为行项目行总金额的百分比。应用于运费成本的 Magento 折扣不应用于 Flow 订单。此字段默认为“是”。
创建发票
此下拉菜单指示如何在 Magento 中从 Flow 导入发票
- 要在 Flow 中捕获付款点创建 Magento 发票,请选择“当在 Flow 中捕获”。
- 要在 Flow 中生成运费标签时创建 Magento 发票,请选择“当在 Flow 中发货”。
- 要始终不根据 Flow 订单活动创建 Magento 发票,请选择“永不”。
发送发票电子邮件
此开关控制 Flow 订单活动触发的发票电子邮件。选择“是”将自动在 Magento 中创建发票后发送发票电子邮件。此选项取决于“创建发票”也被启用。此开关默认为“是”。
创建发货
此下拉菜单指示如何在 Magento 中从 Flow 导入发货
- 要在 Flow 中生成运费标签时创建 Magento 发货,请选择“当在 Flow 中发货”。
- 要始终不根据 Flow 订单活动创建 Magento 发货,请选择“永不”。
发送发货电子邮件
此切换按钮控制如何通过Flow订单活动触发发货电子邮件。选择“是”将在电子邮件创建在Magento后自动发送。此选项依赖于“创建发货”也处于启用状态。此切换按钮默认为“是”。
启用Webhook验证
此切换按钮控制使用生成的密钥以保护Magento免受未经授权的webhook的侵害。不建议选择“否”,因为这可能允许除Flow之外的其他方触发与Flow相关的功能,如生成或更改订单数据。此切换按钮默认为“是”。
启用国家选择器
此切换按钮控制初始化Flow国家选择器。默认情况下,Flow国家选择器通过Magento布局xml包含在标题面板中,并接收默认样式和选项。此切换按钮默认为“是”。
或者,您可以按照我们的自定义集成指南自定义初始化选项:[Flow国家选择器](https://docs.flow.io/docs/enable-a-country-picker)。
启用目录价格本地化
此切换按钮控制初始化目录价格本地化。此功能涉及在页面加载之前对Flow进行服务器端API调用,以及使用JavaScript混入完成与目录项目的视觉集成。选择“是”将在产品块发生缓存未命中事件时启用Flow API调用,以动态获取该产品的所有本地化价格。这样,它将加载所有Flow体验价格,以加快页面加载速度。当浏览器页面加载时,JavaScript混入用于确定应根据用户的地理定位IP地址或Flow国家选择器选择哪些价格显示给用户。此切换按钮默认为“是”。
或者,您可以通过参考我们的自定义集成指南实现自己的定制价格本地化解决方案:[Flow.js产品本地化](https://docs.flow.io/docs/localize-product-prices)。
隐藏目录价格的最大时间
此文本字段控制目录价格在JavaScript混入确定要显示的价格之前将保持隐藏的毫秒数。这是一个有价值的工具,可以防止在显示本地货币之前,基本货币价格短暂显示。建议使用值为“5000”,这意味着无论页面加载需要多长时间,价格都不会由Flow隐藏超过5秒。此字段接受整数,默认为0。
启用购物车本地化
此切换按钮控制初始化购物车本地化。此功能使用JavaScript混入来观察国际购物车更新,并将它们的金额本地化为用户的本地货币。这种本地化发生在核心Magento迷你购物车和专用购物车页面上。此切换按钮默认为“是”。
或者,您可以通过参考文档实现自己的定制价格本地化解决方案:[Flow.js购物车本地化](https://docs.flow.io/docs/localize-product-prices)。
隐藏购物车的最大时间
此文本字段控制购物车价格在JavaScript混入将Magento购物车本地化为有效的Flow开放订单之前将保持隐藏的毫秒数。这是一个有价值的工具,可以防止在显示本地货币之前,基本货币购物车总额短暂显示。建议使用值为“5000”,这意味着无论页面加载需要多长时间,购物车总额都不会由Flow隐藏超过5秒。此字段接受整数,默认为0。
在产品详情页面上启用本地支付方式
此开关控制显示本地支付方式标志,这些标志可在商品详情页(PDP)的Flow Checkout UI中找到。此功能通过“product.info.type”布局引用容器注入,该容器出现在目录产品查看页(PDP)上。此开关默认为“是”。
或者,您可以参考文档实现自己的解决方案:[显示支付方式标志](https://docs.flow.io/docs/display-payment-method-logos)
在PDP上启用默认估计配送窗口
此开关控制显示PDP上默认配送选项的估计配送窗口。此功能通过“product.info.type”布局引用容器注入,该容器出现在目录产品查看页(PDP)上。此开关默认为“是”。
或者,您可以参考文档实现自己的解决方案:[显示配送窗口](https://docs.flow.io/docs/display-delivery-windows)
启用税和关税信息
此开关控制显示所有目录项目价格框中的本地税和关税。此开关默认为“是”。
或者,您可以参考文档实现自己的解决方案:[显示税和关税](https://docs.flow.io/docs/display-tax-and-duty)
启用每日目录同步
此开关控制所有SKU每天凌晨1:15自动入队(时区取决于您的服务器配置)。当其数据已更新或使用flow:connector:catalog-sync shell命令时,项目仍会同步。此开关默认为“否”。
启用常规定价覆盖
此开关控制同步项目价格到Flow和Flow Checkout UI时是否使用final_price或regular_price。连接器始终将所有可用的Magento项目价格作为附加属性同步。此开关默认为“否”。
将Magento与Flow订单标识关联
此开关控制创建在Magento系统中的Magento订单后,是否将Magento增量ID与Flow订单ID关联。此功能使用消息队列 Magento功能异步工作,至少需要MySQL基于的消息队列配置。在Magento Open Source中,MySQL基于的消息队列默认启用,使用内置的cron作业,无需额外配置。在Magento Commerce中,可以在对扩展文件进行轻微调整后引入更强大的AMQP设置,如将消息队列从MySQL更改为AMQP。这通常仅适用于在非常短的时间内接收大量订单的商店。此开关默认为“否”。
可用的shell命令
将用于目录集成的产品属性保存到Flow
$ php bin/magento flow:connector:catalog-attributes-save
同步队列项目到Flow目录
$ php bin/magento flow:connector:catalog-sync
从Flow同步缺失的订单到Magento
$ php bin/magento flow:connector:order-sync
将所有产品入队以同步到Flow目录
$ php bin/magento flow:connector:catalog-enqueue
移除5分钟前仍然标记为正在运行的老于5分钟的Flow cron任务
$ php bin/magento flow:connector:cron-cleanup
初始化与Flow的集成。包括webhook注册、同步流注册、属性创建、库存中心密钥获取以及创建用于webhook负载验证的秘密
$ php bin/magento flow:connector:initialize
为配置flowconnector的所有商店视图获取库存中心密钥
$ php bin/magento flow:connector:center-fetch
同步库存队列到Flow。对于配置为不跟踪库存的项目,可能会记录警告
$ php bin/magento flow:connector:inventory-process
将所有产品入队以同步到Flow库存
$ php bin/magento flow:connector:inventory-sync
处理接收到的Flow webhook事件
$ php bin/magento flow:connector:webhook-process
向Flow注册或更新现有webhooks
$ php bin/magento flow:connector:webhook-register
为webhook负载验证创建秘密
$ php bin/magento flow:connector:webhook-update
使用Flow API将商店ID 1的订单增量ID M123456和Flow订单ID F123456入队以进行关联
$ php bin/magento flow:connector:order-identifiers-queue --store_id 1 --magento_order_id M123456 --flow_order_id F123456
扩展功能
此扩展会触发多个事件,观察者可以监听这些事件
- 接收到来自Flow的webhook事件时,会触发一个事件。
- 事件类型列表可以在 Model/WebhookManger/EndpointsConfiguration.php 类中找到。
- 事件名称为
Flow\FlowConnector\Model\WebhookEvent::EVENT_FLOW_PREFIX
+ 事件类型。
- 在处理 webhook 事件之后会触发一个事件。
- 事件类型列表可以在 Model/WebhookManger/EndpointsConfiguration.php 类中找到。
- 事件名称为
Flow\FlowConnector\Model\WebhookEvent::EVENT_FLOW_PREFIX
+ 事件类型 +Flow\FlowConnector\Model\WebhookEvent::EVENT_FLOW_SUFFIX_AFTER
。
- 在产品同步到 Flow 后会触发一个事件。
- 事件名称为
Flow\FlowConnector\Model\Sync\CatalogSync::EVENT_FLOW_PRODUCT_SYNC_AFTER
。
- 事件名称为
- 如果在 Flow 主机结账期间客户更改了他们的电子邮件地址,则会触发一个事件。
- 事件名称为
Flow\FlowConnector\Model\WebhookEvent::EVENT_FLOW_CHECKOUT_EMAIL_CHANGED
。
- 事件名称为
限制
退款支持
Flow Connector 支持退款功能,但请注意,只有从 Magento 退款时才支持部分退款,而从 Flow 控制台则只能执行全额退款。如果在 Flow 控制台执行了部分退款,则必须在 Magento 管理员中创建匹配的离线退款。
结论
恭喜,您的 Magento 2 店铺现在已通过 Flow Connector 扩展与 Flow 集成!在向真实客户推出之前,请联系 Flow 代表审查您的 Flow 组织设置并彻底测试集成。在进入国际 Flow 体验时,您应看到所有产品价格以当地货币显示,并在网站上任何地方点击结账都应将您带到 Flow 结账 UI。由于 Flow 结账 UI 由 Flow 托管且位于您的 Magento 店铺外部,您可能还需要托管 CSS 和 JS 文件,Flow 代表可以帮助将这些文件导入您的 Flow 结账 UI 页面以用于品牌和数据分析的一致性。