我正在致力于将 Magento 商店与现有的桌面销售点软件集成。我的想法是,这个桌面程序将通过 Magento 的 REST API 连接来收集产品列表、库存更改等,并且它还将通过 API 端点提交新产品和其他更新。
当我不想让 PoS 负责人知道 API 凭证或者不想费心提示它们时,就会出现问题。最好的办法是在配置文件中设置它们。
我考虑过在后台加载 API 授权页面并自动将凭据发布到登录表单。但这看起来是一种令人讨厌的方法。
有什么想法吗?
不是解决方案,而是关于这件事的一些经验之谈...
Magento 的 API 可能很慢,用户将永远等待任务完成,尤其是在服务器负载过大的情况下。我们使用另一个应用程序,该应用程序使用 Magento 的 SOAP API,我使用 java 构建该应用程序来处理 magento 和我们的 POS 之间的所有更新/下载。这样,用户就不会等待缓慢的响应,也不会因连接丢失而停止。
我们采用了您的队列方法,拥有 1 个带有队列的应用程序的另一个原因是它处理来自所有用户的所有更新,并且只允许一次执行 1 个任务。您需要这样做以避免数据库锁定。例如两个用户修改产品,您会收到表锁定错误并且更新失败。您还可以通过向服务器发送大量单用户请求来使服务器过载。我们仍然有事件驱动的处理,而不是同步脚本,通过让我们的 POS 向本地应用程序发送消息来指示应用程序有关任务的信息,并且它只是将任务排队等待处理。我们的应用程序没有任何用户界面,我将其作为系统服务在我们的服务器上运行,用户凭据存储在配置文件中。