使用Gupshup的bot构建器工具进行HTTP POST调用

时间:2016-10-24 06:29:53

标签: chatbot gupshup

我正在使用Gupshup.io开发一个聊天机器人,并希望对外部API进行HTTP调用。

我正在使用此代码:

if(event.message=='hi'){
    var contextParam = {
        "cobrand": {
            "cobrandLogin": "sbCobxxxx",
            "cobrandPassword": "xxxxxxx-9f-4307-9d9a-451f3xxxx075",
            "locale": "en_US"
        }
    };
    var url = "https://developer.api.yodlee.com:443/ysl/restserver/v1/cobrand/login";
    var param = contextParam;
    var header = {"Content-Type": "application/x-www-form-urlencoded"};

    context.simplehttp.makePost(url,param,header);
    return;
}

这给了我这个错误:

  

TypeError:第一个参数必须是字符串或缓冲区

如何使用机器人构建器工具上的Gupshup's在线IDE对API进行HTTP POST调用,该API采用JSON格式的参数?

1 个答案:

答案 0 :(得分:3)

我来自Gupshup团队。

是的,可以使用Gupshup Bot Builder进行POST调用。这是代码:

 if(event.message=='hi'){
    var contextParam = {
         "cobrand": {
         "cobrandLogin": "sbCobxxxx",
         "cobrandPassword": "xxxxxxx-9f-4307-9d9a-451f3xxxx075",
         "locale": "en_US"
       }
  };
 var url = "https://developer.api.yodlee.com:443/ysl/restserver/v1/cobrand/login";
    var param = JSON.stringify(contextParam);
    var header = {"Content-Type": "application/json"};
    context.simplehttp.makePost(url, param, header);
    return;
}

在将参数添加为makePost方法的参数之前,请记住将参数字符串化(在本例中为contextParam)。此外,content-type是application / json。