"Charlar con nosotros ahora!" Todos hemos visto esas ventanas emergentes en los sitios web populares, que le permite saber que si usted tiene una pregunta o necesita alguna ayuda hay alguien (o algo) que se puede recurrir. A veces sin embargo chat es simplemente no es el medio adecuado para conseguir su pregunta contestada o el apoyo que necesita. Para una experiencia de mayor fidelidad, dando un paso hacia arriba para el vídeo es la mejor opción. En este post voy a mostrar cómo el uso de Twilio vídeo y un poco de JavaScript y PHP, se puede construir una sala de chat en plug-in para WordPress, sistema CMS más popular del mundo. Nunca construido un plugin de WordPress? No se preocupe, es un proceso sencillo y simple. ¿Quieres ir directamente para el producto terminado? No hay problema. Coge el código completo para el plugin de. De lo contrario, vamos a construir! Obtención de instalación Antes de que consigamos la codificación tendremos que reunir algunos elementos que utilizaremos para construir nuestro plugin. En primer lugar, se necesita de una instalación de WordPress que permite plugins. Esto puede ser, o de forma remota en un hostingproveedor similares. Desafortunadamente WordPress.com no le permite cargar plugins personalizados. A continuación, necesitará una cuenta de Twilio. Si usted no tiene ya uno! Con una instalación de WordPress y cuenta Twilio en la mano podemos comenzar a construir nuestro plugin. Comience con estructura plugins de WordPress son trozos de código PHP, JavaScript y CSS que pueden ampliar y expandir la funcionalidad de su sitio de WordPress. Cuando se instala un plugin, WordPress coloca los activos de dicho complemento en un nuevo directorio bajo el wp-content / plugins / carpeta / de la instalación de WordPress. Ahí es donde vamos a empezar a construir nuestro nuevo plugin, mediante la creación de la estructura de carpetas y archivos que necesitamos. Crear una nueva carpeta con el nombre Twilio y vídeo bajo el directorio de plugins. En ese directorio, cree una estructura de carpetas y archivos que coincide con la lista de abajo. Por ahora se puede dejar los archivos vacío, vamos a añadir contenido a ellos a medida que avanzamos. / Wp-content / plugins / Twilio-video.php Twilio-video-randos.php Twilio video.html / js-Twilio Video.js / cssTwilio-video.css / lib Con la estructura básica plug-in en su lugar vamos a empezar a añadir algo de contenido. Coge los estilos CSS para el plugin de la y colocarlos en el archivo Twilio-video.css. Ahora también es un buen momento para agregar la biblioteca de ayuda Twilio-php para nuestro proyecto. Debido Twilio vídeo se encuentra todavía en fase beta, que necesita para agarrar la biblioteca de ayuda, ya sea del, o de la. Una vez que tenga los archivos de la biblioteca de ayuda copiarlos en la carpeta / lib. Por último, vamos a necesitar un recurso preparado final. Un selector de nombre aleatorio que utilizaremos más adelante para asignar una identidad a cada cliente que se conecta a un agente. randos.php abierta y colocar el código de la en ella. Increíble. Ahora estamos listos para escribir algo de código para nuestro plugin. Para empezar tenemos que crear un encabezado plugin que es simplemente metadatos que utiliza WordPress saber algunas cosas acerca de nuestro plugin. Metadatos que entra en el Twilio-video.php. Abrir ese archivo en su editor favorito y agregue el siguiente: PHP <? Php / ** * Nombre Plugin: TwilioVídeo * / ?> 1 2 3 4 5 <? Php / ** * Nombre de Plugin: Twilio vídeo * /> La cabecera Plugin Nombre es la única cabecera requerida, pero hay que se puede utilizar para proporcionar aún más detalles acerca de su plugin para WordPress? . En este punto, el archivo PHP es ahora un plugin de WordPress válida, y se puede ir en su sitio de administración de WordPress y. El plug-in no hace nada todavía, así que es bastante aburrido. Deja sabor a su vida al tener WordPress agregar la Twilio vídeo JavaScript SDK y nuestra interfaz de usuario plugin para cualquier página que presta. De vuelta en Twilio-video.php, llamar a la función que cablear la acción. Esta acción permite que nos dicen acerca de WordPress una función definida en nuestro plugin que queremos que se llame cuando está averiguar qué recursos para incluir en la página web prestado. En esa función que llamaremos las funciones wp_enqueue_style y wp_enqueue_script para que WordPress sabe acerca de los scripts y estilos nuestro plugin necesita incluir en la página web. PHP <? Php / ** * Nombre Plugin: TwilioVídeo * / define ( 'TWILIO_VIDEO_PLUGIN_URL', plugin_dir_url (__ FILE__)); add_action ( '', 'wp_enqueue_scripts twilio_video_enqueue_scripts'); twilio_video_enqueue_script función () { wp_enqueue_style ( 'Twilio-video-css', TWILIO_VIDEO_PLUGIN_URL 'css / Twilio-video.css'.); wp_enqueue_script ( 'jquery'); wp_enqueue_script ( 'Twilio-common', ' wp_enqueue_script ( 'Twilio-conversaciones', ' wp_enqueue_script ( 'Twilio-video-js', TWILIO_VIDEO_PLUGIN_URL 'js / Twilio-Video.js'.); } ?> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <? Php / ** * Plugin Nombre:? Twilio vídeo * / define ( 'TWILIO_VIDEO_PLUGIN_URL', plugin_dir_url (__FILE__)); add_action ( '', 'wp_enqueue_scripts twilio_video_enqueue_scripts'); twilio_video_enqueue_script función () {wp_enqueue_style ( 'Twilio-video-css', TWILIO_VIDEO_PLUGIN_URL 'css / Twilio-video.css'.); wp_enqueue_script ( 'jquery');wp_enqueue_script ( 'Twilio-common', '); wp_enqueue_script ( 'Twilio-conversaciones', '); wp_enqueue_script ( 'Twilio-video-js', TWILIO_VIDEO_PLUGIN_URL 'js / Twilio-Video.js'.); }?> En nuestro plugin que estamos enqueuing que una sola fila Twilio-video.css, jQuery, el archivo y la Twilio-Video.js hemos creado antes. Una vez que los scripts y CSS están en el HTML representado podemos utilizar los estilos de principios activos y que contienen para crear nuestra interfaz de usuario del plugin. Abra la Twilio-video.html en su editor de texto y añada el siguiente código HTML: XHTML <Div id = "Twilio-video-container"> <Div id = "agente-símbolo"> <P> hablar con un agente </ p> Botón <id = "enter-cola"> Conectar </ botón> </ Div> <Div id = "esperar intersticial" style = "display: none"> <P> Conexión a un agente </ p> </ Div> <Div id = "conversación-view" style = "display: none;"> <Div id = "remote-medios de comunicación"> </ div> <Div id = "controles"> <Div id = "vista previa"> <divid = "locales-media"> </ div> </ Div> </ div> <! - / -> controles </ Div> </ Div> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <div id = "Twilio-video-container"> <div id = "agente-símbolo"> hablar con un agente <botón de Identificación = "enter-cola"> Conectar </ button> <div id = "esperar intersticial" style = "display: none"> que conecta con un agente <div id = "conversación-view" style = "display: none; " > <Div id => <div id = "controles" "Remote-media"> <div id = "vista previa"> <div id = "-medios de comunicación locales"> <! - / Controles -> Guardar el archivo y abra su el sitio de WordPress en un navegador. Debería ver el plugin aparecen como un elemento fijo en la esquina inferior derecha del sitio. Veamos la plantilla HTML que agregamos. Consta de tres partes básicas: un que pide al usuario hablar con un agente de apoyo. A que le dice al usuario que se está conectando a un agente. A que muestra al usuario yflujos de vídeo de agentes que les permite conversar. A medida que el usuario interactúa con la interfaz de usuario del plugin, vamos a utilizar JavaScript para mostrar y ocultar esos elementos diferentes. Abra el archivo Twilio-Video.js donde añadiremos que la lógica del lado del cliente para nuestro plugin. Para empezar, primero tenemos que utilizar jQuery para hacer una solicitud asincrónica para obtener el contenido del archivo Twilio-video.html y luego añadir que el HTML para el elemento de la página web. JavaScript jQuery (function () { jQuery.ajax ({url: "/wp-content/plugins/twilio-video/twilio-video.html"}). hecho (function (contenido) { jQuery (contenido) .appendTo ( "cuerpo"); }); }); 1 2 3 4 5 jQuery (function () {jQuery Ajax ({url:.. "/wp-content/plugins/twilio-video/twilio-video.html"}) Done (function (contenido) {jQuery (contenido) . appendTo ( "cuerpo");});}); Guarde el archivo y la carga hasta su sitio de WordPress en el navegador para ver la interfaz de usuario plug-in a la vida. Ahora que tenemos un poco de interfaz de usuario para nuestro plugin, vamos a añadir un poco de interactividad.De vuelta en nuestro archivo JavaScript, añadir un controlador de clic al botón enter-cola. Cuando se hace clic en el botón que vamos a cambiar la interfaz de usuario plugin para la siguiente etapa dejando al usuario saber que los estamos conectando a un agente. JavaScript jQuery (function () { jQuery.ajax ({url: "/wp-content/plugins/twilio-video/twilio-video.html"}). hecho (function (contenido) { jQuery (contenido) .appendTo ( "cuerpo"); document.getElementById ( "enter-cola '). onclick = function () { jQuery ( '# agente símbolo') alternar (.); jQuery ( '# esperar intersticial') alternar (.); }; }); }); 1 2 3 4 5 6 7 8 9 10 11 jQuery (function () {jQuery Ajax ({url:.. "/wp-content/plugins/twilio-video/twilio-video.html"}) Hecho (función (contenido ) {jQuery (contenido) appendTo ( "cuerpo");.. getElemenById documento ( "enter-cola ') onclick = function () {jQuery (' # agente símbolo ') alternar (); (' #WAIT jQuery.. -interstitial ').alternar (); }; }); }); Actualizar su navegador, haga clic en el botón "Conectar". Grande, que está siendo conectado a un agente! No, en realidad, ya que no hemos cableado Twilio vídeo todavía. Con el fin de iniciar una conversación de vídeo entre el usuario y un agente que necesitamos para crear un nuevo cliente de conversación para el usuario y tiene que comenzar a escuchar su cliente para las invitaciones de conversación. Queremos hacer que sólo cuando el usuario pulsa "Conectar" nos dicen que quieren hablar con un agente. Creación de un cliente requiere una conversación que encapsula la identidad del cliente y las credenciales necesarias para autenticar con Twilio. Creación de un testigo de acceso requiere secretos Twilio. Para ayudar a mantener los secretos bien, secreto, generaremos el token en el servidor y la exponemos a través de una API REST que puede ser llamado por nuestro JavaScript. WordPress ya se expone a sí mismo y hace que sea muy fácil para añadir sus propios criterios de valoración a la misma. Estallar abierto Twilio-video.php nuevo y utilizar la función de add_actioncablear la acción. PHP define ( 'TWILIO_VIDEO_PLUGIN_URL', plugin_dir_url (__ FILE__)); add_action ( '', 'wp_enqueue_scripts twilio_video_enqueue_scripts'); add_action ( 'rest_api_init', 'twilio_video_register_api_routes'); 1 2 3 define ( 'TWILIO_VIDEO_PLUGIN_URL', plugin_dir_url (__FILE__)); add_action ( '', 'wp_enqueue_scripts twilio_video_enqueue_scripts'); add_action ( 'rest_api_init', 'twilio_video_register_api_routes'); Esta acción se llama cuando se inicializa su WordPress API REST y nos da la oportunidad de registrar nuestras propias rutas de utilizar la función. PHP twilio_video_register_api_routes function () { $ Namespace = 'Twilio-video-api / v1'; register_rest_route ($ espacio de nombres, '/ Twilio-video-token /', array ( 'Métodos' => 'GET', 'Callback' => 'twilio_video_get_token') ); } 1 2 3 4 5 6 7 twilio_video_register_api_routes function () {$ namespace = 'Twilio-video-api / v1'; register_rest_route ($ espacio de nombres, '/ Twilio-video-token /', array ('Métodos' => 'GET', 'callback' => 'twilio_video_get_token')); } Aquí le estamos diciendo a WordPress para registrar una ruta que responde a las peticiones GET en la ruta / wp-JSON / Twilio-video-api / / v1 / Twilio-video-token. Cuando se hace una petición a la URL, llama a la función de WordPress twilio_video_get_token que utiliza la biblioteca de ayuda Twilio-php para generar un nuevo token de acceso que contiene un permitiendo al cliente a participar en una conversación de vídeo. Este token junto con una identidad elegida al azar se devuelve como un objeto JSON de la función. PHP twilio_video_get_token función () { require_once ( 'lib / Twilio / Twilio.php'); require_once ( 'randos.php'); // Un identificador para su aplicación - puede ser cualquier cosa que le gustaría $ AppName = 'TwilioVideoDemo'; // Elegir un nombre de usuario aleatorio para el usuario que se conecta $ Identidad = randomUsername (); // Crear el token de acceso, lo que vamos a serializar y enviar al cliente $ Token = nuevaServices_Twilio_AccessToken ( / * $ TWILIO_ACCOUNT_SID, * / / * $ TWILIO_API_KEY, * / / * $ TWILIO_API_SECRET, * / 3600, $ identidad ); // Conceder acceso a conversaciones $ Subvención = new Services_Twilio_Auth_ConversationsGrant (); Subvención $> setConfigurationProfileSid (/ * $ TWILIO_CONFIGURATION_SID * /); $ Tokens> addGrant ($ subvención); $ Rendimiento = array ( identidad => $ «identidad», 'Símbolo' => $ tokens> toJWT (), ); $ Respuesta = new WP_REST_Response ($ retorno); return $ respuesta; } 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 función twilio_video_get_token () {require_once ( 'lib / Twilio / Twilio.php') ; require_once ( 'randos.php'); // Un identificador para su aplicación - puede ser cualquier cosa que le gustaría appName $ = 'TwilioVideoDemo'; // Elegir un nombre de usuario aleatorio para el usuario $ = identidad de conexión randomUsername (); // Crear el token de acceso,que vamos a serializar y enviar al cliente $ token = nueva Services_Twilio_AccessToken (/ * $ TWILIO_ACCOUNT_SID, * / / * $ TWILIO_API_KEY, * / / * $ TWILIO_API_SECRET, * / 3600, $ identidad); Acceso // Grant Conversaciones $ subvención = new Services_Twilio_Auth_ConversationsGrant (); $ Subvención -> setConfigurationProfileSid (/ * $ TWILIO_CONFIGURATION_SID * /); $ Contador -> addGrant ($ subvención); $ Rendimiento = array ( 'identidad' => $ identidad, 'símbolo' => $ contador -> toJWT (),); $ Respuesta = new WP_REST_Response ($ retorno); return $ respuesta; } Con el código en su lugar la última cosa que necesitamos hacer es añadir nuestros secretos Twilio. Los secretos que necesitamos son: Configuración de la cuenta secreta SID SID clave de API API Perfil SID Para conseguir todos estos secretos que necesitaremos a la cabeza de más a la sección de la consola Twilio desarrollador. Una vez allí apoderarse de su SID de la cuenta: A continuación, cree una nueva. Un perfil de configuración es un conjuntode los valores de configuración para WebHooks y otras opciones para vídeo programable. Caída en un nombre descriptivo para el perfil de configuración, haga clic en Guardar y agarrar el RTC Perfil SID: Por último, necesitamos una. Estos se utilizan para autenticar a nuestro cliente Conversación con Twilio. Crear una nueva clave de API y agarrar su SID y secreta: Ponga sus secretos Twilio en el código PHP y dar a su nueva API REST WordPress el punto final en un giro mediante la apertura de un navegador señaló la URL de la API. Fantástico! Ahora podemos volver a la creación de esa conversación de vídeo. De vuelta en Twilio-Video.js vamos a llegar de nuevo para jQuery para tomar un token de acceso de nueva generada a partir de la API que acabamos de crear. Usando ese modo, crear un nuevo objeto de pasar al constructor de objetos. JavaScript conversationsClient var; jQuery (function () { jQuery.ajax ({url: "/wp-content/plugins/twilio-video/twilio-video.html"}). hecho (function (contenido) { jQuery (contenido) .appendTo ( "cuerpo"); document.getElementById ( "enter-cola '). onclick= Function () { jQuery ( '# agente símbolo') alternar (.); jQuery ( '# esperar intersticial') alternar (.); }; jQuery.getJSON ( '/ wp-JSON / Twilio-video-api / v1 / Twilio-video-token', function (datos) { identidad = data.identity; var = new AccessManager Twilio.AccessManager (data.token); // Comprobar la consola navegador para ver su identidad generada. // Enviar una invitación a sí mismo si desea! console.log (identidad); // Crear un cliente Conversaciones y conectarse a Twilio conversationsClient = new Twilio.Conversations.Client (AccessManager); }); }); }); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 conversationsClient var; jQuery (function () {jQuery Ajax ({url:... "/wp-content/plugins/twilio-video/twilio-video.html"}) hecho (function (contenido) {jQuery (contenido) appendTo ( "cuerpo '); getElemenById documento.( "Enter-cola '). onclick = function () {jQuery ( '# agente símbolo'). alternar (); jQuery ( '# esperar intersticial'). alternar (); }; jQuery. getJSON ( '/ wp-JSON / Twilio-video-api / v1 / Twilio-video-token' función, (datos) {identidad = datos de identidad;.. AccessManager var = new Twilio AccessManager (datos simbólicos); // Verificar. la consola del navegador para ver su identidad generada // Enviar una invitación a sí mismo si desea conectarse de la consola (identidad);.!. // crear un cliente de conversaciones y conectarse a Twilio conversationsClient = new Twilio Conversaciones Cliente (AccessManager);..} ); }); }); Una vez que tenemos un ejemplo de un cliente de conversación que decirle que se conecte a Twilio y empezar para las invitaciones de conversación entrantes. JavaScript // Crear un cliente Conversaciones y conectarse a Twilio conversationsClient = newTwilio.Conversations.Client (AccessManager); conversationsClient.listen (). continuación (function () { console.log ( "Conectado al Twilio escucha para invita entrantes como '". conversationsClient.identity "'"); }, La función (error) { console.log ( 'No se pudo conectar a Twilio:' Error.message); }); 1 2 3 4 5 6 7 // crear un cliente de conversaciones y conectarse a Twilio conversationsClient = new Twilio. Conversaciones. Cliente (AccessManager); conversationsClient. escucha ( ) . a continuación (function () {. consola log ( "Conectado a Twilio escucha para invita entrantes como '". conversationsClient identidad. "'");}, la función (error) {consola de registro (. 'No se pudo conectar a Twilio: "error . mensaje);}); El paso final es manejar la invitación entrante y dejar que el usuario y el agente realidad inversa. Para ello vamos a cable hasta el controlador de eventos Clientes conversación. Este evento nos da un objeto que vamos a utilizar para que el cliente acepte automáticamente elinvitación. Una vez que la invitación es aceptada estamos listos para iniciar la llamada que hacemos llamando a la función conversationStarted. JavaScript conversationsClient.listen (). continuación (function () { console.log ( "Conectado al Twilio escucha para invita entrantes como '". conversationsClient.identity "'"); conversationsClient.on ( 'invitar', function (invitar) { console.log ( 'invitar entrante de:' invite.from); invite.accept () entonces (conversationStarted).; }); }, La función (error) { console.log ( 'No se pudo conectar a Twilio:' Error.message); }); 1 2 3 4 5 6 7 8 9 10 11 conversationsClient. escucha ( ) . . A continuación (function () {consola log ( "Conectado a Twilio escucha para invita entrantes como '". ConversationsClient identidad. "'");.. ConversationsClient en ( 'invitar', function (invitar) {consola log ( 'invitar entrante de: "invitar a partir); invite a aceptar () entonces (conversationStarted);});},...función (error) {consola. log ( 'No se pudo conectar a Twilio: "mensaje de error.); }); La función conversationStarted se inicia mediante el canje de la interfaz de usuario plugin para la vista de conversación, y el uso de la función del objeto expuesto por el objeto proporcionado, dirige el flujo de vídeo local en la interfaz de usuario del plugin. También empieza a detectar el evento, que se disparará una vez que el agente que invita al usuario comienza a transmitir su video. Cuando ese evento dispara el plugin utiliza la función de adjuntar del objeto expuesto por el objeto pasado en el evento para dirigir esa secuencia de vídeo en la interfaz de usuario del plugin. Por último, la función empieza a recibir las conversaciones y los acontecimientos inconexos, que decirle que se restablece el plugin de nuevo a su estado original. JavaScript activeConversation var; var previewMedia; función conversationStarted (conversación) { jQuery ( '# esperar intersticial') alternar (.); . JQuery ( '# conversación-view') alternar (); console.log ( 'En un activoConversacion'); activeConversation = conversación; // Dibujar local de video, si no está ya la vista previa if (! previewMedia) { conversation.localMedia.attach ( '# local-media'); } // Cuando un participante se une, dibujar su video en la pantalla conversation.on ( 'participantConnected', function (participante) { console.log ( "Participante" participant.identity "" conectado "); participant.media.attach ( '# remota-media'); }); // Cuando se desconecte un participante, tenga en cuenta en el registro conversation.on ( 'participantDisconnected', function (participante) { console.log ( "Participante" participant.identity "" desconectado "); }); // Cuando termina la conversación, detener la captura de vídeo local conversation.on ( 'desconectado', function (conversación) { console.log ( "Conectado al Twilio escucha para invita entrantes como '". conversationsClient.identity "'"); conversation.localMedia.stop (); conversation.disconnect (); activeConversation = null; }); }; activeConversation 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 var; var previewMedia; función conversationStarted (conversación) {jQuery ( '# esperar intersticial'). alternar (); jQuery ( '# conversación-view'). alternar (); consola . log ( 'En una conversación activa'); activeConversation = conversación; // Dibujar local de video, si no está ya la vista previa if (! PreviewMedia) {conversación. localMedia. adjuntar ( '# local-media'); } // Cuando un participante se une, dibujar su conversación de vídeo en pantalla. en ( 'participantConnected', function (participante) {consola de registro ( "Participante" participante identidad. "" conectado ");... participante medios de fijación ( '# remota-media');}); // Cuando un participante se desconecta, nota en la conversación de registro. en ('ParticipantDisconnected', function (participante) {consola. log ( "Participante" participante identidad. "" desconectado "); }); // Cuando termina la conversación, la conversación detener la captura de vídeo local. en ( 'desconectado', function (conversación) {consola log ( 'conversationsClient identidad "."). "Conectado a Twilio escucha para invita entrantes como".';.. conversación localMedia stop ();. conversación desconexión (); activeConversation = null;}); }; Esto completa el código para nuestro complemento de chat de vídeo. Para darle una prueba de extremo a extremo, vuelva a cargar el navegador y pulse el botón "Conectar" para tener que esperar el cliente para invitar a una conversación. Abre la consola de desarrollo en su navegador y apoderarse de la identidad que se registró a la misma. Vamos a necesitar que con el fin de que el agente sabe qué cliente para invitar. Para probar el papel de la cabeza del agente de nuevo en la sección de vídeo programable del desarrolladorConsola y abrir la sección Herramientas de prueba de la ficha Herramientas Dev. Estas herramientas de pruebas le permiten crear un cliente Conversación conectado a su perfil de configuración e invitar a otro cliente en una conversación. Introduzca un nombre como "agente" en el campo de identidad del cliente, seleccione su perfil de configuración desde el menú desplegable y haga clic en el botón Generar simbólico. Ahora desplácese hacia abajo, introduzca la identidad agarraste anterior desde la consola del navegador y haga clic en el botón Crear conversación. Esto enviará una invitación para que el cliente se ejecuta en el plugin para el navegador e iniciar una conversación de vídeo entre las herramientas de prueba y el usuario de WordPress. ¡Felicitaciones! Ahora tiene sala de chat plugin que se puede colocar en cualquier sitio de WordPress potencia. Wrapup WordPress subyace un número impresionante de sitios web y se utiliza para construir todo, desde blogs personales a las aplicaciones de comercio electrónico completo destacados. Si usted o su empresa lo utiliza como base de un sitio web, la adición de chat de vídeo con motor Twilio es unamodo de alta fidelidad para conectar con sus clientes. Los plugins son una gran manera de mejorar su sitio con esta capacidad. En este post me mostró cómo con un poco de PHP y JavaScript se puede construir un plugin que inserta Twilio sala de chat. La muestra en este post es sólo el comienzo de lo que podría hacer con Twilio vídeo y WordPress. y empezar a experimentar. Algunas formas interesantes que podría continuar este proyecto sería la adición de controles de vídeo a la interfaz de usuario del plugin, integrando el sistema de usuario de WordPress en el plugin por lo que el agente sabe qué cliente está llamando, e incluso la integración de encaminar las llamadas de video entrante al agente disponible derecha. Me gustaría ver a donde se toma Twilio vídeo y WordPress. Me deje caer ni un hit me up con sus cortes.