Back to Blog

Use Cases / F06

跨平台集成:在你现有的技术栈中使用 MERX

每个技术栈都不同。你的后端可能是 Node.js、Go、Python、Ruby 或 Java。MERX 提供五种集成方法:REST API、WebSocket、Webhook、语言 SDK 和用于 AI 智能体的 MCP 服务器。

集成方法概览

方法最适用于方向延迟语言
REST API请求-响应操作客户端 -> MERX~200ms任何
WebSocket实时价格信息MERX -> 客户端实时任何
Webhook异步通知MERX -> 客户端事件驱动任何
JS SDKNode.js/浏览器应用双向~200msJavaScript/TypeScript
Python SDKPython 后端、脚本双向~200msPython
MCP 服务器AI 智能体集成双向~500ms任何(通过 MCP 协议)

REST API:通用集成

任何有 HTTP 支持的语言都可以使用:

curl -X POST https://merx.exchange/api/v1/prices \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"energy_amount": 65000, "duration": "1h"}'

Go 示例

func getBestPrice(amount int, duration string) (*PriceResponse, error) {
    body, _ := json.Marshal(PriceRequest{EnergyAmount: amount, Duration: duration})
    req, _ := http.NewRequest("POST", "https://merx.exchange/api/v1/prices", bytes.NewBuffer(body))
    req.Header.Set("Authorization", "Bearer "+apiKey)
    req.Header.Set("Content-Type", "application/json")
    resp, err := http.DefaultClient.Do(req)
    // ...
}

WebSocket:实时价格流

const ws = new WebSocket('wss://merx.exchange/ws',
  { headers: { 'Authorization': `Bearer ${API_KEY}` } });

ws.on('message', (data) => {
  const event = JSON.parse(data.toString());
  if (event.type === 'price_update') {
    console.log(`${event.provider}: ${event.price_sun} SUN`);
  }
});

Webhook:异步事件通知

app.post('/webhooks/merx', (req, res) => {
  const event = req.body;
  switch (event.type) {
    case 'order.filled': handleOrderFilled(event.data); break;
    case 'order.failed': handleOrderFailed(event.data); break;
  }
  res.status(200).json({ received: true });
});

JavaScript SDK

import { MerxClient } from 'merx-sdk';
const merx = new MerxClient({ apiKey: process.env.MERX_API_KEY! });
const prices = await merx.getPrices({ energy_amount: 65000, duration: '1h' });
const order = await merx.createOrder({
  energy_amount: 65000, duration: '1h', target_address: 'TAddress...'
});

Python SDK

from merx import MerxClient
merx = MerxClient(api_key="your-key")
prices = merx.get_prices(energy_amount=65000, duration="1h")
order = merx.create_order(energy_amount=65000, duration="1h", target_address="TAddress...")

选择指南

你的情况推荐集成
快速原型,任何语言REST API
Node.js 后端JS SDK
Python 后端Python SDK
实时价格显示WebSocket
事件驱动架构Webhook
无服务器(Lambda)REST API + Webhook
AI 智能体构建MCP 服务器
Go/Java/Ruby 后端REST API

迁移路径

从单一供应商迁移到 MERX 很简单:

  1. 添加 MERX SDK
  2. 替换价格检查为 merx.getPrices()
  3. 替换下单为 merx.createOrder()
  4. 添加 webhook 用于订单通知
  5. 验证后移除旧供应商代码

迁移可以增量进行。在测试期间并行运行两个系统。

API 文档: https://merx.exchange/docs。MCP 服务器: https://github.com/Hovsteder/merx-mcp。平台: https://merx.exchange


All Articles