Skip to main content
Disponible en el plan Corporate. Esta funcionalidad forma parte de las capacidades empresariales de woku. Conversa con nuestro equipo comercial.
El paquete woku es el cliente oficial de servidor para la API de gestion de woku en Python. Con un cliente síncrono (Woku) y su gemelo asíncrono (AsyncWoku) sobre httpx administras trackers externos, herramientas VoC (NPS, CSAT, CES), wokus, formularios, flows, planes de accion, tickets de soporte, envios de encuestas y seguimiento de entrega, todo sobre la API pública v1. Es la contraparte del SDK de JavaScript, con la misma superficie.
Es un SDK de servidor. La clave secreta de compañía otorga acceso completo de gestion, asi que debe vivir solo en tu backend. Nunca la incluyas en un cliente que no controles. Para capturar feedback desde una app móvil usa el SDK de React Native, que usa una clave pública de captura.

Instalación

Requiere Python 3.9 o superior. El SDK trae py.typed, asi que los type checkers reconocen sus tipos sin configuración extra.

Inicialización

Crea una instancia de Woku una sola vez y reutilízala.
Si omites api_key, el SDK lee la variable de entorno WOKU_API_KEY. Los cuerpos de solicitud aceptan un diccionario simple (como en los ejemplos) o un modelo Pydantic generado desde woku._generated.models.

Autenticación

El SDK autentica con la Clave de Compañía, la misma clave secreta que usa la API. La obtiene el propietario de la empresa desde la sección Información de la empresa en la aplicación administrativa: admin.woku.app.

Rotar o revocar la clave

Rotar genera una clave nueva e invalida de inmediato la anterior; guarda la que devuelve antes de continuar.

Quickstart

Un flujo completo: crear un tracker, crear una herramienta NPS, enviarla y leer la tasa de respuesta.

Cliente asíncrono

AsyncWoku expone los mismos recursos con métodos await e iteración con async for. Úsalo como context manager para cerrar el pool de conexiones.

Flujos principales

Tickets de soporte

Los tickets los genera la IA de woku. Puedes listarlos, filtrarlos y curarlos.

Planes de acción

Paginación

Los métodos de listado devuelven una página iterable. Recorre cada elemento a través de las páginas, o página por página:
En el cliente asíncrono se recorre con async for.

Idempotencia

Los create incluyen automáticamente una Idempotency-Key, asi que un reintento tras un fallo transitorio nunca crea dos veces. Las acciones (enviar, probar, responder) no se reintentan solas. Puedes pasar tu propia clave por llamada con el argumento options.

Manejo de errores

Cada fallo es un WokuError. Los errores HTTP son subclases tipadas que llevan el status, el cuerpo y el request_id del servidor:
Los fallos de transporte (DNS, TLS, timeout) son WokuConnectionError y WokuTimeoutError. El SDK reintenta automáticamente los GET y las escrituras idempotentes con backoff y respeto del header Retry-After.

Configuración por llamada

Cada método acepta overrides en el argumento options:

Recursos

trackers, nps_tools / csat_tools / ces_tools, nps / csat / ces, wokus, forms, flows, action_plans, action_plan_groups, tickets, ticket_destinations, dispatches, reports, company, quarantines.

Versionado

El SDK sigue versionado semántico (MAJOR.MINOR.PATCH). La versión actual publicada es la 0.1.0. Te recomendamos fijar un rango compatible (por ejemplo >=0.1,<0.2) y revisar el changelog antes de subir de versión MAJOR. Las versiones y sus notas están en PyPI y en los releases de GitHub.

Recursos