Estrutura do payload
Entenda a estrutura do payload JSON enviado para webhooks e integrações.
Payload base
Todo payload de webhook inclui estes campos base. Os objetos de livro, sessão e estante são incluídos conforme o tipo do evento.
{
"eventType": "session.completed",
"timestamp": "2024-12-04T10:30:00Z",
"book": { ... },
"session": { ... },
"shelf": null,
"metadata": null
}
eventType
O tipo de evento que disparou esta notificação (ex: session.completed)
timestamp
Data e hora do evento em formato ISO 8601
metadata
Dados adicionais opcionais (atualmente null, reservado para uso futuro)
Objeto Book
Incluído em eventos de livro e de sessão. Contém os detalhes do livro.
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "The Great Gatsby",
"authors": ["F. Scott Fitzgerald"],
"pages": 180,
"currentPage": 180,
"status": "finished",
"isbn": "9780743273565",
"progressPercentage": 100
}
| Campo | Tipo | Descrição |
|---|---|---|
id |
string | Identificador único do livro (UUID) |
title |
string | O título do livro |
authors |
string[] | Array com os nomes dos autores |
pages |
number | Número total de páginas do livro |
currentPage |
number | Posição atual de leitura (número da página) |
status |
string | Status de leitura (to_read, reading, finished, abandoned) |
isbn |
string? | Número ISBN, se disponível (opcional) |
progressPercentage |
number | Progresso de leitura em porcentagem (0-100) |
Objeto Session
Incluído em eventos de sessão. Contém os detalhes da sessão de leitura.
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"startedAt": "2024-12-04T10:05:00Z",
"endedAt": "2024-12-04T10:30:00Z",
"status": "completed",
"durationMinutes": 25,
"pagesRead": 42
}
| Campo | Tipo | Descrição |
|---|---|---|
id |
string | Identificador único da sessão (UUID) |
startedAt |
string | Data e hora de início da sessão em ISO 8601 |
endedAt |
string? | Data e hora de término da sessão em ISO 8601 (null se ativa) |
status |
string | Status da sessão (active, paused, completed) |
durationMinutes |
number | Duração da sessão em minutos |
pagesRead |
number | Número de páginas lidas durante a sessão |
Objeto Shelf
Incluído em eventos de estante. Contém os detalhes da estante.
{
"id": "770e8400-e29b-41d4-a716-446655440002",
"name": "Favorites",
"icon": "star.fill",
"bookCount": 12
}
| Campo | Tipo | Descrição |
|---|---|---|
id |
string | Identificador único da estante (UUID) |
name |
string | Nome da estante |
icon |
string? | Nome do SF Symbol do ícone da estante (opcional) |
bookCount |
number | Número de livros na estante |
Valores de status
Status do livro
to_read
reading
finished
abandoned
Status da sessão
active
paused
completed