En este capítulo

  • Introducción
  • Opciones predeterminadas de los componentes
  • Principales bloques de construcción
  • Menú
  • Entrada del usuario
  • Autenticación
  • Tarjeta de crédito
  • Pronto reproducción
  • Grabar
  • Transferir
  • Hacer una llamada
  • Desconectar la llamada
  • Obtenga la propiedad de DN
  • Establecer propiedad de DN
  • Obtenga propiedad global
  • Establecer propiedad global
  • Obtener estado de extensión
  • Obtener extensiones de cola
  • Cifrado
  • Base de datos de acceso
  • Remitente de correo electrónico
  • Ejecutar script externo
  • Leer / Escribir en archivo
  • Open a Socket
  • Solicitudes HTTP
  • Servicio Web REST
  • Servicio web (POST)
  • Componentes definidos por el usuario

 

Introducción

Los componentes principales son de un flujo de llamada o marcador y realizan acciones básicas, como reproducir un mensaje, grabar audio de la persona que llama, solicitar la entrada del usuario, acceder a una base de datos, etc. Hay dos tipos de componentes, uno con “ramas“, como el componente Menú o sin él, como el componente de reproducción rápida.

Cuando se selecciona un componente en el diseñador, la ventana Propiedades muestra las entrada para él. Estas son las opciones que necesita configurar para que funcione el componente, por ejemplo, la información de conexión de la base de datos. Además, algunos componentes tienen propiedades de salida que están expuestas después de la ejecución, que contiene el resultado, por ejemplo, los datos devueltos por la base de datos. Las propiedades públicas creadas para un componente definido por el usuario pueden usarse como entrada y salida.

Opciones predeterminadas de los componentes

Cuando agrega un componente al diseñador, se configurará automáticamente con las opciones predeterminadas que configure. Puede cambiar los valores predeterminados de los componentes desde el menú “Herramientas> Opciones> Plantillas de componentes“. Tenga en cuenta que los valores ingresados aquí son valores constantes y no expresiones, porque aquí no estamos en el contexto de un proyecto. Como resultado, los valores de cadena constante no deben contener comillas aquí.

Principales bloques de construcción

Los siguientes son los bloques de construcción principales disponibles de forma inmediata para su aplicación. Puede configurarlos desde la ventana Propiedades o abrir el cuadro de diálogo de configuración haciendo doble clic en el componente. Cuando una propiedad de entrada es una expresión, haga clic en el botón a la derecha del cuadro de texto para abrir el Editor de expresiones.

Menú

Este componente configura un menú para opciones de un dígito. Maneja la lógica de reintento cuando el usuario ingresa una opción inválida o no ingresa ningún DTMF. Su ejecución finaliza cuando se selecciona una opción válida o si se han intentado todos los reintentos. Las propiedades de entrada son las siguientes:

  • AllowDtmfInput: para permitir que las indicaciones se interrumpan mediante una entrada DTMF.
  • MaxRetryCount: número de intentos para la entrada inválida o tiempo de espera. El contador de reintentos es único y cuenta las entradas no válidas o ninguna entrada usando el mismo contador.
  • Tiempo de espera: es el momento de esperar la entrada del usuario, antes de reproducir las indicaciones de tiempo de espera especificadas, en segundos.
  • IsValidOption_N: especifique qué sucede cuando el usuario presiona N. Podría ser una opción válida o inválida. Las opciones válidas aparecen como ramas en el diseñador.
  • InitialPrompts: la lista de indicaciones para reproducir la primera vez que se ejecuta el menú.
  • SubsequentPrompts: la lista de solicitudes para reproducir las horas siguientes (después del tiempo de espera o la opción inválida).
  • TimeoutPrompts: la lista de indicaciones para reproducir cuando el usuario no ingresa ningún dígito
  • InvalidDigitPrompts: la lista de indicaciones para reproducir cuando el usuario ingresa un dígito no válido.

Cuando el menú finaliza, la ejecución continúa en una de sus ramas (una rama de opción válida o la rama de opción de espera o inválida). El componente del menú expone las siguientes propiedades de salida después de la ejecución:

  • Resultado: el resultado de la ejecución del menú. Podría ser uno de los siguientes valores constantes: MenuResult.Timeout, MenuResult.InvalidOption o MenuResult.ValidOption.

 

Entrada del Usuario

Este componente recopila información de la persona que llama en forma de dígitos DTMF. Maneja la lógica de reintentos cuando el usuario ingresa un dígito no válido, menos dígitos de lo esperado o no ingresa nada. La ejecución finaliza cuando la persona que llama ingresa una entrada válida o se intentaron todos los reintentos. Las propiedades de entrada son las siguientes:

 

  • AllowDtmfInput: Verdad para permitir que las indicaciones se interrumpan mediante una entrada DTMF. Falso de lo contrario.
  • MaxRetryCount: número de intentos para entrada inválida o tiempo de espera. El contador de reintentos es único y cuenta entradas no válidas o ninguna entrada usando el mismo contador.
  • InitialPrompts: la lista de indicaciones para reproducir la primera vez que se ejecuta el menú.
  • SubsequentPrompts: la lista de indicaciones para reproducir las veces siguientes (después del tiempo de espera o dígito no válido).
  • TimeoutPrompts: la lista de indicaciones para reproducir cuando el usuario no ingresa ningún dígito.
  • InvalidDigitPrompts: la lista de indicaciones para reproducir cuando el usuario ingresa dígitos no válidos.
  • FirstDigitTimeout: el momento de esperar el primer dígito, antes de reproducir las indicaciones de tiempo de espera especificadas, en segundos.
  • InterDigitTimeout: el momento de esperar los dígitos siguientes, antes de reproducir los mensajes de dígitos inválidos especificados, en segundos.
  • FinalDigitTimeout: el tiempo de espera para los dígitos después de MinDigits se ha alcanzado, antes de devolver los datos ingresados, en segundos.
  • MinDigits: la cantidad mínima de dígitos que debe ingresar el usuario.
  • MaxDigits: la cantidad máxima de dígitos que puede ingresar el usuario.
  • StopDigit: especifica el dígito que debe presionar el usuario para finalizar la entrada de datos.
  • IsValidDigit_N: Especifica qué sucede cuando el usuario presiona N. Podría ser un dígito válido o no válido.

Cuando finaliza la entrada del usuario, la ejecución continúa en una de sus ramas (“Entrada válida” o “Entrada no válida”). El componente de entrada del usuario expone las siguientes propiedades de salida después de la ejecución:

  • Resultado: uno de los siguientes valores:
  • Timeout: el usuario no ingresó ningún dígito en el último intento.
  • InvalidDigits: el usuario ingresó un dígito no válido o menos de MinDigits en el último intento.
  • ValidDigits: el usuario ingresó dígitos válidos entre MinDigits y MaxDigits, opcionalmente terminando la entrada con el StopDigit.
  • Buffer: los dígitos ingresados por el usuario (sin incluir el StopDigit si fue ingresado por el usuario).

 

Autenticación

Este componente recopila una identificación y un PIN de la persona que llama en forma de dígitos DTMF. Maneja la lógica de reintento cuando el usuario ingresa dígitos no válidos, menos dígitos de lo esperado o no ingresa nada. La ejecución finaliza cuando la persona que llama ingresa una entrada válida tanto para la identificación como para el PIN, o se han echo todos los reintentos. Las propiedades de entrada son las siguientes:

  • MaxRetryCount: número de intentos  para ingresar un ID y un PIN válidos.
  • IsPinRequired: especifica si el componente debe solicitar solo una ID o un PIN.
  • RequestIdAllowDtmfInput: al ingresar la ID, true para permitir que las solicitudes se interrumpan mediante una entrada DTMF. Falso de lo contrario.
  • RequestIdMaxRetryCount: al ingresar el ID, el número de reintento para la entrada inválida o el tiempo de espera. El contador de reintentos es único y cuenta entradas no válidas o ninguna entrada usando el mismo contador.
  • RequestIdInitialPrompts: al ingresar el ID, la lista de solicitudes para reproducir la primera vez que se ejecuta el menú.
  • RequestIdSubsequentPrompts: al ingresar el ID, la lista de solicitudes para reproducir las horas siguientes (después del tiempo de espera o el dígito no válido).
  • RequestIdTimeoutPrompts: al ingresar la ID, la lista de solicitudes para reproducir cuando el usuario no ingresa ningún dígito. Después de reproducir las indicaciones de tiempo de espera, se reproducirán las siguientes indicaciones.
  • RequestIdInvalidDigitPrompts: al ingresar el ID, la lista de solicitudes para jugar cuando el usuario ingresa dígitos no válidos. Después de reproducir las indicaciones de dígitos inválidas, se reproducirán las siguientes indicaciones.
  • RequestIdFirstDigitTimeout: al ingresar la identificación, la hora de esperar el primer dígito, antes de reproducir las indicaciones de tiempo de espera especificadas, en segundos.
  • RequestIdInterDigitTimeout: al ingresar la ID, la hora de esperar los dígitos siguientes, antes de reproducir los mensajes de dígitos inválidos especificados, en segundos.
  • RequestIdFinalDigitTimeout: al ingresar la ID, la hora de esperar los dígitos después de MinDigits se ha alcanzado, antes de devolver los datos ingresados, en segundos.
  • RequestIdMinDigits: al ingresar la identificación, la cantidad mínima de dígitos que debe ingresar el usuario.
  • RequestIdMaxDigits: al ingresar la ID, la cantidad máxima de dígitos que puede ingresar el usuario.
  • RequestIdStopDigit: al ingresar el ID, especifica el dígito que debe presionar el usuario para finalizar la entrada de datos.
  • RequestIdIsValidDigit_N: al ingresar el ID, especifica qué sucede cuando el usuario presiona N. Podría ser un dígito válido o no válido.
  • RequestPinAllowDtmfInput: al ingresar el PIN, true para permitir que las indicaciones sean interrumpidas por una entrada DTMF. Falso de lo contrario.
  • RequestPinMaxRetryCount: al ingresar el PIN, el número de intentos de reintento para la entrada inválida o el tiempo de espera. El contador de reintentos es único y cuenta entradas no válidas o ninguna entrada usando el mismo contador.
  • RequestPinInitialPrompts: al ingresar el PIN, la lista de solicitudes para reproducir la primera vez que se ejecuta el menú.
  • RequestPinSubsequentPrompts: al ingresar el PIN, la lista de solicitudes para reproducir las siguientes veces (después del tiempo de espera o dígito no válido).
  • RequestPinTimeoutPrompts: al ingresar el PIN, la lista de indicaciones para jugar cuando el usuario no ingresa ningún dígito. Después de reproducir las indicaciones de tiempo de espera, se reproducirán las siguientes indicaciones.
  • RequestPinInvalidDigitPrompts: al ingresar el PIN, la lista de solicitudes para reproducir cuando el usuario ingresa dígitos no válidos. Después de reproducir las indicaciones de dígitos inválidas, se reproducirán las siguientes indicaciones.
  • RequestPinFirstDigitTimeout: al ingresar el PIN, la hora de esperar el primer dígito, antes de reproducir las indicaciones de tiempo de espera especificadas, en segundos.
  • RequestPinInterDigitTimeout: al ingresar el PIN, la hora de esperar los dígitos siguientes, antes de reproducir los mensajes de dígitos no válidos especificados, en segundos.
  • RequestPinFinalDigitTimeout: al ingresar el PIN, la hora de esperar los dígitos después de MinDigits se ha alcanzado, antes de devolver los datos ingresados, en segundos.
  • RequestPinMinDigits: al ingresar el PIN, la cantidad mínima de dígitos que debe ingresar el usuario.
  • RequestPinMaxDigits: al ingresar el PIN, la cantidad máxima de dígitos que puede ingresar el usuario.
  • RequestPinStopDigit: al ingresar el PIN, especifica el dígito que debe presionar el usuario para finalizar la entrada de datos.
  • RequestPinIsValidDigit_N: al ingresar el PIN, especifica qué sucede cuando el usuario presiona N. Podría ser un dígito válido o no válido.

 

Cuando el componente Autenticación recopila el ID y el PIN, la ejecución continúa en la rama “Entrada válida” y el componente expone las siguientes propiedades de salida:

 

  • ID: los dígitos ingresados por el usuario para la ID (sin incluir el StopDigit si fue ingresado por el usuario).
  • PIN: los dígitos ingresados por el usuario para el PIN (sin incluir el StopDigit si fue ingresado por el usuario).
  • Validado: una propiedad booleana que debe establecerse en verdadero para decirle al componente de Autenticación que el ID y el PIN son válidos, por lo que evita pedir nuevamente esta información.

Por otro lado, cuando el componente Autenticación no puede recopilar el ID o el PIN, la ejecución continúa en la rama “Entrada inválida“, donde puede reproducir un mensaje, por ejemplo, y luego el componente volverá a intentar solicitar la identificación y el PIN , hasta que se alcanza el MaxRetryCount.

 

Tarjeta de crédito

Este componente recopila un número de tarjeta de crédito, fecha de vencimiento y código de seguridad de la persona que llama en forma de dígitos DTMF. Maneja la lógica de reintento cuando el usuario ingresa dígitos no válidos, menos dígitos de lo esperado o no ingresa nada. La ejecución finaliza cuando la persona que llama ingresa una entrada válida para el número de la tarjeta de crédito, la fecha de vencimiento y el código de seguridad, o se han intentado todos los reintentos. Las propiedades de entrada son las siguientes:

  • MaxRetryCount: Número de intentos de reintento para ingresar una combinación válida de número de tarjeta de crédito, fecha de vencimiento y código de seguridad.
  • IsExpirationRequired: Especifica si el componente debe solicitar solo el número de la tarjeta de crédito, o también la fecha de vencimiento.
  • IsSecurityCodeRequired: especifica si el componente debe solicitar solo el número de la tarjeta de crédito y la fecha de vencimiento, o también el código de seguridad.
  • RequestNumberAllowDtmfInput: al ingresar el número de la tarjeta de crédito, true para permitir que las indicaciones sean interrumpidas por una entrada DTMF. Falso de lo contrario.
  • RequestNumberMaxRetryCount: al ingresar el número de la tarjeta de crédito, el número de reintentos para la entrada no válida o el tiempo de espera. El contador de reintentos es único y cuenta entradas no válidas o ninguna entrada usando el mismo contador.
  • RequestNumberInitialPrompts: al ingresar el número de la tarjeta de crédito, la lista de solicitudes para reproducir la primera vez que se ejecuta el menú.
  • RequestNumberSubsequentPrompts: al ingresar el número de la tarjeta de crédito, la lista de solicitudes para reproducir las siguientes veces (después del tiempo de espera o el dígito no válido).
  • RequestNumberTimeoutPrompts: al ingresar el número de tarjeta de crédito, la lista de solicitudes para reproducir cuando el usuario no ingresa ningún dígito. Después de reproducir las indicaciones de tiempo de espera, se reproducirán las siguientes indicaciones.
  • RequestNumberInvalidDigitPrompts: al ingresar el número de la tarjeta de crédito, la lista de solicitudes para reproducir cuando el usuario ingresa dígitos no válidos. Después de reproducir las indicaciones de dígitos inválidas, se reproducirán las siguientes indicaciones.
  • RequestNumberFirstDigitTimeout: al ingresar el número de la tarjeta de crédito, la hora de esperar el primer dígito, antes de reproducir las indicaciones de tiempo de espera especificadas, en segundos.
  • RequestNumberInterDigitTimeout: al ingresar el número de la tarjeta de crédito, la hora de esperar los dígitos siguientes, antes de reproducir los mensajes de dígitos inválidos especificados, en segundos.
  • RequestNumberFinalDigitTimeout: al ingresar el número de la tarjeta de crédito, la hora de esperar los dígitos después de MinDigits se ha alcanzado, antes de devolver los datos ingresados, en segundos.
  • RequestNumberMinDigits: al ingresar el número de tarjeta de crédito, la cantidad mínima de dígitos que debe ingresar el usuario.
  • RequestNumberMaxDigits: al ingresar el número de tarjeta de crédito, la cantidad máxima de dígitos que puede ingresar el usuario.
  • RequestNumberStopDigit: al ingresar el número de tarjeta de crédito, especifica el dígito que debe presionar el usuario para finalizar la entrada de datos.
  • RequestNumberIsValidDigit_N: al ingresar el número de tarjeta de crédito, especifica qué sucede cuando el usuario presiona N. Podría ser un dígito válido o no válido.
  • RequestExpirationAllowDtmfInput: al ingresar la fecha de caducidad, verdadero para permitir que las indicaciones se interrumpan mediante una entrada DTMF. Falso de lo contrario.
  • RequestExpirationMaxRetryCount: al ingresar la fecha de caducidad, el número de intentos de reintento para la entrada no válida o el tiempo de espera. El contador de reintentos es único y cuenta entradas no válidas o ninguna entrada usando el mismo contador.
  • RequestExpirationInitialPrompts: al ingresar la fecha de caducidad, se ejecuta la lista de solicitudes para reproducir la primera vez que se ejecuta el menú.
  • RequestExpirationSubsequentPrompts: al ingresar la fecha de caducidad, la lista de solicitudes para reproducir las horas siguientes (después del tiempo de espera o dígito no válido).
  • RequestExpirationTimeoutPrompts: al ingresar la fecha de caducidad, la lista de solicitudes para jugar cuando el usuario no ingresa ningún dígito. Después de reproducir las indicaciones de tiempo de espera, se reproducirán las siguientes indicaciones.
  • RequestExpirationInvalidDigitPrompts: al ingresar la fecha de caducidad, la lista de solicitudes para reproducir cuando el usuario ingresa dígitos no válidos. Después de reproducir las indicaciones de dígitos inválidas, se reproducirán las siguientes indicaciones.
  • RequestExpirationFirstDigitTimeout: al ingresar la fecha de caducidad, la hora de esperar el primer dígito, antes de reproducir las indicaciones de tiempo de espera especificadas, en segundos.
  • RequestExpirationInterDigitTimeout: al ingresar la fecha de caducidad, la hora de esperar los dígitos siguientes, antes de reproducir los mensajes de dígitos inválidos especificados, en segundos.
  • RequestExpirationFinalDigitTimeout: al ingresar la fecha de caducidad, la hora de esperar los dígitos después de MinDigits se ha alcanzado, antes de devolver los datos ingresados, en segundos.
  • RequestExpirationMinDigits: al ingresar la fecha de caducidad, la cantidad mínima de dígitos que debe ingresar el usuario.
  • RequestExpirationMaxDigits: al ingresar la fecha de caducidad, la cantidad máxima de dígitos que puede ingresar el usuario.
  • RequestExpirationStopDigit: al ingresar la fecha de caducidad, especifica el dígito que el usuario debe presionar para finalizar la entrada de datos.
  • RequestExpirationIsValidDigit_N: al ingresar la fecha de caducidad, especifica qué sucede cuando el usuario presiona N. Podría ser un dígito válido o no válido.
  • RequestSecurityCodeAllowDtmfInput: al ingresar el código de seguridad, verdadero para permitir que las indicaciones sean interrumpidas por una entrada DTMF. Falso de lo contrario.
  • RequestSecurityCodeMaxRetryCount: al ingresar el código de seguridad, el número de intentos de reintento para la entrada inválida o el tiempo de espera. El contador de reintentos es único, y cuenta invalida
  • RequestSecurityCodeInitialPrompts: al ingresar el código de seguridad, la lista de solicitudes para reproducir la primera vez que se ejecuta el menú.
  • RequestSecurityCodeSubsequentPrompts: al ingresar el código de seguridad, la lista de solicitudes para reproducir las siguientes veces (después del tiempo de espera o dígito no válido).
  • RequestSecurityCodeTimeoutPrompts: al ingresar el código de seguridad, la lista de solicitudes para reproducir cuando el usuario no ingresa ningún dígito. Después de reproducir las indicaciones de tiempo de espera, se reproducirán las siguientes indicaciones.
  • RequestSecurityCodeInvalidDigitPrompts: al ingresar el código de seguridad, la lista de indicaciones para reproducir cuando el usuario ingresa dígitos no válidos. Después de reproducir las indicaciones de dígitos inválidas, se reproducirán las siguientes indicaciones.
  • RequestSecurityCodeFirstDigitTimeout: al ingresar el código de seguridad, la hora de esperar el primer dígito, antes de reproducir las indicaciones de tiempo de espera especificadas, en segundos.
  • RequestSecurityCodeInterDigitTimeout: al ingresar el código de seguridad, la hora de esperar los dígitos subsiguientes, antes de reproducir los mensajes de dígitos inválidos especificados, en segundos.
  • RequestSecurityCodeFinalDigitTimeout: al ingresar el código de seguridad, se espera la hora de esperar los dígitos después de MinDigits, antes de devolver los datos ingresados, en segundos.
  • RequestSecurityCodeMinDigits: al ingresar el código de seguridad, la cantidad mínima de dígitos que debe ingresar el usuario.
  • RequestSecurityCodeMaxDigits: al ingresar el código de seguridad, la cantidad máxima de dígitos que puede ingresar el usuario.
  • RequestSecurityCodeStopDigit: al ingresar el código de seguridad, especifica el dígito que el usuario debe presionar para finalizar la entrada de datos.
  • RequestSecurityCodeIsValidDigit_N: al ingresar el código de seguridad, especifica qué sucede cuando el usuario presiona N. Podría ser un dígito válido o no válido.

Cuando el componente Tarjeta de crédito recopila el Número, la Fecha de caducidad y el Código de seguridad, la ejecución continúa en la rama “Entrada válida” y el componente expone las siguientes propiedades de salida:

 

  • Número: los dígitos ingresados por el usuario para el número de la tarjeta de crédito (sin incluir el StopDigit si fue ingresado por el usuario).
  • Caducidad: los dígitos ingresados por el usuario para la fecha de caducidad (sin incluir el StopDigit si fue ingresado por el usuario).
  • SecurityCode: los dígitos ingresados por el usuario para el código de seguridad (sin incluir el StopDigit si fue ingresado por el usuario).
  • Validado: una propiedad booleana que debe establecerse en verdadero para decirle al componente de la tarjeta de crédito que el número, la fecha de vencimiento y el código de seguridad son válidos, por lo que evita solicitar nuevamente esta información.

Por otro lado, cuando el componente Tarjeta de crédito no puede recopilar el Número, Fecha de vencimiento o Código de seguridad, la ejecución continúa en la rama “Entrada inválida”, donde puede reproducir un mensaje, por ejemplo, y luego el componente intentará volver a preguntar para el número, la fecha de caducidad y el código de seguridad, hasta que se llegue a MaxRetryCount.

 

Solicitud de Reproducción

Este componente permite reproducir una lista de indicaciones. Las propiedades de entrada son las siguientes:

  • AllowDtmfInput:Verdadero para permitir que las indicaciones se interrumpan mediante una entrada DTMF. Falso de lo contrario.
  • Solicitudes: la lista de solicitudes para reproducir cuando se ejecuta el componente.

Grabar

Configuración de registro

Este componente graba audio de la persona que llama. Antes de grabar, se reproduce la lista de indicaciones especificadas. Si la propiedad Beep está configurada, se reproducirá un pitido a la persona que llama después de las indicaciones y antes de comenzar la grabación. La grabación finalizará cuando se alcancen los segundos especificados en MaxTime, o la persona que llama presiona una tecla DTMF cuando se establece la propiedad TerminateByDtmf. El audio grabado se puede guardar automáticamente en un archivo. Las propiedades de entrada son las siguientes:

 

  • Beep: si es verdadero, se emite un tono justo antes de que comience la grabación.
  • Peticiones: la lista de solicitudes para reproducir antes de la grabación (los tipos de aviso disponibles se describen en Tipos de solicitud).
  • MaxTime: La duración máxima para grabar, en segundos.
  • TerminateByDtmf: si es cierto, cualquier pulsación de tecla DTMF detendrá la grabación.
  • SaveToFile: si es verdadero, el audio grabado se guardará en el archivo especificado por FileName. El valor es una expresión.
  • FileName: el nombre del archivo donde debe guardarse la grabación. Solo es válido cuando SaveToFile se evalúa como verdadero. El valor es una expresión.

Cuando finaliza la grabación, la ejecución continúa en una de sus ramas (“Grabación de audio” o “Grabación de nada”). El componente de registro expone las siguientes propiedades de salida después de la ejecución:

 

  • Resultado: el resultado de la grabación:
  • NothingRecorded: no audio grabado.
  • StopDigit: la grabación se detuvo con una pulsación de tecla DTMF.
  • Completed: la grabación se detuvo al alcanzar la máxima longitud de audio.
  • Duración: la duración del audio grabado en segundos.
  • StopDigit: el dígito DTMF presionado por el usuario cuando Result = RecordResult.StopDigit.
  • AudioId: una variable que contiene el audio, que se puede usar para reproducirlo nuevamente.

 

Transferir

Transferir la configuración del componente

Use este componente para transferir la llamada. Solo se admite la transferencia a ciegas. La llamada se desconectará de la aplicación CFD y se transferirá al destino especificado. Las propiedades de entrada son las siguientes:

  • Destino: el número de destino donde debe transferirse la llamada. El valor es una expresión.

Cuando se completa la transferencia, la ejecución continúa en el flujo del controlador de desconexión, ya que la llamada se desconecta de la aplicación.

 

Hacer una llamada

Realizar la configuración del componente de llamada

Este componente permite realizar una llamada saliente entre dos partes. La llamada realizada no será manejada por esta aplicación de voz. El componente indica a 3CX que llame al número especificado en Origen, lo pone en espera y luego realiza una llamada al número especificado en Destino. Cuando ambas partes están conectadas, 3CX las conectará entre sí. Este componente es útil, por ejemplo, para realizar una llamada desde una extensión interna a un número externo. Las propiedades de entrada son las siguientes:

  • Origen: el número de la primera parte de la llamada. El valor es una expresión, por lo que puede, por ejemplo, obtener el número de una base de datos.
  • Destino: el número de la segunda parte de la llamada. El valor es una expresión, por lo que puede, por ejemplo, obtener el número de una base de datos.

 

Desconectar llamada

Este componente desconecta la llamada actual. No tiene propiedades de entrada especiales y no expone ninguna propiedad de salida después de su ejecución. Cuando finaliza la ejecución de este componente, la ejecución continúa en el flujo del controlador de desconexión.

 

Obtener propiedad de DN

Obtener la configuración de la propiedad DN

Este componente permite leer un valor de propiedad para un DN específico. Las propiedades de entrada son las siguientes:

  • Extensión: el número de extensión del DN desde el que leeremos la propiedad. El valor es una expresión.
  • Nombre de la propiedad: el nombre de la propiedad para leer. El valor es una expresión.

El componente Obtener propiedad de DN expone las siguientes propiedades de salida después de la ejecución:

  • PropertyValue: contiene el valor de la propiedad.

 

Establecer propiedad DN

Establecer configuración de propiedad DN

Este componente permite establecer un valor de propiedad para un DN específico. Las propiedades de entrada son las siguientes:

  • Extensión: el número de extensión del DN al que vamos a establecer el valor de la propiedad. El valor es una expresión.
  • Nombre de propiedad: el nombre de la propiedad para establecer. El valor es una expresión.
  • Valor de propiedad: el valor de la propiedad para establecer. El valor es una expresión.

El componente Establecer propiedad DN no expone ninguna propiedad de salida después de la ejecución.

 

Obtener propiedad global

Obtener configuración de propiedad global

Este componente permite leer un valor de propiedad global. Las propiedades de entrada son las siguientes:

  • Nombre de la propiedad: el nombre de la propiedad para leer. El valor es una expresión.

El componente Get Global Property expone las siguientes propiedades de salida después de la ejecución:

  • PropertyValue: contiene el valor de la propiedad.

 

Establecer propiedad global

Establecer configuración de propiedad global

Este componente permite establecer un valor de propiedad global. Las propiedades de entrada son las siguientes:

  • Nombre de propiedad: el nombre de la propiedad para establecer. El valor es una expresión.
  • Valor de propiedad: el valor de la propiedad para establecer. El valor es una expresión.

El componente Establecer propiedad global no expone ninguna propiedad de salida después de la ejecución.

 

Obtener el estado de la extensión

Obtener la configuración del estado de la extensión

Este componente permite obtener el estado de una extensión específica. Solo necesita el número de extensión como entrada, e indicará si la extensión está en una llamada o no, y el perfil actual que se considera reemplaza. Las propiedades de entrada son las siguientes:

  • Extensión: el número de extensión del cual queremos obtener el estado. El valor es una expresión.

El componente Obtener estado de extensión expone las siguientes propiedades de salida después de la ejecución:

  • IsInCall: contiene un booleano que indica si la extensión está manejando una llamada o no.
  • CurrentProfile: un objeto FwdProfile (compruebe la API de control de llamadas de 3CX para obtener más detalles) con la información del perfil actual, teniendo en cuenta las anulaciones.
  • CurrentProfileName: una cadena con el nombre del perfil actual, considerando anulaciones.

 

Obtenga extensiones de cola

Obtener la configuración de las extensiones de cola

Este componente permite obtener extensiones / agentes para una cola. Podemos configurarlo para que devuelva todas las extensiones para la cola, solo las que están conectadas, o las que están desconectadas. Las propiedades de entrada son las siguientes:

  • Extensión de cola: el número de extensión de la cola desde la cual queremos obtener la lista de extensiones. El valor es una expresión.
  • Tipo de consulta: el tipo de consulta que queremos hacer. Seleccione “Todo” para devolver todas las extensiones para esta cola, seleccione “Conectado” para devolver las extensiones que están conectadas a esta cola, o seleccione “Salida Cerrada” para devolver las extensiones que están cerradas de esta cola.

El componente Get Queue Extensions expone las siguientes propiedades de salida después de la ejecución:

  • Lista de extensiones: una lista de objetos de extensión (consulte la API de control de llamadas de 3CX para obtener más detalles) que contiene todas las extensiones que satisfacen el tipo de consulta realizada.
  • ExtensionNumberList: una lista de cadenas con los números de extensión que satisfacen el tipo de consulta realizada.

Para obtener los valores de las listas resultantes, debemos usar las siguientes funciones de CFD:

  • GET_LIST_ITEM_COUNT: esta función nos dará la cantidad de elementos en la lista.
  • GET_LIST_ITEM: esta función devolverá el artículo en un índice específico.

 

Cifrado

Configuración de criptografía

Este componente permite encriptar datos, descifrar datos y realizar cálculos hash. Los algoritmos soportados son TripleDES para encriptar y descifrar, y el algoritmo MD5 que realiza el cálculo hash. El algoritmo TripleDES permite encriptar y descifrar texto usando una clave conocida. El cálculo de hash es un algoritmo de una dirección, y el valor original no puede obtenerse nuevamente del hash.

El resultado del cifrado y el cálculo de hash MD5 es una matriz de bytes. El CFD necesita codificar la matriz de bytes para almacenarlos como una cadena. Hay dos formatos de codificación posibles: hexadecimal y Base64. El formato hexadecimal consiste en la representación de cada byte como dos caracteres que representan el valor del byte en hexadecimal (de 00 a FF). El formato Base64 se utiliza para codificar los bytes de acuerdo con ese formato mundialmente conocido (http://en.wikipedia.org/wiki/Base64).

Cuando se usa el algoritmo TripleDES, la clave debe ser una cadena de 24 caracteres. El texto que se procesará es una expresión que devuelve una cadena. Las propiedades de entrada son las siguientes:

  • Algoritmo: el algoritmo a usar. Podría ser TripleDES o HashMD5.
  • Formato: el formato de codificación que se utiliza para transformar la secuencia cifrada en texto. Al encriptar datos, así es como se codifica el resultado. Al descifrar datos, así es como llega el texto de entrada. Podría ser Hexadecimal o Base64.
  • Acción: la acción a realizar. Solo válido cuando Algoritmo es TripleDES. Podría ser Encriptar o Descifrar.
  • Clave: la clave secreta que se utilizará para el algoritmo simétrico. Solo válido cuando Algoritmo es TripleDES. Debe tener una longitud de 24 caracteres para TripleDES.
  • Texto: el texto para cifrar, descifrar o calcular el hash. El valor es una expresión.

El componente de cifrado expone las siguientes propiedades de salida después de la ejecución:

  • Resultado: contiene el cifrado, descifrado o resultado de hash MD5, codificado de acuerdo con el algoritmo de cifrado especificado.

 

Acceso a la base de datos

Configuración de criptografía

Este componente permite encriptar datos, descifrar datos y realizar cálculos hash. Los algoritmos soportados son TripleDES para encriptar y descifrar, y el algoritmo MD5 que realiza el cálculo hash. El algoritmo TripleDES permite encriptar y descifrar texto usando una clave conocida. El cálculo de hash es un algoritmo de una dirección, y el valor original no puede obtenerse nuevamente del hash.

El resultado del cifrado y el cálculo de hash MD5 es una matriz de bytes. El CFD necesita codificar la matriz de bytes para almacenarlos como una cadena. Hay dos formatos de codificación posibles: hexadecimal y Base64. El formato hexadecimal consiste en la representación de cada byte como dos caracteres que representan el valor del byte en hexadecimal (de 00 a FF). El formato Base64 se utiliza para codificar los bytes de acuerdo con ese formato mundialmente conocido (http://en.wikipedia.org/wiki/Base64).

Cuando se usa el algoritmo TripleDES, la clave debe ser una cadena de 24 caracteres. El texto que se procesará es una expresión que devuelve una cadena. Las propiedades de entrada son las siguientes:

  • Algoritmo: el algoritmo a usar. Podría ser TripleDES o HashMD5.
  • Formato: el formato de codificación que se utiliza para transformar la secuencia cifrada en texto. Al encriptar datos, así es como se codifica el resultado. Al descifrar datos, así es como llega el texto de entrada. Podría ser Hexadecimal o Base64.
  • Acción: la acción a realizar. Solo válido cuando Algoritmo es TripleDES. Podría ser Encriptar o Descifrar.
  • Clave: la clave secreta que se utilizará para el algoritmo simétrico. Solo válido cuando Algoritmo es TripleDES. Debe tener una longitud de 24 caracteres para TripleDES.
  • Texto: el texto para cifrar, descifrar o calcular el hash. El valor es una expresión.

El componente de cifrado expone las siguientes propiedades de salida después de la ejecución:

  • Resultado: contiene el cifrado, descifrado o resultado de hash MD5, codificado de acuerdo con el algoritmo de cifrado especificado.

 

Acceso a la base de datos

Configuración del remitente de correo electrónico

Este componente permite enviar mensajes de correo electrónico, incluidos los archivos adjuntos. Puede usar conexiones autenticadas con nombre de usuario y contraseña, especificar el remitente y diferentes direcciones de destinatario (A, CC o BCC), establecer el asunto y el cuerpo del correo, y adjuntar archivos. Las propiedades de entrada son las siguientes:

  • Use la configuración de conexión del servidor 3CX: marque esta opción para usar la configuración de correo del servidor 3CX o déjela sin marcar para ingresar aquí la información de conexión.
  • Servidor SMTP: el nombre del servidor SMTP o la dirección IP. El valor es una expresión.
  • Puerto del servidor: el número de puerto donde debe establecerse la conexión con el servidor SMTP. El valor es una expresión.
  • EnableSSL: especifique si la conexión al servidor SMTP se debe hacer mediante SSL o no. El valor es una expresión.
  • Nombre de usuario: el nombre de usuario a usar cuando se conecta al servidor SMTP. El valor es una expresión.
  • Contraseña: la contraseña que se utilizará al conectarse al servidor SMTP. El valor es una expresión.
  • Desde: la dirección de correo electrónico a usar en el campo ‘de’ del mensaje. El valor es una expresión.
  • Para: las direcciones de correo electrónico que se usarán en el campo ‘a’ del mensaje, separadas por comas en caso de que sean más de una. El valor es una expresión.
  • CC: las direcciones de correo electrónico a usar en el campo ‘cc’ del mensaje, separadas por comas en caso de ser más de una. El valor es una expresión.
  • BCC: las direcciones de correo electrónico que se usarán en el campo ‘bcc’ del mensaje, separadas por comas en caso de que sean más de una. El valor es una expresión.
  • Asunto: el asunto del mensaje de correo electrónico. El valor es una expresión.
  • Cuerpo es HTML: indica si el texto del cuerpo es HTML o texto sin formato.
  • Cuerpo: el cuerpo del mensaje de correo electrónico. El valor es una expresión.
  • Prioridad: la prioridad del mensaje de correo electrónico.
  • IgnoreMissingAttachments: Es cierto que ignora silenciosamente los archivos adjuntos que faltan en tiempo de ejecución, False para causar un error de tiempo de ejecución cuando ocurre esa condición.
  • Archivos adjuntos: la lista de archivos adjuntos para enviar con el mensaje de correo electrónico.

Al enviar archivos adjuntos, el nombre del archivo adjunto a enviar es un valor de cadena constante (no requiere comillas). Los archivos adjuntos se establecen utilizando una expresión que devuelve la ruta al archivo en el servidor 3CX. Para crear la expresión del archivo adjunto en el servidor, presione el botón de puntos suspensivos en la última columna de la cuadrícula.

 

Lanzar secuencia de comandos externa

Inicie la configuración de script externo

Este componente permite ejecutar el código C # (.NET Core 1.0). Debe especificar el tipo de objeto (nombre de espacio y nombre de clase) y el nombre del método. La aplicación creará una instancia del objeto especificado e invocará el método especificado en esa instancia, usando la lista de parámetros proporcionados. Las propiedades de entrada son las siguientes:

  • Archivo C #: el archivo C # que contiene el código para ejecutar. Tenga en cuenta que debe usar el código NET Core 1.0 y no puede usar clases fuera de NET Core 1.0.
  • ObjectType: el tipo de objeto para crear. Este es el nombre de clase que incluye el espacio de nombres.
  • MethodName: el nombre del método para ejecutar. Se creará un objeto de tipo ObjectType y el método se ejecutará en esa instancia de objeto.
  • Parámetros: una lista de parámetros utilizados al invocar el método. Cada parámetro puede ser una expresión. El nombre de cada parámetro es informativo y no se usa para validar contra el método para llamar.

El archivo C # se selecciona de una lista desplegable, que contiene cada archivo C # en la carpeta “Bibliotecas” del proyecto. Puede buscar el archivo C # en su sistema de archivos si todavía no está en la lista.

Los nombres de parámetros son valores de cadena constantes y no requieren comillas. Los valores de los parámetros se establecen usando una expresión. Para crear una expresión para un parámetro, presione el botón de puntos suspensivos en la última columna de la cuadrícula.

El componente Launch External Script expone las siguientes propiedades de salida después de la ejecución:

  • ReturnValue: contiene el valor devuelto por el método llamado.

Leer / Escribir en archivo

Configuración de lectura / escritura en archivo

Este componente permite leer y escribir archivos de texto.

La operación de lectura se realiza línea por línea. Es posible especificar el índice de la primera línea para leer (comenzando en cero) y la cantidad de líneas para leer. También se puede configurar para leer el archivo completo a la vez.

La operación de escritura permite abrir el archivo en diferentes modos: “Agregar“, “Crear“, “Crear nuevo“, “Abrir“, “Abrir o crear” y “Truncar“. El modo “Añadir” agregará el texto al final del archivo. El modo “Crear” creará el archivo si no existe, o lo truncará si ya existe, por lo que siempre comienza con un archivo vacío. El “CreateNew” es muy similar, pero el archivo no debe existir para tener éxito. El modo “Abrir” abrirá el archivo tal como está, y le escribirá desde el principio, anulando lo que estaba en él, mientras que “OpenOrCreate” es casi el mismo, pero si el archivo no existe, lo crea. Finalmente, el modo “Truncar” debe abrir un archivo existente y truncarlo. Los datos que se escribirán son la información en la propiedad “”. Si se establece la propiedad AppendFinalCrLf, los caracteres Retorno de carro y Avance de línea se agregan al final de la línea.

Este componente tiene las siguientes propiedades de entrada:

  • FileName: la ruta absoluta al archivo para leer o escribir. El valor es una expresión.
  • OpenMode: use Append, Create, CreateNew, Open, OpenOrCreate o Truncate cuando Action es Write. Use Abrir o AbrirOrCrear cuando se lea Acción.
  • Acción: la acción a realizar. Puede ser Lectura o Escritura.
  • Contenido: el texto para escribir en el archivo. Solo es válido cuando Acción es Escribir. El valor es una expresión.
  • AppendFinalCrLf: Verdadero para agregar un CR LF final después de escribir en el archivo. Falso de lo contrario. Solo es válido cuando Acción es Escribir.
  • LinesToRead: el número de líneas para leer desde el archivo. Solo es válido cuando se lee Acción. El valor es una expresión.
  • FirstLineToRead: el índice basado en cero de la primera línea para leer del archivo. Solo es válido cuando se lee Acción. El valor es una expresión.
  • ReadToEnd: anula LinesToRead, leyendo hasta que se llega al final del archivo. Solo es válido cuando se lee Acción. El valor es una expresión.

El componente Lectura / Escritura en archivo expone las siguientes propiedades de salida después de la ejecución:

  • EOF_Reached: indica si se llegó al final del archivo cuando se lee Acción.
  • Resultado: contiene el texto que se ha leído del archivo cuando se lee Acción.

 

Open a Socket

Abra una configuración de socket

Este componente permite enviar y recibir datos usando protocolos TCP o UDP. Debe especificar el puerto de destino y el puerto, junto con la información que se enviará. Si la propiedad WaitForResponse está configurada, espera una respuesta del servidor; de lo contrario, cierra el socket inmediatamente después de enviar la información. Las propiedades de entrada son las siguientes:

  • ConnectionType: el tipo de conexión a establecer. TCP o UDP.
  • Servidor principal: el nombre de host del servidor o la dirección IP. El valor es una expresión.
  • Puerto: el número de puerto donde el servidor está escuchando conexiones entrantes. El valor es una expresión.
  • Datos: los datos para enviar al servidor. El valor es una expresión.
  • WaitForResponse: Es cierto esperar una respuesta después de enviar los datos. Falso de lo contrario.

Este componente expone las siguientes propiedades de salida después de la ejecución:

  • Respuesta: contiene la respuesta del servidor si se configuró la propiedad WaitForResponse.

 

Solicitudes HTTP

Configuración de solicitudes HTTP

Este componente envía solicitudes HTTP a un servidor web. Puede usar todos los métodos disponibles (BORRAR, OBTENER, CABEZA, OPCIONES, PUBLICAR, PONER, RASTREAR). Las propiedades de entrada son las siguientes:

  • URI: el URI donde se debe enviar la solicitud. El valor es una expresión.
  • RequestType: el tipo de la solicitud HTTP. Los valores disponibles son DELETE, GET, HEAD, OPTIONS, POST, PUT, TRACE.
  • Tipo de contenido: cuando la solicitud HTTP necesita enviar contenido al servidor, esta propiedad especifica el tipo de contenido.
  • Contenido: cuando la solicitud HTTP necesita enviar contenido al servidor, esta propiedad especifica el contenido real. El valor es una expresión.
  • Tiempo de espera: el tiempo para esperar a que se complete la solicitud HTTP, en segundos. Cero significa esperar por siempre.
  • Encabezados: una lista de encabezados para enviar en la solicitud. Cada encabezado se puede establecer utilizando una expresión. Los nombres de encabezado son valores de cadena constantes y no requieren comillas. Los valores de encabezado son expresiones. Para crear una expresión para un valor de encabezado, presione el botón de puntos suspensivos en la última columna de la grilla.

El componente HTTP Requests expone las siguientes propiedades de salida después de la ejecución:

  • ResponseStatusCode: contiene el código de estado HTTP devuelto por el servidor web. El número 200 (OK) significa que la solicitud se procesó correctamente.
  • ResponseContent: esta propiedad contiene la respuesta del servidor web.

 

Servicio web REST

Configuración REST del servicio web

Este componente permite ejecutar servicios web REST, enviar solicitudes HTTP al servidor utilizando todos los métodos disponibles (DELETE, GET, HEAD, OPTIONS, POST, PUT, TRACE) y admitir diferentes tipos de autenticación de forma predeterminada. Las propiedades de entrada son las siguientes:

  • URI: el URI donde se debe enviar la solicitud. El valor es una expresión.
  • RequestType: el tipo de la solicitud HTTP. Los valores disponibles son DELETE, GET, HEAD, OPTIONS, POST, PUT, TRACE.
  • Tipo de contenido: cuando la solicitud HTTP necesita enviar contenido al servidor, esta propiedad especifica el tipo de contenido.
  • Contenido: cuando la solicitud HTTP necesita enviar contenido al servidor, esta propiedad especifica el contenido real. El valor es una expresión.
  • Tiempo de espera: el tiempo para esperar a que se complete la solicitud HTTP, en segundos. Cero significa esperar por siempre.
  • Autenticación: el tipo de autenticación utilizada por el servicio web REST. Puedes usar:
  • Ninguno: para evitar el uso de la autenticación.
  • Básico – Nombre de usuario y contraseña: para usar la autenticación básica que proporciona el nombre de usuario y una contraseña.
  • Básico – Clave API: para utilizar autenticación básica que proporciona una clave API.
  • OAuth2: para usar OAuth2 que proporciona el token de acceso.
  • Encabezados: una lista de encabezados para enviar en la solicitud. Cada encabezado se puede establecer utilizando una expresión. Los nombres de encabezado son valores de cadena constantes y no requieren comillas. Los valores de encabezado son expresiones. Para crear una expresión para un valor de encabezado, presione el botón de puntos suspensivos en la última columna de la grilla.

El componente REST del servicio web expone las siguientes propiedades de salida después de la ejecución:

  • ResponseStatusCode: contiene el código de estado HTTP devuelto por el servidor web. El número 200 (OK) significa que la solicitud se procesó correctamente. Una respuesta en el rango 201-299 tiene un significado de éxito diferente.
  • ResponseContent: esta propiedad contiene la respuesta del servidor web.

 

Servicio web (POST)

Configuración del servicio web (POST)

Este componente permite ejecutar servicios web. Realiza una solicitud web utilizando el método POST, al URI especificado y WebServiceName. Por ejemplo, si el URI es “http://www.example.com” y WebServiceName es “WSName“, el componente enviará la solicitud HTTP a “http://www.example.com/WSName“. Las propiedades de entrada son las siguientes:

  • URI: el URI donde se encuentra el servicio web. El valor es una expresión.
  • WebServiceName: el nombre del método a invocar. El valor es una expresión.
  • Tipo de contenido: el tipo de contenido para enviar al servidor.
  • Contenido: el contenido para enviar al servidor. El valor es una expresión.
  • Tiempo de espera: el tiempo para esperar a que se complete la solicitud HTTP, en segundos. Cero significa esperar por siempre.
  • Encabezados: una lista de encabezados para enviar en la solicitud. Cada encabezado se puede establecer utilizando una expresión.

Los nombres de encabezado son valores de cadena constantes y no requieren comillas. Los valores de encabezado son expresiones. Para crear una expresión para un valor de encabezado, presione el botón de puntos suspensivos en la última columna de la grilla.

El componente de servicio web (POST) expone las siguientes propiedades de salida después de la ejecución:

  • ResponseStatusCode: contiene el código de estado HTTP devuelto por el servidor web. El número 200 (OK) significa que la solicitud se procesó correctamente.
  • ResponseContent: contiene la respuesta devuelta por el servicio web.

 

Componentes definidos por el usuario

Los componentes definidos por el usuario se agregan automáticamente a la caja de herramientas. Se pueden usar para agrupar funcionalidades comunes, reducir la complejidad del diagrama y como controlador de error localizado o controlador de desconexión.

Las propiedades públicas expuestas por estos componentes se muestran automáticamente en la ventana Propiedades. El usuario puede establecer una expresión para esas propiedades a fin de personalizar el comportamiento del componente.

El componente puede actualizar internamente los valores de las propiedades, por lo que también se pueden usar como salida de componentes

¿Encontró su respuesta?