📖 Descrição
Dispara o processamento assíncrono da contagem de cruzamentos de preço (spot x future) para um dia. O endpoint retorna imediatamente com 202 Accepted. Em background, o serviço consulta todas as operações spot x future do dia, agrupa por ticker e exchange, calcula a quantidade de cruzamentos por grupo e persiste os resultados na base de dados.🛠️ Requisição
Método
POST
URL
Body (opcional)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
date | string | Não | Data no formato YYYY-MM-DD. Se omitido, usa o dia atual (America/Sao_Paulo) |
Exemplo de Requisição
Processar o dia atual (body vazio):📤 Resposta
Status
202 Accepted
A resposta é enviada assim que o processamento é aceito. O trabalho pesado (consulta, agrupamento, contagem e gravação) ocorre em background.
Exemplo de Resposta
Campos da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
processingDate | string | Data que será (ou foi) processada (YYYY-MM-DD) |
status | string | Sempre "accepted" quando a requisição é válida |
📝 Notas
Comportamento:
- O processamento roda em uma goroutine; não bloqueia a resposta HTTP.
- Para a data informada (ou dia atual), o serviço busca todas as operações na coleção de operações spot x future, agrupa por
(ticker, exchange)e, para cada grupo, conta os cruzamentos (mudança de sinal despotPrice - futurePriceentre pontos consecutivos ordenados por tempo). - Os resultados são gravados na coleção
spot_future_crossing_counts, com documentos contendo:processing_date,ticker,exchange,crossing_count. - Erros durante o processamento em background são reportados à telemetria; o cliente não recebe retry ou status do job.
Erros comuns:
500: erro ao parsear o body (raro; body é opcional). Falhas no processamento assíncrono não alteram o status HTTP (já foi 202).