Novelfinished
Disparado quando um assinante escolhe um final e conclui uma novela (reading_progress.finished_at passa de nulo para preenchido) — uma escrita discreta, então mapeia bem no modelo de Database Webhooks nativo do Supabase, descrito em Modelo de autenticação sobre Supabase (seção “Webhooks de saída”). Assinado via HMAC-SHA256, mesmo padrão da Platform API — a verificação passo a passo está em Eventos (webhooks de saída).
O que não existe (e por quê): não há um webhook chapter.unlocked. O drip não é uma escrita — unlocked_chapter_count() é uma função calculada a cada leitura, sem nenhuma linha que muda no instante em que um capítulo libera às 06:00. Um Database Webhook não tem o que disparar nesse momento. Notificar “seu próximo capítulo chegou” exigiria um job agendado que recalcula o estado de cada assinante ativo e compara contra o que já foi notificado — não está desenhado; fica como questão aberta de roadmap, não como funcionalidade prometida.
Authorizations
Client credentials — emitido uma única vez, de forma centralizada, pela Platform API (POST https://api.googa.com.br/v1/oauth2/token, ver aba API Platform). Este domínio (api.novelai.com.br) só valida o token — via a chave pública do projeto Supabase "Platform" — nunca emite um token próprio. Isso evita duplicar a verificação de client_id/client_secret em três projetos Supabase diferentes: o parceiro autentica uma vez, e o mesmo token (com os escopos certos) funciona em qualquer domínio de produto. Ver "Roteamento cross-projeto" em Modelo de autenticação sobre Supabase.
Body
Response
Recebido — qualquer 2xx confirma a entrega e interrompe os retries.