emico / magento-2-robinhq

RobinHQ集成模块,为RobinHQ动态API提供API端点

安装量: 197,919

依赖项: 1

建议者: 0

安全: 0

星标: 4

关注者: 10

分支: 12

开放问题: 3

类型:magento2-module

v4.1.4 2024-09-17 09:30 UTC

README

Build Status

提供与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 -> 自定义属性部分。

当您需要更多控制或实现自己的业务逻辑时,可以实现接口DetailViewProviderInterfaceCustomerPanelViewProviderInterface

例如

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 -> 启用已查看产品跟踪