【问题标题】:NetSuite Suitelet not picking up Shopify WebhookNetSuite Suitelet 未选择 Shopify Webhook
【发布时间】:2019-10-22 22:04:49
【问题描述】:

发生了什么

我来自 shopify 的 Webhook 没有将详细信息传递给我在 NetSuite 中的 SuiteScript 2.0 Suitelet。

我想要发生什么

我希望 shopify 将 JSON 对象发送到我的 netsuite Suitelet,以便我可以在 NetSuite 中处理订单。

详情

我正在尝试使用 Shopify 的 webhook 在 shopify 和 Netsuite 之间建立连接。

我已经设置了一个 webhook 如下

我的 webhook 的 URL 是;

https://XXXXXXX-sb1.extforms.netsuite.com/app/site/hosting/scriptlet.nl?script=XXX&deploy=XX&compid=XXXXXXX_SB1&h=XXXXXXXXXXXXXXXXXXX&caller=ecommerce&key=XXXX-XXXX-XXXX-XXXX

此链接调用 Suitelet,当我亲自将链接粘贴到 URL 中时,它是有效的。但是,当我单击“发送测试通知”时,我没有看到 Suitelet 已执行的任何证据。套件的第一行是;

log.debug("Running");

我已将 Webhook URL 更改为转到 RequestBin,并且确实 Webhook 可以正常工作。

我经历了什么

  1. 我删除了额外的查询字符串参数“caller”和“key” 从网址。不能解决问题。
  2. 我已确认 Webhook 在将 URL 更改为 RequestBin 时可以正常工作。

【问题讨论】:

    标签: javascript shopify netsuite webhooks suitescript2.0


    【解决方案1】:

    公共 Suitelet 的一个令人沮丧的限制是它们需要 User-Agent 标头才能声称是浏览器。 (例如参见SuiteAnswer #38695)。

    我在 BigCommerce 网络钩子上遇到了和你一样的问题,我最终做的是通过一个简单的谷歌云函数来代理网络钩子,该函数修改了用户代理。

    const request = require('request');
    
    exports.webhook = (req, res) => {
      request.post(
        {
          url: process.env.NETSUITE_SUITELET_URL,
          body: req.body,
          json: true,
          headers: {
            'User-Agent': 'Mozilla/5',
            Authorization: req.headers['authorization'],
          },
        },
        function(error, response, body) {
          res.send(body);
        }
      );
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-17
      相关资源
      最近更新 更多