NetSuite SuiteScript 2.0与外部挂钩的集成

时间:2019-01-12 19:00:09

标签: integration netsuite suitescript2.0

我需要从Netsuite设置EPL2标签打印。不幸的是,这家公司的规模很小,他们没有太多钱可花,因此他们无法购买1000美元的标签打印解决方案。

当前系统使用linux服务器,然后使用linux cat命令将文件发送到CUPS打印服务器队列之一。从那里到英特尔NetportExpress 10/100打印服务器,然后到Argox V1000 +标签打印机。这是通过公司网络的ip地址。

相反,我开始寻找一些便宜的选择:

  1. 弹出内容类型为text / plain的浏览器窗口,并使用套件以EPL2标签打印机代码填充该浏览器窗口。然后打开一个打印对话框窗口,以便用户可以打印到标签打印机驱动程序。这需要为所有用户安装标签打印机驱动程序。可悲的是我无法打印标签。
  2. 从Netsuite通过Restlet集成到外部python应用程序(在Linux上),然后可以执行打印标签所需的linux cat命令。 Restlet可以很好地工作,但是不幸的是,似乎没有一种方法可以在新标签自定义记录到达时触发某种钩子。因此,我必须每2秒从Python轮询一次Restlet,以查看是否有新标签正在等待打印。我大约一个小时前开始运行此程序,到目前为止,我已经发出了大约2500个请求且没有错误。我的并发限制是5,而我正在使用2,所以看起来还可以。该脚本几乎没有,所以我认为不会有大小限制问题。问题只是我想知道NetSuite是否最终会因为执行这么多请求而终止我的脚本。不确定是否存在这样的治理问题,但无法想象他们最终不会阻止这种事情。
  3. 使用http模块以ajax类型的方式发送数据。当新数据到达时,这应该能够进行,而不必轮询(不确定)。问题是我假设我需要一个静态IP地址,可惜这是一个昂贵的选择。
  4. 使用Netsuite SOAP Web服务,该服务可能具有钩子而不是轮询(不确定)。我认为这也不是免费的(如Restlets)。

所以我的问题是我是否缺少更好的选择,或者您会推荐什么?如果我每2秒使用选项2进行一次轮询,我还会达到某种治理极限吗?

更新:在7395个请求和大约3个小时后,轮询神秘地停止了工作。它没有返回我知道的错误。集成治理被拒绝的请求显示为0。

3 个答案:

答案 0 :(得分:2)

我过去经常做电子邮件工作,而且效果很好。音量可能是个问题。

另一件事是仅获取带有ngrok之类的静态IP地址。 ngrok在linux / mac / windows上运行,因此您可以编写一个侦听特定端口的应用程序。 Netsuite会在(例如)https://printing.mycompany.ngrok.io处向该应用程序发送一个https帖子,然后该应用程序将处理本地打印。

我相信ngrok的年收入约为60美元。

该应用程序可以使用某种时间戳和哈希值来验证身份,这样,如果有人获得了https地址,他们就不会轻易使用您的所有文件或导致DoS情况。

答案 1 :(得分:1)

我们被打印机供应商(Zebra)迷住了,然后才发现可以使用PRINTER_IP:9100将HTTP HTTP张贴到大多数打印机,并仅将RAW ZPL / EPL发送为正文。

查看:启用IPP的打印机。大多数是这些天。如果您像我们这样进行大型仓库业务,则可以长期节省1000欧元

答案 2 :(得分:0)

我将让NetSuite在afterSubmit用户事件脚本中启动连接,而不是进行轮询。

我已经通过将NetSuite电子邮件附件附加到专用邮箱(由Linux服务器监视)来实现自动标签打印。我的设置记录在这里:

https://gist.github.com/michoelchaikin/80af08856144d340b335d69aa383dbe7