开发者中心

SDK安装、代码示例、常见问题 - 快速上手 Signal Market API

快速开始

获取 API Key

访问 dashboard.signal.market 注册账号并获取您的 API Key

安装 SDK

# Node.js npm install @signal-market/sdk # Python pip install signal-market

初始化客户端

import { SignalMarket } from '@signal-market/sdk'; const client = new SignalMarket({ apiKey: 'your_api_key_here' });

开始使用

// 获取事件列表 const events = await client.events.list({ limit: 10, stage: 'accelerating' }); console.log(events);

SDK 安装

Node.js / JavaScript

# 使用 npm npm install @signal-market/sdk # 使用 yarn yarn add @signal-market/sdk # 使用 pnpm pnpm add @signal-market/sdk

Python

# 使用 pip pip install signal-market # 或使用 poetry poetry add signal-market

Go

go get github.com/signal-market/go-sdk

代码示例

JavaScript / TypeScript

import { SignalMarket } from '@signal-market/sdk'; const client = new SignalMarket({ apiKey: process.env.SIGNAL_API_KEY, baseUrl: 'https://api.signal.market' }); // 获取事件列表 const events = await client.events.list({ limit: 10, stage: 'accelerating,peak', sortBy: 'probability', sortOrder: 'desc' }); console.log('发现事件:', events.events.length); // 获取特定事件概率 const probability = await client.events.getProbability('evt_001'); console.log('当前概率:', probability.current); console.log('7天预测:', probability.P_7d); // 获取用户透镜简报 const brief = await client.lenses.getBrief('lens_a_stock'); console.log('关注主题:', brief.topics_watched); console.log('机会:', brief.top_opportunities);
import { SignalMarket, EventStage } from '@signal-market/sdk'; const client = new SignalMarket({ apiKey: 'your_key' }); // 使用流式订阅实时更新 const stream = client.events.subscribe({ stage: [EventStage.ACCELERATING, EventStage.PEAK] }); stream.on('event', (event) => { console.log('新事件:', event.title); // 自动处理 }); // 创建自定义监控 const watch = await client.watch.create({ event_ids: ['evt_001', 'evt_002', 'evt_003'], notify_email: 'alert@example.com', webhook_url: 'https://yourapp.com/webhook' }); console.log('监控ID:', watch.watch_id); // 批量查询 const results = await Promise.all([ client.events.getProbability('evt_001'), client.events.getProbability('evt_002'), client.events.getProbability('evt_003') ]); // 处理结果 results.forEach(r => { console.log(`${r.topic}: ${r.current * 100}%`); });

Python

from signal_market import SignalMarket client = SignalMarket(api_key="your_api_key") # 获取事件列表 events = client.events.list( limit=10, stage="accelerating,peak", sort_by="probability", sort_order="desc" ) print(f"发现事件: {len(events['events'])}") # 获取特定事件概率 probability = client.events.get_probability("evt_001") print(f"当前概率: {probability['current']}") print(f"7天预测: {probability['P_7d']}") # 获取用户透镜简报 brief = client.lenses.get_brief("lens_a_stock") print(f"关注主题: {brief['topics_watched']}")

使用 WebSocket 实时订阅

// Node.js WebSocket 订阅 const { SignalMarket } = require('@signal-market/sdk'); const ws = SignalMarket.websocket({ apiKey: 'your_api_key' }); // 订阅加速中事件 ws.subscribe('events', { stage: ['accelerating', 'peak'] }); ws.on('message', (data) => { if (data.type === 'event_update') { console.log('新事件:', data.event.title); console.log('概率变化:', data.event.probability); } }); ws.on('error', (err) => { console.error('WebSocket错误:', err); });

功能特性

实时事件检测

自动识别新兴热点事件,按阶段分类(emerging, accelerating, peak, fading)

概率预测

提供7天、30天概率预测,追踪事件发展趋势

用户透镜

自定义关注领域,获取个性化简报和机会提醒

证据追踪

关联事件相关新闻、社交媒体、研究报告等证据

预测市场

整合预测市场数据,获取市场共识概率

实时监控

创建事件监控,通过邮件或 Webhook 接收通知

常见问题

Q: 如何获取 API Key?
A: 注册账号后,在个人设置或开发者页面可以创建和管理 API Key。
Q: API 调用频率有限制吗?
A: 免费版每分钟 60 次,专业版更高。如需更高限制请联系销售。
Q: 事件概率是如何计算的?
A: 综合考虑事件相关证据的数量、来源权重、时间衰减等因素,结合预测市场数据。
Q: 支持哪些编程语言?
A: 我们提供 JavaScript/TypeScript、Python、Go SDK,其他语言可直接调用 REST API。
Q: 如何获取实时更新?
A: 可以使用 WebSocket 订阅或轮询 /signals/health 端点获取增量更新。
Q: 数据源包括哪些?
A: 包括主流新闻媒体、社交平台、研究报告、预测市场等多个数据源。

错误处理

import { SignalMarket, APIError, RateLimitError } from '@signal-market/sdk'; const client = new SignalMarket({ apiKey: 'your_key' }); try { const events = await client.events.list({ limit: 100 }); } catch (error) { if (error instanceof RateLimitError) { // 处理频率限制 console.log('请求过于频繁,等待', error.retryAfter, '秒'); await sleep(error.retryAfter * 1000); } else if (error instanceof APIError) { // 处理 API 错误 console.error('API错误:', error.code, error.message); } else { // 处理网络错误 console.error('网络错误:', error.message); } }

更多资源