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

# Analytics de conversas

> Agregações aditivas (dia/semana/mês × dimensão) das conversas do seu workspace, no formato pronto para BI.

Retorna linhas no grão **dia / semana / mês × dimensão** com **componentes aditivos** dos seus dados de conversas — você recebe as contagens e faz as divisões.

Medidas (sempre contagens, nunca uma taxa pré-dividida): `conversations_started`, `conversations_answered`, `conversations_no_response`, `appointments`, `transferred`. Para as taxas (resposta, agendamento), divida você mesmo o numerador pelo denominador.

<Info>
  Sem parâmetros, o endpoint retorna o mesmo recorte que os painéis mostram por padrão. Use `agent_type` para ampliar. Os dados têm até \~6h de defasagem — veja `as_of` / `stale` na resposta e o header `X-Data-As-Of`.
</Info>

O princípio de componentes aditivos e o cálculo das taxas estão na [Visão geral de analytics](/api-reference/export/analytics).


## OpenAPI

````yaml GET /v1/analytics/conversations/{granularity}
openapi: 3.1.0
info:
  title: Morada Data Export API
  version: 1.0.0
  description: >-
    Exportação incremental das conversas, mensagens, contatos e deals do seu
    workspace na Morada.ai, além de relatórios operacionais em nível de linha e
    analytics agregado (componentes aditivos) que reproduzem os dashboards da
    plataforma.
servers:
  - url: https://data-api.morada.ai
    description: Produção
security:
  - workspaceApiKey: []
tags:
  - name: Exportação
    description: Exportação incremental de entidades do workspace.
  - name: Relatórios
    description: >-
      Relatórios operacionais em nível de linha, com janela de tempo
      obrigatória.
  - name: Analytics
    description: >-
      Agregações aditivas prontas para BI, reproduzindo os dashboards da
      plataforma.
paths:
  /v1/analytics/conversations/{granularity}:
    get:
      tags:
        - Analytics
      summary: Analytics de conversas (componentes aditivos)
      description: >-
        Agregações aditivas (dia/semana/mês × dimensão) das conversas do seu
        workspace, no formato pronto para BI.
      parameters:
        - in: path
          name: granularity
          required: true
          description: 'Tamanho do balde. Um de: `day`, `week` (segunda-feira ISO), `month`.'
          schema:
            type: string
            enum:
              - day
              - week
              - month
        - in: query
          name: from
          required: false
          description: 'Data ISO (limite inferior, inclusivo). Padrão: 30 dias atrás.'
          schema:
            type: string
            format: date
        - in: query
          name: to
          required: false
          description: 'Data ISO (limite superior, exclusivo). Padrão: agora.'
          schema:
            type: string
            format: date
        - in: query
          name: tz
          required: false
          description: >-
            Timezone IANA para o agrupamento por dia. Padrão:
            `America/Sao_Paulo`.
          schema:
            type: string
            default: America/Sao_Paulo
        - in: query
          name: group_by
          required: false
          description: >-
            Lista separada por vírgulas das dimensões permitidas: `agent_type`,
            `agent_id`, `source`.
          schema:
            type: string
        - in: query
          name: agent_type
          required: false
          description: >-
            Filtro / sobrescrita de escopo: lista separada por vírgulas dos
            tipos de agente a incluir (os mesmos valores que aparecem na
            dimensão `agent_type` dos resultados). Sobrescreve o recorte padrão.
          schema:
            type: string
        - in: query
          name: agent_id
          required: false
          description: 'Filtro: lista separada por vírgulas de ids de agente.'
          schema:
            type: string
        - in: query
          name: source
          required: false
          description: 'Filtro: lista separada por vírgulas de origens.'
          schema:
            type: string
      responses:
        '200':
          description: Linhas agregadas de componentes aditivos.
          content:
            application/json:
              schema:
                type: object
                required:
                  - granularity
                  - tz
                  - from
                  - to
                  - as_of
                  - stale
                  - group_by
                  - data
                  - count
                properties:
                  granularity:
                    type: string
                    description: Granularidade aplicada (`day`, `week` ou `month`).
                  tz:
                    type: string
                    description: Timezone IANA usado no agrupamento.
                  from:
                    type: string
                    description: Limite inferior efetivo da janela.
                  to:
                    type: string
                    description: Limite superior efetivo da janela.
                  as_of:
                    type:
                      - string
                      - 'null'
                    description: >-
                      Momento (ISO 8601) da última execução de ETL bem-sucedida
                      deste metricset; `null` quando desconhecido.
                  stale:
                    type: boolean
                    description: >-
                      `true` quando os dados estão defasados (mais que ~2× a
                      cadência de 6h) ou o frescor é desconhecido.
                  group_by:
                    type: array
                    items:
                      type: string
                    description: Dimensões aplicadas no agrupamento.
                  data:
                    type: array
                    description: >-
                      Uma linha por balde × combinação de dimensões. Cada
                      dimensão de `group_by` aparece como uma chave adicional na
                      linha.
                    items:
                      type: object
                      additionalProperties: true
                      properties:
                        period:
                          type: string
                          description: >-
                            Início do balde no fuso `tz` (data ISO em `day`;
                            segunda-feira ISO em `week`; primeiro dia do mês em
                            `month`).
                        conversations_started:
                          type: integer
                          description: >-
                            Conversas iniciadas no balde. Denominador das taxas
                            de resposta e agendamento.
                        conversations_answered:
                          type: integer
                          description: >-
                            Conversas com ao menos uma resposta do contato.
                            Numerador da taxa de resposta.
                        conversations_no_response:
                          type: integer
                          description: Conversas sem nenhuma resposta do contato.
                        appointments:
                          type: integer
                          description: >-
                            Conversas com ao menos um agendamento. Numerador da
                            taxa de agendamento.
                  count:
                    type: integer
                    description: Número de linhas em `data`.
        '400':
          description: >-
            Parâmetro inválido, granularidade desconhecida ou janela acima do
            teto permitido.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Erro'
        '401':
          description: Chave de acesso ausente ou inválida.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Erro'
        '429':
          description: >-
            Limite de requisições excedido (cerca de 120 por minuto por
            workspace).
          headers:
            Retry-After:
              description: Segundos a aguardar antes de repetir a requisição.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Erro'
components:
  schemas:
    Erro:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Descrição do erro.
  securitySchemes:
    workspaceApiKey:
      type: http
      scheme: bearer
      description: >-
        Workspace API key no formato `mk_...`, gerada na plataforma em
        **Integrações → Configurar API**.

````