Appearance
Manual del Servicio de Voz de Kuenta
Este documento explica cómo utilizar el servicio de voz en Kuenta, incluyendo su estructura de datos, variables disponibles y consideraciones para crear plantillas efectivas.
Descripción General
El servicio de voz de Kuenta permite realizar comunicaciones telefónicas automatizadas mediante texto a voz. Se utiliza principalmente para verificación de identidad, notificaciones importantes y recordatorios relacionados con documentos que requieren firma.
Estructura de Datos
VoiceRequest
go
type VoiceRequest struct {
Phone string // Número de teléfono al que se realizará la llamada
CallbackURL string // URL de callback para respuestas
Reason string // Motivo de la llamada
}VoiceTemplateVars
go
type VoiceTemplateVars struct {
Sender *Entity // Información del remitente
Recipient *Entity // Información del destinatario
Title string // Título del documento o mensaje
Body string // Cuerpo del mensaje
Code string // Código de verificación o PIN
URL string // URL relevante
SubmitURL string // URL para enviar respuestas
}Variables Disponibles en Plantillas
Las plantillas de voz tienen acceso a las siguientes variables:
.Sender - Información del remitente
.Recipient - Información del destinatario
.Title - El título del documento o mensaje
.Body - El cuerpo del mensaje
.Code - Código de verificación o PIN
.URL - URL relevante
.SubmitURL - URL para enviar respuestasDatos del Remitente y Destinatario
Tanto Sender como Recipient son objetos de tipo Entity con la siguiente estructura:
.ID - ID de la entidad
.Phone - Número de teléfono
.Email - Correo electrónico
.Nickname - Apodo o alias
.Verified - Si está verificado
.Type - Tipo de entidad (natural o legal)
.IDType - Tipo de identificación
.IDNumber - Número de identificación
.Profile - Perfil con datos personales
.ImportID - ID de importaciónDatos de Perfil
Tanto Sender.Profile como Recipient.Profile pueden ser de tipo Natural o Legal, con la siguiente estructura:
Perfil de Tipo Natural (Persona Física)
.Profile.Natural.FirstName - Nombre de la persona
.Profile.Natural.LastName - Apellido de la persona
.Profile.Natural.IDNumber - Número de identificación
.Profile.Natural.IDType - Tipo de identificación
.Profile.Natural.Phone - Teléfono personal
.Profile.Natural.Mobile - Teléfono móvil
.Profile.Natural.Email - Correo electrónicoPerfil de Tipo Legal (Persona Jurídica)
.Profile.Legal.Name - Nombre de la empresa/entidad
.Profile.Legal.LegalName - Razón social completa
.Profile.Legal.IDNumber - Número de identificación tributaria
.Profile.Legal.IDType - Tipo de identificación
.Profile.Legal.Phone - Teléfono principal
.Profile.Legal.Email - Correo electrónico principalFunciones de Plantillas
Según el análisis del código fuente en voice_service.go, el servicio de voz utiliza un modelo de plantillas simple:
go
func (vs *voiceService) Prepare(text string, vars *VoiceTemplateVars) ([]byte, error) {
t, err := template.New("voice").Parse(text)
if err != nil {
return nil, err
}
var buffer bytes.Buffer
err = t.Execute(&buffer, vars)
if err != nil {
return nil, err
}
return buffer.Bytes(), nil
}A diferencia de otros servicios como documentos o webhooks, el servicio de voz no importa directamente la biblioteca Sprig ni funciones personalizadas adicionales. Solo utiliza las funciones básicas de Go Templates.
Funciones Disponibles
Las funciones disponibles son limitadas a las básicas de Go Templates:
{{ if }}...{{ else }}...{{ end }} - Condiciones
{{ range .Items }}...{{ end }} - Ciclos
{{ with .Object }}...{{ end }} - Establecer contexto
{{ .Field }} - Acceso a campoAcceso a Datos de Perfil
Al igual que en otros servicios, puede utilizar la función commonData para acceder a campos comunes entre perfiles:
{{ commonData .Sender.Profile "Name" }} - Nombre (persona completo o empresa)
{{ commonData .Recipient.Profile "Name" }} - Nombre del destinatario
{{ commonData .Sender.Profile "Email" }} - Correo electrónico
{{ commonData .Sender.Profile "IDNumber" }} - Número de identificaciónEjemplos de Uso de Plantillas
Ejemplo de Verificación con Código
Hola, {{ commonData .Recipient.Profile "Name" }}.
Le llamamos de {{ commonData .Sender.Profile "Name" }}.
Su código de verificación para el documento {{ .Title }} es: {{ .Code }}.
Repito, su código es: {{ .Code }}.
Por favor, ingrese este código en el sitio web para continuar con el proceso de firma.
Gracias por su atención.Ejemplo de Notificación de Documento Pendiente
Hola, {{ commonData .Recipient.Profile "Name" }}.
Le informamos que tiene un documento pendiente de firma de parte de {{ commonData .Sender.Profile "Name" }}.
El documento se titula: {{ .Title }}.
Por favor, revise su correo electrónico para acceder al documento y completar el proceso de firma.
Gracias por su atención.Ejemplo de Recordatorio de Firma Pendiente
Hola, {{ commonData .Recipient.Profile "Name" }}.
Le recordamos que el documento {{ .Title }} sigue pendiente de firma.
Este documento fue enviado por {{ commonData .Sender.Profile "Name" }} y requiere su atención.
Por favor, complete el proceso de firma lo antes posible.
Si necesita ayuda, comuníquese con nosotros al teléfono de soporte.
Gracias por su atención.Mejores Prácticas
Brevedad: Las frases deben ser cortas y concisas para una mejor comprensión auditiva
"Le llamamos para verificar su identidad" en lugar de "El motivo de nuestra llamada es para proceder con la verificación de su identidad personal"Claridad: Evitar lenguaje complejo o técnico
"Por favor digite el código" en lugar de "Proceda a introducir la secuencia alfanumérica"Pausas: Usar comas y puntos para controlar el ritmo del discurso
"Su código es, 1, 2, 3, 4, 5, 6. Repito, 1, 2, 3, 4, 5, 6."Números Separados: Para que los números se pronuncien dígito por dígito, separarlos con espacios
"Su código es: 1 2 3 4 5 6" en lugar de "Su código es: 123456"Repetición: Repetir la información importante para asegurar que el receptor la entienda
"Su código es 1 2 3 4. Repito, su código es 1 2 3 4."
Guía Extendida para Plantillas de Voz Efectivas
Estructura Óptima para Mensajes de Voz
Introducción: Presentar al llamante y propósito
"Hola, le llamamos de [Organización]. Esta es una llamada automática..."Contexto: Explicar por qué se está realizando la llamada
"Le contactamos en relación al documento [Título] que requiere su firma..."Acción principal: Explicar claramente qué debe hacer el destinatario
"Para verificar su identidad, por favor ingrese el siguiente código..."Información clave: Proporcionar los datos necesarios con repetición
"Su código es 5 8 7 2. Repito, 5 8 7 2."Instrucciones adicionales: Indicar pasos a seguir
"Después de ingresar el código, podrá acceder al documento para firmarlo."Cierre: Agradecer y finalizar
"Gracias por su atención. Si necesita ayuda, comuníquese con nuestro servicio al cliente."
Aspectos Técnicos del Texto a Voz
Pronunciación de números:
- Para códigos: Separar dígitos con espacios:
"1 2 3 4" - Para cantidades: Escribir en formato normal:
"1250"(se leerá "mil doscientos cincuenta") - Para fechas: Usar formato
"día de mes de año":"15 de enero de 2023"
- Para códigos: Separar dígitos con espacios:
Abreviaturas y siglas:
- Evitar abreviaturas: No usar "Dr.", "Sr.", etc. Escribir completo: "Doctor", "Señor"
- Siglas: Si se deben pronunciar letra por letra, separar con espacios:
"C I F"en lugar de"CIF"
Signos de puntuación:
- Usar comas para pausas cortas
- Usar puntos para pausas más largas
- Usar dos puntos antes de información importante para crear énfasis
Palabras problemáticas:
- Evitar palabras con posible pronunciación ambigua
- Sustituir palabras técnicas por términos más comunes
- Para palabras extranjeras, usar alternativas locales cuando sea posible
Adaptación a Diferentes Contextos
Para Verificación de Identidad
Hola, le llamamos de {{ commonData .Sender.Profile "Name" }}.
Esta es una llamada para verificar su identidad.
Le enviaremos un código que deberá ingresar en la página web para confirmar que es usted.
Su código de verificación es: {{ range $i, $c := .Code }}{{ $c }} {{ end }}
Repito, su código es: {{ range $i, $c := .Code }}{{ $c }} {{ end }}
Esta verificación es necesaria para proteger la seguridad de sus datos.
Gracias por su colaboración.Para Recordatorio de Firma Urgente
Hola, {{ commonData .Recipient.Profile "Name" }}.
Esta es una llamada importante de {{ commonData .Sender.Profile "Name" }}.
Le recordamos que el documento "{{ .Title }}" requiere su firma urgente.
El plazo para firmar vence hoy.
Por favor, revise su correo electrónico y complete el proceso de firma lo antes posible.
Si necesita ayuda, puede contactarnos al número que aparece en el correo electrónico.
Gracias por su atención a este asunto urgente.Para Confirmación de Procesamiento
Hola, {{ commonData .Recipient.Profile "Name" }}.
Le informamos que su documento "{{ .Title }}" ha sido procesado correctamente.
Su número de confirmación es: {{ range $i, $c := .Code }}{{ $c }} {{ end }}
Por favor guarde este número para futuras referencias.
Puede acceder a su documento en cualquier momento a través de nuestra plataforma.
Gracias por utilizar nuestros servicios.Consideraciones Psicológicas y Culturales
Tono: Utilizar un tono formal pero amigable, evitando ser demasiado autoritario o casual
Hora del día: Mencionar "buenos días", "buenas tardes" o "buenas noches" según la hora programada de la llamada
Empatía: Reconocer que las llamadas automatizadas pueden no ser ideales
"Entendemos que su tiempo es valioso, por lo que este mensaje será breve..."Opcionalidad: Indicar alternativas cuando sea posible
"Si prefiere completar este proceso más tarde, puede hacerlo a través de nuestro sitio web..."Respeto cultural: Adaptar el nivel de formalidad según el contexto cultural
Solución de Problemas Comunes
Errores Comunes
Pronunciación Incorrecta de Números:
- Incorrecto: "Su código es 123456" (se pronunciará como "ciento veintitrés mil cuatrocientos cincuenta y seis")
- Correcto: "Su código es 1 2 3 4 5 6" (se pronunciará dígito por dígito)
Pronunciación de Caracteres Especiales:
- Para mejorar la pronunciación de correos electrónicos:
"Su correo es: ejemplo... arroba... dominio... punto... com"
- Para mejorar la pronunciación de correos electrónicos:
Mensajes Demasiado Largos:
- Los mensajes muy largos pueden confundir al receptor
- Mantener los mensajes por debajo de 30 segundos para mayor efectividad
Falta de Contexto:
- Siempre comenzar identificando quién llama y el propósito de la llamada
- Incluir suficiente contexto para que el receptor entienda la acción requerida
Depuración
Para probar plantillas de voz:
- Leer la plantilla en voz alta para verificar claridad y longitud
- Verificar que los nombres y términos técnicos sean fáciles de pronunciar
- Asegurarse de que los códigos y números estén formateados para pronunciación correcta
- Probar en un entorno controlado antes de implementar en producción