Use la encuesta de fin de llamada para recopilar comentarios de los usuarios
Nota
Actualmente, la encuesta de fin de llamada solo se admite para nuestro SDK de JavaScript / Web.
En este tutorial se muestra cómo usar la encuesta de fin de llamada de Azure Communication Services para JavaScript / Web SDK.
Prerrequisitos
Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
Node.js se recomiendan las versiones de soporte técnico a largo plazo (LTS) activas.
Recurso activo de Communication Services. Creación de un recurso de Communication Services. Los resultados de la encuesta están vinculados a recursos únicos de Communication Services.
Un área de trabajo de análisis de registros activa, también conocida como registros de Azure Monitor. Consulte Registros de encuestas de fin de llamadas.
Para realizar encuestas con preguntas personalizadas con formato de texto libre, necesita un recurso de App Insights.
Importante
La encuesta de fin de llamada está disponible a partir de la versión 1.13.1 del SDK de llamada. Asegúrese de usar esa versión o una posterior cuando pruebe las instrucciones.
Ejemplo de uso de API
La función de encuesta de fin de llamada debe usarse una vez finalizada la llamada. Los usuarios pueden valorar cualquier tipo de llamada VoIP, 1:1, de grupo, de reunión, saliente y entrante. Una vez finalizada la llamada de un usuario, su aplicación puede mostrar una interfaz de usuario al usuario final que le permita elegir una puntuación de calificación y, si es necesario, elegir los problemas que ha encontrado durante la llamada de nuestra lista predefinida.
Los siguientes fragmentos de código muestran un ejemplo de llamada uno a uno. Una vez finalizada la llamada, la aplicación puede mostrar una interfaz de encuesta y, cuando el usuario elija una puntuación, la aplicación debe llamar a la API de funciones para enviar la encuesta con las opciones del usuario.
Le recomendamos que use la escala de valoración predeterminada. Sin embargo, puede enviar una encuesta con una escala de valoración personalizada. Puede consultar la aplicación de ejemplo para ver un ejemplo de uso de la API.
Solo llamada de valoración - sin escala personalizada
call.feature(Features.CallSurvey).submitSurvey({
overallRating: { score: 5 }, // issues are optional
}).then(() => console.log('survey submitted successfully'));
OverallRating es una categoría obligatoria para todas las encuestas.
Calificar solo llamada - con escala personalizada y problemas
call.feature(Features.CallSurvey).submitSurvey({
overallRating: {
score: 1, // my score
scale: { // my custom scale
lowerBound: 0,
upperBound: 1,
lowScoreThreshold: 0
},
issues: ['HadToRejoin'] // my issues, check the table below for all available issues
}
}).then(() => console.log('survey submitted successfully'));
Calificación general, audio y video con un problema de muestra
call.feature(Features.CallSurvey).submitSurvey({
overallRating: { score: 3 },
audioRating: { score: 4 },
videoRating: { score: 3, issues: ['Freezes'] }
}).then(() => console.log('survey submitted successfully'))
Errores que puede enviar el SDK
call.feature(Features.CallSurvey).submitSurvey({
overallRating: { score: 3 }
}).catch((e) => console.log('error when submitting survey: ' + e))
Buscar diferentes tipos de errores
Errores al enviar la encuesta:
La API devolverá los siguientes mensajes de error si se produce un error en la validación de datos o la encuesta no se pudiera enviar.
Se requiere al menos una clasificación de encuesta.
En la escala predeterminada, X debería ser de 1 a 5. - donde X es cualquiera de:
- overallRating.score
- audioRating.score
- videoRating.score
- ScreenshareRating.score
{propertyName}: {rating.score} debería estar entre {rating.scale?.lowerBound} y {rating.scale?.upperBound}.
{propertyName}: {rating.scale?.lowScoreThreshold} debería estar entre {rating.scale?.lowerBound} y {rating.scale?.upperBound}.
{propertyName} lowerBound: {rating.scale?.lowerBound} y upperBound: {rating.scale?.upperBound} deberían estar entre 0 y 100.
Inténtelo de nuevo [Azure Communication Services no pudo enviar la encuesta, debido a la red u otro error].
Devolveremos los códigos de error con un mensaje.
- Código de error 400 (solicitud incorrecta) para todos los mensajes de error, excepto uno.
{ message: validationErrorMessage, code: 400 }
- Un 408 (tiempo de espera) cuando se descarta el evento:
{ message: "Please try again.", code: 408 }
Todos los valores posibles
Configuración predeterminada de la API de encuestas
Categorías de valoración de la API | Valor límite* | Intervalo de entrada | Comentarios |
---|---|---|---|
Llamada general | 2 | De 1 a 5 | Evalúa la experiencia global de calidad del participante en la llamada en una escala de 1 a 5. Una respuesta de 1 indica una experiencia de llamada imperfecta y una de 5 indica una llamada perfecta. El valor límite de 2 significa que una respuesta del cliente de 1 o 2 indica una experiencia de llamada menos que perfecta. |
Audio | 2 | De 1 a 5 | Una respuesta de 1 indica una experiencia de audio imperfecta y 5 indica que no hubo problemas de audio. |
Vídeo | 2 | De 1 a 5 | Una respuesta de 1 indica una experiencia de video imperfecta y 5 indica que no hubo problemas de video. |
Pantalla compartida | 2 | De 1 a 5 | Una respuesta de 1 indica una experiencia de pantalla compartida imperfecta y 5 indica que no se experimentaron problemas de pantalla compartida. |
Nota:
El valor de corte indicado de una pregunta en la API es el umbral que Microsoft usa al analizar los datos de la encuesta. Cuando personalizas el valor de corte o el intervalo de entrada, Microsoft analiza los datos de la encuesta según la personalización.
Más etiquetas de encuestas
Categorías de clasificación | Etiquetas opcionales |
---|---|
Llamada general | CallCannotJoin CallCannotInvite HadToRejoin CallEndedUnexpectedly OtherIssues |
Audio | NoLocalAudio NoRemoteAudio Echo AudioNoise LowVolume AudioStoppedUnexpectedly DistortedSpeech AudioInterruption OtherIssues |
Vídeo | NoVideoReceived NoVideoSent LowQuality Freezes StoppedUnexpectedly DarkVideoReceived AudioVideoOutOfSync OtherIssues |
Pantalla compartida | NoContentLocal NoContentRemote CannotPresent LowQuality Freezes StoppedUnexpectedly LargeDelay OtherIssues |
Opciones de personalización
Puede elegir recoger cada uno de los cuatro valores API o solo los que considere más importantes. Por ejemplo, puede elegir preguntar solo a los clientes sobre su experiencia general de llamadas en lugar de preguntarles sobre su experiencia de audio, video y uso compartido de pantalla. También puede personalizar los rangos de entrada para adaptarlos a sus necesidades. El intervalo de entrada predeterminado es de 1 a 5 para llamada general, audio, video y pantalla compartida. Sin embargo, cada valor API puede personalizarse desde un mínimo de 0 hasta un máximo de 100.
Ejemplos de personalización
Categorías de valoración de la API | Valor límite* | Intervalo de entrada |
---|---|---|
Llamada general | 0 - 100 | 0 - 100 |
Audio | 0 - 100 | 0 - 100 |
Vídeo | 0 - 100 | 0 - 100 |
Pantalla compartida | 0 - 100 | 0 - 100 |
Nota:
El valor de corte indicado de una pregunta en la API es el umbral que Microsoft usa al analizar los datos de la encuesta. Cuando personalizas el valor de corte o el intervalo de entrada, Microsoft analiza los datos de la encuesta según la personalización.
Preguntas personalizadas
Además de usar la API de encuestas de fin de llamadas, puede crear sus propias preguntas de encuestas e incorporarlas a los resultados las encuestas de fin de llamadas. A continuación, encontrará los pasos necesarios para añadir sus propias preguntas de cliente en encuestas y consultar los resultados de la API de encuestas de fin de llamadas y sus propias preguntas para encuestas.
Inserción de Azure AppInsights en la aplicación Haga clic aquí para obtener más información sobre la inicialización de App Insights mediante JavaScript sin formato. Como alternativa, puede usar NPM para obtener las dependencias de App Insights. Haga clic aquí para obtener más información sobre la inicialización de App Insights mediante NPM.
Cree una interfaz de usuario en la aplicación que haga preguntas personalizadas a los usuarios y recopile sus entradas. Supongamos que la aplicación recopiló respuestas como cadena en la variable
improvementSuggestion
Envíe los resultados de la encuesta a Azure Communication Services y envíe la respuesta del usuario mediante App Insights:
currentCall.feature(SDK.Features.CallSurvey).submitSurvey(survey).then(res => { // `improvementSuggesstion` contains custom, user response if (improvementSuggestion !== '') { appInsights.trackEvent({ name: "CallSurvey", properties: { // Survey ID to correlate the survey id: res.id, // Other custom properties as key value pair improvementSuggestion: improvementSuggestion } }); } }); appInsights.flush();
Las respuestas de los usuarios enviadas mediante AppInsights están disponibles en el área de trabajo de App Insights. Puede usar libros para consultar entre varios recursos, además de correlacionar las calificaciones de llamadas y los datos de encuestas personalizados. Pasos para correlacionar las calificaciones de llamadas y los datos de encuestas personalizados:
- Cree nuevos libros (su recurso de Azure Communication Services -> Supervisión -> Libros -> Nuevo) y consulte los datos de la encuesta de llamadas desde el recurso de Azure Communication Services.
- Agregar nueva consulta (+Agregar -> Agregar consulta)
- Asegúrese de que
Data source
seaLogs
y de queResource type
seaCommunication
- Es posible cambiar el nombre de la consulta (Configuración avanzada -> Nombre del paso [ejemplo: encuesta-llamadas])
- Tenga en cuenta que podrían pasar un máximo de 2 horas antes de que los datos de la encuesta sean visibles en Azure Portal. Consulta de los datos de clasificación de llamadas-
ACSCallSurvey | where TimeGenerated > now(-24h)
- Agregar otra consulta para obtener datos de App Insights (+Agregar -> Agregar consulta)
- Asegúrese de que
Data source
seaLogs
y de queResource type
seaApplication Insights
- Consulta de los eventos personalizados-
customEvents | where timestamp > now(-24h) | where name == 'CallSurvey' | extend d=parse_json(customDimensions) | project SurveyId = d.id, ImprovementSuggestion = d.improvementSuggestion
- Es posible cambiar el nombre de la consulta (Configuración avanzada -> Nombre del paso [ejemplo: encuesta-llamadas-personalizada])
- Por último, combine estas dos consultas por surveyId. Crear nueva consulta (+Agregar -> Agregar consulta).
- Asegúrese de que
Data source
se combine y seleccioneMerge type
, según sea necesario
Recopilación de datos de encuestas
Importante
Debe habilitar una configuración de diagnóstico en Azure Monitor para enviar los datos de registro de las encuestas a un área de trabajo de Log Analytics, Event Hubs o una cuenta de Azure Storage para recibir y analizar los datos de la encuesta. Si no envía los datos de la encuesta a una de estas opciones, los datos de la encuesta no se almacenarán y se perderán. Para habilitar estos registros en Communication Services, consulte: Registros de encuestas de fin de llamadas
Ver datos de encuestas con un área de trabajo de Log Analytics
Es necesario habilitar un área de trabajo de Log Analytics para almacenar los datos de registro de las encuestas y acceder a los resultados de las mismas. Para habilitar estos registros en Communication Services, consulte: Registros de encuestas de fin de llamadas.
- También puede integrar el área de trabajo de Log Analytics con Power BI. Para ello, consulte: Integración de Log Analytics con Power BI.
Procedimientos recomendados
Estos son los flujos de encuesta recomendados y las preguntas sugeridas para su consideración. El desarrollo puede usar nuestra recomendación o usar flujos e indicaciones de preguntas personalizados para su interfaz visual.
Pregunta 1: ¿Cómo perciben los usuarios la calidad general de sus llamadas? Le recomendamos que comience la encuesta preguntando únicamente por la calidad general de los participantes. Si separa la primera pregunta de la segunda, le resultará útil recopilar solo las respuestas sobre problemas de audio, video y pantalla compartida si un participante en la encuesta indica que ha experimentado problemas de calidad en la llamada.
- Pregunta sugerida: "¿Qué tal la calidad de la llamada?"
- Valores de la pregunta API: llamada general
Pregunta 2: ¿El usuario tuvo algún problema de audio, video o pantalla compartida durante la llamada? Si un participante en la encuesta respondió a la pregunta 1 con una puntuación igual o inferior al valor de corte para la llamada general, presente la segunda pregunta.
- Pregunta sugerida: "¿Qué podría haber sido mejor?"
- Valores de la pregunta API: Audio, video y pantalla compartida
Instrucciones de encuesta
- Evite el agotamiento de la encuesta, no encueste a todos los participantes de la llamada.
- El orden de las preguntas es importante. Le recomendamos que aleatorice la secuencia de etiquetas opcionales en la pregunta 2 por si los encuestados centran la mayoría de sus comentarios en la primera pregunta que ven visualmente.
- Considere la posibilidad de usar encuestas para recursos de Azure Communication Services independientes en experimentos controlados para identificar los impactos de la versión.
Pasos siguientes
Para analizar los datos de la encuesta, consulte: Registros de encuestas de fin de llamadas
Para obtener más información sobre la encuesta de fin de llamada, consulte: Introducción a la encuesta de fin de llamada
Para obtener información sobre cómo usar el área de trabajo de Log Analytics, consulte: Tutorial de Log Analytics
Para crear sus propias consultas en Log Analytics, consulte: Introducción a las consultas
Comentaris
https://aka.ms/ContentUserFeedback.
Properament: al llarg del 2024 eliminarem gradualment GitHub Issues com a mecanisme de retroalimentació del contingut i el substituirem per un nou sistema de retroalimentació. Per obtenir més informació, consulteu:Envieu i consulteu els comentaris de