У меня проблемы с отправкой параметризованного события из API. Ответ DF не тот, который я ожидаю. Кажется, что событие правильно вызывает намерение, но оно не передает ему параметры. Когда я тестирую запрос с помощью консоли DialogFlow API, он работает правильно.
JS Код - DetectIntent API
Использование npm: диалоговое окно 1.2.0
const sessionClient = new dialogflow.SessionsClient({projectId, credentials});
const sessionPath = sessionClient.sessionPath(projectId, sessionId + update.sender.id);
const body_req = {
session: sessionPath,
queryInput: {
event: {
name: '01_EVENT_USER',
parameters: {
fullname:'Bruno'
},
languageCode: languageCode,
}
}
};
sessionClient.detectIntent(body_req).then(response => {
console.log('Request : ', JSON.stringify(body_req));
console.log('Response : ', JSON.stringify(response));
}, function(err) { console.error("Execute error", err); });
Запрос и ответ
#CONSOLE LOG - REQUEST
{
"session":"projects/PROJECT-xxxxxxxxxxxx/agent/sessions/PROJECTXXXX-bb97ab4d-bc98-4c32-88cc-bfbc3fcd4d50",
"queryInput":{
"event":{
"name":"01_EVENT_USER",
"parameters":{
"fullname":"Bruno"
},
"languageCode":"es-419"
}
}
}
#CONSOLE LOG - RESPONSE
[
{
"responseId": "78bf0e26-9d1d-4b54-9f84-02d69979251d-19db3199",
"queryResult": {
"fulfillmentMessages": [
{
"platform": "PLATFORM_UNSPECIFIED",
"text": {
"text": [
""
]
},
"message": "text"
}
],
"outputContexts": [],
"queryText": "01_EVENT_USER",
"speechRecognitionConfidence": 0,
"action": "",
"parameters": {
"fields": {
"event_param_01": {
"stringValue": "",
"kind": "stringValue"
}
}
},
"allRequiredParamsPresent": true,
"fulfillmentText": "",
"webhookSource": "",
"webhookPayload": null,
"intent": {
"inputContextNames": [],
"events": [],
"trainingPhrases": [],
"outputContexts": [],
"parameters": [],
"messages": [],
"defaultResponsePlatforms": [],
"followupIntentInfo": [],
"name": "projects/PROJECT-xxxxxxxxxxxx/agent/intents/4e4c0355-1738-41c3-b0b8-7b2c6a59e120",
"displayName": "test param",
"priority": 0,
"isFallback": false,
"webhookState": "WEBHOOK_STATE_UNSPECIFIED",
"action": "",
"resetContexts": false,
"rootFollowupIntentName": "",
"parentFollowupIntentName": "",
"mlDisabled": false
},
"intentDetectionConfidence": 1,
"diagnosticInfo": null,
"languageCode": "es",
"sentimentAnalysisResult": null
},
"webhookStatus": null,
"outputAudio": {
"type": "Buffer",
"data": []
},
"outputAudioConfig": null
},
null,
null
]
Изображения
- API консоли диалогового потока
- Намерение
1) Отредактированное намерение
Я изменил Намерение, в соответствии с рекомендацией Заключенного, и не сработало, событие достигло намерения, но не параметра.
- Отредактировано намерение
Ответ
[
{
"responseId":"b0f4a3a9-dd67-49dc-9d80-1c4262ac39e9-19db3199",
"queryResult":{
"fulfillmentMessages":[
{
"platform":"PLATFORM_UNSPECIFIED",
"text":{
"text":[
"Hola #01_EVENT_USER.fullname"
]
},
"message":"text"
}
],
"outputContexts":[
],
"queryText":"01_EVENT_USER",
"speechRecognitionConfidence":0,
"action":"",
"parameters":{
"fields":{
}
},
"allRequiredParamsPresent":true,
"fulfillmentText":"Hola #01_EVENT_USER.fullname",
"webhookSource":"",
"webhookPayload":null,
"intent":{
"inputContextNames":[
],
"events":[
],
"trainingPhrases":[
],
"outputContexts":[
],
"parameters":[
],
"messages":[
],
"defaultResponsePlatforms":[
],
"followupIntentInfo":[
],
"name":"projects/PROJECT-XXXXXXXXX/agent/intents/4e4c0355-1738-41c3-b0b8-7b2c6a59e120",
"displayName":"test param",
"priority":0,
"isFallback":false,
"webhookState":"WEBHOOK_STATE_UNSPECIFIED",
"action":"",
"resetContexts":false,
"rootFollowupIntentName":"",
"parentFollowupIntentName":"",
"mlDisabled":false
},
"intentDetectionConfidence":1,
"diagnosticInfo":null,
"languageCode":"es",
"sentimentAnalysisResult":null
},
"webhookStatus":null,
"outputAudio":{
"type":"Buffer",
"data":[
]
},
"outputAudioConfig":null
},
null,
null
]
2) Отредактировано намерение (просто)
Переименовано событие чтобы уменьшить сложность, но поведение то же самое.
- Простое намерение
- Код
const sessionClient = new dialogflow.SessionsClient({projectId, credentials});
const sessionPath = sessionClient.sessionPath(projectId, sessionId + update.sender.id);
const body_req = {
session: sessionPath,
queryInput: {
event: {
name: 'eventuser',
parameters: {
fullname:'Bruno'
},
languageCode: languageCode,
}
}
};
sessionClient.detectIntent(body_req).then(response => {
console.log('Request : ', JSON.stringify(body_req));
console.log('Response : ', JSON.stringify(response));
}, function(err) { console.error("Execute error", err); });
Ответ
[
{
"responseId":"a53732b8-bed0-4ae8-8858-81399f7b58e5-19db3199",
"queryResult":{
"fulfillmentMessages":[
{
"platform":"PLATFORM_UNSPECIFIED",
"text":{
"text":[
"Hola #eventuser.fullname"
]
},
"message":"text"
}
],
"outputContexts":[
],
"queryText":"eventuser",
"speechRecognitionConfidence":0,
"action":"",
"parameters":{
"fields":{
}
},
"allRequiredParamsPresent":true,
"fulfillmentText":"Hola #eventuser.fullname",
"webhookSource":"",
"webhookPayload":null,
"intent":{
"inputContextNames":[
],
"events":[
],
"trainingPhrases":[
],
"outputContexts":[
],
"parameters":[
],
"messages":[
],
"defaultResponsePlatforms":[
],
"followupIntentInfo":[
],
"name":"projects/apex-way-ar-dev-hgjgyp/agent/intents/4e4c0355-1738-41c3-b0b8-7b2c6a59e120",
"displayName":"test param",
"priority":0,
"isFallback":false,
"webhookState":"WEBHOOK_STATE_UNSPECIFIED",
"action":"",
"resetContexts":false,
"rootFollowupIntentName":"",
"parentFollowupIntentName":"",
"mlDisabled":false
},
"intentDetectionConfidence":1,
"diagnosticInfo":null,
"languageCode":"es",
"sentimentAnalysisResult":null
},
"webhookStatus":null,
"outputAudio":{
"type":"Buffer",
"data":[
]
},
"outputAudioConfig":null
},
null,
null
]