emico / magento-2-robinhq
RobinHQ集成模块,为RobinHQ动态API提供API端点
Requires
- php: >=8.0 <=8.4
- ext-json: *
- emico/robinhq-lib: ^4.0
- laminas/laminas-diactoros: ^2.0|^3.0
- magento/framework: 101.*|102.*|103.*
- magento/module-catalog: 102.*|103.*|104.*
- magento/module-config: 101.*
- magento/module-customer: 101.*|102.*|103.*
- magento/module-sales: 101.*|102.*|103.*
- webmozart/assert: ^1.4
Requires (Dev)
- codeception/codeception: ^5.1
- mockery/mockery: ^1.6
Suggests
- magento/framework-message-queue: Use Magento AMQP queuing for POST requests. Highly recommended
- magento/module-message-queue: Use Magento AMQP queuing for POST requests. Highly recommended
- dev-master
- v4.1.4
- v4.1.3
- v4.1.2
- v4.1.1
- v4.1.0
- v4.0.0
- v3.0.0
- v2.5.1
- v2.4.1
- v2.4.0
- v2.3.0
- v2.2.1
- v2.2.0
- v2.1.0
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.4.0
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- 1.2.1
- v1.2.0
- v1.2.0-beta.1
- v1.1.3
- v1.1.3-beta.2
- v1.1.3-beta.1
- v1.1.2
- v1.1.1
- v1.1
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v1.0.0-rc1
- v0.1.1
- v0.1.0
- v0.1.0-beta3
- v0.1.0-beta2
- v0.1.0-beta1
- dev-fix/depersonalized-customer-issue
- dev-fix/view
- dev-bramstroker-patch-1
- dev-feat/js-widgets
- dev-feature/magento2.4.6-compatibility
- dev-issue/magento-244-p2-config-compatibility
- dev-fix/magento-243-compat2
- dev-fix/magento-243-compat
- dev-fix/search-customer-for-all-websites
- dev-issue/37-dutch-phonenumber-recognition
- dev-feature/php-compatibility
- dev-feature/magento-2.4.4-compatibility
- dev-feature/rma
- dev-feature/tracktrace
This package is auto-updated.
Last update: 2024-09-17 09:31:12 UTC
README
提供与RobinHQ平台/仪表板的API集成
安装
先决条件
- Magento 2.4.4或更高版本
- PHP 8.0或更高版本
使用Composer安装包
composer require emico/magento-2-robinhq
运行安装程序
php bin/magento setup:upgrade
动态API
本模块为RobinHQ动态API集成提供5个端点。这些端点直接从RobinHQ仪表板调用,提供来自Magento的最新信息。
以下端点可用
- /robinhq/api/customer?email=
$EmailAddress
- /robinhq/api/customerOrders?email=
$EmailAddress
- /robinhq/api/order?orderNumber=
$Id
- /robinhq/api/search?searchTerm=
$Expression
- /robinhq/api/lifetime?email=
$Email
这些端点可以从您的magento域名根目录访问。 http://my.shop.nl/robinhq/api/customer
要启用动态API功能,您必须在配置中启用它。
商店
-> 配置
-> Emico
-> RobinHQ
-> 启用动态API
身份验证
动态API的身份验证通过一个预共享密钥完成,该密钥必须通知RobinHQ。
您可以在RobinHQ配置中定义API密钥和密钥。
当向动态API端点发出请求时,您必须包含一个基本身份验证头。您需要发送的值是{apiKey}:{apiSecret}
的base64编码。
例如,您已设置API密钥为abc
,API密钥为def
。值将是base64(abc:def)
,解析为YWJjOmRlZg==
。完整的授权头是:Authorization: Basic YWJjOmRlZg==
自定义面板视图和详情视图
某些端点提供了在Robin仪表板中提供自定义数据的功能。
例如,当使用/robinhq/api/customer
检索客户详细信息时,将返回以下有效负载。
{
"naam": "Robin Doe",
...
"panel_view": {
"street": "Lovinklaan 1",
...
"my_customfield1": "234",
"loyalty_card_number": "1265645456"
}
}
您可以在配置中简单地向这些视图添加自定义属性。商店
-> 配置
-> Emico
-> RobinHQ
-> 自定义属性
部分。
当您需要更多控制或实现自己的业务逻辑时,可以实现接口DetailViewProviderInterface
或CustomerPanelViewProviderInterface
。
例如
namespace MyVendor\MyModule;
class MyPanelViewProvider implements CustomerPanelViewProviderInterface
{
public function getData(CustomerInterface $customer): array
{
return [
'my_custom_field' => 'some value'
]
}
}
在您的di.xml
中注册
<virtualType name="Emico\RobinHq\DataProvider\PanelView\CustomerPanelViewProvider" type="Emico\RobinHq\DataProvider\PanelView\AggregateProvider">
<arguments>
<argument name="providers" xsi:type="array">
<item name="mydata" xsi:type="object">MyVendor\MyModule\MyPanelViewProvider</item>
</argument>
</arguments>
</virtualType>
动态API POST请求
为了与Robin动态API完全集成,magento模块需要向RobinHQ平台发出POST请求。
为了正确地实现此功能,必须有一个正常工作的RabbitMQ实例。您可以在magento文档中了解更多关于设置的信息。
使用以下命令处理消息队列:bin/magento queue:consumers:start EmicoRobinHq
您可以在cronjob中配置此操作,或者最好使用supervisor。
前端小部件
本模块提供了一个小部件,用于在您的网站上显示RobinHQ跟踪脚本。这使得您可以深入了解客户查看的所有产品和购物车的商品。应与默认的Luma主题一起正常工作。
请参阅:https://developers.cm.com/mobile-service-cloud/docs/viewed-products
要启用此功能,您必须在配置中启用它。
商店
-> 配置
-> Emico
-> RobinHQ
-> 启用已查看产品跟踪