https://d226lax1qjow5r.cloudfront.net/blog/blogposts/action-flows-that-you-can-do-with-the-voice-api/action-flows_python_voiceapis.jpg

Flujos de acción que puede realizar con la Voice API

Publicado el March 27, 2023

Tiempo de lectura: 5 minutos

Puedes crear aplicaciones de voz programables de alta calidad en la nube con Voice API de Vonage y Python. Por ejemplo, puedes administrar llamadas salientes y entrantes en objetos de control de llamadas, grabar y almacenar llamadas, crear una llamada en conferencia, enviar mensajes de texto a voz en muchos idiomas con variedades de voces y acentos.

NCCO - son Objetos de Control de Llamada (NCCOs) que describen el flujo de una llamada Voice API. NCCO se representa mediante una matriz JSON. El Objeto de Control es una parte esencial de una llamada que contiene instrucciones que deben suceder durante la llamada. Por ejemplo, en qué orden y cómo debe proceder la conversación de la llamada.

Este artículo describe cómo utilizar el NCCO builder con fragmentos de código Python como ejemplo.

NCCO Builder, SDK de Python

Utilice el constructor para construir acciones NCCO válidas, que se modelan en el SDK como Pydantic y construirlas en una NCCO. En los modelos pydantic se describe parámetros obligatorios y opcionales para la acción NCCO relacionada. Las acciones NCCO soportadas por el constructor son:

NCCO action Sample of NCCO Python object
Record record = Ncco.Record(eventUrl=['https://example.com'])
Conversation conversation = Ncco.Conversation(name='Audio demo')
Connect connect = Ncco.Connect(endpoint={'type':'phone','number':'123456789'})
Talk talk = Ncco.Talk(text='Press 1 for maybe and 2 for not sure followed by the hash key', language='en-GB')
Stream stream = Ncco.Stream(streamUrl='https://nexmo-community.github.io/ncco-examples/assets/voice_api_audio_streaming.mp3')
Input input = Ncco.Input(type=['dtmf', 'speech'], dtfm={'maxDigits':'1'})
Notify notify = Ncco.Notify(payload={"foo": "bar"}, eventUrl='https://example.com/webhooks/event')

¿Quieres usar NCCO Builder en tu aplicación? Primero, necesitas instalar Vonage SDK

pip install vonage

E importar paquetes de Vonage

import vonage
from vonage import Ncco

Integrar en una OCN

Método Ncco.build_ncco puede crear una OCN a partir de las acciones. Se devolverá como una lista de diccionarios que representan cada acción y se puede utilizar en llamadas a la Voice API.

La lista de parámetros obligatorios y opcionales se encuentra en Página de referencia de la OCNC

Creemos una OCN que pueda conectar a dos usuarios.

El siguiente código construye las acciones, talk y connect, que necesitamos

talk = Ncco.Talk(text='Please wait while we connect you.')
connect = Ncco.Connect(endpoint={'type':'phone','number':'123456789'}, from_ = '12345678', timeout='20')

La acción Connect tiene cada tipo de endpoint válido (teléfono, aplicación, WebSocket, SIP y VBC) especificado como un modelo Pydantic, por lo que pueden ser validados, aunque también es posible pasar un dict con las propiedades del endpoint directamente al objeto Ncco.Connect objeto.

Vamos a crear NCCO con el método build_ncco y dos acciones

ncco = Ncco.build_ncco(talk, connect)

Se creará el siguiente JSON

[
   {
      "action": "talk",
      "text": "Please wait while we connect you."
   },
   {
      "action": "connect",
      "endpoint" :[
         {
            "type": "phone",
            "number": "123456789"
         }
      ],
      "from": "12345678",
      "timeout":20
   }
]

Si utiliza un objeto NCCO, puede validarlo aquí.

Si está utilizando NCCO builder, puede recibir mensajes de error en el terminal La siguiente cadena puede mostrar un mensaje de error en el terminal si una de las opciones de acción requeridas no es válida

string does not match regex "^[1-9]\d{6,14}$" (type=value_error.str.regex; pattern=^[1-9]\d{6,14}$)

Resumen

El nuevo NCCO builder simplifica y puede automatizar la creación de acciones. Basándose en la documentación oficial y los ejemplos de este tutorial, puede utilizar NCCO builder para su aplicación. Regístrese gratis y cree su aplicación Voice utilizando la nueva creación programática de Objetos de Control de Llamada.

Compartir:

https://a.storyblok.com/f/270183/400x409/b965ab37c0/oleksii-borysenko.png
Oleksii BorysenkoAntiguos alumnos de Vonage

Oleksii es Developer Advocate en Vonage, autor y narrador. Sus intereses incluyen IA/ML, comunicaciones unificadas, tecnologías educativas, tecnologías en la nube y código abierto.