---
openapi: 3.0.0
info:
  title: Neppo API
  version: 0.0.2
  description: "Bem-vindo à API Neppo, uma poderosa plataforma digital multicanal
    que oferece suporte a uma variedade de recursos para aprimorar a comunicação empresarial
    e impulsiona a comunicação com eficiência e personalização. \nNossas APIs foram
    projetadas para proporcionar uma experiência de comunicação completa, integrando
    diversos canais de comunicação, incluindo WhatsApp, Email, Voz, entre outros,
    e permitindo interações eficientes e personalizadas.\n\nCom a Neppo API, sua empresa
    pode:\n\n- Centralizar a comunicação com clientes;\n\n- Personalizar mensagens
    e fluxos;\n\n- Automatizar atendimentos em múltiplos canais.\n\nPara começar a
    utilizar a Neppo API:\n\n- Obtenha suas credenciais: Solicite seu API Key com
    o time comercial Neppo;\n\n- Consulte os endpoints disponíveis: Veja a documentação
    detalhada de cada api disponível abaixo, caso tenha alguma dúvida entre em contato
    com nosso time de suporte;\n\n- Integre em sua aplicação: explore os endpoints
    e aproveite para integrar nossa tecnologia em sua aplicação para transformar a
    maneira como sua empresa se comunica.\n\n\n---\n\n## Visão geral da API\n\nA plataforma
    expõe famílias de APIs organizadas por domínio:\n\n| Família | Prefixo base |
    Descrição |\n|---------|--------------|-----------|\n| **Omnichannel** | `/chatapi/1.0/api`
    | Gestão das entidades centrais do atendimento (agentes, atributos, bots, classificações,
    grupos de atendimento, sessões, comentários) e envio ativo de mensagens. |\n|
    **IAN (Inteligência Artificial Neppo)** | `/transformersapi/1.0`, `/voicemodelapi/1.0`
    | Recursos de IA: NER, NLP, busca semântica, base de conhecimento, sumarização
    de atendimentos e conversão de voz (STT/TTS). |\n| **Ticket** | `/ticketapi/1.0/api/v1`
    | Gestão de tickets de suporte: criação, consulta, atualização, anexos, comentários
    e vínculos. |\n| **Webhook** | `/chatapi/1.0/api/.../hook` | Integração de eventos
    (mensagens, status, sessões, voz, bot, entidades) com sistemas externos. |\n\n##
    Canais suportados\n\nO envio ativo e o atendimento abrangem múltiplos canais:
    **WhatsApp** (oficial e não oficial), **E-mail**, **SMS**, **Telegram**, **Facebook**
    e **Voz**.\n\n## Autenticação\n\nTodas as requisições exigem o header de autenticação:\n\n```\nAuthorization:
    Bearer {SEU_TOKEN_COM_A_NEPPO}\n```\n\nSolicite seu token ao time comercial Neppo.\n\n##
    Consultas (filtros, ordenação e paginação)\n\nAs APIs de consulta da família Omnichannel
    aceitam um corpo com um array `conditions` (semelhante a uma cláusula SQL), além
    de `sort`/`sortColumn`/`direction` para ordenação e `page`/`size` para paginação.
    Consulte a seção **Padrão de Requests** para a estrutura completa e a **Tabela
    de Operadores**.\n\n## Tratamento de erros\n\nRespostas seguem os códigos HTTP
    padrão (veja a **Tabela de Códigos de Resposta**). Em APIs que retornam um envelope
    com `status`, verifique se o valor é `\"ERROR\"` e, em caso afirmativo, consulte
    `message` e `errorCode`."
  contact:
    name: Suporte Neppo
    url: https://www.neppo.com.br
  license:
    name: Proprietária — Neppo
    url: https://www.neppo.com.br
paths:
  "/transformersapi/1.0/ner":
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '403':
          description: Acesso negado. O token informado não possui permissão para
            este recurso.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Forbidden
              examples:
                response:
                  value:
                    status: Forbidden
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Reconhecimento de Entidades Nomeadas
      operationId: reconhecimentoDeEntidadesNomeadas
      description: O NER, Named Entity Recognition, é uma subtarefa da extração de
        informações no Processamento de Linguagem Natural (PLN) que identifica entidades
        nomeadas mencionadas em texto estruturado/não estruturado, fazendo o processamento
        deste texto para realizar a classificação/reconhecimento destas entidades
        em categorias predefinidas, como nomes de pessoas (PER), organizações (ORG),
        locais (LOC), entidades geopolíticas (GPE), veículos (VEH), códigos médicos,
        expressões temporais, quantidades, valores monetários, porcentagens, etc.
      tags:
      - API's IAN
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                sentence:
                  type: string
              example:
                sentence: Nosso primo Paulo está morando em Guara que fica no estado
                  de São Paulo proximo a cidade de Campinas
      security:
      - bearerAuth: []
  "/transformersapi/1.0/nlp":
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  tool_calls: {}
                  used_tokens:
                    type: number
                example:
                  message: |-
                    The image shows a table listing various products with their respective product reference numbers, quantities, and descriptions. Here are the details from the table:

                    1. **Product Reference:** 105770
                       - **Quantity:** 1,000
                       - **Description:** SENSOR DE PRESENÇA + FOTOCELULA QUALITRONIX COM SOQUETE

                    2. **Product Reference:** 111561
                       - **Quantity:** 2,000
                       - **Description:** ALICATE CORTE DIAGONAL EDA 6" LARANJA/PRETO - 8VN

                    3. **Product Reference:** 8249
                       - **Quantity:** 1,000
                       - **Description:** TRENA EDA EMBORRACHADA LARANJA 10x25mm - OBE

                    4. **Product Reference:** 103052
                       - **Quantity:** 2,000
                       - **Description:** AROMATIZANTE GITANES TECHNO 80ml

                    5. **Product Reference:** 103053
                       - **Quantity:** 2,000
                       - **Description:** AROMATIZANTE GITANES CARRO NOVO 80ml

                    6. **Product Reference
                  tool_calls:
                  used_tokens: 688
              examples:
                response:
                  value:
                    message: |-
                      The image shows a table listing various products with their respective product reference numbers, quantities, and descriptions. Here are the details from the table:

                      1. **Product Reference:** 105770
                         - **Quantity:** 1,000
                         - **Description:** SENSOR DE PRESENÇA + FOTOCELULA QUALITRONIX COM SOQUETE

                      2. **Product Reference:** 111561
                         - **Quantity:** 2,000
                         - **Description:** ALICATE CORTE DIAGONAL EDA 6" LARANJA/PRETO - 8VN

                      3. **Product Reference:** 8249
                         - **Quantity:** 1,000
                         - **Description:** TRENA EDA EMBORRACHADA LARANJA 10x25mm - OBE

                      4. **Product Reference:** 103052
                         - **Quantity:** 2,000
                         - **Description:** AROMATIZANTE GITANES TECHNO 80ml

                      5. **Product Reference:** 103053
                         - **Quantity:** 2,000
                         - **Description:** AROMATIZANTE GITANES CARRO NOVO 80ml

                      6. **Product Reference
                    tool_calls:
                    used_tokens: 688
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '403':
          description: Acesso negado. O token informado não possui permissão para
            este recurso.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Forbidden
              examples:
                response:
                  value:
                    status: Forbidden
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Exemplo de NLP usando modelo com Imagem
      operationId: exemploDeNlpUsandoModeloComImagem
      description: "Para este tipo de requisição pode-se trocar o modelo e provider
        conforme sua necessidade. \nNo exemplo anterior, no item: 'Exemplo de NLP
        usando OpenAI com Function' há um exemplo de uso no meio de um contexto de
        conversa.\nExemplo de uso para descrever o que há na imagem:"
      tags:
      - API's IAN
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                messages:
                  type: array
                  items:
                    type: object
                    properties:
                      role:
                        type: string
                      content:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                            image_url:
                              type: object
                              properties:
                                url:
                                  type: string
                max_len:
                  type: number
                temperature:
                  type: number
                provider:
                  type: string
                token:
                  type: array
                  items:
                    type: object
                    properties:
                      access_key:
                        type: string
                      secret_key:
                        type: string
                      token:
                        type: string
                model:
                  type: string
              example:
                messages:
                - role: user
                  content:
                  - type: image_url
                    image_url:
                      url: https://files.neppo.com.br/storage/file/comercial/2025/05/07/188e35b2-48c9-4db5-bcff-efa95458f01b.jpg
                max_len: 256
                temperature: 0
                provider: OpenAI
                token:
                - access_key: ''
                  secret_key: ''
                  token: "{YOUR_PROVIDER_TOKEN_HERE}"
                model: gpt-4-turbo
      security:
      - bearerAuth: []
  "/transformersapi/1.0/models_by_providers":
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  Results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        typeModality:
                          type: string
                        flgFunction:
                          type: boolean
                        providerName:
                          type: string
                        metadata: {}
                        depreciatedDate: {}
                        active:
                          type: boolean
                      required:
                      - id
                      - name
                      - typeModality
                      - flgFunction
                      - providerName
                      - metadata
                      - depreciatedDate
                      - active
                example:
                  Results:
                  - id: us.meta.llama3-3-70b-instruct-v1:0
                    name: Llama 3.3 70B Instruct
                    typeModality: Text
                    flgFunction: true
                    providerName: AWS
                    metadata:
                    depreciatedDate:
                    active: true
                  - id: us.meta.llama4-maverick-17b-instruct-v1:0
                    name: Llama 4 Maverick 17B Instruct
                    typeModality: Text
                    flgFunction: false
                    providerName: AWS
                    metadata:
                    depreciatedDate:
                    active: true
                  - id: mistral.mixtral-8x7b-instruct-v0:1
                    name: Mixtral 8x7B Instruct
                    typeModality: Text
                    flgFunction: false
                    providerName: AWS
                    metadata:
                    depreciatedDate:
                    active: true
                  - id: mistral.mistral-7b-instruct-v0:2
                    name: Mistral 7B Instruct
                    typeModality: Text
                    flgFunction: true
                    providerName: AWS
                    metadata:
                    depreciatedDate:
                    active: true
                  - id: deepseek.r1-v1:0
                    name: DeepSeek-R1
                    typeModality: Text
                    flgFunction: true
                    providerName: AWS
                    metadata:
                    depreciatedDate:
                    active: true
                  - id: mistral.mistral-large-2402-v1:0
                    name: Mistral Large (24.02)
                    typeModality: Text
                    flgFunction: true
                    providerName: AWS
                    metadata:
                    depreciatedDate:
                    active: true
              examples:
                response:
                  value:
                    Results:
                    - id: us.meta.llama3-3-70b-instruct-v1:0
                      name: Llama 3.3 70B Instruct
                      typeModality: Text
                      flgFunction: true
                      providerName: AWS
                      metadata:
                      depreciatedDate:
                      active: true
                    - id: us.meta.llama4-maverick-17b-instruct-v1:0
                      name: Llama 4 Maverick 17B Instruct
                      typeModality: Text
                      flgFunction: false
                      providerName: AWS
                      metadata:
                      depreciatedDate:
                      active: true
                    - id: mistral.mixtral-8x7b-instruct-v0:1
                      name: Mixtral 8x7B Instruct
                      typeModality: Text
                      flgFunction: false
                      providerName: AWS
                      metadata:
                      depreciatedDate:
                      active: true
                    - id: mistral.mistral-7b-instruct-v0:2
                      name: Mistral 7B Instruct
                      typeModality: Text
                      flgFunction: true
                      providerName: AWS
                      metadata:
                      depreciatedDate:
                      active: true
                    - id: deepseek.r1-v1:0
                      name: DeepSeek-R1
                      typeModality: Text
                      flgFunction: true
                      providerName: AWS
                      metadata:
                      depreciatedDate:
                      active: true
                    - id: mistral.mistral-large-2402-v1:0
                      name: Mistral Large (24.02)
                      typeModality: Text
                      flgFunction: true
                      providerName: AWS
                      metadata:
                      depreciatedDate:
                      active: true
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '403':
          description: Acesso negado. O token informado não possui permissão para
            este recurso.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Forbidden
              examples:
                response:
                  value:
                    status: Forbidden
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Listar os Modelos Por Provider
      operationId: listaOsModelosPorProvider
      description: |-
        Lista os modelos conforme provider informado ou também informando o tipo de modalidade do modelo. Exemplo: "Texto", "Text-to-Speech", "Speech-to-Text".
        Os providers podem ser por exemplo: IAN, OpenIA, AWS, ElevenLabs, dentre outros.
      tags:
      - API's IAN
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                provider:
                  type: string
                typeModality:
                  type: string
              example:
                provider: IAN
                typeModality: Text
      security:
      - bearerAuth: []
  "/transformersapi/1.0/questions":
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  answer:
                    type: array
                    items:
                      type: object
                      properties:
                        text:
                          type: string
                        score:
                          type: number
                      required:
                      - text
                      - score
                example:
                  answer:
                  - text: Qual o prazo para solicitação de devolução ou cancelamento?
                      Todo cancelamento/devolução deve ser comunicado ao SAC em até
                      7 dias corridos. Precisa de uma ajuda adicional? Entre em contato
                      clicando aqui , ou abra um chamado conosco - abrir novo chamado
                      .
                    score: 0.8016305
                  - text: Se você desistir da compra. Pode ficar tranquilo! Entre
                      em contato com nosso Whatsapp e selecione a opção cancelamento
                      que no prazo de 48 horas entraremso em contato com você.
                    score: 0.7666578
              examples:
                response:
                  value:
                    answer:
                    - text: Qual o prazo para solicitação de devolução ou cancelamento?
                        Todo cancelamento/devolução deve ser comunicado ao SAC em
                        até 7 dias corridos. Precisa de uma ajuda adicional? Entre
                        em contato clicando aqui , ou abra um chamado conosco - abrir
                        novo chamado .
                      score: 0.8016305
                    - text: Se você desistir da compra. Pode ficar tranquilo! Entre
                        em contato com nosso Whatsapp e selecione a opção cancelamento
                        que no prazo de 48 horas entraremso em contato com você.
                      score: 0.7666578
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '403':
          description: Acesso negado. O token informado não possui permissão para
            este recurso.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Forbidden
              examples:
                response:
                  value:
                    status: Forbidden
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Buscar Semântica por Similaridade
      operationId: buscaSemanticaPorSimilaridade
      description: "Esta api fornece respostas para as perguntas que forem passadas
        com base no contexto informado no arquivo da base de conhecimento importado
        na api /upload_files.\nEm um contexto geral, ela transforma a pergunta do
        usuário em um vetor embedding, atraves de um modelo que é executado internamente
        na arquitetura Neppo e retorna \nrespostas de acordo com vetores similares
        encontrados na base que foi inputada previamente."
      tags:
      - API's IAN
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                index:
                  type: string
                question:
                  type: string
                size:
                  type: number
              example:
                index: your_index_embeddings_here
                question: Qual o prazo para solicitação de cancelamento?
                size: 5
      security:
      - bearerAuth: []
  "/transformersapi/1.0/upload_files":
    post:
      responses:
        '200':
          description: Arquivo recebido e processamento iniciado com sucesso
          content:
            application/json:
              example:
                message: O arquivo está sendo processado e indexado através do processo
                  de indexação acionada.
        '401':
          description: Não autorizado — token ausente ou inválido
          content:
            application/json:
              example:
                status: Unauthorized
        '403':
          description: Acesso proibido — sem permissão para este recurso
          content:
            application/json:
              example:
                status: Forbidden
        '404':
          description: Recurso não encontrado
          content:
            application/json:
              example:
                status: Not Found
      summary: Fazer upload de arquivos para a Base de Conhecimento
      operationId: fazerUploadDeArquivosParaABaseDeConhecimento
      description: |-
        Realiza o upload de um arquivo para a **Base de Conhecimento** da plataforma IAN, como parte do fluxo de **RAG (Retrieval-Augmented Generation)**.

        O endpoint executa as seguintes etapas:
        1. Lê o arquivo a partir de uma URL pública
        2. Armazena os dados na arquitetura interna
        3. Processa e indexa os dados para recuperação eficiente via API `/questions`

        Após o envio, os documentos ficam disponíveis para pipelines de IA que combinam **recuperação de contexto + geração de texto**.

        **Tipos de arquivo suportados:** `.xls`, `.xlsx`, `.ods`, `.pdf`, `.csv`, `.txt`, `.tsv`, `.docx`, `.xml`, `.json`

        **Parâmetros:**

        | Parâmetro | Descrição | Obrigatório |
        |---|---|---|
        | `url_file` | URL pública do arquivo (não pode ser link do Google Drive) | ✅ Sim |
        | `index_elastic` | Nome da base de conhecimento. Composto por: `{hostname}_{identificador}_data_pt`. Se já existir uma base com o mesmo nome, ela será sobrescrita | ✅ Sim |
        | `separator_doc_elastic` | Separador de linhas usado no arquivo para identificar documentos | ❌ Não |
        | `id_doc_elastic` | Nome da coluna que identifica cada documento como único | ❌ Não |

        Consulte as abas de exemplo ao lado para ver o payload de cada tipo de arquivo.
      tags:
      - API's IAN
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - url_file
              - index_elastic
              properties:
                url_file:
                  type: string
                  description: URL pública do arquivo a ser processado. Não pode ser
                    link do Google Drive.
                index_elastic:
                  type: string
                  description: 'Nome da base de conhecimento. Formato: {hostname}_{identificador}_data_pt.
                    Se já existir uma base com o mesmo nome, será sobrescrita.'
                separator_doc_elastic:
                  type: string
                  description: Separador de linhas usado no arquivo para identificar
                    documentos. Recomendado para CSV, DOCX e PDF.
                id_doc_elastic:
                  type: string
                  description: Nome da coluna que identifica cada documento como único.
                    Recomendado para JSON e XML.
            example:
              url_file: https://arquivos.clienteXPTO.com.br/base-conhecimento.pdf
              index_elastic: clienteXPTO_pdf_data_pt
              separator_doc_elastic: "\n \n"
      security:
      - bearerAuth: []
      x-code-samples:
      - lang: JSON
        source: |-
          {
            "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.json",
            "index_elastic": "clienteXPTO_json_data_pt",
            "id_doc_elastic": "ListingID",
            "separator_doc_elastic": "Listing"
          }
      - lang: XML
        source: |-
          {
            "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.xml",
            "index_elastic": "clienteXPTO_xml_data_pt",
            "id_doc_elastic": "Listing"
          }
      - lang: XLSX
        source: |-
          {
            "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.xlsx",
            "index_elastic": "clienteXPTO_xlsx_data_pt"
          }
      - lang: CSV
        source: |-
          {
            "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.csv",
            "index_elastic": "clienteXPTO_csv_data_pt",
            "separator_doc_elastic": "|"
          }
      - lang: DOCX
        source: |-
          {
            "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.docx",
            "index_elastic": "clienteXPTO_docx_data_pt",
            "separator_doc_elastic": "\n \n"
          }
      - lang: PDF
        source: |-
          {
            "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.pdf",
            "index_elastic": "clienteXPTO_pdf_data_pt",
            "separator_doc_elastic": "\n \n"
          }
      - lang: TXT / TSV
        source: |-
          {
            "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.txt",
            "index_elastic": "clienteXPTO_txt_data_pt",
            "separator_doc_elastic": "\n"
          }
  "/voicemodelapi/1.0/stt":
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  recognized_text:
                    type: string
                example:
                  recognized_text: Olá, seja bem-vindo ao Neppo Omnichannel, uma poderosa
                    plataforma digital multicanal que oferece suporte a uma variedade
                    de recursos para aprimorar a comunicação empresarial.
              examples:
                response:
                  value:
                    recognized_text: Olá, seja bem-vindo ao Neppo Omnichannel, uma
                      poderosa plataforma digital multicanal que oferece suporte a
                      uma variedade de recursos para aprimorar a comunicação empresarial.
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '403':
          description: Acesso negado. O token informado não possui permissão para
            este recurso.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Forbidden
              examples:
                response:
                  value:
                    status: Forbidden
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Converter um audio para texto com provider OpenAI
      operationId: converteUmAudioParaTextoComProviderOpenai
      description: 'Esta é uma api para usar o provider OpenAI, para fazer a chamada
        utilize o modelo: whisper-1.'
      tags:
      - API's IAN
      parameters:
      - name: accept
        in: header
        description: e.g. application/json
        required: false
        example: application/json
        schema:
          type: string
      security:
      - bearerAuth: []
  "/voicemodelapi/1.0/tts":
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  audio:
                    type: string
                example:
                  audio: "<base64_encoded_audio>"
              examples:
                response:
                  value:
                    audio: "<base64_encoded_audio>"
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '403':
          description: Acesso negado. O token informado não possui permissão para
            este recurso.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Forbidden
              examples:
                response:
                  value:
                    status: Forbidden
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Converter texto para audio usando o provider OpenAI
      operationId: converteTextoParaAudioUsandoOProviderOpenai
      description: |-
        Para o provider 'OpenAI' há disponiveis as seguintes opções de modelos encontradas: gpt-4o-mini-tts, tts-1 e tts-1-hd. E as opções de voz serão: alloy, ash, ballad, coral, echo, fable, nova, onyx, sage e shimmer.
        Caso queira informações sobre este provider as mesmas podem ser encontradas no site: https://platform.openai.com/docs/guides/text-to-speech.
        Segue um exemplo de utilização com modelo: tts-1 com a voz: 'alloy'.
      tags:
      - API's IAN
      security:
      - bearerAuth: []
  "/transformersapi/1.0/index_search":
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  answer:
                    type: array
                    items:
                      type: object
                      properties:
                        text:
                          type: string
                        score:
                          type: number
                  totalElements:
                    type: number
                  hasMorePages:
                    type: boolean
                example:
                  answer:
                  - text: Resultado encontrado no índice
                    score: 87.43
                  totalElements: 10
                  hasMorePages: true
              examples:
                response:
                  value:
                    answer:
                    - text: Resultado encontrado no índice
                      score: 87.43
                    totalElements: 10
                    hasMorePages: true
        '400':
          description: Requisição inválida. Verifique a sintaxe do corpo e os campos
            obrigatórios.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                example:
                  detail: Requisição inválida ou índice não encontrado.
              examples:
                response:
                  value:
                    detail: Requisição inválida ou índice não encontrado.
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '500':
          description: Erro interno no servidor. Tente novamente mais tarde ou contate
            o suporte Neppo.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                example:
                  detail: Erro interno ou timeout.
              examples:
                response:
                  value:
                    detail: Erro interno ou timeout.
      summary: Buscar no índice
      operationId: buscarNoIndice
      description: |-
        | Campo | Obrigatório | Descrição |
        |-------|-------------|-----------|
        | index | Sim | Nome do base de dados |
        | item | Sim | Texto a ser pesquisado |
        | size | Não | Itens por página (mín: 1, padrão: 5) |
        | page | Não | Número da página (mín: 1, padrão: 1) |
        | client_hostname | Não | Hostname do ambiente do cliente |
        | client_username | Não | Usuário que está requisitando a API |
      tags:
      - API's IAN
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                index:
                  type: string
                item:
                  type: string
                size:
                  type: number
                page:
                  type: number
                client_hostname:
                  type: string
                client_username:
                  type: string
              example:
                index: meu_indice
                item: texto para busca
                size: 5
                page: 1
                client_hostname: meu-ambiente.neppo.com.br
                client_username: usuario
      security:
      - bearerAuth: []
  "/transformersapi/1.0/customer-summary/{index_name}/{document}":
    get:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        sessionId:
                          type: string
                        userName:
                          type: string
                        summarization:
                          type: string
                        lastUpdate:
                          type: string
                  page:
                    type: number
                  total_pages:
                    type: number
                  total_items:
                    type: number
                example:
                  results:
                  - sessionId: WA00000070017
                    userName: cliente@email.com
                    summarization: O cliente entrou em contato para solicitar suporte
                      técnico. O problema foi resolvido pelo agente.
                    lastUpdate: '2025-01-15T10:30:00Z'
                  page: 1
                  total_pages: 5
                  total_items: 45
              examples:
                response:
                  value:
                    results:
                    - sessionId: WA00000070017
                      userName: cliente@email.com
                      summarization: O cliente entrou em contato para solicitar suporte
                        técnico. O problema foi resolvido pelo agente.
                      lastUpdate: '2025-01-15T10:30:00Z'
                    page: 1
                    total_pages: 5
                    total_items: 45
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Buscar resumo de atendimentos
      operationId: buscarResumoDeAtendimentos
      description: Buscar resumo de atendimentos.
      tags:
      - API's IAN
      parameters:
      - name: index_name
        in: path
        description: Nome do índice Elasticsearch
        required: true
        schema:
          type: string
      - name: document
        in: path
        description: Documento do cliente (CPF, telefone ou e-mail)
        required: true
        schema:
          type: string
      - name: page
        in: query
        description: 'Número da página, começa em 1 (padrão: 1)'
        required: false
        schema:
          type: integer
      - name: size
        in: query
        description: 'Itens por página, mín: 1 (padrão: 1)'
        required: false
        schema:
          type: integer
      - name: finished_period
        in: query
        description: 'Data final do período (ex: `2025-01-31`). Padrão: hoje'
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: true
      security:
      - bearerAuth: []
  "/transformersapi/1.0/list_knowledge_customer_index/{client_hostname}":
    get:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  usuario:
                    type: string
                  hostname:
                    type: string
                  indices:
                    type: array
                    items:
                      type: string
                example:
                  status: sucesso
                  usuario: usuario@exemplo.com
                  hostname: clienteXPTO
                  indices:
                  - clienteXPTO_faq_data_embeddings_pt
                  - clienteXPTO_produtos_data_embeddings_pt
              examples:
                response:
                  value:
                    status: sucesso
                    usuario: usuario@exemplo.com
                    hostname: clienteXPTO
                    indices:
                    - clienteXPTO_faq_data_embeddings_pt
                    - clienteXPTO_produtos_data_embeddings_pt
        '400':
          description: Requisição inválida. Verifique a sintaxe do corpo e os campos
            obrigatórios.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                example:
                  detail: Parâmetros inválidos.
              examples:
                response:
                  value:
                    detail: Parâmetros inválidos.
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                example:
                  detail: Nenhum índice encontrado.
              examples:
                response:
                  value:
                    detail: Nenhum índice encontrado.
        '500':
          description: Erro interno no servidor. Tente novamente mais tarde ou contate
            o suporte Neppo.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                example:
                  detail: Erro interno do servidor.
              examples:
                response:
                  value:
                    detail: Erro interno do servidor.
      summary: Listar índices do cliente
      operationId: listarIndicesDoCliente
      description: Listar índices do cliente.
      tags:
      - API's IAN
      parameters:
      - name: client_hostname
        in: path
        description: Hostname do ambiente a ser consultado
        required: true
        schema:
          type: string
      - name: client_username
        in: query
        description: Usuário que está requisitando a API
        required: false
        schema:
          type: string
      security:
      - bearerAuth: []
  "/transformersapi/1.0/dag_status/{dag_id}":
    get:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  totalElements:
                    type: number
                  page:
                    type: number
                  size:
                    type: number
                  hasMorePages:
                    type: boolean
                  runs:
                    type: array
                    items:
                      type: object
                      properties:
                        dag_id:
                          type: string
                        run_id:
                          type: string
                        task_id:
                          type: string
                        index_elastic:
                          type: string
                        status:
                          type: string
                        start_time:
                          type: string
                        end_time:
                          type: string
                        duration_seconds:
                          type: number
                        prompt_token_count:
                          type: number
                        generation_token_count:
                          type: number
                        log_description:
                          type: string
                example:
                  totalElements: 3
                  page: 1
                  size: 10
                  hasMorePages: false
                  runs:
                  - dag_id: process_knowledge_base
                    run_id: manual__2025-01-15T10:30:00+00:00
                    task_id: index_documents
                    index_elastic: base_conhecimento_v1
                    status: success
                    start_time: '2025-01-15T10:30:00Z'
                    end_time: '2025-01-15T10:32:45Z'
                    duration_seconds: 165
                    prompt_token_count: 1024
                    generation_token_count: 512
                    log_description: Indexação concluída com sucesso.
              examples:
                response:
                  value:
                    totalElements: 3
                    page: 1
                    size: 10
                    hasMorePages: false
                    runs:
                    - dag_id: process_knowledge_base
                      run_id: manual__2025-01-15T10:30:00+00:00
                      task_id: index_documents
                      index_elastic: base_conhecimento_v1
                      status: success
                      start_time: '2025-01-15T10:30:00Z'
                      end_time: '2025-01-15T10:32:45Z'
                      duration_seconds: 165
                      prompt_token_count: 1024
                      generation_token_count: 512
                      log_description: Indexação concluída com sucesso.
        '400':
          description: Requisição inválida. Verifique a sintaxe do corpo e os campos
            obrigatórios.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                example:
                  detail: É necessário informar 'run_id' ou 'index_elastic'.
              examples:
                response:
                  value:
                    detail: É necessário informar 'run_id' ou 'index_elastic'.
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '406':
          description: Formato de requisição não aceito. Verifique os cabeçalhos `Content-Type`/`Accept`.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                example:
                  detail: Token inválido.
              examples:
                response:
                  value:
                    detail: Token inválido.
        '500':
          description: Erro interno no servidor. Tente novamente mais tarde ou contate
            o suporte Neppo.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                example:
                  detail: Erro interno ao buscar status do processo de indexação.
              examples:
                response:
                  value:
                    detail: Erro interno ao buscar status do processo de indexação.
      summary: Consultar status do processamento
      operationId: consultarStatusDoProcessamento
      description: Consultar status do processamento.
      tags:
      - API's IAN
      parameters:
      - name: dag_id
        in: path
        description: Identificador do processo de indexação
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string
        description: |-
          Identificador único da execução

          - Obrigatório quando: `index_elastic` não for informado
        x-s2o-overloaded: true
      security:
      - bearerAuth: []
      x-s2o-warning: Operation Consultar status do processamento has multiple requestBodies
  "/transformersapi/1.0/text_summarization/{hostname}/{document}":
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  provider:
                    type: string
                  model:
                    type: string
                  summary:
                    type: string
                  token_usage:
                    type: object
                    properties:
                      prompt_tokens:
                        type: number
                      completion_tokens:
                        type: number
                      total_tokens:
                        type: number
                example:
                  provider: IAN
                  model: neppo-model
                  summary: O cliente entrou em contato 3 vezes no último mês. Na primeira
                    ocorrência reportou problemas de acesso; o agente redefiniu a
                    senha com sucesso. Na segunda, solicitou informações sobre faturamento.
                    Na terceira, relatou lentidão no sistema que foi escalada para
                    o time técnico.
                  token_usage:
                    prompt_tokens: 1024
                    completion_tokens: 256
                    total_tokens: 1280
              examples:
                response:
                  value:
                    provider: IAN
                    model: neppo-model
                    summary: O cliente entrou em contato 3 vezes no último mês. Na
                      primeira ocorrência reportou problemas de acesso; o agente redefiniu
                      a senha com sucesso. Na segunda, solicitou informações sobre
                      faturamento. Na terceira, relatou lentidão no sistema que foi
                      escalada para o time técnico.
                    token_usage:
                      prompt_tokens: 1024
                      completion_tokens: 256
                      total_tokens: 1280
        '400':
          description: Requisição inválida. Verifique a sintaxe do corpo e os campos
            obrigatórios.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                example:
                  detail: Requisição inválida.
              examples:
                response:
                  value:
                    detail: Requisição inválida.
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '406':
          description: Formato de requisição não aceito. Verifique os cabeçalhos `Content-Type`/`Accept`.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                example:
                  detail: Provider ou modelo inválido.
              examples:
                response:
                  value:
                    detail: Provider ou modelo inválido.
        '500':
          description: Erro interno no servidor. Tente novamente mais tarde ou contate
            o suporte Neppo.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                example:
                  detail: Erro ao gerar sumarização.
              examples:
                response:
                  value:
                    detail: Erro ao gerar sumarização.
      summary: Gerar sumarização de atendimentos
      operationId: gerarSumarizacaoDeAtendimentos
      description: |-
        | Campo | Obrigatório | Descrição |
        |-------|-------------|-----------|
        | provider | Sim | Provider de LLM: `OpenAI`, `IAN`, `AWS` |
        | model | Sim | Identificador do modelo a ser utilizado |
        | token | Sim | Objeto com `access_key`, `secret_key` e `token` |
        | query | Não | Filtros da busca histórica. Aceita os seguintes formatos:<br><br><ul><li><strong>String:</strong> Busca por um termo exato (ex: <code>"CTE = 30237"</code>).</li><li><strong>Array de Strings:</strong> Busca por múltiplos termos simultâneos (ex: <code>["CTE = 30237", "CTE = 30238"]</code>).</li><li><strong>Objeto:</strong> Filtros estruturados <code>start_period</code>, <code>finished_period</code> e <code>size</code>.<br><br>Os campos de data devem seguir o padrão <code>YYYY-MM-DD</code>, por exemplo:<br><code>"start_period": "2026-04-01"</code><br><code>"finished_period": "2026-05-01"</code><br><br>Para o campo <code>size</code>, o limite máximo é <strong>1000</strong> e o padrão é <strong>100</strong>.</li></ul> |
        | prompt | Não | Prompt para orientar a sumarização. Se omitido, usa prompt padrão |
        | include_user_chat_history | Não | `true` usa histórico consolidado; `false` busca histórico bruto no banco (padrão: `true`) |
      tags:
      - API's IAN
      parameters:
      - name: hostname
        in: path
        description: Hostname do ambiente do cliente
        required: true
        schema:
          type: string
      - name: document
        in: path
        description: Documento do cliente (CPF, telefone ou e-mail)
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                provider:
                  type: string
                model:
                  type: string
                token:
                  type: array
                  items:
                    type: object
                    properties:
                      access_key:
                        type: string
                      secret_key:
                        type: string
                      token:
                        type: string
                prompt:
                  type: string
                include_user_chat_history:
                  type: boolean
                query:
                  type: object
                  properties:
                    start_period:
                      type: string
                    end_period:
                      type: string
                    size:
                      type: number
              example:
                provider: IAN
                model: neppo-model
                token:
                - access_key: SUA_ACCESS_KEY
                  secret_key: SUA_SECRET_KEY
                  token: ''
                prompt: Resuma os principais problemas relatados pelo cliente e como
                  foram resolvidos.
                include_user_chat_history: true
                query:
                  start_period: '2026-04-01'
                  end_period: '2026-05-01'
                  size: 100
      security:
      - bearerAuth: []
  "/chatapi/1.0/api/bot/dialog/hook/{bot_username}":
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: number
                example:
                  id: 825786
              examples:
                response:
                  value:
                    id: 825786
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '403':
          description: Acesso negado. O token informado não possui permissão para
            este recurso.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Forbidden
              examples:
                response:
                  value:
                    status: Forbidden
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Exemplo de chamada do Bot usando parâmetros
      operationId: exemploDeChamadaDoBotUsandoParametros
      description: |-
        Como o nome do bot é criado por padrão utilizando o caracter @ na api subistitua esta caracter pela formatação %40 ao utilizar a api.
        Por exemplo se o nome do bot for: bot@neppo, utilize: bot%40neppo
      tags:
      - API's Webhook
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                args:
                  type: object
                  properties:
                    valor1:
                      type: string
                    valor2:
                      type: string
                    valor3:
                      type: string
                    valor4:
                      type: string
              example:
                args:
                  valor1: 111.222.333-00
                  valor2: 2 - DOIS
                  valor3: 3 - TRÊS
                  valor4: 4 - QUATRO
      security:
      - bearerAuth: []
      parameters:
      - name: bot_username
        in: path
        required: true
        description: Username do bot que receberá a chamada de diálogo (hook).
        schema:
          type: string
  "/ticketapi/1.0/api/v1/tickets":
    get:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      totalElements:
                        type: number
                      totalPages:
                        type: number
                      content:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                            title:
                              type: string
                            description:
                              type: string
                            status:
                              type: string
                            priority:
                              type: string
                            projectId:
                              type: number
                example:
                  status: SUCCESS
                  message: Tickets recuperados com sucesso
                  data:
                    totalElements: 45
                    totalPages: 5
                    content:
                    - id: 101
                      title: Erro no login da plataforma
                      description: Usuário não consegue logar pelo app de iOS.
                      status: OPEN
                      priority: HIGH
                      projectId: 2
              examples:
                response:
                  value:
                    status: SUCCESS
                    message: Tickets recuperados com sucesso
                    data:
                      totalElements: 45
                      totalPages: 5
                      content:
                      - id: 101
                        title: Erro no login da plataforma
                        description: Usuário não consegue logar pelo app de iOS.
                        status: OPEN
                        priority: HIGH
                        projectId: 2
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '403':
          description: Acesso negado. O token informado não possui permissão para
            este recurso.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Forbidden
              examples:
                response:
                  value:
                    status: Forbidden
      summary: Listar tickets
      operationId: listarTickets
      description: Listar tickets.
      tags:
      - API's de Ticket
      parameters:
      - name: page
        in: query
        description: Número da página (inicia em 0)
        required: true
        schema:
          type: integer
      - name: size
        in: query
        description: Quantidade de itens por página
        required: true
        schema:
          type: integer
      - name: status
        in: query
        description: 'Filtro por status (ex: `OPEN`, `CLOSED`)'
        required: false
        schema:
          type: string
      security:
      - bearerAuth: []
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                      title:
                        type: string
                example:
                  status: SUCCESS
                  message: Ticket criado com sucesso
                  data:
                    id: 102
                    title: Ajustar cor do botão principal
              examples:
                response:
                  value:
                    status: SUCCESS
                    message: Ticket criado com sucesso
                    data:
                      id: 102
                      title: Ajustar cor do botão principal
        '400':
          description: Requisição inválida. Verifique a sintaxe do corpo e os campos
            obrigatórios.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Bad Request
              examples:
                response:
                  value:
                    status: Bad Request
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
      summary: Criar um novo ticket
      operationId: criarUmNovoTicket
      description: |-
        Para criar um ticket, envie um JSON com as seguintes propriedades:

        | Campo | Obrigatório | Descrição |
        |-------|-------------|-----------|
        | title | Sim | Título curto do problema |
        | description | Sim | Detalhamento completo |
        | channel | Sim | Origem: Canal configurado |
        | priority | Sim | `BLOCKING`, `CRITICAL`, `HIGH`, `MEDIUM`, `LOW` |
        | projectId | Sim | ID numérico do projeto |
        | clientId | Sim | ID numérico do cliente |
        | responsibleId | Sim | ID do usuário responsável |
      tags:
      - API's de Ticket
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                description:
                  type: string
                channel:
                  type: string
                priority:
                  type: string
                projectId:
                  type: number
                clientId:
                  type: number
                responsibleId:
                  type: number
                tags:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      tenantId:
                        type: number
              example:
                title: Ajustar cor do botão principal
                description: O botão 'Comprar' deve ter a cor verde escuro.
                channel: PORTAL
                priority: MEDIUM
                projectId: 12
                clientId: 543
                responsibleId: 99
                tags:
                - name: frontend
                  tenantId: 1
      security:
      - bearerAuth: []
  "/ticketapi/1.0/api/v1/tickets/{ticketId}":
    put:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  message:
                    type: string
                example:
                  status: SUCCESS
                  message: Ticket atualizado com sucesso
              examples:
                response:
                  value:
                    status: SUCCESS
                    message: Ticket atualizado com sucesso
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Atualizar ticket completo
      operationId: atualizarTicketCompleto
      description: Atualizar ticket completo.
      tags:
      - API's de Ticket
      parameters:
      - name: ticketId
        in: path
        description: ID numérico do ticket
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                description:
                  type: string
                channel:
                  type: string
                priority:
                  type: string
                projectId:
                  type: number
                clientId:
                  type: number
                responsibleId:
                  type: number
              example:
                title: Ajustar cor do botão principal
                description: O botão 'Comprar' deve ter a cor verde escuro.
                channel: PORTAL
                priority: CRITICAL
                projectId: 12
                clientId: 543
                responsibleId: 99
      security:
      - bearerAuth: []
    patch:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  priority:
                    type: string
                  slaValue:
                    type: string
                example:
                  priority: CRITICAL
                  slaValue: 2h
              examples:
                response:
                  value:
                    priority: CRITICAL
                    slaValue: 2h
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Atualizar campos do ticket
      operationId: atualizarCamposDoTicket
      description: Atualiza apenas os campos enviados no corpo da requisição. Útil
        para alterar prioridade, responsável ou outro campo específico sem enviar
        o objeto completo.
      tags:
      - API's de Ticket
      parameters:
      - name: ticketId
        in: path
        description: ID numérico do ticket
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                priority:
                  type: string
              example:
                priority: CRITICAL
      security:
      - bearerAuth: []
    get:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                      title:
                        type: string
                      description:
                        type: string
                      status:
                        type: string
                      priority:
                        type: string
                      projectId:
                        type: number
                example:
                  status: SUCCESS
                  message: Tickets recuperados com sucesso
                  data:
                    id: 101
                    title: Erro no login da plataforma
                    description: Usuário não consegue logar pelo app de iOS.
                    status: OPEN
                    priority: HIGH
                    projectId: 2
              examples:
                response:
                  value:
                    status: SUCCESS
                    message: Tickets recuperados com sucesso
                    data:
                      id: 101
                      title: Erro no login da plataforma
                      description: Usuário não consegue logar pelo app de iOS.
                      status: OPEN
                      priority: HIGH
                      projectId: 2
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Buscar ticket por chave
      operationId: buscarTicketPorChave
      description: Buscar ticket por chave.
      tags:
      - API's de Ticket
      parameters:
      - name: ticketId
        in: path
        description: ID ou chave única do ticket
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
  "/ticketapi/1.0/api/v1/tickets/upload/{ticketId}":
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                      fileName:
                        type: string
                      fileUrl:
                        type: string
                      contentType:
                        type: string
                example:
                  status: SUCCESS
                  data:
                    id: 850
                    fileName: print_erro.png
                    fileUrl: https://bucket-hml.s3.amazonaws.com/tickets/101/print_erro.png
                    contentType: image/png
              examples:
                response:
                  value:
                    status: SUCCESS
                    data:
                      id: 850
                      fileName: print_erro.png
                      fileUrl: https://bucket-hml.s3.amazonaws.com/tickets/101/print_erro.png
                      contentType: image/png
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Anexar arquivo
      operationId: anexarArquivo
      description: Anexar arquivo.
      tags:
      - API's de Ticket
      parameters:
      - name: ticketId
        in: path
        description: ID numérico do ticket
        required: true
        schema:
          type: integer
      security:
      - bearerAuth: []
  "/ticketapi/1.0/api/v1/tickets/{ticketId}/comments":
    get:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  data:
                    type: object
                    properties:
                      content:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                            authorName:
                              type: string
                            text:
                              type: string
                            createdAt:
                              type: string
                      totalElements:
                        type: number
                example:
                  status: SUCCESS
                  data:
                    content:
                    - id: 305
                      authorName: João da Silva
                      text: Verifiquei os logs e o banco de dados não respondeu no
                        horário indicado.
                      createdAt: '2026-02-27T10:00:00Z'
                    totalElements: 1
              examples:
                response:
                  value:
                    status: SUCCESS
                    data:
                      content:
                      - id: 305
                        authorName: João da Silva
                        text: Verifiquei os logs e o banco de dados não respondeu
                          no horário indicado.
                        createdAt: '2026-02-27T10:00:00Z'
                      totalElements: 1
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Listar comentários
      operationId: listarComentarios
      description: Listar comentários.
      tags:
      - API's de Ticket
      parameters:
      - name: ticketId
        in: path
        description: ID numérico do ticket
        required: true
        schema:
          type: integer
      security:
      - bearerAuth: []
  "/ticketapi/1.0/api/v1/tickets/{ticketId}/related/{relatedTicketId}":
    post:
      responses:
        '200':
          description: Requisição processada com sucesso. Retorna os dados correspondentes
            ao filtro informado.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      referenceKey:
                        type: string
                example:
                  status: SUCCESS
                  message: Tickets relacionados com sucesso.
                  data:
                    referenceKey: TICKET-50
              examples:
                response:
                  value:
                    status: SUCCESS
                    message: Tickets relacionados com sucesso.
                    data:
                      referenceKey: TICKET-50
        '401':
          description: 'Token de autenticação ausente ou inválido. Envie o header
            `Authorization: Bearer {token}`.'
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Unauthorized
              examples:
                response:
                  value:
                    status: Unauthorized
        '404':
          description: Recurso não encontrado para os parâmetros informados.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                example:
                  status: Not Found
              examples:
                response:
                  value:
                    status: Not Found
      summary: Relacionar tickets
      operationId: relacionarTickets
      description: Relacionar tickets.
      tags:
      - API's de Ticket
      parameters:
      - name: ticketId
        in: path
        description: ID do ticket principal
        required: true
        schema:
          type: integer
      - name: relatedTicketId
        in: path
        description: ID do ticket a ser vinculado
        required: true
        schema:
          type: integer
      security:
      - bearerAuth: []
  "/chatapi/1.0/api/v2/agent":
    post:
      summary: Listar um agente
      operationId: listaUmAgente
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_Agent_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        de apenas um agente cadastrado na base.
  "/chatapi/1.0/api/v2/agent-hist":
    post:
      summary: Listar o histórico de um agente
      operationId: listaOHistoricoDeUmAgente
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_AgentHist_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        de apenas um agente cadastrado na base.
  "/chatapi/1.0/api/v2/agent-hist/unique":
    post:
      summary: Buscar histórico de agente único
      operationId: buscarHistoricoDeAgenteUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/AgentHist"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único do histórico de um agente com base nas
        condições informadas.
  "/chatapi/1.0/api/v2/agent-user":
    post:
      summary: Listar um histórico de agente e usuário
      operationId: listarUmHistoricoDeAgenteEUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_Agent_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        do atendiemnto entre um agente e um usuário cadastrado na base.
  "/chatapi/1.0/api/v2/agent-user/delete":
    delete:
      summary: Excluir um histórico de agente e usuário
      operationId: excluirUmHistoricoDeAgenteEUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um histórico de agente e usuário da base de dados de acordo
        com os parâmetros informados.
  "/chatapi/1.0/api/v2/agent-user/save":
    post:
      summary: Salvar um historico de um agente e um usuário
      operationId: salvaUmHistoricoDeUmAgenteEUmUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Agent"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Agent"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza o historico de atendimento entre um agente e
        um usuário.
  "/chatapi/1.0/api/v2/agent-user/unique":
    post:
      summary: Buscar um histórico de agente e usuário único
      operationId: buscarUmHistoricoDeAgenteEUsuarioUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Agent"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de histórico de agente e usuário com
        base nas condições informadas na requisição.
  "/chatapi/1.0/api/v2/agent/delete":
    delete:
      summary: Excluir um agente
      operationId: excluirUmAgente
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um agente da base de dados de acordo com os parâmetros informados.
  "/chatapi/1.0/api/v2/agent/save":
    post:
      summary: Salvar um agente
      operationId: salvaUmAgente
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Agent"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Agent"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva um agente conforme informações fornecidas.
  "/chatapi/1.0/api/v2/agent/unique":
    post:
      summary: Buscar um agente único
      operationId: buscarUmAgenteUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Agent"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de agente com base nas condições informadas
        na requisição.
  "/chatapi/1.0/api/v2/attributes":
    post:
      summary: Listar um atributo
      operationId: listarUmAtributo
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_Attributes_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        do atributo cadastrado na base.
  "/chatapi/1.0/api/v2/attributes/delete":
    delete:
      summary: Excluir um atributo
      operationId: excluirUmAtributo
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um atributo da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/attributes/save":
    post:
      summary: Salvar um atributo
      operationId: salvaUmAtributo
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Attributes"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Attributes"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza o atributo na base.
  "/chatapi/1.0/api/v2/attributes/unique":
    post:
      summary: Buscar um atributo único
      operationId: buscarUmAtributoUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Attributes"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de atributo com base nas condições informadas
        na requisição.
  "/chatapi/1.0/api/v2/batch/client":
    post:
      summary: Processar lote de clientes
      operationId: processarLoteDeClientes
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                "$ref": "#/components/schemas/RequestClientDTO"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Processa um lote de registros de clientes em uma única requisição
        para otimizar operações em massa.
  "/chatapi/1.0/api/v2/bot":
    post:
      summary: Listar dados do bot
      operationId: listarDadosDoBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_Bot_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        do bot que estão na base.
  "/chatapi/1.0/api/v2/bot-answer":
    post:
      summary: Listar uma resposta no bot
      operationId: listarUmaRespostaNoBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_BotAnswer_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        das respostas fornecidas pelo usuario durante atendimento pelo bot.
  "/chatapi/1.0/api/v2/bot-answer/delete":
    delete:
      summary: Excluir uma resposta do bot
      operationId: excluirUmaRespostaDoBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma resposta do bot da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/bot-answer/save":
    post:
      summary: Salvar uma resposta no bot
      operationId: salvaUmaRespostaNoBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/BotAnswer"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/BotAnswer"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza as respostas fornecidas pelo usuario durante
        atendimento pelo bot.
  "/chatapi/1.0/api/v2/bot-answer/unique":
    post:
      summary: Buscar uma resposta do bot única
      operationId: buscarUmaRespostaDoBotUnica
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/BotAnswer"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro única de resposta do bot com base nas condições
        informadas na requisição.
  "/chatapi/1.0/api/v2/bot/delete":
    delete:
      summary: Excluir dados do bot
      operationId: excluirDadosDoBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove dados do bot da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/bot/dialog/hook/{botName}":
    post:
      summary: Executar hook de diálogo do bot
      operationId: executarHookDeDialogoDoBot
      tags:
      - API's Omnichannel
      parameters:
      - name: botName
        in: path
        required: true
        description: botName
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/BotDialogHookDto"
        description: payload
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Dispara o hook de diálogo configurado para o bot informado, permitindo
        integrações externas com o fluxo conversacional.
  "/chatapi/1.0/api/v2/bot/save":
    post:
      summary: Salvar dados do bot
      operationId: salvaDadosDoBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Bot"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Bot"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza dados do bot na base.
  "/chatapi/1.0/api/v2/bot/unique":
    post:
      summary: Buscar dados do bot único
      operationId: buscarDadosDoBotUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Bot"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de dados do bot com base nas condições
        informadas na requisição.
  "/chatapi/1.0/api/v2/call":
    post:
      summary: Listar um registro de voz
      operationId: listarUmRegistroDeVoz
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatCallLog_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        dos dados do canal de voz em um atendimento.
  "/chatapi/1.0/api/v2/call-log-hist":
    post:
      summary: Listar um registro histórico de voz
      operationId: listarUmRegistroHistoricoDeVoz
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatCallLogHist_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        dos dados históricos do canal de voz em um atendimento.
  "/chatapi/1.0/api/v2/call-log-hist/delete":
    delete:
      summary: Excluir um histórico de registro de voz
      operationId: excluirUmHistoricoDeRegistroDeVoz
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um histórico de registro de voz da base de dados de acordo
        com os parâmetros informados.
  "/chatapi/1.0/api/v2/call-log-hist/save":
    post:
      summary: Salvar um registro histórico de voz
      operationId: salvaUmRegistroHistoricoDeVoz
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatCallLogHist"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatCallLogHist"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza dados do canal de voz.
  "/chatapi/1.0/api/v2/call-log-hist/unique":
    post:
      summary: Buscar um histórico de registro de voz único
      operationId: buscarUmHistoricoDeRegistroDeVozUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatCallLogHist"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de histórico de registro de voz com base
        nas condições informadas na requisição.
  "/chatapi/1.0/api/v2/call/delete":
    delete:
      summary: Excluir um registro de voz
      operationId: excluirUmRegistroDeVoz
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um registro de voz da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/call/save":
    post:
      summary: Salvar um registro de voz
      operationId: salvaUmRegistroDeVoz
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatCallLog"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatCallLog"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza dados do canal de voz.
  "/chatapi/1.0/api/v2/call/unique":
    post:
      summary: Buscar um registro de voz único
      operationId: buscarUmRegistroDeVozUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatCallLog"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de registro de voz com base nas condições
        informadas na requisição.
  "/chatapi/1.0/api/v2/channel":
    post:
      summary: Listar um canal
      operationId: listarUmCanal
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatChannel_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna uma lista de registros de canal de acordo com os filtros
        informados na requisição.
  "/chatapi/1.0/api/v2/channel/active":
    get:
      summary: Listar canais ativos
      operationId: listarCanaisAtivos
      tags:
      - API's Omnichannel
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  "$ref": "#/components/schemas/ChatChannel"
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna todos os canais que estão com status ativo na plataforma.
  "/chatapi/1.0/api/v2/channel/unique":
    post:
      summary: Buscar um canal único
      operationId: buscarUmCanalUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatChannel"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de canal com base nas condições informadas
        na requisição.
  "/chatapi/1.0/api/v2/chat-answer":
    post:
      summary: Listar uma resposta
      operationId: listarUmaResposta
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatAnswer_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        das respostas fornecidas em um atendimento.
  "/chatapi/1.0/api/v2/chat-answer/delete":
    delete:
      summary: Excluir uma resposta de chat
      operationId: excluirUmaRespostaDeChat
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma resposta de chat da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/chat-answer/save":
    post:
      summary: Salvar uma resposta
      operationId: salvaUmaResposta
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatAnswer"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatAnswer"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza uma resposta.
  "/chatapi/1.0/api/v2/chat-answer/unique":
    post:
      summary: Buscar uma resposta de chat única
      operationId: buscarUmaRespostaDeChatUnica
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatAnswer"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro única de resposta de chat com base nas condições
        informadas na requisição.
  "/chatapi/1.0/api/v2/chat-embedded-integration":
    post:
      summary: Listar integração embarcada de chat
      operationId: listarIntegracaoEmbarcadaDeChat
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatEmbeddedIntegration"
        description: integration
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatEmbeddedIntegration"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna as configurações da integração embarcada de chat de acordo
        com os filtros informados.
  "/chatapi/1.0/api/v2/chat-embedded-integration/{name}":
    get:
      summary: Buscar integração embarcada pelo nome
      operationId: buscarIntegracaoEmbarcadaPeloNome
      tags:
      - API's Omnichannel
      parameters:
      - name: name
        in: path
        required: true
        description: name
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatEmbeddedIntegration"
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna os dados de configuração de uma integração embarcada de
        chat identificada pelo nome informado.
  "/chatapi/1.0/api/v2/chat-embedded-integration/{name}/status":
    put:
      summary: Atualizar status da integração embarcada
      operationId: atualizarStatusDaIntegracaoEmbarcada
      tags:
      - API's Omnichannel
      parameters:
      - name: name
        in: path
        required: true
        description: name
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/UpdateStatusRequest"
        description: request
      responses:
        '200':
          description: OK
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Atualiza o status (ativo/inativo) de uma integração embarcada de
        chat identificada pelo nome informado.
  "/chatapi/1.0/api/v2/chat-user-group":
    post:
      summary: Listar um grupo de usuário de chat
      operationId: listarUmGrupoDeUsuarioDeChat
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatUserGroup_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna uma lista de registros de grupo de usuário de chat de acordo
        com os filtros informados na requisição.
  "/chatapi/1.0/api/v2/chat-user-group/client-groups-association":
    post:
      summary: Salvar associação entre cliente e grupos
      operationId: salvarAssociacaoEntreClienteEGrupos
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ClientGroupsDTO"
        description: clientGroups
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Cria ou atualiza a associação entre um cliente e seus grupos de
        atendimento.
  "/chatapi/1.0/api/v2/chat-user-group/delete":
    delete:
      summary: Excluir um grupo de usuário de chat
      operationId: excluirUmGrupoDeUsuarioDeChat
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um grupo de usuário de chat da base de dados de acordo com
        os parâmetros informados.
  "/chatapi/1.0/api/v2/chat-user-group/deleteAssociation":
    delete:
      summary: Remover associação entre usuário e grupo
      operationId: removerAssociacaoEntreUsuarioEGrupo
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatUserGroupId"
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove o vínculo de associação existente entre um usuário e um
        grupo.
  "/chatapi/1.0/api/v2/chat-user-group/save":
    post:
      summary: Salvar um grupo de usuário de chat
      operationId: salvarUmGrupoDeUsuarioDeChat
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatUserGroup"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatUserGroup"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um grupo de usuário de chat na base de dados.
  "/chatapi/1.0/api/v2/chat-user-group/unique":
    post:
      summary: Buscar um grupo de usuário de chat único
      operationId: buscarUmGrupoDeUsuarioDeChatUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatUserGroup"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de grupo de usuário de chat com base
        nas condições informadas na requisição.
  "/chatapi/1.0/api/v2/chat-web-conf":
    post:
      summary: Listar uma configuração do bot
      operationId: listarUmaConfiguracaoDoBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatWebConf_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        sobre uma configuração web do bot.
  "/chatapi/1.0/api/v2/chat-web-conf/delete":
    delete:
      summary: Excluir uma configuração de web chat
      operationId: excluirUmaConfiguracaoDeWebChat
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma configuração de web chat da base de dados de acordo
        com os parâmetros informados.
  "/chatapi/1.0/api/v2/chat-web-conf/save":
    post:
      summary: Salvar uma configuração do bot
      operationId: salvaUmaConfiguracaoDoBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatWebConf"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatWebConf"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza uma configuração web do bot na base.
  "/chatapi/1.0/api/v2/chat-web-conf/unique":
    post:
      summary: Buscar uma configuração de web chat única
      operationId: buscarUmaConfiguracaoDeWebChatUnica
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatWebConf"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro única de configuração de web chat com base
        nas condições informadas na requisição.
  "/chatapi/1.0/api/v2/chat/suggestion":
    post:
      summary: Listar sugestões de chat
      operationId: listarSugestoesDeChat
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatSuggestion_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna a lista de sugestões de resposta configuradas para uso
        no chat.
  "/chatapi/1.0/api/v2/chat/suggestion/delete":
    delete:
      summary: Excluir sugestão de chat
      operationId: excluirSugestaoDeChat
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma sugestão de resposta de chat da base de dados.
  "/chatapi/1.0/api/v2/chat/suggestion/save":
    post:
      summary: Salvar sugestão de chat
      operationId: salvarSugestaoDeChat
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatSuggestion"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatSuggestion"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Cria ou atualiza uma sugestão de resposta para uso no chat.
  "/chatapi/1.0/api/v2/chat/suggestion/unique":
    post:
      summary: Buscar sugestão de chat única
      operationId: buscarSugestaoDeUnicaDeChat
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatSuggestion"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de sugestão de chat com base nas condições
        informadas.
  "/chatapi/1.0/api/v2/classification":
    post:
      summary: Listar uma classificação
      operationId: listarUmaClassificacao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ClassificationTree_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna uma classificação.
  "/chatapi/1.0/api/v2/classification-service":
    post:
      summary: Listar uma classificação do serviço
      operationId: listarUmaClassificacaoDoServico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_Classification_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna uma classificação
        do serviço.
  "/chatapi/1.0/api/v2/classification-service/complete":
    post:
      summary: Buscar classificação de serviço completa
      operationId: buscarClassificacaoDeServicoCompleta
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_Classification_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna a estrutura completa da classificação de serviço com todos
        os níveis configurados.
  "/chatapi/1.0/api/v2/classification-service/delete":
    delete:
      summary: Excluir uma classificação de serviço
      operationId: excluirUmaClassificacaoDeServico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma classificação de serviço da base de dados de acordo
        com os parâmetros informados.
  "/chatapi/1.0/api/v2/classification-service/save":
    post:
      summary: Salvar uma classificação do serviço
      operationId: salvaUmaClassificacaoDoServico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Classification"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Classification"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza uma classificação do serviço.
  "/chatapi/1.0/api/v2/classification-service/unique":
    post:
      summary: Buscar uma classificação de serviço única
      operationId: buscarUmaClassificacaoDeServicoUnica
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Classification"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro única de classificação de serviço com base
        nas condições informadas na requisição.
  "/chatapi/1.0/api/v2/classification/complete/{id}":
    post:
      summary: Buscar classificação completa por ID
      operationId: buscarClassificacaoCompletaPorId
      tags:
      - API's Omnichannel
      parameters:
      - name: id
        in: path
        required: true
        description: id
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ClassificationTree"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna a estrutura completa de uma classificação incluindo todos
        os seus níveis hierárquicos.
  "/chatapi/1.0/api/v2/classification/delete":
    delete:
      summary: Excluir uma classificação
      operationId: excluirUmaClassificacao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma classificação da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/classification/save":
    post:
      summary: Salvar uma classificação
      operationId: salvaUmaClassificacao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ClassificationTree"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ClassificationTree"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza uma classificação.
  "/chatapi/1.0/api/v2/classification/unique":
    post:
      summary: Buscar uma classificação única
      operationId: buscarUmaClassificacaoUnica
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ClassificationTree"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro única de classificação com base nas condições
        informadas na requisição.
  "/chatapi/1.0/api/v2/cognition":
    post:
      summary: Listar uma cognição
      operationId: listarUmaCognicao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_Cognition_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        sobre uma cognição do ian da base.
  "/chatapi/1.0/api/v2/cognition/delete":
    delete:
      summary: Excluir uma cognição
      operationId: excluirUmaCognicao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma cognição da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/cognition/save":
    post:
      summary: Salvar uma cognição
      operationId: salvaUmaCognicao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Cognition"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Cognition"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza uma cognição do ian da base.
  "/chatapi/1.0/api/v2/cognition/unique":
    post:
      summary: Buscar uma cognição única
      operationId: buscarUmaCognicaoUnica
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Cognition"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro única de cognição com base nas condições informadas
        na requisição.
  "/chatapi/1.0/api/v2/company":
    post:
      summary: Listar uma empresa
      operationId: listarUmaEmpresa
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_Company_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna uma lista de registros de empresa de acordo com os filtros
        informados na requisição.
  "/chatapi/1.0/api/v2/company/delete":
    delete:
      summary: Excluir uma empresa
      operationId: excluirUmaEmpresa
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma empresa da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/company/save":
    post:
      summary: Salvar uma empresa
      operationId: salvarUmaEmpresa
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/Company"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Company"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza uma empresa na base de dados.
  "/chatapi/1.0/api/v2/company/unique":
    post:
      summary: Buscar uma empresa única
      operationId: buscarUmaEmpresaUnica
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/Company"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro única de empresa com base nas condições informadas
        na requisição.
  "/chatapi/1.0/api/v2/direct-message":
    post:
      summary: Listar um envio
      operationId: listarUmEnvio
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatDirectMessage_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        sobre um envio ativo da base.
  "/chatapi/1.0/api/v2/direct-message-user":
    post:
      summary: Listar um envio por usuário
      operationId: listarUmEnvioPorUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatDirectMessage_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        sobre um envio ativo por usuário da base.
  "/chatapi/1.0/api/v2/direct-message-user/unique":
    post:
      summary: Buscar envio direto por usuário único
      operationId: buscarEnvioDiretoPorUsuarioUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatDirectMessage"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de envio direto associado a um usuário
        específico.
  "/chatapi/1.0/api/v2/direct-message/save":
    post:
      summary: Realizar envio ativo
      operationId: RealizarEnvioAtivo
      description: |-
        Salva ou atualiza um envio ativo na base de dados. As informações necessárias dependem do **canal** escolhido e do **tipo de template** (com ou sem parâmetros, mídia ou botões).

        **Pré-requisitos:**
        - `status` deve ser `PROCESSANDO`
        - `groupName` deve corresponder ao grupo de atendimento cadastrado
        - Para canais oficiais (WhatsApp), o template deve estar previamente cadastrado na plataforma

        Consulte as abas de exemplo ao lado para ver o payload completo de cada canal.
      tags:
      - API's Omnichannel
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatDirectMessage"
            example:
              phoneNumber: '553432563200'
              channel: WHATSAPP
              message: Olá, Usuario! Este é apenas um teste do nosso sistema de whatsapp
              groupName: Atendimento
              status: PROCESSANDO
              createdBy: teste_user
              userId: 2279
              groupConfId: 1
      responses:
        '200':
          description: Envio registrado com sucesso
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatDirectMessage"
              example:
                id: 100713
                groupName: Atendentes WhatsApp
                channel: WHATSAPP
                message: Olá esta é uma mensagem de teste
                phoneNumber: '553432563200'
                email:
                subject:
                status: PROCESSANDO
                description:
                additionalInfo: '{"namespace":"e3a68d3e_5b32_4cd0_983d_5c8ac333910e","elementName":"atendimento_wa_central","parameters":{},"medias":{},"openSession":false}'
                callback:
                createdAt: '2025-06-04T21:52:26.944+00:00'
                updatedAt:
                broadcastListId:
                createdBy: teste_user
                sendTimestamp:
                user:
                userId: 35978
                senderUserId: 35979
                generatedSession: false
                campaignName:
                dispatchId:
                sessionId:
                groupConfId: 893
                hsmTemplate:
                agentId:
                sendGroupConfId:
                sentAt:
                resend: true
                recipientId:
        '401':
          description: Não autorizado — token ausente ou inválido
          content:
            application/json:
              example:
                status: Unauthorized
        '403':
          description: Acesso proibido — sem permissão para este recurso
          content:
            application/json:
              example:
                status: Forbidden
        '404':
          description: Recurso não encontrado
          content:
            application/json:
              example:
                status: Not Found
      x-code-samples:
      - lang: WhatsApp — template texto
        source: |-
          {
            "phoneNumber": "553432563200",
            "channel": "WHATSAPP",
            "message": "Olá esta é uma mensagem de teste",
            "groupName": "Atendentes WhatsApp",
            "additionalInfo": "{\"namespace\":\"e3a68d3e_5b32_4cd0_983d_5c8ac333910e\",\"elementName\":\"atendimento_wa_central\",\"parameters\":{},\"medias\":{},\"openSession\":false}",
            "status": "PROCESSANDO",
            "createdBy": "teste_user",
            "userId": 35978,
            "senderUserId": 35979,
            "groupConfId": 893,
            "generatedSession": 0
          }
      - lang: WhatsApp — não oficial
        source: |-
          {
            "phoneNumber": "553432563200",
            "channel": "WHATSAPP",
            "message": "Olá, Usuario! Este é apenas um teste do nosso sistema de whatsapp",
            "groupName": "Atendimento",
            "status": "PROCESSANDO",
            "createdBy": "teste_user",
            "userId": 2279,
            "groupConfId": 1
          }
      - lang: WhatsApp — parâmetros no corpo
        source: |-
          {
            "phoneNumber": "553432563200",
            "channel": "WHATSAPP",
            "message": null,
            "groupName": "Atendentes WhatsApp",
            "additionalInfo": "{\"namespace\":\"47d576a8_cfc0_4054_9f7f_0721314d5ba6\",\"elementName\":\"equipecs\",\"parameters\":{\"BODY\":[{\"type\":\"text\",\"text\":\"Aline\",\"payload\":null,\"currency\":null,\"dateTime\":null},{\"type\":\"text\",\"text\":\"Teste\",\"payload\":null,\"currency\":null,\"dateTime\":null}]},\"medias\":{},\"openSession\":false}",
            "status": "PROCESSANDO",
            "hsmTemplate": 10,
            "createdBy": "teste_user",
            "userId": 2279,
            "groupConfId": 25
          }
      - lang: WhatsApp — mídia no cabeçalho
        source: |-
          {
            "phoneNumber": "553432563200",
            "channel": "WHATSAPP",
            "message": "Teste do nosso sistema de whatsapp",
            "groupName": "Comercial Oficial Novo",
            "additionalInfo": "{\"namespace\":\"47d576a8_cfc0_4054_9f7f_0721314d5ba6\",\"elementName\":\"templatemidia\",\"parameters\":{},\"medias\":{\"HEADER\":[{\"url\":\"https://files.tm2digital.com/storage/file/comercial/2024/06/25/1effda00-391d-46f8-a107-e1824102d628.jpg\",\"extension\":\".jpg\"}]},\"openSession\":true}",
            "status": "PROCESSANDO",
            "hsmTemplate": 7,
            "createdBy": "teste_user",
            "userId": 2279,
            "senderUserId": 29279,
            "generatedSession": 0,
            "groupConfId": 103
          }
      - lang: WhatsApp — template com botão
        source: |-
          {
            "phoneNumber": "553432563200",
            "channel": "WHATSAPP",
            "message": "Teste do nosso sistema de whatsapp",
            "groupName": "Atendentes WhatsApp",
            "additionalInfo": "{\"namespace\":\"47d576a8_cfc0_4054_9f7f_0721314d5ba6\",\"elementName\":\"teste_botaourl\",\"parameters\":{\"BUTTON\":[{\"type\":\"text\",\"text\":\"teste\",\"payload\":null,\"currency\":null,\"dateTime\":null}]},\"medias\":{},\"openSession\":false}",
            "status": "PROCESSANDO",
            "hsmTemplate": 219,
            "createdBy": "teste_user",
            "userId": 2377,
            "senderUserId": 585,
            "generatedSession": 0,
            "groupConfId": 25,
            "agentId": 81843,
            "sendGroupConfId": 25
          }
      - lang: WhatsApp — autenticação (OTP)
        source: |-
          {
            "phoneNumber": "553432563200",
            "channel": "WHATSAPP",
            "message": "Seu código de verificação é {VERIFICATION_CODE}.",
            "groupName": "Atendentes WhatsApp",
            "additionalInfo": "{\"namespace\":\"47d576a8_cfc0_4054_9f7f_0721314d5ba6\",\"elementName\":\"test_verification_code\",\"parameters\":{\"BODY\":[{\"type\":\"text\",\"text\":\"12345\",\"payload\":null,\"currency\":null,\"dateTime\":null}],\"BUTTON\":[{\"type\":\"text\",\"text\":\"teste\",\"payload\":null,\"currency\":null,\"dateTime\":null}]},\"medias\":{},\"openSession\":false}",
            "status": "PROCESSANDO",
            "hsmTemplate": 24,
            "createdBy": "teste_user",
            "userId": 337,
            "senderUserId": 155,
            "generatedSession": 0,
            "groupConfId": 25,
            "sendGroupConfId": 9
          }
      - lang: E-mail
        source: |-
          {
            "channel": "EMAIL",
            "message": "Olá, Usuario! Este é apenas um teste de envio ativo por e-mail",
            "groupName": "EMAIL",
            "status": "PROCESSANDO",
            "subject": "Email Teste",
            "email": "teste_user@neppo.com.br",
            "createdBy": "teste_user",
            "userId": 35978,
            "senderUserId": 35979,
            "groupConfId": 893,
            "agentId": 10778,
            "sendGroupConfId": 893
          }
      - lang: SMS
        source: |-
          {
            "phoneNumber": "553432563200",
            "channel": "SMS",
            "message": "Olá, Usuario! Este é apenas um teste do nosso sistema de SMS da Neppo",
            "groupName": "SMS Infobip",
            "status": "PROCESSANDO",
            "createdBy": "teste_user",
            "userId": 32607,
            "senderUserId": 11886,
            "groupConfId": 70,
            "agentId": 5939,
            "sendGroupConfId": 70
          }
      - lang: Telegram
        source: |-
          {
            "phoneNumber": "553432563200",
            "channel": "TELEGRAM",
            "message": "Vamos falar pelo Telegram?",
            "groupName": "360dialog oficial 2",
            "additionalInfo": "OPEN_SESSION",
            "status": "PROCESSANDO",
            "createdBy": "teste_user",
            "userId": 35978,
            "senderUserId": 35979,
            "groupConfId": 893,
            "agentId": 10778,
            "sendGroupConfId": 893
          }
  "/chatapi/1.0/api/v2/direct-message/unique":
    post:
      summary: Buscar retorno de envio ativo por múltiplas condições
      operationId: buscarRetornoDeEnvioAtivoPorMultiplasCondicoes
      tags:
      - Exemplos de Chamadas
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
            example:
              conditions:
              - key: id
                value: 1364
                operator: EQNUM
              direction: ASC
              page: 0
              sort: false
              sortColumn: id
              size: 10
      responses:
        '200':
          description: Registros encontrados com sucesso
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatDirectMessage_"
              example:
                page: 0
                size: 1
                results:
                - id: 1364
                  groupName: Atendentes
                  channel: WHATSAPP
                  message: Oie! Os vencedores do sorteio foram...
                  phoneNumber: '5534999362329'
                  email:
                  subject:
                  status: ENVIADA
                  description:
                  additionalInfo: RESOLVIDO
                  callback:
                  createdAt: '2019-11-26T14:50:49.000+00:00'
                  updatedAt: '2019-11-26T14:51:01.000+00:00'
                  broadcastListId:
                  createdBy:
                  sendTimestamp: '1574779849713'
                  userId:
                  senderUserId:
                  generatedSession: true
                  sessionId: 57449
                  groupConfId:
                  hsmTemplate:
                  resend: false
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: |-
        Retorna os registros de envio ativo de acordo com as múltiplas condições informadas. Pode ser utilizado qualquer campo da resposta como filtro.

        **Operadores disponíveis:** `EQNUM` (igual numérico), `EQ` (igual texto/número), `LIKE` (contém), `AFTER` / `BEFORE` (datas), `IS_NULL`, `NOT_NULL`, entre outros.

        Consulte as abas de exemplo ao lado para ver filtros por ID, status, canal, período e número de telefone.
      x-code-samples:
      - lang: Buscar por ID
        source: |-
          {
            "conditions": [
              {
                "key": "id",
                "value": 1364,
                "operator": "EQNUM"
              }
            ],
            "direction": "ASC",
            "page": 0,
            "sort": false,
            "sortColumn": "id",
            "size": 10
          }
      - lang: Buscar por status
        source: |-
          {
            "conditions": [
              {
                "key": "status",
                "value": "ENVIADA",
                "operator": "EQ"
              }
            ],
            "direction": "DESC",
            "page": 0,
            "sort": true,
            "sortColumn": "createdAt",
            "size": 20
          }
      - lang: Buscar por canal
        source: |-
          {
            "conditions": [
              {
                "key": "channel",
                "value": "WHATSAPP",
                "operator": "EQ"
              }
            ],
            "direction": "DESC",
            "page": 0,
            "sort": true,
            "sortColumn": "createdAt",
            "size": 10
          }
      - lang: Buscar por período
        source: |-
          {
            "conditions": [
              {
                "key": "createdAt",
                "value": "2025-06-01T00:00:00.000+00:00",
                "operator": "AFTER"
              },
              {
                "key": "createdAt",
                "value": "2025-06-30T23:59:59.000+00:00",
                "operator": "BEFORE"
              }
            ],
            "direction": "ASC",
            "page": 0,
            "sort": true,
            "sortColumn": "createdAt",
            "size": 50
          }
      - lang: Buscar por número
        source: |-
          {
            "conditions": [
              {
                "key": "phoneNumber",
                "value": "553432563200",
                "operator": "EQ"
              }
            ],
            "direction": "DESC",
            "page": 0,
            "sort": true,
            "sortColumn": "createdAt",
            "size": 10
          }
  "/chatapi/1.0/api/v2/email/template":
    post:
      summary: Listar templates de e-mail
      operationId: listarTemplatesDeEmail
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_EmailTemplate_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna a lista de templates de e-mail cadastrados na plataforma.
  "/chatapi/1.0/api/v2/email/template/delete":
    delete:
      summary: Excluir template de e-mail
      operationId: excluirTemplateDeEmail
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um template de e-mail da base de dados pelo identificador
        informado.
  "/chatapi/1.0/api/v2/email/template/save":
    post:
      summary: Salvar template de e-mail
      operationId: salvarTemplateDeEmail
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/EmailTemplate"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/EmailTemplate"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Cria ou atualiza um template de e-mail na base de dados.
  "/chatapi/1.0/api/v2/email/template/unique":
    post:
      summary: Buscar template de e-mail único
      operationId: buscarTemplateDeEmailUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/EmailTemplate"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de template de e-mail com base nas condições
        informadas.
  "/chatapi/1.0/api/v2/group-channel":
    post:
      summary: Listar um canal de grupo
      operationId: listarUmCanalDeGrupo
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatGroupChannel_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna uma lista de registros de canal de grupo de acordo com
        os filtros informados na requisição.
  "/chatapi/1.0/api/v2/group-channel/delete":
    delete:
      summary: Excluir um canal de grupo
      operationId: excluirUmCanalDeGrupo
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatGroupChannelId"
        description: chatGroupChannelId
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um canal de grupo da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/group-channel/save":
    post:
      summary: Salvar um canal de grupo
      operationId: salvarUmCanalDeGrupo
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatGroupChannel"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um canal de grupo na base de dados.
  "/chatapi/1.0/api/v2/group-channel/unique":
    post:
      summary: Buscar um canal de grupo único
      operationId: buscarUmCanalDeGrupoUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatGroupChannel"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de canal de grupo com base nas condições
        informadas na requisição.
  "/chatapi/1.0/api/v2/groups":
    post:
      summary: Listar um grupo de atendimento
      operationId: listarUmGrupoDeAtendimento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_GroupConf_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        sobre um grupo de atendimento da base.
  "/chatapi/1.0/api/v2/groups/delete":
    delete:
      summary: Excluir um grupo de atendimento
      operationId: excluirUmGrupoDeAtendimento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um grupo de atendimento da base de dados de acordo com os
        parâmetros informados.
  "/chatapi/1.0/api/v2/groups/save":
    post:
      summary: Salvar um grupo de atendimento
      operationId: salvaUmGrupoDeAtendimento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/GroupConf"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/GroupConf"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um grupo de atendimento da base.
  "/chatapi/1.0/api/v2/groups/save-group":
    post:
      summary: Salvar grupo de atendimento completo
      operationId: salvarGrupoDeAtendimentoCompleto
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/GroupDTO"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Cria ou atualiza um grupo de atendimento com todas as suas configurações.
  "/chatapi/1.0/api/v2/groups/unique":
    post:
      summary: Buscar um grupo de atendimento único
      operationId: buscarUmGrupoDeAtendimentoUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/GroupConf"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de grupo de atendimento com base nas
        condições informadas na requisição.
  "/chatapi/1.0/api/v2/holiday-operation":
    post:
      summary: Listar um feriado
      operationId: listarUmFeriado
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_HolidayOperation_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um feriado
        por operação da base.
  "/chatapi/1.0/api/v2/holiday-operation/delete":
    delete:
      summary: Excluir um feriado / operação especial
      operationId: excluirUmFeriadoOperacaoEspecial
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um feriado / operação especial da base de dados de acordo
        com os parâmetros informados.
  "/chatapi/1.0/api/v2/holiday-operation/save":
    post:
      summary: Salvar um feriado
      operationId: salvaUmFeriado
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/HolidayOperation"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/HolidayOperation"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um feriado por operação da base.
  "/chatapi/1.0/api/v2/holiday-operation/unique":
    post:
      summary: Buscar um feriado / operação especial único
      operationId: buscarUmFeriadoOperacaoEspecialUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/HolidayOperation"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de feriado / operação especial com base
        nas condições informadas na requisição.
  "/chatapi/1.0/api/v2/hsm-template":
    post:
      summary: Listar um template
      operationId: listarUmTemplate
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_HsmTemplate_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um template
        cadastrado na base para envio ativo.
  "/chatapi/1.0/api/v2/hsm-template-group":
    post:
      summary: Listar um template por grupo de atendimento
      operationId: listarUmTemplatePorGrupoDeAtendimento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_HsmTemplateGroup_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um template
        por grupo de atendimento cadastrado na base para envio ativo.
  "/chatapi/1.0/api/v2/hsm-template-group/delete":
    delete:
      summary: Excluir um template HSM por grupo de atendimento
      operationId: excluirUmTemplateHsmPorGrupoDeAtendimento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um template HSM por grupo de atendimento da base de dados
        de acordo com os parâmetros informados.
  "/chatapi/1.0/api/v2/hsm-template-group/save":
    post:
      summary: Salvar um template por grupo de atendimento
      operationId: salvaUmTemplatePorGrupoDeAtendimento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/HsmTemplateGroup"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/HsmTemplateGroup"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um template por grupo de atendimento cadastrado
        na base para envio ativo.
  "/chatapi/1.0/api/v2/hsm-template-group/unique":
    post:
      summary: Buscar um template HSM por grupo de atendimento único
      operationId: buscarUmTemplateHsmPorGrupoDeAtendimentoUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/HsmTemplateGroup"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de template HSM por grupo de atendimento
        com base nas condições informadas na requisição.
  "/chatapi/1.0/api/v2/hsm-template/delete":
    delete:
      summary: Excluir um template HSM
      operationId: excluirUmTemplateHsm
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um template HSM da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/hsm-template/languages":
    get:
      summary: Listar idiomas disponíveis para templates HSM
      description: Retorna a lista de idiomas suportados para criação de templates
        HSM.
      operationId: listarIdiomasDisponiveisParaTemplatesHsm
      tags:
      - API's Omnichannel
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  "$ref": "#/components/schemas/LanguageDTO"
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
  "/chatapi/1.0/api/v2/hsm-template/save":
    post:
      summary: Salvar um template
      operationId: salvaUmTemplate
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/HsmTemplate"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/HsmTemplate"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um template cadastrado na base para envio ativo.
  "/chatapi/1.0/api/v2/hsm-template/unique":
    post:
      summary: Buscar um template HSM único
      operationId: buscarUmTemplateHsmUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/HsmTemplate"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de template HSM com base nas condições
        informadas na requisição.
  "/chatapi/1.0/api/v2/hsm-template/{id}/parameters":
    post:
      summary: Buscar parâmetros do template HSM
      operationId: buscarParametrosDoTemplateHsm
      tags:
      - API's Omnichannel
      parameters:
      - name: id
        in: path
        required: true
        description: id
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  "$ref": "#/components/schemas/HsmTemplateParam"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna os parâmetros configurados para o template HSM identificado
        pelo ID informado.
  "/chatapi/1.0/api/v2/message-bundle-group":
    post:
      summary: Listar uma mensagem de redirecionamento
      operationId: listarUmaMensagemDeRedirecionamento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_MessageBundle_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um registro
        com mensagem de redirecionamento dos atendimentos.
  "/chatapi/1.0/api/v2/message-bundle-group/delete":
    delete:
      summary: Excluir uma mensagem de redirecionamento
      operationId: excluirUmaMensagemDeRedirecionamento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma mensagem de redirecionamento da base de dados de acordo
        com os parâmetros informados.
  "/chatapi/1.0/api/v2/message-bundle-group/save":
    post:
      summary: Salvar uma mensagem de redirecionamento
      operationId: salvaUmaMensagemDeRedirecionamento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/MessageBundle"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/MessageBundle"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um registro com mensagem de redirecionamento
        dos atendimentos.
  "/chatapi/1.0/api/v2/message-bundle-group/unique":
    post:
      summary: Buscar uma mensagem de redirecionamento única
      operationId: buscarUmaMensagemDeRedirecionamentoUnica
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/MessageBundle"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro única de mensagem de redirecionamento com base
        nas condições informadas na requisição.
  "/chatapi/1.0/api/v2/messages":
    post:
      summary: Listar uma mensagem
      operationId: listarUmaMensagem
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatMessage_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um registro
        com mensagem dos atendimentos.
  "/chatapi/1.0/api/v2/messages/delete":
    delete:
      summary: Excluir uma mensagem
      operationId: excluirUmaMensagem
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma mensagem da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/messages/save":
    post:
      summary: Salvar uma mensagem
      operationId: salvaUmaMensagem
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatMessage"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatMessage"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um registro com mensagem dos atendimentos.
  "/chatapi/1.0/api/v2/messages/unique":
    post:
      summary: Buscar uma mensagem única
      operationId: buscarUmaMensagemUnica
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatMessage"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro única de mensagem com base nas condições informadas
        na requisição.
  "/chatapi/1.0/api/v2/pause-reasons":
    post:
      summary: Listar uma pausa
      operationId: listarUmaPausa
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_PauseReason_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um registro
        com pausa dos atendimentos.
  "/chatapi/1.0/api/v2/pause-reasons/unique":
    post:
      summary: Buscar motivo de pausa único
      operationId: buscarMotivoDePausaUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PauseReason"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de motivo de pausa com base nas condições
        informadas.
  "/chatapi/1.0/api/v2/report-attendance-time":
    post:
      summary: Listar um tempo de atendimento
      operationId: listarUmTempoDeAtendimento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatReportAttendanceTime_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna informações
        sobre o tempo de atendimento por sessão.
  "/chatapi/1.0/api/v2/report-attendance-time/unique":
    post:
      summary: Buscar registro único de tempo de atendimento
      operationId: buscarRegistroUnicoDeTempoDeAtendimento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatReportAttendanceTime"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único do relatório de tempo de atendimento
        com base nas condições informadas.
  "/chatapi/1.0/api/v2/session-comment":
    post:
      summary: Listar um comentário
      operationId: listarUmComentario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatSessionComment_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um registro
        de comentário por sessão de um atendimento.
  "/chatapi/1.0/api/v2/session-comment/delete":
    delete:
      summary: Excluir um comentário de sessão
      operationId: excluirUmComentarioDeSessao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um comentário de sessão da base de dados de acordo com os
        parâmetros informados.
  "/chatapi/1.0/api/v2/session-comment/save":
    post:
      summary: Salvar um comentário
      operationId: salvaUmComentario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatSessionComment"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatSessionComment"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um registro de comentário por sessão de um atendimento.
  "/chatapi/1.0/api/v2/session-comment/unique":
    post:
      summary: Buscar um comentário de sessão único
      operationId: buscarUmComentarioDeSessaoUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatSessionComment"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de comentário de sessão com base nas
        condições informadas na requisição.
  "/chatapi/1.0/api/v2/survey":
    post:
      summary: Listar uma pesquisa de satisfação
      operationId: listarUmaPesquisaDeSatisfacao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_SurveyDTO_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna uma lista de registros de pesquisa de satisfação de acordo
        com os filtros informados na requisição.
  "/chatapi/1.0/api/v2/survey/save":
    post:
      summary: Salvar uma pesquisa de satisfação
      operationId: salvarUmaPesquisaDeSatisfacao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/PutSurveyDTO"
        description: payload
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/SurveyDetailDTO"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza uma pesquisa de satisfação na base de dados.
  "/chatapi/1.0/api/v2/survey/types":
    post:
      summary: Listar tipos de pesquisa de satisfação
      operationId: listarTiposDePesquisaDeSatisfacao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_SurveyType_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna todos os tipos de pesquisa de satisfação disponíveis na
        plataforma.
  "/chatapi/1.0/api/v2/survey/{id}":
    get:
      summary: Buscar pesquisa de satisfação por ID
      operationId: buscarPesquisaDeSatisfacaoPorId
      tags:
      - API's Omnichannel
      parameters:
      - name: id
        in: path
        required: true
        description: id
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/SurveyDetailDTO"
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna os detalhes de uma pesquisa de satisfação identificada
        pelo ID informado.
    delete:
      summary: Excluir pesquisa de satisfação
      operationId: excluirPesquisaDeSatisfacao
      tags:
      - API's Omnichannel
      parameters:
      - name: id
        in: path
        required: true
        description: id
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma pesquisa de satisfação da base de dados pelo ID informado.
  "/chatapi/1.0/api/v2/tag-bot":
    post:
      summary: Listar uma tag do bot
      operationId: listarUmaTagDoBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatTagBot_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna uma tag
        cadastrada no bot.
  "/chatapi/1.0/api/v2/tag-bot/delete":
    delete:
      summary: Excluir uma tag de bot
      operationId: excluirUmaTagDeBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma tag de bot da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/tag-bot/save":
    post:
      summary: Salvar uma tag do bot
      operationId: salvaUmaTagDoBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatTagBot"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatTagBot"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza uma tag cadastrada no bot.
  "/chatapi/1.0/api/v2/tag-bot/unique":
    post:
      summary: Buscar uma tag de bot única
      operationId: buscarUmaTagDeBotUnica
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatTagBot"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro única de tag de bot com base nas condições
        informadas na requisição.
  "/chatapi/1.0/api/v2/user-agent":
    post:
      summary: Listar um usuário
      operationId: listarUmUsuarioUserAgent
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_UserAgent_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um usuário
        existente na base.
  "/chatapi/1.0/api/v2/user-agent/client-agents-association":
    post:
      summary: Salvar associação entre cliente e agentes
      operationId: salvarAssociacaoEntreClienteEAgentes
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ClientAgentsDTO"
        description: clientAgents
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Cria ou atualiza a associação entre um cliente e seus agentes responsáveis.
  "/chatapi/1.0/api/v2/user-agent/delete":
    delete:
      summary: Excluir um vínculo entre usuário e agente
      operationId: excluirUmVinculoEntreUsuarioEAgente
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um vínculo entre usuário e agente da base de dados de acordo
        com os parâmetros informados.
  "/chatapi/1.0/api/v2/user-agent/deleteAssociation":
    delete:
      summary: Remover associação entre usuário e agente
      operationId: removerAssociacaoEntreUsuarioEAgente
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/AssociationId"
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove o vínculo de associação existente entre um usuário e um
        agente.
  "/chatapi/1.0/api/v2/user-agent/save":
    post:
      summary: Salvar um usuário
      operationId: salvaUmUsuarioSave
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/UserAgent"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/UserAgent"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um usuário existente na base.
  "/chatapi/1.0/api/v2/user-agent/unique":
    post:
      summary: Buscar um vínculo entre usuário e agente único
      operationId: buscarUmVinculoEntreUsuarioEAgenteUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/UserAgent"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de vínculo entre usuário e agente com
        base nas condições informadas na requisição.
  "/chatapi/1.0/api/v2/user-attributes":
    post:
      summary: Listar um atributo de um usuário
      operationId: listarUmAtributoDeUmUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_UserAttributes_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um atributo
        de um usuário existente na base.
  "/chatapi/1.0/api/v2/user-attributes-hist":
    post:
      summary: Listar um histórico de atributo
      operationId: listarUmHistoricoDeAtributo
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_UserAttributesHist_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um histórico
        de atributo de um usuário existente na base.
  "/chatapi/1.0/api/v2/user-attributes-hist/delete":
    delete:
      summary: Excluir um histórico de atributo de usuário
      operationId: excluirUmHistoricoDeAtributoDeUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um histórico de atributo de usuário da base de dados de
        acordo com os parâmetros informados.
  "/chatapi/1.0/api/v2/user-attributes-hist/save":
    post:
      summary: Salvar um histórico de atributo
      operationId: salvaUmHistoricoDeAtributo
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/UserAttributesHist"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/UserAttributesHist"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um histórico de atributo de um usuário existente
        na base.
  "/chatapi/1.0/api/v2/user-attributes-hist/unique":
    post:
      summary: Buscar um histórico de atributo de usuário único
      operationId: buscarUmHistoricoDeAtributoDeUsuarioUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/UserAttributesHist"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de histórico de atributo de usuário com
        base nas condições informadas na requisição.
  "/chatapi/1.0/api/v2/user-attributes/delete":
    delete:
      summary: Excluir um atributo de usuário
      operationId: excluirUmAtributoDeUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um atributo de usuário da base de dados de acordo com os
        parâmetros informados.
  "/chatapi/1.0/api/v2/user-attributes/save":
    post:
      summary: Salvar um atributo de um usuário
      operationId: salvaUmAtributoDeUmUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/UserAttributes"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/UserAttributes"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um atributo de um usuário existente na base.
  "/chatapi/1.0/api/v2/user-attributes/unique":
    post:
      summary: Buscar um atributo de usuário único
      operationId: buscarUmAtributoDeUsuarioUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/UserAttributes"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de atributo de usuário com base nas condições
        informadas na requisição.
  "/chatapi/1.0/api/v2/user-group":
    post:
      summary: Listar um grupo de usuário
      operationId: listarUmGrupoDeUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatUserGroupConf_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna uma lista de registros de grupo de usuário de acordo com
        os filtros informados na requisição.
  "/chatapi/1.0/api/v2/user-group/delete":
    delete:
      summary: Excluir um grupo de usuário
      operationId: excluirUmGrupoDeUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um grupo de usuário da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/user-group/save":
    post:
      summary: Salvar um grupo de usuário
      operationId: salvarUmGrupoDeUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatUserGroupConf"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatUserGroupConf"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um grupo de usuário na base de dados.
  "/chatapi/1.0/api/v2/user-group/unique":
    post:
      summary: Buscar um grupo de usuário único
      operationId: buscarUmGrupoDeUsuarioUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatUserGroupConf"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de grupo de usuário com base nas condições
        informadas na requisição.
  "/chatapi/1.0/api/v2/user-session":
    post:
      summary: Listar um usuário por sessão
      operationId: listarUmUsuarioPorSessao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_ChatSession_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um usuário
        por sessão de um atendimento.
  "/chatapi/1.0/api/v2/user-session/count":
    post:
      summary: Contar sessões de usuário
      operationId: contarSessoesDeUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: integer
                format: int64
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna a contagem total de sessões de usuário de acordo com os
        filtros informados.
  "/chatapi/1.0/api/v2/user-session/delete":
    delete:
      summary: Excluir uma sessão de usuário
      operationId: excluirUmaSessaoDeUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove uma sessão de usuário da base de dados de acordo com os
        parâmetros informados.
  "/chatapi/1.0/api/v2/user-session/save":
    post:
      summary: Salvar um usuário por sessão
      operationId: salvaUmUsuarioPorSessao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ChatSession"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatSession"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um usuário por sessão de um atendimento.
  "/chatapi/1.0/api/v2/user-session/survey":
    post:
      summary: Listar pesquisas de satisfação da sessão
      operationId: listarPesquisasDeSatisfacaoDaSessao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_SurveyResponse_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna todas as pesquisas de satisfação associadas a sessões de
        usuário.
  "/chatapi/1.0/api/v2/user-session/survey/nps-exists/{surveyName}/{sessionId}":
    get:
      summary: Verificar se NPS existe para a sessão
      operationId: verificarSeNpsExisteParaASessao
      tags:
      - API's Omnichannel
      parameters:
      - name: surveyName
        in: path
        required: true
        description: surveyName
        schema:
          type: string
      - name: sessionId
        in: path
        required: true
        description: sessionId
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Verifica se já existe uma pesquisa NPS registrada para a sessão
        e nome de pesquisa informados.
  "/chatapi/1.0/api/v2/user-session/survey/nps-score/{surveyName}/{sessionId}":
    get:
      summary: Obter pontuação NPS da sessão
      operationId: obterPontuacaoNpsDaSessao
      tags:
      - API's Omnichannel
      parameters:
      - name: surveyName
        in: path
        required: true
        description: surveyName
        schema:
          type: string
      - name: sessionId
        in: path
        required: true
        description: sessionId
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: integer
                format: int32
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna a pontuação NPS registrada para a sessão e nome de pesquisa
        informados.
  "/chatapi/1.0/api/v2/user-session/survey/nps-summary/{surveyName}":
    post:
      summary: Obter resumo NPS da pesquisa
      operationId: obterResumoNpsDaPesquisa
      tags:
      - API's Omnichannel
      parameters:
      - name: surveyName
        in: path
        required: true
        description: surveyName
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/NpsSurveySummary"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um resumo consolidado das pontuações NPS para o nome de
        pesquisa informado.
  "/chatapi/1.0/api/v2/user-session/survey/unique":
    post:
      summary: Buscar pesquisa de satisfação única da sessão
      operationId: buscarPesquisaDeSatisfacaoUnicaDaSessao
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/SurveyResponse"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de pesquisa de satisfação de sessão com
        base nas condições informadas.
  "/chatapi/1.0/api/v2/user-session/unique":
    post:
      summary: Buscar uma sessão de usuário única
      operationId: buscarUmaSessaoDeUsuarioUnica
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/ChatSession"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro única de sessão de usuário com base nas condições
        informadas na requisição.
  "/chatapi/1.0/api/v2/users":
    post:
      summary: Listar um usuário
      operationId: listarUmUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_User_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um usuário
        existente na base.
  "/chatapi/1.0/api/v2/users/channels":
    post:
      summary: Listar canais do usuário
      operationId: listarCanaisDoUsuario
      tags:
      - API's Omnichannel
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna todos os canais de atendimento associados ao usuário informado.
  "/chatapi/1.0/api/v2/users/delete":
    delete:
      summary: Excluir um usuário
      operationId: excluirUmUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um usuário da base de dados de acordo com os parâmetros
        informados.
  "/chatapi/1.0/api/v2/users/rules":
    post:
      summary: Listar regras do usuário
      operationId: listarRegrasDoUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/UserRuleRequest"
        description: userRuleRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna as regras de roteamento e permissões configuradas para
        o usuário informado.
  "/chatapi/1.0/api/v2/users/save":
    post:
      summary: Salvar um usuário
      operationId: salvaUmUsuario
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/User"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/User"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um usuário existente na base.
  "/chatapi/1.0/api/v2/users/save/administrator":
    post:
      summary: Salvar usuário administrador
      operationId: salvarUsuarioAdministrador
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/AdministratorDTO"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Cria ou atualiza um usuário com perfil de administrador na base
        de dados.
  "/chatapi/1.0/api/v2/users/save/agent":
    post:
      summary: Salvar usuário agente
      operationId: salvarUsuarioAgente
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/AgentDTO"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Cria ou atualiza um usuário com perfil de agente de atendimento.
  "/chatapi/1.0/api/v2/users/save/agent-supervisor":
    post:
      summary: Salvar usuário agente supervisor
      operationId: salvarUsuarioAgenteSupervisor
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/AgentSupervisorDTO"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Cria ou atualiza um usuário com perfil de agente supervisor.
  "/chatapi/1.0/api/v2/users/save/bot":
    post:
      summary: Salvar usuário bot
      operationId: salvarUsuarioBot
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/BotDTO"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Cria ou atualiza um usuário do tipo bot na base de dados.
  "/chatapi/1.0/api/v2/users/save/client":
    post:
      summary: Salvar usuário cliente
      operationId: salvarUsuarioCliente
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/ClientDTO"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Cria ou atualiza um usuário com perfil de cliente na base de dados.
  "/chatapi/1.0/api/v2/users/save/supervisor":
    post:
      summary: Salvar usuário supervisor
      operationId: salvarUsuarioSupervisor
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/SupervisorDTO"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Cria ou atualiza um usuário com perfil de supervisor de atendimento.
  "/chatapi/1.0/api/v2/users/unique":
    post:
      summary: Buscar um usuário único
      operationId: buscarUmUsuarioUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/User"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de usuário com base nas condições informadas
        na requisição.
  "/chatapi/1.0/api/v2/users/{id}/agent":
    get:
      summary: Buscar agente vinculado ao usuário
      operationId: buscarAgenteVinculadoAoUsuario
      tags:
      - API's Omnichannel
      parameters:
      - name: id
        in: path
        required: true
        description: id
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/AgentDTO"
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna os dados do agente associado ao usuário informado pelo
        ID.
  "/chatapi/1.0/api/v2/users/{id}/agent-supervisor":
    get:
      summary: Buscar agente supervisor vinculado ao usuário
      operationId: buscarAgenteSupervisorVinculadoAoUsuario
      tags:
      - API's Omnichannel
      parameters:
      - name: id
        in: path
        required: true
        description: id
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/AgentSupervisorDTO"
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna os dados do agente supervisor associado ao usuário informado
        pelo ID.
  "/chatapi/1.0/api/v2/work-schedule":
    post:
      summary: Listar um horário de funcionamento
      operationId: listarUmHorarioDeFuncionamento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_WorkSchedule_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: De acordo com o filtro informado, esta requisição retorna um horário
        de funcionamento.
  "/chatapi/1.0/api/v2/work-schedule/delete":
    delete:
      summary: Excluir um horário de funcionamento
      operationId: excluirUmHorarioDeFuncionamento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: integer
              format: int64
        description: id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: boolean
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearerAuth: []
      description: Remove um horário de funcionamento da base de dados de acordo com
        os parâmetros informados.
  "/chatapi/1.0/api/v2/work-schedule/save":
    post:
      summary: Salvar um horário de funcionamento
      operationId: salvaUmHorarioDeFuncionamento
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/WorkSchedule"
        description: obj
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/WorkSchedule"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Salva ou atualiza um horário de funcionamento.
  "/chatapi/1.0/api/v2/work-schedule/unique":
    post:
      summary: Buscar um horário de funcionamento único
      operationId: buscarUmHorarioDeFuncionamentoUnico
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomRequest"
        description: request
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/WorkSchedule"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna um registro único de horário de funcionamento com base
        nas condições informadas na requisição.
  "/chatapi/1.0/api/v3/campaign":
    post:
      summary: Listar uma campanha
      operationId: listarUmaCampanha
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CustomPageRequest"
        description: pageRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/PageResponse_CampaignConfig_"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna uma lista de registros de campanha de acordo com os filtros
        informados na requisição.
  "/chatapi/1.0/api/v3/campaign/execute":
    post:
      summary: Executar campanha
      operationId: executarCampanha
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CampaignExecuteRequest"
        description: campaignExecuteRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/CampaignExecuteResponse"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Dispara a execução de uma campanha ativa, iniciando o envio para
        os destinatários configurados.
  "/chatapi/1.0/api/v3/campaign/execute/status":
    post:
      summary: Consultar status de execução da campanha
      operationId: consultarStatusDeExecucaoDaCampanha
      tags:
      - API's Omnichannel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              "$ref": "#/components/schemas/CampaignStatusRequest"
        description: campaignStatusRequest
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                "$ref": "#/components/schemas/CampaignStatusResponse"
        '201':
          description: Created
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Retorna o status atual da execução de uma campanha, incluindo progresso
        e resultados parciais.
  "/chatapi/1.0/error":
    get:
      summary: Tratar erro da API
      operationId: tratarErroDaApi
      tags:
      - API's Omnichannel
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearerAuth: []
      description: Endpoint interno de tratamento de erros da API. Retorna detalhes
        do erro ocorrido na requisição.
tags:
- name: Padrão de Requests
  description: "Todas as requisições devem incluir o header de autenticação:\n\n```\nAuthorization:
    Bearer {SEU_TOKEN_COM_A_NEPPO}\n```\n\nPara você chamar as requisições de cada
    consulta é possível passar um array de condições semelhante ao que é feito em
    uma consulta SQL básica. E você pode filtrar os dados conforme sua necessidade.\n\n##
    Estrutura para chamar os dados:\n\nA estrutura básica para solicitações é:\n\n```\n{\n
    \ \"conditions\": [\n    {\n      \"key\": \"string\",\n      \"value\": \"string\",\n
    \     \"operator\": \"EQ\",\n      \"logic\": \"AND\",\n      \"or\": [\n        {}\n
    \     ],\n      \"and\": [\n        {}\n      ]\n    }\n  ],\n  \"sort\": true,\n
    \ \"direction\": \"ASC\",\n  \"sortColumn\": \"string\"\n}\n```\n\nou por paginação:\n\n```\n{\n
    \ \"conditions\": [\n        {\n            \"key\": \"string\",\n            \"value\":
    \"string\",\n            \"operator\": \"EQ\",\n            \"logic\": \"AND\",\n
    \           \"or\": [\n                {}\n            ],\n            \"and\":
    [\n                {}\n            ]\n        }\n    ],\n    \"direction\": \"ASC\",\n
    \   \"page\": 0,\n    \"sort\": false,\n    \"sortColumn\": \"id\",\n    \"size\":
    10\n}\n```\n\n- Descrição da estrutura:\n\nO \"conditions\" é usado para fazer
    filtros de busca na plataforma. Para saber qual operador com cada campo usar,
    confira na: \"Tabela de Operadores\" no item abaixo. Caso queira trazer todos
    os dados e não fazer filtros basta informar o \"conditions\": [].\n\nO \"direction\"
    traz a ordem pela qual será realizada a ordenação. \nNo \"sort\" deve ser informado
    se será realizada a ordenação os valores a serem informados deverão ser: \"true\"
    para fazer a ordenação e \"false\" quando não quiser trazer os dados ordenados.\nSempre
    que o \"sort\" for \"true\" é necessário informar o \"sortColumn\" que é o nome
    da coluna da api onde será realizada a ordenação.\n\nJá o \"page\" é o número
    da página que pretende retornar.\n\nNo \"size\" deve ser informado a quantidade
    de registros a ser retornado.\n\n### Tabela de Operadores\n\nOs operadores que
    podem ser utilizados para requisições estão na tabela abaixo:\n\n|Operador |Descrição|\n|--------|--------------------|\n|EQ
    |Para comparação com strings ou valores numéricos |\n|EQNUM |Para comparação com
    valores numéricos |\n|NEQ |Para comparação se não for string e não for valores
    numéricos |\n|NEQNUM |Para comparação se não forem valores numéricos |\n|LIKE
    |Para comparação com strings ou valores numéricos |\n|NOT_LIKE |Para comparação
    se não for string e não for valores numéricos |\n|IN |Para verificar com o grupo
    as opções com string ou valores numéricos |\n|NOT_IN |Para verificar se não há
    ninguém no grupo de opções com string ou valores numéricos |\n|IS_NULL |Para verificar
    se é um valor nulo |\n|NOT_NULL |Para verificar se não é um valor nulo |\n|BEFORE
    |Para comparação entre datas, se a data for menor a data definida |\n|AFTER |Para
    comparação entre datas, se a data for maior a data definida |\n|IS_TRUE |Para
    verificar bollean, se é um valor verdadeiro |\n|IS_FALSE |Para verificação bolleana,
    se for um valor falso |\n\n### Tabela de Códigos de Resposta\n\nA tabela abaixo
    descreve os possíveis códigos de resposta para este endpoint.\n\n| Código | Descrição
    \         |\n|--------|--------------------|\n| 200    | OK                 |\n|
    204    | No Content         |\n| 400    | Requisição inválida|\n| 401    | Não
    autorizado     |\n| 403    | Proibido           |\n| 404    | Não encontrado     |\n|
    500    | Erro no servidor   |"
- name: Exemplos de Chamadas
  description: Exemplos práticos de uso da API, com foco em **envio ativo** de mensagens
    (texto, template, mídia, botões e autenticação) nos diversos canais (WhatsApp,
    E-mail, SMS, Telegram) e na consulta do retorno desses envios.
- name: API's Omnichannel
  description: 'Gestão das entidades centrais do Neppo Omnichannel via `/chatapi/1.0/api`.
    Inclui agentes, histórico de agente/usuário, atributos, atributos de usuários,
    bots, classificações, cognições, comentários de sessão, configurações de bot/web,
    grupos de atendimento, feriados e envio ativo de mensagens. As operações seguem
    um padrão consistente: `POST` (listar/filtrar com `conditions`), `POST .../save`
    (criar ou atualizar) e `DELETE` (excluir).'
- name: API's IAN
  description: 'APIs de Inteligência Artificial Neppo (IAN). Em `/transformersapi/1.0`:
    Reconhecimento de Entidades Nomeadas (NER), NLP, busca semântica por similaridade,
    gestão de modelos, base de conhecimento (upload e índices), busca/listagem em
    índices, resumo e sumarização de atendimentos e status de processamento (DAG).
    Em `/voicemodelapi/1.0`: conversão de áudio para texto (STT) e de texto para áudio
    (TTS).'
- name: API's de Ticket
  description: |-
    As API's de Ticket permitem gerenciar tickets de suporte na plataforma Neppo, incluindo criação, consulta, atualização, anexo de arquivos, comentários e vínculos entre tickets.

    Dicas de implementação:

    - **Tratamento de erros:** Sempre verifique o campo `status`. Se for `"ERROR"`, consulte a `message` e o `errorCode` para depuração.

    - **Campos personalizados:** Caso o projeto utilize campos personalizados, eles devem ser enviados no array `customFields` seguindo a estrutura: `{"customFieldId": 1, "value": "Texto"}`.
- name: API's Webhook
  description: |-
    As API's de Webhook são usadas para integrar os sistemas de clientes ao Neppo Omnichannel.

    ## Informações sobre os Eventos

    Ao cadastrar o webhook, nosso sistema irá fazer uma chamada POST com os seguintes dados baseados no tipo de webhook cadastrado.

    ```
    {
        "component": "exampleComponent",
        "content": "{}",
        "entity": "exampleEntity",
        "action": "exampleAction",
        "logLevel": "INFO",
        "timestamp": 1693081600000,
        "tenant": "exampleTenant",
        "error": "exampleError"
    }
    ```

    Sendo:

    |Operador |Descrição|
    |--------|--------------------|
    |component |Tipo do evento (MESSAGE, STATUS, VOICE, SESSION, BOT, ENTITY ou CHAT_API) |
    |content |Conteudo do evento em json escapado |
    |entity |Entidade do modelo caso evento for de criação/atualização de entidades |
    |action |Ação que gerou o evento para caso de criação/atualização de entidades |
    |logLevel |Nível do evento podendo ser INFO ou ERROR |
    |timestamp |Data que o evento aconteceu |
    |tenant |Identificador do cliente |
    |error |Descrição do erro caso houver |

    ## Tipos de evento

    ### MESSAGE - mensagens trocadas pelo sistema

    Exemplo de payload:

    ```
    {
      "component": "MESSAGE",
      "content": "{
        "message": "olá",
        "fromUser": "botcomercial",
        "fromUserResource": "9431120a",
        "toUserResource": "203cbd4f",
        "command": "REDIRECT_TO_QUEUE",
        "group": "Telegram",
        "sessionId": 70021,
        "sessionOn": true,
        "createdAt": 1724673241210
        }",
      "entity": null,
      "action": null,
      "logLevel": "INFO",
      "timestamp": 1724673241210,
      "tenant": "comercial",
      "error": ""
    }
    ```

    ### STATUS - informações sobre agentes(login, loggout, pausa)

    Exemplo de payload:

    ```
    {
      "component": "STATUS",
      "content": "{
            "id": 102825,
            "agent": {
            "id": 167,
            "maxChatChannels": 5,
            "status": "ONLINE",
            "loginAttendance": "",
            "extensionAttendance": "230",
            "paused": false
            },
            "status": "ONLINE",
            "maxChatChannels": 5,
            "createdAt": 1724673132437,
            "descriptionOfChange": "LOGIN",
            "user": {
            "id": 9256,
            "userName": "fernanda_agente",
            "displayName": "Fernanda Leal",
            "email": "fernanda.leal@demo.com.br",
            "firstAccess": false,
            "typeUser": "AGENT",
            "birthDate": 1675652400000,
            "phone": "5534991506555",
            "country": "br",
            "active": true,
            "visible": true,
            "formal": true,
            "priority": 2,
            "defaultLocale": "pt-Br",
            "botActive": false,
            "botSurvey": false,
            "botExternal": false,
            "connectTimeStamp": 1724673132440,
            "loginAgentTimeStamp": 0,
            "user": false
            }
        }",
      "entity": null,
      "action": null,
      "logLevel": "INFO",
      "timestamp": 1724673132440,
      "tenant": "comercial",
      "error": ""
    }
    ```

    ### SESSION - informação sobre as sessões(criação, redirecionamentos, fechamento..)

    Exemplo de payload:

    ```
    {
      "component": "SESSION",
      "content": "{
        "id": 70017,
        "protocol": "WA00000070017",
        "user": {
            "updatedBy": "comercial_ploomes",
            "updatedAt": 1723659001000,
            "createdAt": 1520451837000,
            "id": 61,
            "userName": "whatsapp_5534999610600",
            "name": "rafael@neppo.com.br",
            "displayName": "rafael@neppo.com.br",
            "cpf": "",
            "email": "rafael@neppo.com.br",
            "firstAccess": false,
            "typeUser": "USER",
            "originUser": "WHATSAPP",
            "birthDate": 1536202800000,
            "phone": "5534999610600",
            "country": "br",
            "active": true,
            "visible": true,
            "formal": true,
            "priority": 0,
            "externalCode": "414981529",
            "defaultLocale": "pt-Br",
            "tm2": false,
            "usingMFA": false,
            "createdFromSurvey": false,
            "botActive": false,
            "botSurvey": false,
            "botExternal": false,
            "connectTimeStamp": 1724629477179,
            "loginAgentTimeStamp": 0,
            "user": true
        },
        "status": "CLOSED",
        "groupConf": {
            "updatedBy": "Adm_ploomes",
            "updatedAt": 1721136924000,
            "createdBy": "paulaadm",
            "createdAt": 1681397640000,
            "id": 103,
            "name": "Comercial Oficial Novo",
            "offlineAttendance": true,
            "defaultAgent": {
            "createdBy": "SYSTEM",
            "createdAt": 1713524720000,
            "id": 15329,
            "userName": "Apresentação Teste Neppo@botserver",
            "displayName": "Apresentação Teste Neppo@botserver",
            "typeUser": "BOT",
            "active": true,
            "visible": true,
            "botActive": false,
            "botSurvey": false,
            "botExternal": false,
            "connectTimeStamp": 1724629477176,
            "loginAgentTimeStamp": 0,
            "user": false
            },
            "survey": 1,
            "finalAgent": {
            "updatedBy": "alisson_sadmin",
            "updatedAt": 1723578482000,
            "createdAt": 1557757791000,
            "id": 3574,
            "userName": "Pesquisa_Comercial",
            "name": "Pesquisa Comercial",
            "displayName": "Pesquisa_Comercial",
            "firstAccess": false,
            "typeUser": "BOT",
            "active": true,
            "visible": true,
            "defaultLocale": "pt-Br",
            "tm2": false,
            "usingMFA": false,
            "createdFromSurvey": true,
            "botActive": false,
            "botSurvey": false,
            "botExternal": false,
            "connectTimeStamp": 1724629477177,
            "loginAgentTimeStamp": 0,
            "user": false
            },
            "mandatoryFinalAgent": true,
            "classificationTree": {
            "createdAt": 1558550630000,
            "id": 25,
            "value": "ÁREA DE VENDAS",
            "active": true,
            "children": []
            },
            "channels": [
            {
                "id": 1,
                "name": "WHATSAPP",
                "createdAt": 1703031948000
            },
            {
                "id": 5,
                "name": "FACEBOOK",
                "createdAt": 1703031948000
            }
            ],
            "mandatoryClassificationTree": true,
            "active": true,
            "visible": true,
            "smsActiveShipping": false,
            "whatsappActiveShipping": true,
            "telegramActiveShipping": false,
            "emailActiveShipping": false,
            "voiceActiveShipping": false,
            "uraActiveShipping": false,
            "wavy": true,
            "whatsappPartner": true,
            "whatsappPartnerInactivity": 60,
            "inngageShipping": false,
            "scheduleName": "Horario",
            "operation": {
            "updatedBy": "ana_sadmin",
            "updatedAt": 1705065166000,
            "createdBy": "ADMIN",
            "createdAt": 1507559184000,
            "id": 2,
            "company": {
                "id": 11,
                "companyName": "Neppo Tecnologia da Informação Ltda",
                "tradeName": "Neppo TI",
                "sku": "11NEPPOTI69COMERCIALTM2",
                "address": "Avenida Afonso Pena",
                "number": "1969",
                "complement": "Sala 201",
                "neighborhood": "Aparecida",
                "cep": "38400708",
                "city": "Uberlândia",
                "state": "MG",
                "country": "br",
                "cnpj": "10884449000113",
                "stateRegistration": "000000000",
                "phoneContact": "553432274551",
                "nameContact": "Leonardo Marques",
                "site": "www.neppo.com.br",
                "email": "leonardo@neppo.com.br",
                "active": true,
                "timeHistory": 5,
                "contractSignature": 1,
                "groupCompany": {
                "id": 1,
                "groupCompany": "NEPPO",
                "active": true
                },
                "defaultLocale": "pt-Br"
            },
            "operationName": "NEPPO",
            "operationStatus": true,
            "verifyHoliday": true,
            "country": "br",
            "defaultLocale": "pt-Br",
            "customerPortfolio": true
            },
            "limitTimeWaitingForInteract": 86400,
            "queueScheduleStrategy": false,
            "skipQueue": false,
            "timeMaxAttendance": 30,
            "sla": 3,
            "agentExpireSession": false,
            "redirectAttendanceAgentDisconnect": true,
            "queueControl": "random",
            "agentReplyMaxDelay": 60000,
            "businessUnit": "tm2digital_comercial",
            "acceptedMedias": "IMAGE,AUDIO,VIDEO,APPLICATION",
            "configInactivity": false,
            "messageSentBy": "COMPANY",
            "pausedTransfer": false,
            "gatewayQueue": "MULTITENANT_360_CLOUD",
            "scheduleActiveSendTime": 0,
            "onlyBot": false,
            "broker": "360_DIALOG",
            "priorityEmailSignature": false,
            "groups": []
        },
        "createdAt": 1724543135674,
        "closedAt": 1724629477171,
        "updatedAt": 1724629477171,
        "updatedBy": "Apresentação Teste Neppo@botserver",
        "closedBy": "AUDITOR",
        "userConnectedInstance": "neppochat-instance-7d90fa71",
        "userConnectedResource": "00y7puzd",
        "externalProtocol": "553499610600",
        "inactivity": "USER_WHATSAPP_INACTIVITY",
        "lastAgent": "queue",
        "pending": false,
        "priority": false,
        "onlyBot": true,
        "tme": 86041,
        "tma": 86341,
        "tmo": 86341,
        "groupList": "103-Comercial Oficial Novo",
        "properties": "{\"timeMaxAttendance\":30, \"sla\":3}"
        }",
      "entity": null,
      "action": null,
      "logLevel": "INFO",
      "timestamp": 1724629477183,
      "tenant": "comercial",
      "error": ""
    }
    ```

    ### VOICE - informações sobre chamadas de voz

    Exemplo de payload:

    ```
    {
      "component": "VOICE",
      "content": "{
        "startEvent": false,
        "callerId": "whatsapp-transfere",
        "callId": "7b7217b9-437b-45bf-8800-a67187daf69a",
        "groupName": "VOIP",
        "createdAt": 1724509290310,
        "userPhone": "5534991792524",
        "eventType": "HANGUP",
        "ivrTime": 0,
        "waitingTime": 0,
        "attendanceTime": 0,
        "finishedAt": 1724509317030,
        "origCallId": "8rhkqskqi8xe7xgrrps8kxi8j0e7sssg@UAC",
        "startedByAgent": false,
        "finishedByAgent": true,
        "audioPath": "https://comercial-pbx.neppo.com.br/archive/2024/08/24/7b7217b9-437b-45bf-8800-a67187daf69a.wav",
        "callerType": "inbound",
        "finalHangup": true,
        "origin": "34991792524",
        "pendingHangup": false
        }",
      "entity": null,
      "action": null,
      "logLevel": "INFO",
      "timestamp": 1724509317059,
      "tenant": "comercial",
      "error": ""
    }
    ```

    ### BOT - informações vindas dos bots(troca de mensagem, chamadas de api...)

    Exemplo de payload:

    ```
    {
      "component": "BOT",
      "content": "{
        "message": "#TO_QUEUE",
        "fromUserResource": "9431120a",
        "toUserResource": "203cbd4f",
        "command": "REDIRECT_TO_QUEUE",
        "sessionId": 70021,
        "sessionOn": true,
        "createdAt": 1724673241210
        }",
      "entity": null,
      "action": null,
      "logLevel": "INFO",
      "timestamp": 1724673241210,
      "tenant": "comercial",
      "error": ""
    }
    ```

    ### CHAT_API - eventos customizados vindos da chat api

    Exemplo de payload:

    ```
    {
        "component": "CHAT_API",
        "content": "{
            "customEvent": "test"
            }",
        "entity": "null",
        "action": "null",
        "logLevel": "INFO",
        "timestamp": 1693081600000,
        "tenant": "comercial",
        "error": ""
    }
    ```

    ### ENTITY - informação sobre criação/atualização de entidades no sistema

    Exemplo de payload:

    ```
    {
      "component": "ENTITY",
      "content": "{
        "id": 70017,
        "protocol": "WA00000070017",
        "user": {
            "updatedBy": "comercial_ploomes",
            "updatedAt": 1723659001000,
            "createdAt": 1520451837000,
            "id": 61,
            "userName": "whatsapp_5534999610600",
            "name": "rafael@neppo.com.br",
            "displayName": "rafael@neppo.com.br",
            "cpf": "",
            "email": "rafael@neppo.com.br",
            "firstAccess": false,
            "typeUser": "USER",
            "originUser": "WHATSAPP",
            "birthDate": 1536202800000,
            "phone": "5534999610600",
            "country": "br",
            "active": true,
            "visible": true,
            "formal": true,
            "priority": 0,
            "externalCode": "414981529",
            "defaultLocale": "pt-Br",
            "tm2": false,
            "usingMFA": false,
            "createdFromSurvey": false,
            "botActive": false,
            "botSurvey": false,
            "botExternal": false,
            "connectTimeStamp": 1724629477179,
            "loginAgentTimeStamp": 0,
            "user": true
        },
        "status": "CLOSED",
        "groupConf": {
            "updatedBy": "Adm_ploomes",
            "updatedAt": 1721136924000,
            "createdBy": "paulaadm",
            "createdAt": 1681397640000,
            "id": 103,
            "name": "Comercial Oficial Novo",
            "offlineAttendance": true,
            "defaultAgent": {
            "createdBy": "SYSTEM",
            "createdAt": 1713524720000,
            "id": 15329,
            "userName": "Apresentação Teste Neppo@botserver",
            "displayName": "Apresentação Teste Neppo@botserver",
            "typeUser": "BOT",
            "active": true,
            "visible": true,
            "botActive": false,
            "botSurvey": false,
            "botExternal": false,
            "connectTimeStamp": 1724629477176,
            "loginAgentTimeStamp": 0,
            "user": false
            },
            "survey": 1,
            "finalAgent": {
            "updatedBy": "alisson_sadmin",
            "updatedAt": 1723578482000,
            "createdAt": 1557757791000,
            "id": 3574,
            "userName": "Pesquisa_Comercial",
            "name": "Pesquisa Comercial",
            "displayName": "Pesquisa_Comercial",
            "firstAccess": false,
            "typeUser": "BOT",
            "active": true,
            "visible": true,
            "defaultLocale": "pt-Br",
            "tm2": false,
            "usingMFA": false,
            "createdFromSurvey": true,
            "botActive": false,
            "botSurvey": false,
            "botExternal": false,
            "connectTimeStamp": 1724629477177,
            "loginAgentTimeStamp": 0,
            "user": false
            },
            "mandatoryFinalAgent": true,
            "classificationTree": {
            "createdAt": 1558550630000,
            "id": 25,
            "value": "ÁREA DE VENDAS",
            "active": true,
            "children": []
            },
            "channels": [
            {
                "id": 1,
                "name": "WHATSAPP",
                "createdAt": 1703031948000
            },
            {
                "id": 5,
                "name": "FACEBOOK",
                "createdAt": 1703031948000
            }
            ],
            "mandatoryClassificationTree": true,
            "active": true,
            "visible": true,
            "smsActiveShipping": false,
            "whatsappActiveShipping": true,
            "telegramActiveShipping": false,
            "emailActiveShipping": false,
            "voiceActiveShipping": false,
            "uraActiveShipping": false,
            "wavy": true,
            "whatsappPartner": true,
            "whatsappPartnerInactivity": 60,
            "inngageShipping": false,
            "scheduleName": "Horario",
            "operation": {
            "updatedBy": "ana_sadmin",
            "updatedAt": 1705065166000,
            "createdBy": "ADMIN",
            "createdAt": 1507559184000,
            "id": 2,
            "company": {
                "id": 11,
                "companyName": "Neppo Tecnologia da Informação Ltda",
                "tradeName": "Neppo TI",
                "sku": "11NEPPOTI69COMERCIALTM2",
                "address": "Avenida Afonso Pena",
                "number": "1969",
                "complement": "Sala 201",
                "neighborhood": "Aparecida",
                "cep": "38400708",
                "city": "Uberlândia",
                "state": "MG",
                "country": "br",
                "cnpj": "10884449000113",
                "stateRegistration": "000000000",
                "phoneContact": "553432274551",
                "nameContact": "Leonardo Marques",
                "site": "www.neppo.com.br",
                "email": "leonardo@neppo.com.br",
                "active": true,
                "timeHistory": 5,
                "contractSignature": 1,
                "groupCompany": {
                "id": 1,
                "groupCompany": "NEPPO",
                "active": true
                },
                "defaultLocale": "pt-Br"
            },
            "operationName": "NEPPO",
            "operationStatus": true,
            "verifyHoliday": true,
            "country": "br",
            "defaultLocale": "pt-Br",
            "customerPortfolio": true
            },
            "limitTimeWaitingForInteract": 86400,
            "queueScheduleStrategy": false,
            "skipQueue": false,
            "timeMaxAttendance": 30,
            "sla": 3,
            "agentExpireSession": false,
            "redirectAttendanceAgentDisconnect": true,
            "queueControl": "random",
            "agentReplyMaxDelay": 60000,
            "businessUnit": "tm2digital_comercial",
            "acceptedMedias": "IMAGE,AUDIO,VIDEO,APPLICATION",
            "configInactivity": false,
            "messageSentBy": "COMPANY",
            "pausedTransfer": false,
            "gatewayQueue": "MULTITENANT_360_CLOUD",
            "scheduleActiveSendTime": 0,
            "onlyBot": false,
            "broker": "360_DIALOG",
            "priorityEmailSignature": false,
            "groups": []
        },
        "createdAt": 1724543135674,
        "closedAt": 1724629477171,
        "updatedAt": 1724629477171,
        "updatedBy": "Apresentação Teste Neppo@botserver",
        "closedBy": "AUDITOR",
        "userConnectedInstance": "neppochat-instance-7d90fa71",
        "userConnectedResource": "00y7puzd",
        "externalProtocol": "553499610600",
        "inactivity": "USER_WHATSAPP_INACTIVITY",
        "lastAgent": "queue",
        "pending": false,
        "priority": false,
        "onlyBot": true,
        "tme": 86041,
        "tma": 86341,
        "tmo": 86341,
        "groupList": "103-Comercial Oficial Novo",
        "properties": "{\"timeMaxAttendance\":30, \"sla\":3}"
        }",
      "entity": "ChatSession",
      "action": "CREATE",
      "logLevel": "INFO",
      "timestamp": 1724629477183,
      "tenant": "comercial",
      "error": ""
    }
    ```

    Quais entidades quer receber eventos:

    Entidades do sistema:

    [
      "Agent",
      "AgentHist",
      "AgentHistStatus",
      "AgentInfo",
      "AgentInfoAgent",
      "AgentInfoGroup",
      "AgentMetadata",
      "AgentReplyDelay",
      "Answer",
      "AppleComponent",
      "AssociationClientsToAgents",
      "Attributes",
      "Bot",
      "BotNode",
      "BotProtocol",
      "BotTree",
      "BroadcastList",
      "Campaign",
      "CampaignDefaultContent",
      "CampaignDispatch",
      "CampaignDispatchComponent",
      "CampaignDispatchContent",
      "CampaignDispatchParam",
      "CampaignTemplate",
      "ChatAccess",
      "ChatApiCredential",
      "ChatCallLog",
      "ChatCallLogHist",
      "ChatChannel",
      "ChatConfiguration",
      "ChatCountry",
      "ChatDirectMessage",
      "ChatEmailConfig",
      "ChatEmailCopy",
      "ChatError",
      "ChatExternAgent",
      "ChatGroupChannel",
      "ChatGroupCompany",
      "ChatJob",
      "ChatLastDirectMessage",
      "ChatLog",
      "ChatLogEntity",
      "ChatMessage",
      "ChatMessageDeleted",
      "ChatProfile",
      "ChatReporterDef",
      "ChatRule",
      "ChatSelfService",
      "ChatSelfServiceTelegram",
      "ChatSession",
      "ChatSessionComment",
      "ChatSessionHist",
      "ChatSessionTag",
      "ChatSessionTimePending",
      "ChatSessionTme",
      "ChatSettings",
      "ChatTag",
      "ChatUserGroupConf",
      "ChatUserTag",
      "ChatWAMetadata",
      "ChatWavy",
      "ChatWebConf",
      "ClassificationServices",
      "ClassificationTree",
      "Cognition",
      "Company",
      "Email",
      "EmailTemplate",
      "ExclusionRequest",
      "FacebookPageToken",
      "Greetings",
      "GroupConf",
      "GroupSLAInfo",
      "Holiday",
      "HolidayOperation",
      "HsmTemplate",
      "HsmTemplateParam",
      "InternalChat",
      "InternalChatMessage",
      "InternalChatParticipant",
      "Manual",
      "MessageBundle",
      "MessageBundlePatterns",
      "Mnemonic",
      "MnemonicGroup",
      "NoAccess",
      "Operation",
      "PasswordResetToken",
      "PauseReason",
      "PhotoUser",
      "ProfileRule",
      "ProfileWorkSchedule",
      "Question",
      "QuestionAnswer",
      "QuestionSurvey",
      "Report",
      "ReporterDefinition",
      "ReservedWord",
      "RestrictedWord",
      "Survey",
      "SurveyAnswer",
      "SurveyType",
      "TableMetadata",
      "Task",
      "TaskTemplateParameter",
      "UseReservedWords",
      "UseRestrictedWords",
      "User",
      "UserAttributes",
      "UserAttributesHist",
      "UserGroup",
      "UserHist",
      "UserLogStatus",
      "UserOperation",
      "UserPasswordHist",
      "UserWorkSchedule",
      "UsersToTasks",
      "WhatsAppPhone",
      "WhatsAppSession",
      "WhatsAppSessionProtocol",
      "WorkSchedule"
    ]
servers:
- url: https://api.neppo.com.br
  description: Ambiente de Produção
components:
  requestBodies:
    Listar_um_registro_de_vozBody:
      content:
        application/json:
          schema:
            type: object
            properties:
              conditions:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                    value:
                      type: string
                    operator:
                      type: string
                    logic:
                      type: string
                    or:
                      type: array
                      items:
                        type: string
                    and:
                      type: array
                      items:
                        type: string
              sort:
                type: boolean
              direction:
                type: string
              sortColumn:
                type: string
            example:
              conditions:
              - key: string
                value: string
                operator: EQ
                logic: AND
                or:
                - string
                and:
                - string
              sort: true
              direction: ASC
              sortColumn: string
    Exclui_um_registro_de_vozBody:
      content:
        application/json:
          schema:
            type: object
            properties: {}
            example: {}
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Token
      description: 'Autenticação via token Bearer. Envie o header `Authorization:
        Bearer {SEU_TOKEN_COM_A_NEPPO}`. Solicite seu token ao time comercial Neppo.'
  schemas:
    AdministratorDTO:
      type: object
      properties:
        active:
          type: boolean
        birthDate:
          type: string
        displayName:
          type: string
        email:
          type: string
        firstAccess:
          type: boolean
        id:
          type: integer
          format: int64
        password:
          type: string
        phone:
          type: string
        profile:
          "$ref": "#/components/schemas/ChatProfile"
        userName:
          type: string
        usingMFA:
          type: boolean
        company:
          "$ref": "#/components/schemas/Company"
    Agent:
      type: object
      properties:
        agentAllHistory:
          type: boolean
        agentAllHistoryOperation:
          type: boolean
        agentAttendSimple:
          type: boolean
        agentToken:
          type: string
        agentViewPhone:
          type: boolean
        attendanceServiceChannel:
          type: string
        audioOn:
          type: boolean
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        department:
          type: string
        extensionAttendance:
          type: string
        id:
          type: integer
          format: int64
        loginAttendance:
          type: string
        maxChatChannels:
          type: integer
          format: int64
        passwordAttendance:
          type: string
        pauseOnReceiveCall:
          type: boolean
        socialToken:
          type: string
        status:
          type: string
        superAgent:
          type: boolean
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        user:
          "$ref": "#/components/schemas/User"
        virtualAgent:
          type: boolean
    AgentDTO:
      type: object
      required:
      - active
      - firstAccess
      properties:
        active:
          type: boolean
        agentAllHistory:
          type: boolean
        agentAllHistoryOperation:
          type: boolean
        agentAttendSimple:
          type: boolean
        agentToken:
          type: string
        agentViewPhone:
          type: boolean
        birthDate:
          type: string
        chatAgent:
          type: boolean
        department:
          type: string
        displayName:
          type: string
        email:
          type: string
        firstAccess:
          type: boolean
        groupsId:
          type: array
          items:
            type: integer
            format: int64
        id:
          type: integer
          format: int64
        maxChatChannels:
          type: integer
          format: int64
        password:
          type: string
        pauseOnReceiveCall:
          type: boolean
        phone:
          type: string
        priority:
          type: integer
          format: int64
        profile:
          "$ref": "#/components/schemas/ChatProfile"
        socialToken:
          type: string
        superAgent:
          type: boolean
        userName:
          type: string
        usingMFA:
          type: boolean
        virtualAgent:
          type: boolean
        voice:
          "$ref": "#/components/schemas/VoiceCallCenterAgentDTO"
    AgentHist:
      type: object
      properties:
        agent:
          "$ref": "#/components/schemas/Agent"
        createdAt:
          type: string
          format: date-time
        descriptionOfChange:
          type: string
        id:
          type: integer
          format: int64
        maxChatChannels:
          type: integer
          format: int32
        pauseReasonsId:
          "$ref": "#/components/schemas/PauseReason"
        status:
          type: string
        updatedBy:
          type: string
    AgentSupervisorDTO:
      type: object
      required:
      - active
      - firstAccess
      properties:
        active:
          type: boolean
        agentAllHistory:
          type: boolean
        agentAllHistoryOperation:
          type: boolean
        agentAttendSimple:
          type: boolean
        agentToken:
          type: string
        agentViewPhone:
          type: boolean
        birthDate:
          type: string
        chatAgent:
          type: boolean
        department:
          type: string
        displayName:
          type: string
        email:
          type: string
        firstAccess:
          type: boolean
        groupsId:
          type: array
          items:
            type: integer
            format: int64
        id:
          type: integer
          format: int64
        maxChatChannels:
          type: integer
          format: int64
        operationsId:
          type: array
          items:
            type: integer
            format: int64
        password:
          type: string
        pauseOnReceiveCall:
          type: boolean
        phone:
          type: string
        priority:
          type: integer
          format: int64
        profile:
          "$ref": "#/components/schemas/ChatProfile"
        socialToken:
          type: string
        superAgent:
          type: boolean
        userName:
          type: string
        usingMFA:
          type: boolean
        virtualAgent:
          type: boolean
        voice:
          "$ref": "#/components/schemas/VoiceCallCenterAgentDTO"
    AnswerDTO:
      type: object
      required:
      - status
      - value
      properties:
        id:
          type: integer
          format: int64
        status:
          type: boolean
        value:
          type: string
    AssociationId:
      type: object
      properties:
        userId:
          type: integer
          format: int64
        agentId:
          type: integer
          format: int64
    AttributeValueDTO:
      type: object
      properties:
        description:
          type: string
        value:
          type: string
    Attributes:
      type: object
      properties:
        active:
          type: boolean
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        description:
          type: string
        id:
          type: integer
          format: int64
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    BillingEventDTO:
      type: object
      required:
      - component
      - content
      properties:
        component:
          type: string
        content:
          type: string
        resource:
          type: string
        duration:
          type: integer
          format: int64
        startTime:
          type: integer
          format: int64
        endTime:
          type: integer
          format: int64
        timestamp:
          type: integer
          format: int64
        extra:
          type: string
    Bot:
      type: object
      properties:
        active:
          type: boolean
        agent:
          "$ref": "#/components/schemas/User"
        botTree:
          "$ref": "#/components/schemas/BotTree"
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        external:
          type: boolean
        id:
          type: integer
          format: int64
        survey:
          type: boolean
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    BotAnswer:
      type: object
      properties:
        answer:
          type: string
        botQuestions:
          "$ref": "#/components/schemas/BotQuestion"
        id:
          type: integer
          format: int64
        session:
          "$ref": "#/components/schemas/ChatSession"
    BotDTO:
      type: object
      properties:
        id:
          type: integer
          format: int64
        userName:
          type: string
        displayName:
          type: string
        botTree:
          "$ref": "#/components/schemas/BotTree"
        botSurvey:
          type: boolean
        active:
          type: boolean
    BotDialogHookDto:
      type: object
      required:
      - args
      properties:
        args:
          type: object
          properties: {}
    BotQuestion:
      type: object
      properties:
        active:
          type: boolean
        id:
          type: integer
          format: int64
        question:
          type: string
        seq:
          type: integer
          format: int32
    BotTree:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        name:
          type: string
        description:
          type: string
        active:
          type: boolean
        version:
          type: integer
          format: int64
    Campaign:
      type: object
      required:
      - hasAttachment
      properties:
        channel:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        defaultSendGroupId:
          type: integer
          format: int64
        description:
          type: string
        expiration:
          type: string
          format: date-time
        hasAttachment:
          type: boolean
        hsm:
          type: boolean
        hsmTemplate:
          "$ref": "#/components/schemas/HsmTemplate"
        hsmTemplateId:
          type: integer
          format: int64
        id:
          type: integer
          format: int64
        jolt:
          type: string
        name:
          type: string
        status:
          type: string
        templateId:
          type: integer
          format: int64
        title:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    CampaignConfig:
      type: object
      properties:
        campaignTypeId:
          type: integer
          format: int64
        channel:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        description:
          type: string
        emailBody:
          type: string
        emailSubject:
          type: string
        executionType:
          type: string
        expiresAt:
          type: string
          format: date-time
        groupConfId:
          type: integer
          format: int64
        hsmTemplate:
          "$ref": "#/components/schemas/HsmTemplate"
        id:
          type: integer
          format: int64
        jolt:
          type: string
        message:
          type: string
        name:
          type: string
        nextRun:
          type: string
          format: date-time
        recurrenceFrequency:
          type: string
        responsibleUserId:
          type: integer
          format: int64
        scheduledAt:
          type: string
          format: date-time
        sourceReference:
          type: string
        sourceType:
          type: string
        status:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    CampaignDispatchStatus:
      type: object
      properties:
        id:
          type: integer
          format: int64
        message:
          type: string
        recipient:
          type: string
        recipientId:
          type: string
        status:
          type: string
    CampaignExecuteRequest:
      type: object
      properties:
        campaignId:
          type: integer
          format: int64
        data:
          type: array
          items:
            "$ref": "#/components/schemas/JsonNode"
    CampaignExecuteResponse:
      type: object
      properties:
        campaignId:
          type: integer
          format: int64
        executionId:
          type: integer
          format: int64
        message:
          type: string
        status:
          type: string
    CampaignStatusRequest:
      type: object
      properties:
        executionId:
          type: integer
          format: int64
        campaignId:
          type: integer
          format: int64
    CampaignStatusResponse:
      type: object
      properties:
        campaignId:
          type: integer
          format: int64
        executionId:
          type: integer
          format: int64
        message:
          type: string
        status:
          type: string
        statusMessages:
          type: array
          items:
            "$ref": "#/components/schemas/CampaignDispatchStatus"
    ChannelsIdentifiersDTO:
      type: object
      properties:
        instagram:
          type: array
          items:
            type: string
        facebook:
          type: array
          items:
            type: string
        msteams:
          type: array
          items:
            type: string
        slack:
          type: array
          items:
            type: string
    ChatAnswer:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        optionAnswerId:
          type: integer
          format: int64
        questionId:
          type: integer
          format: int64
        sessionId:
          type: integer
          format: int64
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        value:
          type: string
    ChatCallLog:
      type: object
      properties:
        agentId:
          type: integer
          format: int64
        attendanceTime:
          type: integer
          format: int64
        callId:
          type: string
        callMode:
          type: string
        city:
          type: string
        classified:
          type: boolean
        comment:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        externalId:
          type: string
        finishedAt:
          type: string
          format: date-time
        finishedByAgent:
          type: boolean
        groupConfId:
          type: integer
          format: int64
        id:
          type: integer
          format: int64
        ivrTime:
          type: integer
          format: int64
        kind:
          type: string
        liked:
          type: boolean
        plataformCode:
          type: string
        provider:
          type: string
        ringingAt:
          type: string
          format: date-time
        sessionId:
          type: integer
          format: int64
        startedAt:
          type: string
          format: date-time
        startedByAgent:
          type: boolean
        state:
          type: string
        status:
          type: string
        tme:
          type: integer
          format: int64
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        userId:
          type: integer
          format: int64
    ChatCallLogHist:
      type: object
      properties:
        callId:
          type: string
        callerId:
          type: string
        callerType:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        eventDate:
          type: string
          format: date-time
        eventType:
          type: string
        groupConfId:
          type: integer
          format: int64
        id:
          type: integer
          format: int64
        origCallId:
          type: string
        origin:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    ChatChannel:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
    ChatDirectMessage:
      type: object
      properties:
        additionalInfo:
          type: string
        agentId:
          type: integer
          format: int64
        broadcastListId:
          type: integer
          format: int64
        callback:
          type: string
        campaignName:
          type: string
        channel:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        description:
          type: string
        dispatchId:
          type: integer
          format: int64
        email:
          type: string
        executionId:
          type: integer
          format: int64
        generatedSession:
          type: boolean
        groupConfId:
          type: integer
          format: int64
        groupName:
          type: string
        hsmTemplate:
          type: integer
          format: int64
        id:
          type: integer
          format: int64
        message:
          type: string
        phoneNumber:
          type: string
        recipientId:
          type: string
        resend:
          type: boolean
        sendGroupConfId:
          type: integer
          format: int64
        sendTimestamp:
          type: string
        senderUserId:
          type: integer
          format: int64
        sentAt:
          type: string
          format: date-time
        sessionId:
          type: integer
          format: int64
        status:
          type: string
        subject:
          type: string
        updatedAt:
          type: string
          format: date-time
        user:
          "$ref": "#/components/schemas/User"
        userId:
          type: integer
          format: int64
    ChatEmbeddedIntegration:
      type: object
      properties:
        accountKey:
          type: string
        active:
          type: boolean
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        name:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        url:
          type: string
    ChatGroupChannel:
      type: object
      properties:
        channel:
          "$ref": "#/components/schemas/ChatChannel"
        chatGroupChannelId:
          "$ref": "#/components/schemas/ChatGroupChannelId"
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        groupConf:
          "$ref": "#/components/schemas/GroupConf"
    ChatGroupChannelId:
      type: object
      properties:
        channelId:
          type: integer
          format: int64
        groupConfId:
          type: integer
          format: int64
    ChatGroupCompany:
      type: object
      required:
      - companyName
      properties:
        active:
          type: boolean
        companyName:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    ChatMessage:
      type: object
      properties:
        caption:
          type: string
        cognition:
          "$ref": "#/components/schemas/Cognition"
        contentType:
          type: string
        createdAt:
          type: string
          format: date-time
        errorConversation:
          type: boolean
        fromUser:
          type: string
        id:
          type: integer
          format: int64
        message:
          type: string
        repliedMessage:
          type: string
        sendBy:
          type: string
        sentBySuperAgent:
          type: boolean
        sentiment:
          type: string
        session:
          "$ref": "#/components/schemas/ChatSession"
        toUser:
          type: string
    ChatProfile:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        name:
          type: string
        typeUser:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        visible:
          type: boolean
    ChatReportAttendanceTime:
      type: object
      properties:
        agentName:
          type: string
        attendanceTime:
          type: integer
          format: int64
        channelName:
          type: string
        closedAtProtocol:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        createdAtProtocol:
          type: string
          format: date-time
        createdBy:
          type: string
        groupName:
          type: string
        id:
          type: integer
          format: int64
        lastGroup:
          type: string
        lastStatus:
          type: string
        nextGroup:
          type: string
        operationName:
          type: string
        protocol:
          type: string
        protocolDuration:
          type: integer
          format: int64
        step:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        waitingTime:
          type: integer
          format: int64
    ChatSession:
      type: object
      properties:
        agent:
          "$ref": "#/components/schemas/User"
        agentConnectedInstance:
          type: string
        agentConnectedResource:
          type: string
        attendedAt:
          type: string
          format: date-time
        availableAt:
          type: string
          format: date-time
        closedAt:
          type: string
          format: date-time
        closedBy:
          type: string
        createdAt:
          type: string
          format: date-time
        customProtocol:
          type: string
        directMessageId:
          type: integer
          format: int64
        externalOrderId:
          type: integer
          format: int64
        externalProtocol:
          type: string
        groupConf:
          "$ref": "#/components/schemas/GroupConf"
        groupList:
          type: string
        hasReservedWord:
          type: boolean
        id:
          type: integer
          format: int64
        inactivity:
          type: string
        lastAgent:
          type: string
        onlyBot:
          type: boolean
        pending:
          type: boolean
        priority:
          type: boolean
        properties:
          type: string
        protocol:
          type: string
        status:
          type: string
        ticketId:
          type: integer
          format: int64
        tma:
          type: integer
          format: int64
        tmaTicket:
          type: integer
          format: int32
        tme:
          type: integer
          format: int64
        tmi:
          type: integer
          format: int64
        tmia:
          type: integer
          format: int64
        tmic:
          type: integer
          format: int64
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        user:
          "$ref": "#/components/schemas/User"
        userConnectedInstance:
          type: string
        userConnectedResource:
          type: string
    ChatSessionComment:
      type: object
      properties:
        comment:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        sessionId:
          type: integer
          format: int64
    ChatSuggestion:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        id:
          type: integer
          format: int64
        session:
          "$ref": "#/components/schemas/ChatSession"
        suggestion:
          type: string
    ChatTagBot:
      type: object
      properties:
        bot:
          "$ref": "#/components/schemas/Bot"
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        message:
          type: string
        session:
          "$ref": "#/components/schemas/ChatSession"
        tag:
          type: string
    ChatUserGroup:
      type: object
      properties:
        chatUserGroupId:
          "$ref": "#/components/schemas/ChatUserGroupId"
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        groupConf:
          "$ref": "#/components/schemas/GroupConf"
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        user:
          "$ref": "#/components/schemas/User"
    ChatUserGroupConf:
      type: object
      properties:
        chatUserGroupConfId:
          "$ref": "#/components/schemas/ChatUserGroupConfId"
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        groupConf:
          "$ref": "#/components/schemas/GroupConf"
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        user:
          "$ref": "#/components/schemas/User"
    ChatUserGroupConfId:
      type: object
      properties:
        agentId:
          type: integer
          format: int64
        groupConfId:
          type: integer
          format: int64
    ChatUserGroupId:
      type: object
      properties:
        userId:
          type: integer
          format: int64
        groupConfId:
          type: integer
          format: int64
    ChatWebConf:
      type: object
      properties:
        chatGroupConf:
          "$ref": "#/components/schemas/GroupConf"
        configuration:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        cssScript:
          type: string
        htmlScript:
          type: string
        id:
          type: integer
          format: int64
        initialMessage:
          type: string
        jsScript:
          type: string
        token:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    Classification:
      type: object
      properties:
        agentId:
          type: integer
          format: int64
        classificationTree:
          "$ref": "#/components/schemas/ClassificationTree"
        classificationTreeSession:
          type: integer
          format: int64
        commentClassification:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        displayName:
          type: string
        groupConfId:
          type: integer
          format: int64
        id:
          type: integer
          format: int64
        rootId:
          type: integer
          format: int64
        sessionId:
          type: integer
          format: int64
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    ClassificationTree:
      type: object
      properties:
        active:
          type: boolean
        children:
          type: array
          items:
            "$ref": "#/components/schemas/ClassificationTree"
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        nodeId:
          type: integer
          format: int64
        parent:
          "$ref": "#/components/schemas/ClassificationTree"
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        value:
          type: string
    ClientAgentsDTO:
      type: object
      properties:
        userId:
          type: integer
          format: int64
        agentsIds:
          type: array
          items:
            type: integer
            format: int64
    ClientBatchDTO:
      type: object
      properties:
        displayName:
          type: string
        channels:
          type: array
          items:
            type: string
        phones:
          type: array
          items:
            type: string
        emails:
          type: array
          items:
            type: string
        cpfCnpj:
          type: string
        birthDate:
          type: string
        active:
          type: boolean
        externalCode:
          type: string
        attributes:
          type: array
          items:
            "$ref": "#/components/schemas/AttributeValueDTO"
        agentIds:
          type: array
          items:
            type: integer
            format: int64
        channelsIdentifiers:
          "$ref": "#/components/schemas/ChannelsIdentifiersDTO"
    ClientDTO:
      type: object
      properties:
        id:
          type: integer
          format: int64
        userName:
          type: string
        phone:
          type: string
        displayName:
          type: string
        email:
          type: string
        birthDate:
          type: string
        active:
          type: boolean
        cpf:
          type: string
        formal:
          type: boolean
        priority:
          type: integer
          format: int64
        externalCode:
          type: string
        attributes:
          type: array
          items:
            "$ref": "#/components/schemas/AttributeValueDTO"
    ClientGroupsDTO:
      type: object
      properties:
        userId:
          type: integer
          format: int64
        groupIds:
          type: array
          items:
            type: integer
            format: int64
    Cognition:
      type: object
      properties:
        appId:
          type: string
        appKey:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        endPoint:
          type: string
        id:
          type: integer
          format: int64
        name:
          type: string
        password:
          type: string
        type:
          type: string
        userName:
          type: string
        version:
          type: string
    Company:
      type: object
      properties:
        active:
          type: boolean
        address:
          type: string
        cep:
          type: string
        city:
          type: string
        cnpj:
          type: string
        companyName:
          type: string
        complement:
          type: string
        contractSignature:
          type: integer
          format: int64
        country:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        dateEndPilot:
          type: string
          format: date-time
        defaultLocale:
          type: string
        email:
          type: string
        groupCompany:
          "$ref": "#/components/schemas/ChatGroupCompany"
        id:
          type: integer
          format: int64
        nameContact:
          type: string
        neighborhood:
          type: string
        number:
          type: string
        phoneContact:
          type: string
        sgemnet:
          type: string
        site:
          type: string
        sku:
          type: string
        state:
          type: string
        stateRegistration:
          type: string
        timeHistory:
          type: integer
          format: int64
        tradeName:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    Condition:
      type: object
      properties:
        key:
          type: string
        value:
          type: string
        operator:
          type: string
          enum:
          - EQ
          - EQNUM
          - NEQ
          - NEQNUM
          - IS_FALSE
          - IS_TRUE
          - LIKE
          - NOT_LIKE
          - IN
          - NOT_IN
          - IS_NULL
          - NOT_NULL
          - BEFORE
          - AFTER
        logic:
          type: string
          enum:
          - AND
          - OR
        or:
          type: array
          items:
            "$ref": "#/components/schemas/Condition"
        and:
          type: array
          items:
            "$ref": "#/components/schemas/Condition"
        conditions:
          type: array
          items:
            "$ref": "#/components/schemas/Condition"
    CustomPageRequest:
      type: object
      required:
      - conditions
      - sort
      properties:
        conditions:
          type: array
          items:
            "$ref": "#/components/schemas/Condition"
        direction:
          type: string
          enum:
          - ASC
          - DESC
        page:
          type: integer
          format: int32
        sort:
          type: boolean
        sortColumn:
          type: string
        size:
          type: integer
          format: int32
    CustomRequest:
      type: object
      properties:
        conditions:
          type: array
          items:
            "$ref": "#/components/schemas/Condition"
        sort:
          type: boolean
        direction:
          type: string
          enum:
          - ASC
          - DESC
        sortColumn:
          type: string
    EmailTemplate:
      type: object
      properties:
        code:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        groupConf:
          "$ref": "#/components/schemas/GroupConf"
        id:
          type: integer
          format: int64
        locale:
          type: string
        subject:
          type: string
        template:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    GroupConf:
      type: object
      properties:
        acceptedMedias:
          type: string
        active:
          type: boolean
        agentExpireSession:
          type: boolean
        agentReplyMaxDelay:
          type: integer
          format: int64
        broker:
          type: string
        businessUnit:
          type: string
        channels:
          type: array
          items:
            "$ref": "#/components/schemas/ChatChannel"
        classificationTree:
          "$ref": "#/components/schemas/ClassificationTree"
        configInactivity:
          type: boolean
        configInactivityTime:
          type: integer
          format: int32
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        defaultAgent:
          "$ref": "#/components/schemas/User"
        emailActiveShipping:
          type: boolean
        finalAgent:
          "$ref": "#/components/schemas/User"
        gatewayQueue:
          type: string
        id:
          type: integer
          format: int64
        inactivityAction:
          type: string
        inactivityAgent:
          "$ref": "#/components/schemas/User"
        inactivityGroup:
          type: integer
          format: int64
        inngageShipping:
          type: boolean
        interactQueueDelay:
          type: integer
          format: int32
        limitTimeWaitingForInteract:
          type: integer
          format: int32
        mandatoryClassificationTree:
          type: boolean
        mandatoryFinalAgent:
          type: boolean
        name:
          type: string
        offlineAttendance:
          type: boolean
        onlyBot:
          type: boolean
        onlyReceptive:
          type: boolean
        operation:
          "$ref": "#/components/schemas/Operation"
        pausedTransfer:
          type: boolean
        pending:
          type: boolean
        queueControl:
          type: string
        queueScheduleStrategy:
          type: boolean
        redirectAttendanceAgentDisconnect:
          type: boolean
        scheduleActiveSendTime:
          type: integer
          format: int32
        scheduleName:
          type: string
        skipQueue:
          type: boolean
        sla:
          type: integer
          format: int32
        smsActiveShipping:
          type: boolean
        survey:
          type: integer
          format: int64
        telegramActiveShipping:
          type: boolean
        timeMaxAttendance:
          type: integer
          format: int32
        timePending:
          type: integer
          format: int32
        timeUnit:
          type: string
          enum:
          - NANOSECONDS
          - MICROSECONDS
          - MILLISECONDS
          - SECONDS
          - MINUTES
          - HOURS
          - DAYS
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        uraActiveShipping:
          type: boolean
        visible:
          type: boolean
        voiceActiveShipping:
          type: boolean
        warningRatio:
          type: integer
          format: int32
        wavy:
          type: boolean
        whatsappActiveShipping:
          type: boolean
        whatsappPartner:
          type: boolean
        whatsappPartnerInactivity:
          type: integer
          format: int32
    GroupDTO:
      type: object
      properties:
        group:
          "$ref": "#/components/schemas/GroupConf"
        agentsId:
          type: array
          items:
            type: integer
            format: int64
        groupsId:
          type: array
          items:
            type: integer
            format: int64
        callCenterQueue:
          "$ref": "#/components/schemas/VoiceCallCenterQueueDTO"
        callCenterTiers:
          type: array
          items:
            "$ref": "#/components/schemas/VoiceCallCenterTierDTO"
    Holiday:
      type: object
      properties:
        active:
          type: boolean
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        dateHoliday:
          type: string
        id:
          type: integer
          format: int64
        name:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    HolidayOperation:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        holiday:
          "$ref": "#/components/schemas/Holiday"
        holidayOperationId:
          "$ref": "#/components/schemas/HolidayOperationId"
        operations:
          "$ref": "#/components/schemas/Operation"
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    HolidayOperationId:
      type: object
      properties:
        holidayId:
          type: integer
          format: int64
        operationId:
          type: integer
          format: int64
    HsmTemplate:
      type: object
      properties:
        active:
          type: boolean
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        description:
          type: string
        elementName:
          type: string
        id:
          type: integer
          format: int64
        language:
          type: string
        mediaParameterCount:
          type: integer
          format: int64
        nameSpace:
          type: string
        parameterCount:
          type: integer
          format: int64
        template:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    HsmTemplateEmbed:
      type: object
      properties:
        groupConfId:
          type: integer
          format: int64
        hsmTemplateId:
          type: integer
          format: int64
    HsmTemplateGroup:
      type: object
      properties:
        hsmTemplate:
          "$ref": "#/components/schemas/HsmTemplate"
        hsmTemplateGroupId:
          "$ref": "#/components/schemas/HsmTemplateEmbed"
    HsmTemplateParam:
      type: object
      properties:
        hsmId:
          type: integer
          format: int64
        id:
          type: integer
          format: int64
        paramType:
          type: string
          enum:
          - TEXT
          - CURRENCY
          - DATE
          - MEDIA
          - URL
          - QUICK_REPLY
        type:
          type: string
          enum:
          - HEADER
          - BODY
          - FOOTER
          - BUTTON
    JsonNode:
      type: object
    LanguageDTO:
      type: object
      required:
      - code
      - description
      properties:
        code:
          type: string
        description:
          type: string
    LogEventDTO:
      type: object
      required:
      - content
      - logLevel
      properties:
        content:
          type: string
        logLevel:
          type: string
          enum:
          - INFO
          - ERROR
        timestamp:
          type: integer
          format: int64
        error:
          type: string
        extra:
          type: string
    MessageBundle:
      type: object
      properties:
        code:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        description:
          type: string
        group:
          "$ref": "#/components/schemas/GroupConf"
        id:
          type: integer
          format: int64
        locale:
          type: string
        text:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        use:
          type: boolean
    NpsSurveySummary:
      type: object
      required:
      - averageNps
      - negative
      - neutral
      - positive
      - totalCount
      properties:
        averageNps:
          type: number
          format: double
        negative:
          type: integer
          format: int64
        neutral:
          type: integer
          format: int64
        positive:
          type: integer
          format: int64
        totalCount:
          type: integer
          format: int64
    Operation:
      type: object
      properties:
        company:
          "$ref": "#/components/schemas/Company"
        country:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        customerPortfolio:
          type: boolean
        defaultLocale:
          type: string
        id:
          type: integer
          format: int64
        operationName:
          type: string
        operationStatus:
          type: boolean
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        verifyHoliday:
          type: string
    PageResponse_AgentHist_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/AgentHist"
        size:
          type: integer
          format: int32
    PageResponse_Agent_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/Agent"
        size:
          type: integer
          format: int32
    PageResponse_Attributes_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/Attributes"
        size:
          type: integer
          format: int32
    PageResponse_BotAnswer_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/BotAnswer"
        size:
          type: integer
          format: int32
    PageResponse_Bot_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/Bot"
        size:
          type: integer
          format: int32
    PageResponse_CampaignConfig_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/CampaignConfig"
        size:
          type: integer
          format: int32
    PageResponse_Campaign_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/Campaign"
        size:
          type: integer
          format: int32
    PageResponse_ChatAnswer_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatAnswer"
        size:
          type: integer
          format: int32
    PageResponse_ChatCallLogHist_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatCallLogHist"
        size:
          type: integer
          format: int32
    PageResponse_ChatCallLog_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatCallLog"
        size:
          type: integer
          format: int32
    PageResponse_ChatChannel_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatChannel"
        size:
          type: integer
          format: int32
    PageResponse_ChatDirectMessage_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatDirectMessage"
        size:
          type: integer
          format: int32
    PageResponse_ChatGroupChannel_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatGroupChannel"
        size:
          type: integer
          format: int32
    PageResponse_ChatMessage_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatMessage"
        size:
          type: integer
          format: int32
    PageResponse_ChatReportAttendanceTime_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatReportAttendanceTime"
        size:
          type: integer
          format: int32
    PageResponse_ChatSessionComment_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatSessionComment"
        size:
          type: integer
          format: int32
    PageResponse_ChatSession_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatSession"
        size:
          type: integer
          format: int32
    PageResponse_ChatSuggestion_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatSuggestion"
        size:
          type: integer
          format: int32
    PageResponse_ChatTagBot_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatTagBot"
        size:
          type: integer
          format: int32
    PageResponse_ChatUserGroupConf_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatUserGroupConf"
        size:
          type: integer
          format: int32
    PageResponse_ChatUserGroup_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatUserGroup"
        size:
          type: integer
          format: int32
    PageResponse_ChatWebConf_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ChatWebConf"
        size:
          type: integer
          format: int32
    PageResponse_ClassificationTree_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/ClassificationTree"
        size:
          type: integer
          format: int32
    PageResponse_Classification_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/Classification"
        size:
          type: integer
          format: int32
    PageResponse_Cognition_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/Cognition"
        size:
          type: integer
          format: int32
    PageResponse_Company_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/Company"
        size:
          type: integer
          format: int32
    PageResponse_EmailTemplate_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/EmailTemplate"
        size:
          type: integer
          format: int32
    PageResponse_GroupConf_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/GroupConf"
        size:
          type: integer
          format: int32
    PageResponse_HolidayOperation_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/HolidayOperation"
        size:
          type: integer
          format: int32
    PageResponse_HsmTemplateGroup_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/HsmTemplateGroup"
        size:
          type: integer
          format: int32
    PageResponse_HsmTemplate_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/HsmTemplate"
        size:
          type: integer
          format: int32
    PageResponse_MessageBundle_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/MessageBundle"
        size:
          type: integer
          format: int32
    PageResponse_PauseReason_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/PauseReason"
        size:
          type: integer
          format: int32
    PageResponse_SurveyDTO_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/SurveyDTO"
        size:
          type: integer
          format: int32
    PageResponse_SurveyResponse_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/SurveyResponse"
        size:
          type: integer
          format: int32
    PageResponse_SurveyType_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/SurveyType"
        size:
          type: integer
          format: int32
    PageResponse_UserAgent_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/UserAgent"
        size:
          type: integer
          format: int32
    PageResponse_UserAttributesHist_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/UserAttributesHist"
        size:
          type: integer
          format: int32
    PageResponse_UserAttributes_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/UserAttributes"
        size:
          type: integer
          format: int32
    PageResponse_User_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/User"
        size:
          type: integer
          format: int32
    PageResponse_WorkSchedule_:
      type: object
      required:
      - page
      properties:
        page:
          type: integer
          format: int32
        results:
          type: array
          items:
            "$ref": "#/components/schemas/WorkSchedule"
        size:
          type: integer
          format: int32
    PauseReason:
      type: object
      properties:
        active:
          type: boolean
        controlPauseTime:
          type: boolean
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        notifySupervisor:
          type: boolean
        pauseChat:
          type: boolean
        pauseChatByVoice:
          type: boolean
        pauseTime:
          type: integer
          format: int64
        pauseVoice:
          type: boolean
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        value:
          type: string
    PutSurveyDTO:
      type: object
      required:
      - allowedSenderTypes
      - name
      - questions
      properties:
        name:
          type: string
        allowedSenderTypes:
          type: array
          items:
            type: string
            enum:
            - USER
            - AGENT
            - BOT
            - ADMIN
            - SUPERVISOR
            - AGENT_SUPERVISOR
        active:
          type: boolean
        questions:
          type: object
          additionalProperties:
            type: array
            items:
              "$ref": "#/components/schemas/QuestionDTO"
        id:
          type: integer
          format: int64
    QuestionAnswerDTO:
      type: object
      required:
      - answer
      - seq
      properties:
        answer:
          "$ref": "#/components/schemas/AnswerDTO"
        seq:
          type: integer
          format: int32
    QuestionDTO:
      type: object
      required:
      - active
      - answers
      - seq
      - value
      properties:
        active:
          type: boolean
        answers:
          type: array
          items:
            "$ref": "#/components/schemas/QuestionAnswerDTO"
        id:
          type: integer
          format: int64
        seq:
          type: integer
          format: int32
        type:
          "$ref": "#/components/schemas/SurveyType"
        value:
          type: string
    RequestClientDTO:
      type: object
      required:
      - client
      - requestId
      properties:
        requestId:
          type: string
        client:
          "$ref": "#/components/schemas/ClientBatchDTO"
    SupervisorDTO:
      type: object
      properties:
        active:
          type: boolean
        birthDate:
          type: string
        displayName:
          type: string
        email:
          type: string
        firstAccess:
          type: boolean
        id:
          type: integer
          format: int64
        password:
          type: string
        phone:
          type: string
        profile:
          "$ref": "#/components/schemas/ChatProfile"
        userName:
          type: string
        usingMFA:
          type: boolean
        operationsId:
          type: array
          items:
            type: integer
            format: int64
    SurveyDTO:
      type: object
      required:
      - active
      - allowedSenderTypes
      - createdBy
      - id
      - name
      - type
      properties:
        active:
          type: boolean
        allowedSenderTypes:
          type: array
          items:
            type: string
            enum:
            - USER
            - AGENT
            - BOT
            - ADMIN
            - SUPERVISOR
            - AGENT_SUPERVISOR
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        name:
          type: string
        type:
          "$ref": "#/components/schemas/SurveyTypeDTO"
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    SurveyDetailDTO:
      type: object
      required:
      - active
      - allowedSenderTypes
      - createdBy
      - id
      - name
      - questions
      - type
      properties:
        active:
          type: boolean
        allowedSenderTypes:
          type: array
          items:
            type: string
            enum:
            - USER
            - AGENT
            - BOT
            - ADMIN
            - SUPERVISOR
            - AGENT_SUPERVISOR
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        name:
          type: string
        questions:
          type: array
          items:
            "$ref": "#/components/schemas/QuestionDTO"
        type:
          "$ref": "#/components/schemas/SurveyTypeDTO"
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
    SurveyResponse:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        groupId:
          type: integer
          format: int64
        groupName:
          type: string
        protocol:
          type: string
        question:
          type: string
        response:
          type: string
        surveyType:
          type: integer
          format: int64
        surveyTypeName:
          type: string
        userName:
          type: string
    SurveyType:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
    SurveyTypeDTO:
      type: object
      required:
      - id
      - name
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
    UpdateStatusRequest:
      type: object
      properties:
        active:
          type: boolean
    User:
      type: object
      properties:
        accessKey:
          type: string
        active:
          type: boolean
        agent:
          "$ref": "#/components/schemas/Agent"
        birthDate:
          type: string
          format: date-time
        company:
          "$ref": "#/components/schemas/Company"
        country:
          type: string
        cpf:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        createdFromSurvey:
          type: boolean
        defaultLocale:
          type: string
        displayName:
          type: string
        email:
          type: string
        externalCode:
          type: string
        firstAccess:
          type: boolean
        firstLogin:
          type: string
          format: date-time
        formal:
          type: boolean
        id:
          type: integer
          format: int64
        lastLogin:
          type: string
          format: date-time
        name:
          type: string
        operation:
          type: string
        originUser:
          type: string
        phone:
          type: string
        priority:
          type: integer
          format: int64
        profile:
          "$ref": "#/components/schemas/ChatProfile"
        ticketUserId:
          type: integer
          format: int64
        tm2:
          type: boolean
        typeUser:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        userName:
          type: string
        usingMFA:
          type: boolean
        visible:
          type: boolean
        password:
          type: string
    UserAgent:
      type: object
      properties:
        agent:
          "$ref": "#/components/schemas/Agent"
        associationId:
          "$ref": "#/components/schemas/AssociationId"
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        user:
          "$ref": "#/components/schemas/User"
    UserAttributes:
      type: object
      properties:
        attribute:
          "$ref": "#/components/schemas/Attributes"
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        id:
          type: integer
          format: int64
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        user:
          "$ref": "#/components/schemas/User"
        value:
          type: string
    UserAttributesHist:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
        userAttributesHistId:
          "$ref": "#/components/schemas/UserAttributesHistId"
    UserAttributesHistId:
      type: object
      properties:
        sessionId:
          type: integer
          format: int64
        userAttributesId:
          type: integer
          format: int64
    UserRuleRequest:
      type: object
      required:
      - userId
      properties:
        userId:
          type: string
        query:
          type: string
    VoiceCallCenterAgentDTO:
      type: object
      properties:
        agentBusyDelayTime:
          type: integer
          format: int32
        agentCallTimeout:
          type: integer
          format: int32
        agentContact:
          type: string
        agentId:
          type: string
        agentMaxNoAnswer:
          type: integer
          format: int32
        agentName:
          type: string
        agentNoAnswerDelayTime:
          type: integer
          format: int32
        agentRejectDelayTime:
          type: integer
          format: int32
        agentType:
          type: string
        agentWrapUpTime:
          type: integer
          format: int32
        extension:
          "$ref": "#/components/schemas/VoiceExtensionDTO"
    VoiceCallCenterQueueDTO:
      type: object
      properties:
        queueName:
          type: string
        queueExtension:
          type: string
        queueGreeting:
          type: string
        queueStrategy:
          type: string
        queueMOHSound:
          type: string
        queueRecordEnable:
          type: boolean
        queueTimeBaseScore:
          type: string
        queueTimeBaseScoreSec:
          type: integer
          format: int32
        queueMaxWaitTime:
          type: integer
          format: int32
        queueMaxWaitTimeWithNoAgent:
          type: integer
          format: int32
        queueMaxWaitTimeWithNoAgentTimeReached:
          type: integer
          format: int32
        queueTierRulesApply:
          type: string
        queueTierRuleWaitSecond:
          type: integer
          format: int32
        queueTierRuleNoAgentNoWait:
          type: string
        queueTimeoutAction:
          type: string
        queueDiscardAbandonedAfter:
          type: integer
          format: int32
        queueAbandonedResumeAllowed:
          type: string
        queueTierRuleWaitMultiplyLevel:
          type: string
        queueCidPrefix:
          type: string
        queueAnnounceSound:
          type: string
        queueAnnounceFrequency:
          type: integer
          format: int32
        queueCCExitKeys:
          type: string
        queueEmailAddress:
          type: string
        queueDescription:
          type: string
        queueAnnouncePositionEnabled:
          type: boolean
        queueAnnouncePositionFrequency:
          type: integer
          format: int32
    VoiceCallCenterTierDTO:
      type: object
      properties:
        extension:
          type: string
        tierLevel:
          type: integer
          format: int32
        tierPosition:
          type: integer
          format: int32
    VoiceExtensionDTO:
      type: object
      properties:
        callTimeout:
          type: integer
          format: int32
        effectiveCallerIdName:
          type: string
        effectiveCallerIdNumber:
          type: string
        extension:
          type: string
        forwardAllDestination:
          type: string
        forwardBusyDestination:
          type: string
        forwardNoAnswerDestination:
          type: string
        forwardUserNotRegisteredDestination:
          type: string
        maxRegistrations:
          type: integer
          format: int32
        numberAlias:
          type: string
        outboundCallerIdName:
          type: string
        outboundCallerIdNumber:
          type: string
        password:
          type: string
        userContext:
          type: string
    WorkSchedule:
      type: object
      properties:
        active:
          type: boolean
        closeTime:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
        dayCode:
          type: integer
          format: int32
        id:
          type: integer
          format: int64
        name:
          type: string
        openTime:
          type: string
        scheduleName:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
externalDocs:
  description: Site e documentação Neppo
  url: https://www.neppo.com.br
security:
- bearerAuth: []
x-tagGroups:
- name: Primeiros Passos
  tags:
  - Padrão de Requests
  - Exemplos de Chamadas
- name: APIs
  tags:
  - API's Omnichannel
  - API's IAN
  - API's de Ticket
- name: Integrações
  tags:
  - API's Webhook
