> ## 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 del phishing via email

> Ricreare il log del phishing a livello di evento di un precedente provider a partire dagli eventi e dalle entità di simulazione dei report /v1.

Questo report è un log del phishing a livello di evento: una riga per ogni
interazione di simulazione osservata (data, azione, email del destinatario, oggetto, mittente, difficoltà). Mantiene
un formato esteso (long-form): non riduce la cronologia di una persona a un unico
risultato.

La query include gli ultimi **12 mesi di calendario** in `occurred_after`
(mezzanotte UTC dello stesso giorno del mese di dodici mesi prima, non una
durata di 365 giorni).

<Note>
  L'IP del client in formato grezzo non è mai presente su `/v1`: si tratta di privacy by design, non di una
  mappatura in sospeso. Il tipo di dispositivo è una classe derivata nella riga dell'evento; il valore
  grezzo `user_agent` rimane privato. Vedere
  [Differenze rispetto all'esportazione precedente](#differenze-rispetto-all-esportazione-precedente).
</Note>

Configurazione, credenziali, paginazione e nuovi tentativi in caso di limite di frequenza sono gli stessi della
[guida alla connettività di Power BI / Excel](/it/developers/v1/powerbi). Aggiungere prima la query condivisa
`Fn_FetchAll`: questo report la richiama per nome.

## Ambiti della chiave richiesti

| Ambito | Utilizzo |
| - | - |
| `reporting:read` | `GET /v1/reporting/simulation_events` |
| `entity:read` | `GET /v1/entities` (join di email e nome visualizzato) |

Una chiave a cui è stato concesso solo `simulation:read` non può chiamare l'endpoint
degli eventi di reportistica (l'API restituisce `403`). Vedere
[scegliere la granularità corretta](/it/developers/v1/powerbi#scegliere-la-granularit%C3%A0-corretta).

## Endpoint di origine

| Endpoint | Ruolo |
| - | - |
| `GET /v1/reporting/simulation_events` | Fatto a livello di evento. La granularità è una singola interazione tipizzata. `email_subject`, `sender_email`, `sender_domain` e `difficulty_tier` sono presenti in questa riga, quindi la query non effettua il join con i risultati a livello di campagna per questi campi. |
| `GET /v1/entities` | Risolve `entity_id` → email / nome visualizzato. L'evento di reportistica omette l'email del destinatario (un'esclusione rigida nel reader di reportistica). La scansione di `/entities` è il modo in cui viene popolata la colonna "email" del formato precedente. |

Filtri consentiti nell'elenco degli eventi (qualsiasi altro filtro restituisce `400`):
`limit`, `page_token`, `simulation`, `entity`, `event_type`,
`occurred_after`.

Questa famiglia di report è un [dataset in anteprima](/it/developers/v1/powerbi#dataset-in-anteprima-di-reporting-phishing-per-singola-persona).
Consultare lo schema del dataset e le policy sui dati in
`GET /v1/reporting/datasets` e
`GET /v1/reporting/datasets/simulation_events`.

### Granularità

Una riga per ogni evento di simulazione di reportistica. Una persona che ha aperto e poi
cliccato sullo stesso messaggio genera due righe. Gli eventi con `entity_id` nullo
(nessun partecipante attore / destinatario / target) compaiono comunque: `email` è
nullo.

La finestra dell'API è ampliata di un minuto; il limite esatto di
`occurred_at >= WindowStart` viene riapplicato in locale, in modo che l'ultimo
anno non dipenda dal fatto che il server tratti `occurred_after` come
inclusivo o esclusivo.

Budget di richieste: una scansione paginata degli eventi nella finestra, più una scansione
delle entità. Impostare sempre `limit = "500"`.

## Mappatura delle colonne

I nomi delle colonne del formato precedente provengono dall'esportazione del provider precedente. I campi `/v1`
sono i nomi pubblici dell'API; la query assegna alias ad alcuni di essi per il report.

| Colonna precedente | Campo `/v1` o derivazione | Colonna del report |
| - | - | - |
| Date | `Event.occurred_at` (come data; il valore grezzo `occurred_at` viene conservato come `datetimezone`) | `date` |
| Action | `Event.event_type` — token chiusi elencati di seguito | `action` |
| Email | `Entity.email` (join su `entity_id`) | `email` |
| Subject | `Event.email_subject` | `subject` |
| From | `Event.sender_email` | `from` |
| Difficulty | `Event.difficulty_tier` — intero da 1 a 5, 1 il più facile, 5 il più difficile | `difficulty` |
| Raw IP | Mai presente su `/v1` | Omessa, non impostata a null |
| Device type | `Event.device_type` — classe derivata; null quando l'evento non ha una classe derivata | `device_type` |

### Token di azione

`action` è il token chiuso di reportistica. La voce precedente "Email Sent" corrisponde a
`simulation.delivered` (`delivered` è il verbo pubblico; il token sulla rete è
`simulation.delivered`).

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

Campi aggiuntivi mantenuti perché presenti nell'API: `sender_domain`, `full_name`,
`event_id`, `entity_id`, `simulation_id`, `occurred_at`, oltre a
`entity_type` e `entity_status` provenienti dal join delle entità.

## Differenze rispetto all'esportazione precedente

* **L'IP grezzo non è mai disponibile.** `/v1` non espone l'IP grezzo del client:
  si tratta di privacy by design, non di una mappatura in sospeso. La query non aggiunge alcuna colonna IP
  segnaposto.
* **Il tipo di dispositivo è derivato, non grezzo.** `device_type` è una classe di dispositivo
  derivata per gli eventi di clic, invio e segnalazione. I token osservati includono
  `desktop`, `mobile`, `tablet` e `unknown`, ma l'emettitore memorizza una
  stringa libera: trattarla come testo aperto, non come enum chiuso. È null
  quando l'evento non ha una classe derivata, e la stringa grezza `user_agent`
  rimane privata.
* **"Email Sent" è `simulation.delivered`.** Utilizzare questo token quando
  si filtrano o si contano gli invii. Non cercare una stringa `email_sent` del formato precedente.
* **L'email del destinatario è un join, non un campo dell'evento.** L'evento
  di reportistica omette l'email; la query scansiona `/entities` per compilarla.
* **Ultimi 12 mesi di calendario**, non una durata di 365 giorni e non l'intera
  cronologia.
* **Formato esteso, non ridotto.** Una riga per interazione, non un risultato
  per persona.

## Passaggi successivi

<CardGroup cols={2}>
  <Card title="Configurazione di Power BI ed Excel" href="/it/developers/v1/powerbi">
    Credenziali, paginazione e caricamento di queste query in Power BI o Excel.
  </Card>

  <Card title="Utenti più vulnerabili" href="/it/developers/v1/reports/most-susceptible-users">
    Riepilogo per persona su 12 mesi di clic, credenziali e segnalazioni.
  </Card>

  <Card title="Conformità per persona" href="/it/developers/v1/reports/per-person-compliance">
    Iscrizioni alla Formazione con granularità persona × assegnazione.
  </Card>

  <Card title="Chiavi API" href="/it/developers/developer-hub/api-keys">
    Concedere `reporting:read` e `entity:read` alla chiave che aggiorna questo report.
  </Card>
</CardGroup>


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