Soundwave integration

Teleparsy는 Telegram 공지를 구조화한 뒤 Soundwave 등 분석 프로덕트로 전송합니다. 패턴 탐지·전략 수립은 Soundwave 측에서 비정형→정형 데이터를 소비합니다.

Pipeline

  1. Telegram live collector → raw ingest
  2. Processor → normalize + parser enrich (funding_fee_alert 등)
  3. message_structured_records + search_documents 저장
  4. analytics_deliveries 큐 → analytics cron → Soundwave POST

Payload schema: soundwave.ingest.v1

{
  "schema": "soundwave.ingest.v1",
  "event_id": "sw_<message_uuid>",
  "ingested_at": "2026-06-30T12:00:00Z",
  "workspace_id": "...",
  "source": { "id", "title", "username", "parser_profile" },
  "message": { "id", "text", "date_utc", ... },
  "structured": {
    "schema": "funding_fee_alert.v1",
    "confidence": 0.85,
    "fields": {
      "alerts": [
        {
          "symbol": "BTCUSDT",
          "funding_rate_pct": -0.0123,
          "direction": "short_pays_long",
          "exchange": "BINANCE",
          "raw_line": "..."
        }
      ],
      "alert_count": 1
    }
  },
  "tags": ["funding", "crypto", "telegram"]
}

Setup

  1. Production API: https://soundwave-api-production-d168.up.railway.app/ingest/teleparsy
  2. App → Analytics → destination (or Railway SOUNDWAVE_INGEST_* auto-bootstrap)
  3. Shared secret: TELEPARSY_INGEST_SECRET (Soundwave) = destination auth (Teleparsy)
  4. Sources → parser profile per channel

Soundwave receiver (예시)

Soundwave ingest endpoint는 Authorization: Bearer <token> x-teleparsy-schema: soundwave.ingest.v1 헤더를 받습니다. structured.fields.alerts 배열을 시계열/패턴 분석 입력으로 사용하세요.

Multi-tenant (다른 유저)