如何在PHP中从dialogflow到API获得自定义负载响应



仅获取意图的文本响应,但api响应中缺少自定义有效负载响应。

对话流的原始响应是图像

{
"allRequiredParamsPresent": true,
"fulfillmentText": "Thanks Dhruva, are you ?",
"fulfillmentMessages": [
{
"text": {
"text": [
"Thanks Dhruva, are you ?"
]
}
},
{
"payload": {
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "permanent employee"
},
{
"text": "probation employee"
}
]
}
]
]
}
}
]
}

Api只接收文本而不接收自定义负载Image

参考这篇文章,但无法修复,任何帮助或指出正确的方向将不胜感激,谢谢。

这是我在php关联数组中获取自定义有效载荷的方法

$textInput = new TextInput();
$textInput->setText($request->query("message","message that has custom payload response"));
$textInput->setLanguageCode("en-US");
//Putting it in query input
$queryInput = new QueryInput();
$queryInput->setText($textInput);
$response = $sessionClient->detectIntent($session, $queryInput);
$queryResult = $response->getQueryResult();
//Beginning of solution
$fulfillmentMessages = $queryResult->getFulfillmentMessages();
$customPayloads = []; //The result array
foreach ($fulfillmentMessages as $fulfillmentMessage) {
/* @var $fulfillmentMessage Message*/
if($fulfillmentMessage->hasPayload()) {
$customPayloads[] = json_decode($fulfillmentMessage->getPayload()
->serializeToJsonString(),1);
}
}

最新更新