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

# Criação de link público de satisfação

> Cria um link público tokenizado para resposta de um formulário de satisfação. O endpoint usa a empresa da chave de integração, exige permissão `crm/satisfaction.links.create`, resolve o usuário ator como o criador da chave e reaproveita as mesmas validações internas de formulário, pessoa, oportunidade, entrega, expiração e limite de uso.




## OpenAPI

````yaml /openapi.json post /integrations/external/satisfaction/forms/{id}/share-links
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 de arquivos públicos de integração vinculados diretamente a leads
      ou oportunidades.
  - 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 ou organizações.
  - 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.
  - 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/satisfaction/forms/{id}/share-links:
    post:
      tags:
        - Satisfação
      summary: Criação de link público de satisfação
      description: >
        Cria um link público tokenizado para resposta de um formulário de
        satisfação. O endpoint usa a empresa da chave de integração, exige
        permissão `crm/satisfaction.links.create`, resolve o usuário ator como o
        criador da chave e reaproveita as mesmas validações internas de
        formulário, pessoa, oportunidade, entrega, expiração e limite de uso.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID do formulário de satisfação que receberá o link público.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateExternalSatisfactionShareLink'
            examples:
              linkParaOportunidade:
                summary: Link vinculado a uma oportunidade
                value:
                  crm_person_id: 9ad35656-fbd1-4c7f-819c-a9cf2db0cc75
                  crm_deal_id: 5122f05d-842e-4e50-a79d-cf750f18e4ab
                  expires_at: '2026-05-30T23:59:59.000Z'
                  max_uses: 1
              linkParaEntrega:
                summary: Link vinculado a uma entrega
                value:
                  crm_person_id: 9ad35656-fbd1-4c7f-819c-a9cf2db0cc75
                  crm_delivery_id: 3b67628a-2b38-430e-bb86-ccdf1c985b36
                  max_uses: 1
      responses:
        '201':
          description: Link público criado com sucesso.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalSatisfactionShareLinkResponse'
        '400':
          description: >-
            Validação de dados falhou, `crm_deal_id` e `crm_delivery_id` foram
            enviados juntos ou `max_uses` está fora do intervalo permitido.
        '401':
          description: Token de integração ausente ou inválido.
        '403':
          description: >-
            Permissão `crm/satisfaction.links.create` ausente ou domínio de
            origem não autorizado na chave.
        '404':
          description: >-
            Formulário, pessoa, oportunidade ou entrega não encontrados no
            escopo da empresa da chave.
components:
  schemas:
    CreateExternalSatisfactionShareLink:
      type: object
      required:
        - crm_person_id
      properties:
        crm_person_id:
          type: string
          format: uuid
          description: UUID da pessoa que responderá o formulário.
        crm_deal_id:
          type: string
          format: uuid
          description: >-
            UUID da oportunidade vinculada ao link. Não pode ser enviado junto
            de `crm_delivery_id`.
        crm_delivery_id:
          type: string
          format: uuid
          description: >-
            UUID da entrega vinculada ao link. Não pode ser enviado junto de
            `crm_deal_id`.
        expires_at:
          type: string
          format: date-time
          description: >-
            Data e hora de expiração do link. Quando omitido, o link não expira
            por data.
        max_uses:
          type: integer
          minimum: 1
          maximum: 1000
          description: >-
            Quantidade máxima de submissões públicas permitidas para o link.
            Quando omitido, não há limite explícito.
      additionalProperties: false
    ExternalSatisfactionShareLinkResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: UUID do link público criado.
        token:
          type: string
          format: uuid
          description: Token usado na rota pública do formulário.
        expires_at:
          type: string
          format: date-time
          nullable: true
          description: Data de expiração configurada para o link, quando houver.
        max_uses:
          type: integer
          nullable: true
          description: Limite de usos configurado para o link, quando houver.
        url:
          type: string
          description: Caminho público da API mantido por compatibilidade.
          example: /crm/satisfaction/public/forms/8dd8779b-a2c1-4d61-92b1-b5d964e2a466
        form_url:
          type: string
          format: uri
          description: URL final do formulário no front-end para o respondente avaliar.
          example: https://app.wegly.com.br/forms/8dd8779b-a2c1-4d61-92b1-b5d964e2a466
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Utilize o token de integração no header `Authorization: Bearer {token}`.
        O domínio de origem (Origin/Referer) deve respeitar `allowed_domain`,
        quando configurado na chave.

````