PHP - PROBLEMA WEBHOOK DIALOGFLOW

 
Vista:

PROBLEMA WEBHOOK DIALOGFLOW

Publicado por Jeronimo (1 intervención) el 10/01/2020 17:58:56
Hola que tal buenas tardes, tengo un problema con el WebHook, la parte de adquirir los datos y guardalos a una base de datos ya lo pude hacer , tengo dificultad cuando quiero mandarle dependiendo lo que me escriba el cliente, mandarle yo un texto, en este caso un simple texto, luego lo traere desde la BDD.

Mi codigo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
 
$method = $_SERVER['REQUEST_METHOD'];
 
 
if($method == 'POST'){
	$requestBody = file_get_contents('php://input');
	$json = json_decode($requestBody);
 
	$text = $json->queryResult->queryText;   // ACCEDO POR queryText para que sea más sencillo, e igualmente no anda. En realidad debería ser queryResult->parameters->text;
 
	switch ($text) {
		case 'hola':
			$speech = "Hola";
			break;
 
		case 'chau':
			$speech = "Chau";
			break;
 
		case 'Cualquiera':
			$speech = "Cualquiera.";
			break;
 
		default:
			$speech = "Perdon, no entendí lo que dijiste";
			break;
	}
	$response = $json;
	$responde->queryResult;
	$response->fulfillmentText = $speech;
	$response->fulfillmentMessages = array(
		array(
			"text" => array(
			"text" => array($speech)
 
			)
		)
	);
	$myjson= json_encode($response);
	echo $myjson;
}
else
{
	echo "Metodo no encontrado";
}
 
?>

El JSON de DialogFlow:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{
  "responseId": "5adc7750-242e-4f6e-b317-c94bc8872a3c-b4ef8d5f",
  "queryResult": {
    "queryText": "e",
    "parameters": {
      "text": ""
    },
    "allRequiredParamsPresent": true,
    "fulfillmentText": "",
    "fulfillmentMessages": [
      {
        "text": {
          "text": [
            ""
          ]
        }
      }
    ],
    "outputContexts": [
      {
        "name": "projects/agenteprueba-wfbkiv/agent/sessions/80fc8c10-f22e-d40c-6471-fa0c0c0944fe/contexts/__system_counters__",
        "lifespanCount": 1,
        "parameters": {
          "text": "",
          "no-match": 0,
          "text.original": "",
          "no-input": 0
        }
      }
    ],
    "intent": {
      "name": "projects/agenteprueba-wfbkiv/agent/intents/745681af-0080-4a0b-86ac-1a859c6a40f4",
      "displayName": "General"
    },
    "intentDetectionConfidence": 1,
    "diagnosticInfo": {
      "webhook_latency_ms": 650
    },
    "languageCode": "es"
  },
  "webhookStatus": {
    "code": 14,
    "message": "Webhook call failed. Error: UNAVAILABLE."
  }
}

PD: Cuando lo testeo en postman, con el mismo JSON, y le pongo hola en parametro , o en el queryText me devuelve correctamente los valores con el texto que puse en el código.

Desde ya muchas gracias por la ayuda, saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder