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

# Leitura de documento anexado

> Retorna o conteúdo de um documento da biblioteca anexado à proposta, página por página, em Markdown. A leitura é derivada da proposta e não exige acesso próprio do usuário criador da chave ao documento na biblioteca. Sem `version_scope`, usa a versão publicada quando existir e, caso contrário, o rascunho atual.



## OpenAPI

````yaml /openapi.json get /integrations/external/proposals/{id}/attachments/{attachmentId}/document
openapi: 3.0.3
info:
  title: >-
    Integração Externa - Leads, Oportunidades, Tarefas, Arquivos, Propostas,
    Chats, Satisfação e Campos Personalizados
  version: 1.0.0
  description: >
    Documentação oficial da API externa da Wegly para campos personalizados,
    leads, oportunidades, tarefas, arquivos, propostas, chats e satisfação
    (`/integrations/external/custom-fields`, `/integrations/external/files`,
    `/integrations/external/leads`, `/integrations/external/deals`,
    `/integrations/external/tasks`, `/integrations/external/proposals`,
    `/integrations/external/chats` e `/integrations/external/satisfaction`).
    Todas as descrições estão em português e refletem as regras aplicadas pelo
    serviço.
servers:
  - url: https://api.wegly.com.br
    description: Ambiente de produção Wegly
security:
  - bearerAuth: []
tags:
  - name: Campos Personalizados
    description: >-
      Consulta dos campos personalizados disponíveis para uso nas integrações
      externas.
  - name: Arquivos
    description: >-
      Upload e consulta de arquivos vinculados diretamente a leads ou
      oportunidades. Arquivos de proposta usam as rotas de anexos em Propostas.
  - name: Leads
    description: >-
      Operações de listagem, criação, consulta e atualização de leads via
      integração externa.
  - name: Oportunidades
    description: Operações de criação de oportunidades (deals) via integração externa.
  - name: Tarefas
    description: >-
      Operações de listagem, criação, consulta, atualização e remoção de tarefas
      vinculadas a leads, oportunidades, entregas, pessoas, organizações ou
      clientes.
  - name: Satisfação
    description: >-
      Geração de links públicos para formulários de satisfação via integração
      externa.
  - name: Propostas
    description: >-
      Operações de listagem, criação, consulta, atualização e remoção de
      propostas via integração externa, incluindo seus anexos (arquivos e
      documentos da biblioteca).
  - name: Chats
    description: >-
      Operações principais de listagem, criação, consulta e resumo de não lidas
      de chats via integração externa.
paths:
  /integrations/external/proposals/{id}/attachments/{attachmentId}/document:
    get:
      tags:
        - Propostas
      summary: Leitura de documento anexado
      description: >-
        Retorna o conteúdo de um documento da biblioteca anexado à proposta,
        página por página, em Markdown. A leitura é derivada da proposta e não
        exige acesso próprio do usuário criador da chave ao documento na
        biblioteca. Sem `version_scope`, usa a versão publicada quando existir
        e, caso contrário, o rascunho atual.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID da proposta.
        - name: attachmentId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: >-
            UUID do anexo. O anexo precisa pertencer à proposta informada em
            `id`.
        - name: version_scope
          in: query
          required: false
          schema:
            type: string
            enum:
              - DRAFT
              - PUBLISHED
          description: '`DRAFT` lê o rascunho atual e `PUBLISHED` a versão publicada.'
      responses:
        '200':
          description: Metadados do documento e páginas na ordem de leitura.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProposalAttachmentDocumentContent'
        '400':
          description: >-
            Identificador ou `version_scope` inválido, ou anexo que não é um
            documento da biblioteca.
        '401':
          description: >-
            Chave de integração ausente, inválida, inativa ou expirada, ou
            domínio de origem não autorizado para a chave.
        '403':
          description: >-
            Permissão `crm/proposal.read` ou `crm/document.read` ausente na
            chave.
        '404':
          description: >-
            Proposta ou anexo não encontrado, documento na lixeira ou versão
            publicada inexistente.
        '429':
          description: Limite de requisições atingido.
          headers:
            Retry-After:
              description: Tempo de espera em segundos, quando enviado.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalApiError'
components:
  schemas:
    ProposalAttachmentDocumentContent:
      type: object
      properties:
        attachment_id:
          type: string
          format: uuid
        version_scope:
          type: string
          enum:
            - DRAFT
            - PUBLISHED
          description: Versão efetivamente lida.
        document:
          type: object
          properties:
            id:
              type: string
              format: uuid
            title:
              type: string
            summary:
              type: string
              nullable: true
            workflow_status:
              type: string
              enum:
                - DRAFT
                - PUBLISHED
            published_version:
              type: integer
              nullable: true
            has_unpublished_changes:
              type: boolean
            updated_at:
              type: string
              format: date-time
        pages:
          type: array
          description: >-
            Páginas na ordem de leitura: cada página é seguida das suas
            subpáginas.
          items:
            $ref: '#/components/schemas/ProposalAttachmentDocumentPage'
    ExternalApiError:
      type: object
      properties:
        statusCode:
          type: integer
        message:
          oneOf:
            - type: string
            - type: array
              items:
                type: string
        error:
          type: string
      description: >-
        Formato de erro do HTTP/NestJS; os campos presentes variam conforme a
        exceção.
    ProposalAttachmentDocumentPage:
      type: object
      properties:
        id:
          type: string
          format: uuid
        parent_page_id:
          type: string
          format: uuid
          nullable: true
        title:
          type: string
        level:
          type: integer
          minimum: 1
          description: '`1` para páginas raiz, `2` para filhas e assim por diante.'
        content_format:
          type: string
          enum:
            - MARKDOWN
            - HTML
        content_markdown:
          type: string
          nullable: true
          description: Conteúdo em Markdown, preenchido quando `content_format = MARKDOWN`.
        plain_text:
          type: string
          nullable: true
          description: Texto puro, preenchido quando `content_format = HTML`.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: >-
        Chave de integração com prefixo wegly_, enviada em Authorization: Bearer
        <chave>. Não é JWT. A chave deve estar ativa, não excluída e dentro da
        validade. Com allowed_domain, Origin (ou Referer na ausência de Origin)
        precisa informar o hostname permitido. A empresa e as permissões são
        obtidas pela chave.

````

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