
A partir de esta clase empezamos a desarrollar nuestro webhook en PHP, por favor envíame un mensaje para crearte una cuenta en el hosting gratuito que te proporcionaremos.
<?php
include_once "../somosioticos/somosioticos_dialogflow.php";
credenciales('empanadasbot','123456789');
if (intent_recibido("calculadora")){
$valor1 = obtener_variables()['numero1'];
$valor2 = obtener_variables()['numero2'];
$resultado = $valor1 + $valor2;
enviar_texto("Luego de sumar los valores te digo que el resultado es $resultado");
}
?>
<?php
include_once "../somosioticos/somosioticos_dialogflow.php";
credenciales('empanadasbot','123456789');
if (intent_recibido("tomar_orden")){
$cantidad1 = obtener_variables()['cantidad1'];
$sabor1 = obtener_variables()['sabor1'];
$cantidad2 = obtener_variables()['cantidad2'];
$sabor2 = obtener_variables()['sabor2'];
$cantidad3 = obtener_variables()['cantidad3'];
$sabor3 = obtener_variables()['sabor3'];
enviar_texto("la orden pedida es: $sabor1 $cantidad1 $sabor2 $cantidad2 $sabor3 $cantidad3");
}
?>
//atención zip del agente cargado aquí
<?php
//esto incluye la librería
include_once "../somosioticos/somosioticos_dialogflow.php";
//credenciales('empanadasbot','123456789');
debug();
// me conecto a db
$mysqli = mysqli_connect("localhost", "admin_empabot", "123456789", "admin_empabot");
if (!$mysqli) {
echo "Error: No se pudo conectar a MySQL." . PHP_EOL;
die();
}
//si el intent recibido es tomar orden...
if (intent_recibido("consultar_precio")) {
$resultado = $mysqli->query("SELECT * FROM `precios` WHERE 1");
$precios = mysqli_fetch_assoc($resultado);
$p_arabes = $precios['arabes'];
$p_choclo = $precios['choclo'];
$p_carne = $precios['carne'];
enviar_texto("Las de carne cuestan $p_carne las arabes cuestan $p_arabes y las de choclo cuestan $p_choclo");
}
//si el intent recibido es tomar orden...
if (intent_recibido("tomar_orden")){
$cantidad1 = obtener_variables()['cantidad1'];
$sabor1 = obtener_variables()['sabor1'];
$cantidad2 = obtener_variables()['cantidad2'];
$sabor2 = obtener_variables()['sabor2'];
$cantidad3 = obtener_variables()['cantidad3'];
$sabor3 = obtener_variables()['sabor3'];
enviar_texto("la orden pedida es: $sabor1 $cantidad1 $sabor2 $cantidad2 $sabor3 $cantidad3");
}
?>
//ATENCION POR SI TE HACE FALTA EL ZIP CON EL AGENTE ESTA CARGADO EN ESTA CLASE
<?php
//esto incluye la librería
include_once "../somosioticos/somosioticos_dialogflow.php";
//credenciales('empanadasbot','123456789');
debug();
// me conecto a db
$mysqli = mysqli_connect("localhost", "admin_empabot", "123456789", "admin_empabot");
if (!$mysqli) {
echo "Error: No se pudo conectar a MySQL." . PHP_EOL;
die();
}
//si el intent recibido es consultar_precio...
if (intent_recibido("consultar_precio")) {
$p_arabes = consulta_precio('arabes');
$p_choclo = consulta_precio('choclo');
$p_carne = consulta_precio('carne');
enviar_texto("Las de carne cuestan $p_carne las arabes cuestan $p_arabes y las de choclo cuestan $p_choclo");
}
//si el intent recibido es tomar orden...
if (intent_recibido("tomar_orden")){
$cantidad1 = obtener_variables()['cantidad1'];
$sabor1 = obtener_variables()['sabor1'];
$disponibilidad1 = 0;
$precio1 = 0;
$subtotal1 = 0;
if ($cantidad1 > 0){
$precio1 = consulta_precio($sabor1);
$disponibilidad1 = consulta_stock($sabor1);
$subtotal1 = $cantidad1 * $precio1;
if($cantidad1 > $disponibilidad1){
enviar_texto("$disponibiliad1 Lo siento, no tenemos suficientes empanadas $sabor1 en este momento, si deseas reformular el pedido simplemente di 'quiero ordenar' la cantidad que actualmente nos quedan es de ".$disponibilidad1." unidades");
return;
}
}
$cantidad2 = obtener_variables()['cantidad2'];
$sabor2 = obtener_variables()['sabor2'];
$disponibilidad2 = 0;
$precio2 = 0;
$subtotal2 = 0;
if ($cantidad2 > 0){
$precio2 = consulta_precio($sabor2);
$disponibilidad2 = consulta_stock($sabor2);
$subtotal2 = $cantidad2 * $precio2;
if($cantidad2 > $disponibilidad2){
enviar_texto("Lo siento, no tenemos suficientes empanadas $sabor2 en este momento, si deseas reformular el pedido simplemente di 'quiero ordenar' la cantidad que actualmente nos quedan es de $disponibilidad2 unidades");
return;
}
}
$cantidad3 = obtener_variables()['cantidad3'];
$sabor3 = obtener_variables()['sabor3'];
$disponibilidad3 = 0;
$precio3 = 0;
$subtotal3 = 0;
if ($cantidad3 > 0){
$precio3 = consulta_precio($sabor3);
$disponibilidad3 = consulta_stock($sabor3);
$subtotal3 = $cantidad3 * $precio3;
if($cantidad3 > $disponibilidad3){
enviar_texto("Lo siento, no tenemos suficientes empanadas $sabor3 en este momento, si deseas reformular el pedido simplemente di 'quiero ordenar' la cantidad que actualmente nos quedan es de $disponibilidad3 unidades");
return;
}
}
$total = $subtotal1 + $subtotal2 + $subtotal3;
enviar_texto("Usted encargó: $cantidad1 $sabor1, $cantidad2 $sabor2, $cantidad3 $sabor3 y el total es de $ $total por favor dígame si desea confirmar este pedido");
}
//***************************
//**** FUNCIONES ************
//***************************
function consulta_stock($sabor){
global $mysqli;
$resultado = $mysqli->query("SELECT $sabor FROM `stock` WHERE 1");
$stock = mysqli_fetch_assoc($resultado);
$cantidad = $stock[$sabor];
return $cantidad;
}
function consulta_precio($sabor){
global $mysqli;
$resultado = $mysqli->query("SELECT $sabor FROM `precios` WHERE 1");
$precios = mysqli_fetch_assoc($resultado);
$precio = $precios[$sabor];
return $precio;
}
?>
if (intent_recibido("imagen")) {
$tarjetas[0]['titulo'] = "Título de prueba 1";
$tarjetas[0]['subtitulo'] = "Esto es un subtitulo 1";
$tarjetas[0]['url']= "https://medias3.prestastore.com/835054-pbig/chat-bot-for-social-networking.jpg";
$tarjetas[0]['botones'][0] = "Botón 1";
$tarjetas[0]['botones'][1] = "Botón 2";
$tarjetas[0]['botones'][2] = "Botón 3";
$tarjetas[1]['titulo'] = "Título de prueba 2";
$tarjetas[1]['subtitulo'] = "Esto es un subtitulo 2";
$tarjetas[1]['url']= "https://medias3.prestastore.com/835054-pbig/chat-bot-for-social-networking.jpg";
$tarjetas[1]['botones'][0] = "Botón 1";
$tarjetas[1]['botones'][1] = "Botón 2";
enviar_tarjetas($tarjetas, origen());
}
Nos encontramos desarrollando la actualización completa de este curso. Muy pronto... Novedades!
En este curso, aprenderás a desarrollar verdaderos bots conversacionales, capaces de mantener un diálogo fluido, y extraer parámetros de nuestro interés de las oraciones del usuario.
Habrás hablado con bots que rápidamente no entienden lo que decimos, esto es porque utilizan KEYWORD RECOGNITION, son bots que intentan detectar la intensión del usuairo mediante la identificación de palabras claves. Esto NO se trata de Inteligencia Artificial.
Nosotros, en este curso, solo trabajaremos con Bots basados en una potente tecnología de Inteligencia Artificial.
Natural Language Processing
Encontrarás que durante todo el curso hablamos de "verdaderos" bots inteligentes.
Y esto es porque nuestros bots no solo responderán preguntas preestablecidas, o frecuentes. No más bots que solo responden el horario de atención, etc.
Nuestros bots serán capaces de realizar consultas complejas a base de datos, y respondernos datos útiles, como precios, stock y mucho más!
Pero iremos hasta el final, a donde hasta implementaremos una Web a donde vivirá nuestro Bot ofreciendo y vendiendo los productos de nuestra tienda ficticia.
Ojo, que también vincularemos a nuestro bot a plataformas como Facebook Messenger, Télegram y otros!
Dialogflow es una plataforma de comprensión del lenguaje natural que se utiliza para diseñar e integrar una interfaz de usuario conversacional en aplicaciones móviles, aplicaciones web, dispositivos, bots, sistemas de respuesta de voz interactivos y usos relacionados.
Dialogflow CX es un paquete avanzado de desarrollo para crear aplicaciones de IA conversacional, como bots de chat, de voz y de IVR. Incluye una plataforma de creación de bots visual y herramientas de colaboración y de gestión de versiones. Además, admite funciones avanzadas de IVR y está optimizado para ajustarse a la complejidad y a la escala propias del uso empresarial. Dialogflow CX es multiplataforma y puede conectarse con tus propias aplicaciones, incluidas las soluciones telefónicas o digitales que uses. Los usuarios de Dialogflow CX pueden acceder a la asistencia de Google Cloud y cuentan con un acuerdo de nivel de servicio para los despliegues en entornos de producción.
Te esperamos