【问题标题】:How to use Magento's API asynchronously without OAuth?如何在没有 OAuth 的情况下异步使用 Magento 的 API?
【发布时间】:2012-11-15 15:54:59
【问题描述】:

我正在努力将 Magento 商店与现有的桌面销售点软件集成。我的想法是,这个桌面程序将通过 Magento 的 REST API 连接以收集产品列表、库存更改等,它还将通过 API 端点提交新产品和其他更新。

当我不想让 PoS 负责人知道 API 凭据或不想麻烦提示它们时,就会出现问题。最好的办法是将它们设置在配置文件中。

我考虑在后台加载 API 授权页面并自动将凭据发布到登录表单。但这看起来是一种令人讨厌的方法。

有什么想法吗?

【问题讨论】:

  • 请不要让您的销售点系统依赖实时连接到辅助系统(即)。为您的 POS 数据列表使用本地数据存储,并有一个单独的非交互式流程负责将 Magento 中的更改导入您的 POS。来自您的 POS 的实时查询意味着如果没有互联网连接,或者您的 Magento 系统已关闭/没有响应,一切都会变得无聊。
  • PoS 系统当然有它自己的数据存储,并且不依赖于 Magento。如果我可以随时更新 Magento,我只想避免同步脚本。如果系统关闭或出现某些错误,此过程还将对请求进行排队。无论如何感谢您的建议!
  • 嗨,你解决了吗?

标签: php api magento rest oauth


【解决方案1】:

不是解决办法,而是在这件事上的一些经验之谈......

Magento 的 API 可能很慢,用户将永远等待任务完成,尤其是在服务器负载不足的情况下。我们使用另一个应用程序,它使用我使用 java 构建的 Magento 的 SOAP API 来处理 magento 和我们的 POS 之间的所有更新/下载。这样,用户就不会等待缓慢的响应,也不会因失去连接而停止。

我们采用了您的队列方法,让 1 个应用程序具有队列的另一个原因是它处理来自所有用户的所有更新并且只允许一次执行 1 个任务。您需要这样做以避免数据库锁定。例如两个用户修改一个产品,你得到一个表锁定错误,更新失败。您还可以通过向服务器发送大量单用户请求来使服务器过载。我们仍然有事件驱动的处理,而不是同步脚本,方法是让我们的 POS 向我们的本地应用程序发送消息,指示应用程序有关任务的信息,并且它只是将任务排队等待处理。我们的应用程序没有任何用户界面,我将它作为我们服务器上的系统服务运行,用户凭据存储在配置文件中。

【讨论】:

  • 好的,但是你是怎么做到的?我有同样的问题:凭据窗口提示。你是怎么跳过这一步的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-05
  • 1970-01-01
  • 2019-12-16
  • 1970-01-01
  • 1970-01-01
  • 2013-07-22
  • 1970-01-01
相关资源
最近更新 更多