Gupshup使用post来创建嵌入表单

时间:2017-07-18 15:06:33

标签: facebook post gupshup

我正在使用Gupshup,我想在聊天中添加子视图。 为此,我创建了这个变量:

var url="https://api.gupshup.io/sm/api/facebook/smartmsg/form/create";
var header = {"apikey":"xxxxxxxxxxxxxxxxxxx","Content-Type": "application/x-www-form-urlencoded","Accept":"application/json"};
var param={"formJSON":{
    "title": "This is a test.",
    "autoClose": false,
    "message": "Thank You",
    "callback-url": "https://www.gupshup.io/developer/bot/Cotizador/public",
    "fields": [{
        "type": "fbid",
        "name": "fbname",
        "label": "fbName"
    }, {
        "type": "input",
        "name": "name",
        "label": "Name",
        "validations": [{
            "regex": "^[A-Z a-z]+$",
            "msg": "Only alphabets are allowed in this field"
        }, {
            "regex": "^[A-Z a-z]{6,}$",
            "msg": "Minimum 6 characters required"
        }]
    }, {
        "type": "radio",
        "name": "gender",
        "label": "Gender",
        "options": [
            "Male",
            "Female"
        ],
        "validations": [{
            "regex": "",
            "msg": ""
        }]
    }, {
        "type": "select",
        "name": "account",
        "label": "AccountType",
        "options": [
            "current",
            "savings"
        ],
        "validations": [{
            "regex": "",
            "msg": ""
        }]
    }, {
        "type": "checkbox",
        "name": "interest",
        "label": "Interests",
        "options": [
            "Cooking",
            "Reading"
        ],
        "validations": [{
            "regex": "",
            "msg": ""
        }]
    }],
    "users": [
        "Testing"
    ]
}}

并致电帖子:

  

context.simplehttp.makePost(URL,JSON.stringify(PARAM),首部,解析器);

我的回电

function parser(context, event) {
     context.console.log("Handler https")
           var result= JSON.parse(event.getresp);
        if(result=="success"){
       context.sendResponse("We have successfully stored your data");
       }else{
              context.sendResponse("We dont shoot");
       }
}

但是,当发布请求时,请不要在聊天或回调中显示我的回复。我做错了什么?

1 个答案:

答案 0 :(得分:2)

来自Gupshup的Sohan。 您使用的API的结果是:

[{
    "embedlink": "https://api.gupshup.io/sm/api/facebook/smartmsg/embed/66438dde-ec76-4d6e-a0d0-8cfc0c730e57",
    "expired": false,
    "fb-button": {
        "title": "This is a test.",
        "type": "web_url",
        "url": "https://api.gupshup.io/sm/api/facebook/smartmsg/embed/66438dde-ec76-4d6e-a0d0-8cfc0c730e57",
        "webview_height_ratio": "tall"
    },
    "id": "66438dde-ec76-4d6e-a0d0-8cfc0c730e57",
    "signed-for": {
        "display": "Testing",
        "subdisplay": "Testing"
    },
    "smid": "1009"
}]

因此当你这样做时:

var result= JSON.parse(event.getresp);
   if(result=="success"){

context.sendResponse(result)将显示您在上面看到的整个JSON。要显示“已过期”字段,您可以使用result.expired

查看this document了解详情。