Dialogflow检测意图“有效负载”不起作用

时间:2018-10-20 02:46:53

标签: node.js dialogflow

我想向Webhook发送自定义参数。根据文档,我将其设置为“有效负载”参数。但是我看不到在响应对象上设置的值。

https://dialogflow.com/docs/reference/api-v2/rpc/google.cloud.dialogflow.v2#google.cloud.dialogflow.v2.QueryParameters

这是我的代码

    function detectIntent(query, sessionId, contextData, callback) {

    let projectId = config.get('projectId');
    let languageCode = 'en-US';
    let sessionPath = sessionClient.sessionPath(projectId, sessionId);

    const request = {
        session: sessionPath,
        queryInput: {
            text: {
                text: query,
                languageCode: languageCode,
            }
        },
        queryParams: {
            contexts: [
                contextData
            ],
            payload: { foo: "bar" }
        },
    };

    sessionClient
        .detectIntent(request)
        .then(responses => {
            const result = responses[0].queryResult;
            callback(null, result);
        })
        .catch(err => {
            callback(err, null);
        });        
}

这是我得到的答复

{
    "fulfillmentMessages": [
        {
            "platform": "PLATFORM_UNSPECIFIED",
            "text": {
                "text": [
                    ""
                ]
            },
            "message": "text"
        }
    ],
    "outputContexts": [
        {
            "name": "projects/ddddd-102d1/agent/sessions/blvy6skjngu4kvt/contexts/blvy6skjngu4kvu",
            "lifespanCount": 2,
            "parameters": {
                "fields": {
                    "msisdn": {
                        "stringValue": "773959698",
                        "kind": "stringValue"
                    }
                }
            }
        },
        {
            "name": "projects/ddddd-102d1/agent/sessions/blvy6skjngu4kvt/contexts/actionshow_card-followup",
            "lifespanCount": 2,
            "parameters": null
        }
    ],
    "queryText": "internet slow",
    "speechRecognitionConfidence": 0,
    "action": "action.show_card",
    "parameters": {
        "fields": {}
    },
    "allRequiredParamsPresent": true,
    "fulfillmentText": "",
    "webhookSource": "",
    "webhookPayload": null,
    "intent": {
        "inputContextNames": [],
        "events": [],
        "trainingPhrases": [],
        "outputContexts": [],
        "parameters": [],
        "messages": [],
        "defaultResponsePlatforms": [],
        "followupIntentInfo": [],
        "name": "projects/ddddd-102d1/agent/intents/e378b17a-d899-4e69-8dfd-4b938b0222a5",
        "displayName": "action.show_card",
        "priority": 0,
        "isFallback": false,
        "webhookState": "WEBHOOK_STATE_UNSPECIFIED",
        "action": "",
        "resetContexts": false,
        "rootFollowupIntentName": "",
        "parentFollowupIntentName": "",
        "mlDisabled": false
    },
    "intentDetectionConfidence": 1,
    "diagnosticInfo": {
        "fields": {
            "webhook_latency_ms": {
                "numberValue": 161,
                "kind": "numberValue"
            }
        }
    },
    "languageCode": "en-us"
}

我尝试通过执行structjson.jsonToStructProto({foo:'bar'})格式化有效负载json的方式,如以下链接中所述

Send parameters to webhook on dialogflow sdk v2

但没有成功。

0 个答案:

没有答案