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

# Log de phishing por e-mail

> Recrie o log de phishing em nível de evento de um provedor anterior a partir dos eventos e entidades de simulação de relatórios da /v1.

Este relatório é um log de phishing em nível de evento: uma linha por interação de simulação observada (data, ação, e-mail do destinatário, assunto, remetente, dificuldade). Ele permanece em formato longo — não condensa o histórico de uma pessoa em um único resultado.

A consulta agrupa os últimos **12 meses corridos** em `occurred_after`
(meia-noite UTC no mesmo dia do mês, doze meses atrás — não uma duração de 365 dias).

<Note>
  O IP bruto do cliente nunca está em `/v1` — privacidade desde a concepção, não um mapeamento pendente. O tipo de dispositivo é uma classe derivada na linha do evento; o `user_agent` bruto permanece privado. Consulte
  [Divergências em relação à exportação legada](#diverg%C3%AAncias-em-rela%C3%A7%C3%A3o-%C3%A0-exporta%C3%A7%C3%A3o-legada).
</Note>

A configuração, as credenciais, a paginação e a nova tentativa em caso de limite de taxa são as mesmas do
[guia de conectividade do Power BI / Excel](/pt-BR/developers/v1/powerbi). Adicione primeiro a consulta compartilhada
`Fn_FetchAll`; este relatório a chama pelo nome.

## Escopos de chave necessários

| Escopo | Usado para |
| - | - |
| `reporting:read` | `GET /v1/reporting/simulation_events` |
| `entity:read` | `GET /v1/entities` (junção de e-mail e nome de exibição) |

Uma chave com apenas `simulation:read` não pode chamar o endpoint de eventos de relatórios (a API retorna `403`). Consulte
[escolha a granularidade correta](/pt-BR/developers/v1/powerbi#escolha-a-granularidade-correta).

## Endpoints de origem

| Endpoint | Função |
| - | - |
| `GET /v1/reporting/simulation_events` | Fato em nível de evento. A granularidade é uma interação digitada. `email_subject`, `sender_email`, `sender_domain` e `difficulty_tier` estão nesta linha, portanto a consulta não une resultados em nível de campanha para esses campos. |
| `GET /v1/entities` | Resolve `entity_id` → e-mail / nome de exibição. O evento de relatórios omite o e-mail do destinatário (uma exclusão rígida no leitor de relatórios). Percorrer `/entities` é como a coluna legada "email" é preenchida. |

Filtros permitidos na lista de eventos (qualquer outro retorna `400`):
`limit`, `page_token`, `simulation`, `entity`, `event_type`,
`occurred_after`.

Esta família de relatórios é um [conjunto de dados em versão prévia](/pt-BR/developers/v1/powerbi#conjuntos-de-dados-de-relat%C3%B3rios-em-vers%C3%A3o-preliminar-phishing-por-pessoa).
Inspecione o esquema do conjunto de dados e as políticas de dados em
`GET /v1/reporting/datasets` e
`GET /v1/reporting/datasets/simulation_events`.

### Granularidade

Uma linha por evento de simulação de relatórios. Uma pessoa que abriu e depois clicou na mesma mensagem gera duas linhas. Eventos com `entity_id` nulo (sem ator / destinatário / participante-alvo) ainda aparecem — `email` é nulo.

A janela da API é ampliada em um minuto; o limite exato de
`occurred_at >= WindowStart` é reaplicado localmente para que o último ano não dependa de o servidor tratar `occurred_after` como inclusivo ou exclusivo.

Orçamento de requisições: um percurso paginado dos eventos na janela, mais um percurso das entidades. Sempre defina `limit = "500"`.

## Mapeamento de colunas

Os nomes das colunas legadas são da exportação do seu provedor anterior. Os campos de `/v1` são os nomes públicos da API; a consulta atribui aliases a alguns deles para o relatório.

| Coluna legada | Campo ou derivação de `/v1` | Coluna do relatório |
| - | - | - |
| Date | `Event.occurred_at` (como data; o `occurred_at` bruto é mantido como `datetimezone`) | `date` |
| Action | `Event.event_type` — tokens fechados listados abaixo | `action` |
| Email | `Entity.email` (junção em `entity_id`) | `email` |
| Subject | `Event.email_subject` | `subject` |
| From | `Event.sender_email` | `from` |
| Difficulty | `Event.difficulty_tier` — inteiro de 1 a 5, sendo 1 o mais fácil e 5 o mais difícil | `difficulty` |
| Raw IP | Nunca em `/v1` | Omitido, não nulo |
| Device type | `Event.device_type` — classe derivada; nulo quando o evento não tem classe derivada | `device_type` |

### Tokens de ação

`action` é o token fechado de relatórios. O "Email Sent" legado corresponde a
`simulation.delivered` (`delivered` é o verbo público; o token na rede é
`simulation.delivered`).

| Valor de `action` |
| - |
| `simulation.delivered` |
| `simulation.opened` |
| `simulation.link_clicked` |
| `simulation.credentials_submitted` |
| `simulation.attachment_opened` |
| `simulation.reported` |
| `simulation.bounced` |
| `simulation.qr_scanned` |
| `simulation.replied` |

Campos extras mantidos porque a API os possui: `sender_domain`, `full_name`,
`event_id`, `entity_id`, `simulation_id`, `occurred_at`, além de
`entity_type` e `entity_status` da junção de entidades.

## Divergências em relação à exportação legada

* **O IP bruto nunca está disponível.** `/v1` não expõe o IP bruto do cliente — privacidade desde a concepção, não um mapeamento pendente. A consulta não adiciona uma coluna de IP de espaço reservado.
* **O tipo de dispositivo é derivado, não bruto.** `device_type` é uma classe de dispositivo derivada para eventos de clique, envio e relato. Os tokens observados incluem
  `desktop`, `mobile`, `tablet` e `unknown`, mas o emissor armazena uma string de formato livre — trate-a como texto aberto, não como uma enumeração fechada. Ela é nula quando o evento não tem classe derivada, e a string bruta de `user_agent` permanece privada.
* **"Email Sent" é `simulation.delivered`.** Use esse token ao filtrar ou contar envios. Não procure uma string legada `email_sent`.
* **O e-mail do destinatário é uma junção, não um campo do evento.** O evento de relatórios omite o e-mail; a consulta percorre `/entities` para preenchê-lo.
* **Últimos 12 meses corridos**, não uma duração de 365 dias, e não o histórico completo.
* **Formato longo, não condensado.** Uma linha por interação, não um resultado por pessoa.

## Próximas etapas

<CardGroup cols={2}>
  <Card title="Configuração do Power BI e do Excel" href="/pt-BR/developers/v1/powerbi">
    Credenciais, paginação e carregamento dessas consultas no Power BI ou no Excel.
  </Card>

  <Card title="Usuários mais suscetíveis" href="/pt-BR/developers/v1/reports/most-susceptible-users">
    Consolidação por pessoa de cliques, credenciais e relatos dos últimos 12 meses.
  </Card>

  <Card title="Conformidade por pessoa" href="/pt-BR/developers/v1/reports/per-person-compliance">
    Inscrições em Treinamento na granularidade pessoa × atribuição.
  </Card>

  <Card title="Chaves de API" href="/pt-BR/developers/developer-hub/api-keys">
    Conceda `reporting:read` e `entity:read` à chave que atualiza este relatório.
  </Card>
</CardGroup>


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