> ## 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.

# Leer una conversación de seguimiento de la empresa

> Se requiere la clave secreta de gestión. Las claves publicables de captura no permiten leer conversaciones.



## OpenAPI

````yaml /openapi-v1.es.json get /v1/follow-ups/{id}
openapi: 3.0.0
info:
  title: Woku Client API v1
  description: >-
    API REST pública para la administración programática de programas
    Voice-of-Customer de woku: trackers, instrumentos VoC (NPS, woku, CES,
    CSAT), planes de acción, tickets de soporte, envío multicanal y captura de
    respuestas. Las solicitudes están delimitadas por empresa mediante la clave
    API. Nunca envíe un id de empresa.
  version: 1.0.0
  contact:
    name: Woku
    url: https://woku.app
    email: team@woku.app
servers:
  - url: https://clientapi.woku.app
    description: Producción
security: []
tags: []
paths:
  /v1/follow-ups/{id}:
    get:
      tags:
        - v1 - seguimientos
      summary: Leer una conversación de seguimiento de la empresa
      description: >-
        Se requiere la clave secreta de gestión. Las claves publicables de
        captura no permiten leer conversaciones.
      operationId: V1FollowUpsController_get
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
            format: ObjectId
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FollowUpEnvelopeDto'
        '404':
          description: No se encontró el seguimiento en esta empresa.
      security:
        - bearer: []
components:
  schemas:
    FollowUpEnvelopeDto:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/FollowUpConversationDto'
      required:
        - data
    FollowUpConversationDto:
      type: object
      properties:
        _id:
          type: string
        companyId:
          type: string
        origin:
          $ref: '#/components/schemas/FollowUpOriginDto'
        wokuId:
          type: string
        reviewId:
          type: string
        reviewType:
          type: string
          enum:
            - textnote
            - voicemail
        originalReview:
          type: string
        originalQualification:
          type: number
        state:
          type: string
          enum:
            - pending
            - initial_sent
            - awaiting_detail
            - closing
            - completed
            - timed_out
            - cancelled
        channel:
          type: string
          enum:
            - email
            - whatsapp
        line:
          type: string
          enum:
            - survey_thread
            - follow_up_number
          description: >-
            Línea de WhatsApp. survey_thread: el agente continúa la conversación
            de la encuesta en el número de encuestas. follow_up_number: el
            agente escribe desde el número exclusivo de seguimiento. No aparece
            en correo.
        reason:
          type: string
          description: >-
            Código estable del motivo de exclusión, fallo o entrega incierta.
            Nunca se exponen detalles de errores del proveedor.
        messages:
          description: >-
            Mensajes en orden: primero el preludio de la encuesta (phase survey)
            y luego el seguimiento (phase follow_up). Filtra phase ===
            'follow_up' para obtener solo los mensajes del seguimiento.
          type: array
          items:
            $ref: '#/components/schemas/FollowUpMessageDto'
        executiveSummary:
          type: string
        actionItems:
          type: array
          items:
            type: string
        sentiment:
          type: string
        topics:
          type: array
          items:
            type: string
        summaryCitations:
          description: >-
            Archivos que cita el resumen; el texto del resumen los menciona como
            "(Archivo N)".
          type: array
          items:
            $ref: '#/components/schemas/FollowUpCitationDto'
        summaryVersion:
          type: number
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
        - _id
        - companyId
        - origin
        - reviewType
        - originalReview
        - state
        - channel
        - messages
        - summaryVersion
    FollowUpOriginDto:
      type: object
      properties:
        tool:
          type: string
          enum:
            - woku
            - nps
            - csat
            - ces
        refId:
          type: string
        instrumentId:
          type: string
      required:
        - tool
        - refId
    FollowUpMessageDto:
      type: object
      properties:
        role:
          type: string
          enum:
            - agent
            - client
        content:
          type: string
          description: >-
            Texto del mensaje. Puede venir vacío cuando el mensaje solo tiene
            archivos.
        timestamp:
          type: string
          format: date-time
        phase:
          type: string
          enum:
            - survey
            - follow_up
          description: >-
            survey: el preludio, lo que el cliente dijo en la encuesta antes del
            seguimiento. En la línea survey_thread es el intercambio de la
            encuesta por WhatsApp; en las demás líneas (follow_up_number, email)
            es el comentario original como mensaje del cliente. follow_up: el
            seguimiento en sí. Toda línea puede empezar con el preludio, así que
            messages[0] puede ser un mensaje del cliente; filtra phase ===
            'follow_up' para leer solo el seguimiento.
        responseType:
          type: string
        selectedOption:
          type: string
        attachments:
          description: Archivos que el cliente envió con este mensaje.
          type: array
          items:
            $ref: '#/components/schemas/FollowUpAttachmentDto'
      required:
        - role
        - content
        - timestamp
        - phase
    FollowUpCitationDto:
      type: object
      properties:
        index:
          type: number
        label:
          type: string
          description: Etiqueta del archivo citado, por ejemplo "Archivo 2".
        fileId:
          type: string
        supports:
          type: string
          description: Lo que el archivo respalda en el resumen.
        adminUrl:
          type: string
          description: >-
            Página del admin que abre este archivo tras iniciar sesión y
            verificar la empresa (descarga firmada de corta duración). Nunca es
            una URL de almacenamiento.
      required:
        - index
        - label
        - supports
    FollowUpAttachmentDto:
      type: object
      properties:
        index:
          type: number
          description: >-
            Número estable del archivo en la conversación (incluye el preludio
            de la encuesta).
        label:
          type: string
          description: >-
            Etiqueta en el idioma de la conversación, por ejemplo "Archivo 2" o
            "File 2". Los resúmenes citan los archivos con esta etiqueta.
        kind:
          type: string
          enum:
            - image
            - audio
            - document
            - unsupported
        fileId:
          type: string
          description: >-
            Archivo original privado (evidencia). No aparece mientras está
            pendiente ni cuando no se guardó nada (ubicación, contactos, sobre
            los límites).
        readableFileId:
          type: string
          description: Copia convertida que leyó el modelo, cuando hubo conversión.
        filename:
          type: string
        mimeType:
          type: string
        status:
          type: string
          enum:
            - pending
            - ready
            - failed
            - unsupported
        text:
          type: string
          description: >-
            Transcripción (audio) o descripción (imagen, documento) generada a
            partir del archivo. Contenido del cliente no confiable.
        failureReason:
          type: string
          description: >-
            Código estable del motivo cuando falló o no es compatible (por
            ejemplo video, location, message_limit, conversation_limit,
            read_failed).
        adminUrl:
          type: string
          description: >-
            Página del admin que abre este archivo tras iniciar sesión y
            verificar la empresa (descarga firmada de corta duración). Nunca es
            una URL de almacenamiento.
      required:
        - index
        - label
        - kind
        - filename
        - mimeType
        - status
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: API key
      type: http
      description: Clave API secreta de la empresa.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.