Dialogflow обнаруживает намерение "полезная нагрузка" не работает - PullRequest
0 голосов
/ 20 октября 2018

Я хочу отправить пользовательские параметры в 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"
}

Я попытался отформатировать полезную нагрузку json, выполнив structjson.jsonToStructProto ({foo: 'bar'}), как упомянуто в следующей ссылке

Отправить параметры webhook в диалоговом потоке sdkv2

но безуспешно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...