Disponible en todos los planes, incluido el gratuito. Los SDK oficiales de woku están habilitados para toda cuenta. Conoce los planes.
@wokuapp/react-native permite capturar feedback desde tu app
móvil: calificaciones woku (1 a 5) y NPS (0 a 10), con comentario
de texto o audio. Incluye buffer offline (las capturas se encolan y se
reintentan cuando hay conexión) y respeta las reglas de cuarentena de
la empresa.
Además de la captura nativa, el SDK también permite compartir o incrustar
el widget web de woku dentro de tu app (por
ejemplo, en una vista WebView), reutilizando la misma experiencia de
captura woku/NPS en canales híbridos.
Instalación
react y react-native son peer dependencies (ya presentes en tu app).
Inicialización
Crea una instancia deWokuSdk una sola vez y reutilízala. Pasa un
adaptador de almacenamiento para que la cola offline persista entre
sesiones (AsyncStorage o MMKV sirven directamente).
Capturar una calificación woku
Capturar un NPS
Comentario de audio
Ambas capturas aceptan un adjunto de audio en lugar (o además) del texto:Identificar al respondente
El feedback es anónimo salvo que envíes un identificador. Cualquiera de estos campos es opcional:Resultado de una captura
Cada captura devuelve unSubmissionResult con su estado:
Modo offline
Las capturas que no se pueden enviar se encolan automáticamente y se reintentan. Puedes forzar el envío y consultar la cola:flush() es cuando la app vuelve a primer
plano o cuando recuperas conectividad.
Manejo de errores
El SDK expone clases de error tipadas para distinguir las causas:WokuValidationError, datos inválidos (p. ej.ratingfuera de 1..5).WokuQuarantineError, la captura fue bloqueada por cuarentena.WokuNetworkError, fallo de red (la captura suele quedar encolada).WokuConfigError, configuración incompleta al inicializar.
Plataformas
El SDK
@wokuapp/react-native integra el feedback de woku en apps móviles
y funciona tanto en Android como en iOS. React Native expone una única API
en JavaScript/TypeScript y hace el puente a las capacidades nativas de cada
plataforma, de modo que el mismo código corre en ambas.
El SDK no graba audio: para los comentarios de voz recibe un archivo ya
grabado por la app (su
uri y mimeType) y lo envía como multipart. La API
del SDK es idéntica en Android e iOS.
Versionado
El SDK sigue versionado semántico (MAJOR.MINOR.PATCH):
- MAJOR, cambios incompatibles en la API pública del SDK.
- MINOR, funcionalidades nuevas compatibles hacia atrás.
- PATCH, correcciones de errores compatibles hacia atrás.
0.1.0. Las versiones y sus notas
están disponibles en línea en el
paquete npm y en los
releases de GitHub. Te
recomendamos fijar un rango compatible (por ejemplo ^0.1.0) y revisar el
changelog antes de subir de versión MAJOR.
Changelog
Las entradas más recientes primero. La versión publicada cubre por igual Android e iOS.0.1.0
Primera versión publicada del SDK:- Captura de calificaciones woku (1 a 5) y NPS (0 a 10), con comentario de texto o audio.
- Cola offline persistente configurable vía adaptador
storage, conflush(),pendingCount(),clearQueue()ymaxQueueAttempts. - Campo
respondent.externalIdpara correlacionar con sistemas propios. - Errores tipados:
WokuConfigError,WokuValidationError,WokuQuarantineError,WokuNetworkError. - Entrega consciente de las reglas de cuarentena de la empresa
(estado
quarantined).
Recursos
- Paquete npm: @wokuapp/react-native
- Código y ejemplos: github.com/wokuApp/sdks
- Releases y changelog: github.com/wokuApp/sdks/releases
Respuestas identificadas de Viajes
x-woku-key con una clave pública pk_;
las claves de gestión se rechazan. CSAT/CES admiten puntajes de 1 a 5 sin audio.
El audio de Woku/NPS admite language: 'es' | 'en', español por defecto.
Llama flush() al reconectar o volver a primer plano. Comparte un adaptador de
almacenamiento persistente y una instancia del SDK por empresa. Lectura, envío
y limpieza respetan esa empresa. Los errores permanentes, los intentos agotados
y las capturas de más de 24 horas se retienen en failedCaptures() para revisión.
El reloj del dispositivo determina ese plazo. El almacenamiento en memoria no
sobrevive un reinicio. timeoutMs limita un intento de red, por defecto 30 segundos.
timeoutMs también cubre la lectura de la respuesta. clearQueue() impide que
un flush activo inicie nuevas capturas eliminadas, pero no retira un envío en curso.
Una captura aceptada devuelve sent aunque falle el acuse local; su ID original
queda en la cola para reconciliarlo.