Listando eventos de usuários
Para listar os eventos de usuários da organização, é necessário utilizar a query User_listEvents
. Essa query recebe como parâmetro um objeto do tipo User_ListEvents_Input
. A query retorna um objeto do tipo User_ListEvents_Output
.
Permissões
Esta query está disponível apenas para administradores.
Range de datas
O range máximo entre startDate
e endDate
é de 90 dias.
Propriedades de entrada
Propriedade | Tipo | Descrição |
---|---|---|
startDate | Date! | Data de início do período para buscar eventos (formato: "YYYY-MM-DD"). |
endDate | Date! | Data de fim do período para buscar eventos (formato: "YYYY-MM-DD"). |
eventType | UserEventTypeEnum! | Tipo de evento a ser filtrado. |
Tipos de evento disponíveis
Tipo | Descrição |
---|---|
USER_WAS_CREATED | Usuário foi criado |
USER_WAS_UPDATED | Usuário foi atualizado |
USER_WAS_DELETED | Usuário foi excluído |
USER_WAS_LOGGED_IN | Usuário fez login |
Propriedades de saída
Propriedade | Tipo | Descrição |
---|---|---|
events | [UserEventItem!]! | Lista de eventos encontrados |
total | Int! | Total de eventos encontrados no período |
Estrutura do UserEventItem
Propriedade | Tipo | Descrição |
---|---|---|
id | ID! | Identificador único do evento |
eventName | String! | Nome do evento |
occurredAt | DateTime! | Data e hora em que o evento ocorreu |
affectedUser | AffectedUser! | Usuário afetado pelo evento |
actor | EventActor! | Ator que executou o evento |
graphql
query ListUserEvents($input: User_ListEvents_Input!) {
User_listEvents(input: $input) {
total
events {
id
eventName
occurredAt
affectedUser {
id
name
email
}
actor {
id
name
type
}
}
}
}
js
async function listUserEvents(startDate, endDate, eventType) {
const response = await fetch('https://api.linte.com/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'key': '<seu-token>'
},
body: JSON.stringify({
query: `
query ListUserEvents($input: User_ListEvents_Input!) {
User_listEvents(input: $input) {
total
events {
id
eventName
occurredAt
affectedUser {
id
name
email
}
actor {
id
name
type
}
}
}
}
`,
variables: {
input: {
startDate,
endDate,
eventType
}
}
})
});
const result = await response.json();
console.log(result);
}
// Exemplo de uso
listUserEvents('2025-06-01', '2025-08-01', 'USER_WAS_UPDATED');
python
import requests
def list_user_events(start_date, end_date, event_type):
response = requests.post(
'https://api.linte.com/graphql',
headers={
'Content-Type': 'application/json',
'key': '<seu-token>'
},
json={
'query': '''
query ListUserEvents($input: User_ListEvents_Input!) {
User_listEvents(input: $input) {
total
events {
id
eventName
occurredAt
affectedUser {
id
name
email
}
actor {
id
name
type
}
}
}
}
''',
'variables': {
'input': {
'startDate': start_date,
'endDate': end_date,
'eventType': event_type
}
}
}
)
print(response.json())
if __name__ == '__main__':
list_user_events('2025-06-01', '2025-08-01', 'USER_WAS_UPDATED')
Exemplo de resposta
json
{
"data": {
"User_listEvents": {
"total": 15,
"events": [
{
"id": "evt_123",
"eventName": "User profile updated",
"occurredAt": "2025-06-15T10:30:00Z",
"affectedUser": {
"id": "user_456",
"name": "João Silva",
"email": "joao@exemplo.com"
},
"actor": {
"id": "admin_789",
"name": "Admin User",
"type": "USER"
}
}
]
}
}
}