integration - NetSuite SuiteScript 2.0 与外部挂钩的集成
问题描述
我需要从 Netsuite 设置 EPL2 标签打印。不幸的是,这家公司非常小,他们没有太多的钱可以花,因此他们无法购买 1000 美元的标签打印解决方案。
当前系统使用 linux 服务器,然后使用 linux cat 命令将文件发送到 CUPS 打印服务器队列之一。从那里它进入英特尔 NetportExpress 10/100 打印服务器,然后进入 Argox V1000+ 标签打印机。这是通过公司网络 IP 地址。
相反,我开始寻找一些便宜的选择:
- 弹出一个内容类型为 text/plain 的浏览器窗口,并使用套件使用 EPL2 标签打印机代码填充该浏览器窗口。然后打开一个打印对话窗口,以便用户可以打印到标签打印机驱动程序。这需要为所有用户安装标签打印机驱动程序。可悲的是,我无法用它来打印标签。
- 通过 Restlet 从 Netsuite 集成到外部 python 应用程序(在 Linux 上),然后可以执行打印标签所需的 linux cat 命令。Restlet 工作得很好,但不幸的是,似乎没有一种方法可以在新标签自定义记录到达时触发某种钩子。因此,我必须每 2 秒从 Python 轮询 Restlet 以查看是否有新标签正在等待打印。我大约一个小时前开始运行它,到目前为止,我已经发出了大约 2500 个请求而没有错误。我的并发限制是 5,我使用的是 2,所以看起来没问题。该脚本做的很少,所以我认为不会有大小限制问题。问题只是我想知道 NetSuite 是否最终会因执行这么多请求而终止我的脚本。不确定是否存在这样的治理问题,但可以
- 使用http模块以ajax类型的方式发送数据。这应该能够在新数据到达时拾取,而不必轮询(不确定)。问题是我假设我需要一个静态 IP 地址,但遗憾的是这是一个昂贵的选择。
- 使用可能有钩子而不是轮询的 Netsuite SOAP Web 服务(不确定)。我认为这也不是免费的(如 Restlets)。
所以我的问题是我是否缺少更好的选择,或者您会推荐什么。如果我使用选项 2 每 2 秒轮询一次,我是否会达到某种治理限制?
更新:在 7395 个请求和大约 3 小时后,轮询神秘地停止工作。它没有返回我知道的错误。集成治理被拒绝的请求显示为 0。
解决方案
我以前经常做电子邮件的事情,而且效果很好。音量可能是个问题。
另一件事就是使用 ngrok 之类的东西获取一个静态 IP 地址。ngrok 在 linux/mac/windows 上运行,因此您可以编写一个侦听特定端口的应用程序。Netsuite 会在(例如)https://printing.mycompany.ngrok.io向该应用程序发送一个 https 帖子,该应用程序将处理本地打印。
我相信 ngrok 每年运行大约 60 美元。
该应用程序可以使用某种时间戳和哈希来验证身份,这样如果有人确实获得了 https 地址,他们就无法轻易使用您的所有文件或导致 DoS 情况。
推荐阅读
- php - 如何根据 PHP 中的两列计算数组值?
- php - 根据单词相似度将一个 varchar 与另一个 varchar 进行比较
- reactjs - Nginx 和多个 React Web 应用程序
- c++ - 中级 C++ 开发人员的棘手面试问题
- r - R studio 找不到现有库
- javascript - 如何滚动垂直导航选项卡
- python - ImportError:无法导入名称“GceClusterResolver”
- ios - MDCTextInputController 错误消息涵盖输入的文本
- mysql - 给定一个 ID,返回与给定 ID 不具有相同类别的数据
- python - 在 (X,Y,Z) 坐标图上包含时间标签