> ## Documentation Index
> Fetch the complete documentation index at: https://woku.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Crear un woku con carga de archivo

> Crea un nuevo woku con una carga de archivo opcional usando multipart form data. Este endpoint es ideal cuando quieres subir la imagen directamente en lugar de proporcionar una URL. Admite archivos de imagen (JPEG, PNG, WebP, etc.).



## OpenAPI

````yaml /openapi.es.json post /wokus/create-woku-form-data
openapi: 3.0.3
info:
  title: Woku Client API
  description: >-
    API para integrarse con la plataforma de recoleccion de feedback de Woku.
    Esta API te permite crear wokus (herramientas de recoleccion de feedback),
    enviar reseñas y obtener reportes.


    ## Autenticacion


    Todos los endpoints requieren autenticacion mediante un token Bearer en el
    header Authorization. Puedes obtener tu API key desde el dashboard de Woku.


    ```

    Authorization: Bearer your_api_key_here

    ```


    ## Base URL


    Produccion: `https://api.woku.app`
  version: 1.0.0
  contact:
    name: Woku Support
    url: https://woku.app
    email: team@woku.app
servers:
  - url: https://clientapi.woku.app
    description: Servidor de produccion
security: []
tags:
  - name: Wokus
    description: >-
      Endpoints para crear y gestionar wokus (herramientas de recoleccion de
      feedback)
  - name: Reseñas
    description: Endpoints para enviar y obtener reseñas
  - name: Empresas
    description: Endpoints para obtener datos de la empresa
  - name: Reportes
    description: Endpoints para obtener reportes de NPS y analitica
paths:
  /wokus/create-woku-form-data:
    post:
      tags:
        - Wokus
      summary: Crear un woku con carga de archivo
      description: >-
        Crea un nuevo woku con una carga de archivo opcional usando multipart
        form data. Este endpoint es ideal cuando quieres subir la imagen
        directamente en lugar de proporcionar una URL. Admite archivos de imagen
        (JPEG, PNG, WebP, etc.).
      operationId: createWokuFormData
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateWokuFormDataRequest'
      responses:
        '201':
          description: Woku creado correctamente con archivo
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WokuResponse'
        '400':
          description: Error de validacion
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '401':
          description: API key invalida o ausente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
      security:
        - BearerAuth: []
components:
  schemas:
    CreateWokuFormDataRequest:
      type: object
      required:
        - description
      properties:
        file:
          type: string
          format: binary
          description: Archivo de imagen para subir (JPEG, PNG, WebP, etc.)
        description:
          type: string
          description: >-
            Descripcion del woku (producto, servicio o experiencia que se
            resena)
          example: 'Customer Service Experience - Store #123'
        folderSecondaryKey:
          type: string
          description: Identificador de clave secundaria de la carpeta
          example: store-123
        parentFolderSecondaryKey:
          type: string
          description: Identificador de clave secundaria de la carpeta padre
          example: region-north
        clientEmail:
          type: string
          format: email
          description: Direccion de correo del cliente para la invitacion a resenar
          example: customer@example.com
        clientPhone:
          type: string
          description: Numero de telefono del cliente (como string en form-data)
          example: '56912345678'
    WokuResponse:
      type: object
      properties:
        _id:
          type: string
          format: objectid
          description: Identificador unico del woku
          example: 507f1f77bcf86cd799439011
        description:
          type: string
          description: Descripcion del woku
          example: 'Customer Service Experience - Store #123'
        createdBy:
          type: string
          format: objectid
          description: ID del usuario que creo el woku
          example: 507f1f77bcf86cd799439012
        companyId:
          type: string
          format: objectid
          description: ID de la empresa a la que pertenece el woku
          example: 507f1f77bcf86cd799439013
        folderId:
          type: string
          format: objectid
          description: ID de la carpeta en la que esta organizado el woku
          example: 507f1f77bcf86cd799439014
        file:
          $ref: '#/components/schemas/WokuFile'
        qualifications:
          type: array
          items:
            $ref: '#/components/schemas/WokuQualification'
          description: Arreglo de calificaciones de estrellas
        textnotes:
          type: array
          items:
            $ref: '#/components/schemas/WokuTextnote'
          description: Arreglo de resenas de texto
        voicemails:
          type: array
          items:
            $ref: '#/components/schemas/WokuVoicemail'
          description: Arreglo de resenas de voz
        feedbacksSummary:
          type: string
          description: Resumen generado por IA de todo el feedback
          example: Customers generally praise the helpful staff and quick service...
        closed:
          type: boolean
          description: Si el woku esta cerrado para nuevas resenas
          default: false
        createdAt:
          type: string
          format: date-time
          description: Marca de tiempo de creacion
          example: '2026-01-20T10:30:00.000Z'
        updatedAt:
          type: string
          format: date-time
          description: Marca de tiempo de la ultima actualizacion
          example: '2026-01-20T15:45:00.000Z'
    ValidationError:
      type: object
      properties:
        statusCode:
          type: integer
          example: 400
        message:
          type: array
          items:
            type: string
          example:
            - description must be a string
            - fileUrl must be a valid URL
        error:
          type: string
          example: Bad Request
    UnauthorizedError:
      type: object
      properties:
        statusCode:
          type: integer
          example: 401
        message:
          type: string
          example: Invalid or missing API key
    WokuFile:
      type: object
      properties:
        filename:
          type: string
          description: Nombre del archivo
          example: product-image.webp
        type:
          type: string
          enum:
            - image
            - video
          description: Tipo del archivo
          example: image
        url:
          type: string
          format: uri
          description: URL publica del archivo
          example: https://cdn.woku.app/files/product-image.webp
    WokuQualification:
      type: object
      properties:
        _id:
          type: string
          format: objectid
          description: Identificador unico
          example: 507f1f77bcf86cd799439015
        qualification:
          type: integer
          minimum: 1
          maximum: 5
          description: Calificacion de estrellas
          example: 5
        createdBy:
          type: string
          description: Usuario o cliente que creo la calificacion
        createdAt:
          type: string
          format: date-time
          description: Marca de tiempo de creacion
    WokuTextnote:
      type: object
      properties:
        _id:
          type: string
          format: objectid
          description: Identificador unico
          example: 507f1f77bcf86cd799439016
        qualification:
          type: object
          properties:
            qualification:
              type: integer
              minimum: 1
              maximum: 5
              description: Calificacion de estrellas
              example: 5
        description:
          type: string
          description: Contenido de texto de la resena
          example: Excellent service!
        anonymous:
          type: boolean
          description: Si la resena es anonima
          example: false
        feedbackType:
          type: string
          description: Tipo de feedback clasificado por IA
          example: positive
        clientId:
          type: string
          format: objectid
          description: Cliente que envio la resena
        validated:
          type: boolean
          description: Indica si la reseña ha sido validada
          example: true
        createdAt:
          type: string
          format: date-time
          description: Marca de tiempo de creacion
    WokuVoicemail:
      type: object
      properties:
        _id:
          type: string
          format: objectid
          description: Identificador unico
          example: 507f1f77bcf86cd799439017
        qualification:
          type: object
          properties:
            qualification:
              type: integer
              minimum: 1
              maximum: 5
              description: Calificacion en estrellas
              example: 4
        file:
          type: object
          properties:
            filename:
              type: string
              description: Nombre del archivo de audio
              example: voicemail.mp4
            url:
              type: string
              format: uri
              description: URL publica del archivo de audio
        transcription:
          type: string
          description: Transcripcion del audio generada por IA
          example: I had a great experience with your service...
        anonymous:
          type: boolean
          description: Indica si la reseña es anonima
          example: false
        feedbackType:
          type: string
          description: Tipo de feedback clasificado por IA
          example: positive
        clientId:
          type: string
          format: objectid
          description: Cliente que envio la reseña
        createdAt:
          type: string
          format: date-time
          description: Marca de tiempo de creacion
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Clave de API de la empresa. Obtenla desde tu dashboard de Woku en
        Settings > API Keys.

````