https://d226lax1qjow5r.cloudfront.net/blog/blogposts/announcing-vonage-ruby-sdk-version-7-4-0/blog_ruby-sdk-update_1200x600.png

Anunciamos Vonage Ruby SDK Versión 7.4.0

Publicado el March 19, 2021

Tiempo de lectura: 3 minutos

El SDK Ruby de Vonage publicó recientemente una nueva versión, v7.4.0. ¡Esta nueva versión trae al SDK por primera vez la capacidad de crear acciones ("NCCO") para llamadas de voz programables!

Exploremos el razonamiento que hay detrás y cómo funciona.

¿Qué es una OCN?

La Voice API de Vonage puede verse como una conversación entre tú y la API mediada a través de tu código. Le indicas a la API cómo deseas que se comporte durante la llamada telefónica con acciones construidas en JSON que envías a la Voice API. Estas acciones se denominan NCCOs.

Con las NCCO se puede enviar texto a voz, iniciar una grabación de llamada, crear una multiconferencia y un sinfín de actividades más. Voice API actúa sobre cada OCN en orden secuencial y, en la mayoría de los casos, de forma sincrónica. Por ejemplo, supongamos que quieres iniciar una llamada con un saludo de texto a voz seguido de una entrada de voz. Tu OCNC tendría este aspecto:

[
  {
    :action => "talk",
    :text => "Hello, please say something!"
  },
  {
    :action => "input",
    :type => ["speech"],
    :context => ["continue", "hangup", "main menu"]
  }
]

En el ejemplo anterior, la primera acción NCCO lee en voz alta el saludo "¡Hola, por favor, diga algo!", mientras que la siguiente acción NCCO recoge la entrada de voz. Incluimos un parámetro opcional adicional de context en la acción input que proporciona algunas pistas verbales al motor de reconocimiento de voz sobre qué tipo de palabras puede esperar oír de la persona.

NCCO Building en el SDK

El proceso de creación de NCCOs puede volverse bastante complejo a medida que crecen las necesidades de tu aplicación o servicio. Cada acción NCCO tiene sus propios requisitos específicos de estructura de datos, e intentar recordar cada uno de ellos o tener que consultar continuamente la Guía de referencia de NCCO puede resultar abrumador.

El equipo de SDK de Vonage cree que si un SDK sólo realiza las solicitudes HTTP a la API, entonces no está cumpliendo plenamente su propósito. Un SDK debe permitir a los desarrolladores construir con las API de Vonage de una manera más ágil y agradable.

Ahora, con la versión 7.4.0 de Vonage Ruby SDK, ¡es posible crear acciones de NCCO mediante programación con soporte y comentarios en tiempo real en Ruby! Veamos cómo funciona.

¿Cómo funciona?

El nuevo generador de NCCO es similar a la funcionalidad del generador de JWT en el sentido de que no forma parte de la instanciación del cliente del SDK. No es necesario pasar ninguna credencial para empezar a construir una NCCO.

Cada acción NCCO puede construirse invocando su nombre como método en la clase Vonage::Voice::Ncco clase. Por ejemplo, la acción talk se convierte en el método #talk y se accede a ella invocando al método Vonage::Voice::Ncco.talk. Cada método acepta los parámetros que se enumeran en la Guía de referencia de NCCO en el portal para desarrolladores de la API de Vonage.

Además, el generador de NCCO proporcionará información en tiempo real en forma de excepciones en caso de parámetros incorrectos. Esto resulta muy útil cuando se construye una acción que tiene requisitos muy específicos de tipo o estructura de datos. Por ejemplo, un número de teléfono debe estar en formato E.164 . NCCO Builder emitirá un mensaje de error y le informará si el número proporcionado no se ajusta a esta especificación.

El ejemplo con el que empezamos de dos acciones NCCO, una talk y un discurso inputse puede construir con el nuevo constructor NCCO de la siguiente manera:

talk = Vonage::Voice::Ncco.talk(text: 'Hello, please say something!')
input = Vonage::Voice::Ncco.input(type: ['speech'], context: ["continue", "hangup", "main menu"])

El paso final en la construcción de su NCCO es invocar el método #build método El método #build acepta los objetos de acción NCCO y construye una estructura JSON NCCO completamente lista con las NCCOs en el orden en que fueron pasadas. Por lo tanto, para completar el método talk y input invocaríamos el método #build de la siguiente manera:

ncco = Vonage::Voice::Ncco.build(talk, input)

# => [{:action=>"talk", :text=>"Hello, please say something!!"}, {:action=>"input", :type=>["speech"], :speech=>{:context=>["continue", "hangup", "main menu"]}}]

¿Y ahora qué?

Tenemos planes muy interesantes para el SDK de Ruby. Seguimos ampliando las funciones del SDK para que se ajuste mejor a nuestro objetivo de ser un recurso que no sólo realice solicitudes HTTP por ti, sino que también te facilite y agilice tus tareas.

La participación de la comunidad es siempre bienvenida. No dude en unirse a nosotros en GitHub y en Slack de la comunidad de Vonage.

Compartir:

https://a.storyblok.com/f/270183/384x384/e5480d2945/ben-greenberg.png
Ben GreenbergAntiguos alumnos de Vonage

Ben es un desarrollador de segunda carrera que anteriormente pasó una década en los campos de la educación de adultos, la organización comunitaria y la gestión de organizaciones sin ánimo de lucro. Trabajó como defensor de los desarrolladores para Vonage. Escribe regularmente sobre la intersección entre el desarrollo comunitario y la tecnología. Originario del sur de California y residente durante mucho tiempo en Nueva York, Ben reside ahora cerca de Tel Aviv (Israel).