OceanEngine

Integrates with
OceanEngine

MCP (Microservice Control Panel)

项目概述

MCP是一个集成巨量API并对外提供服务的平台。该项目旨在简化API的管理、监控和使用,为开发人员和业务提供一站式服务解决方案。特别适合引流电商业务场景。

主要功能

  • 巨量引擎API集成:集成巨量引擎广告平台的API,提供统一访问接口
  • 广告账户管理:查询广告账户信息、获取账户列表
  • 广告数据报表:支持多维度数据查询,包括广告主报表、小时报表和自定义报表
  • 项目和广告管理:获取项目列表和广告列表,支持多种过滤条件
  • 灵活的认证机制:Access-Token管理,支持按广告账户设置和管理Token
  • 完善的API文档:详细的接口说明、参数定义和使用示例
  • 错误处理和日志:提供错误码和详细日志,方便调试和问题定位

集成API

已计划集成的API

  1. 巨量引擎开放平台
    • 广告账户服务API - 文档链接
    • 主要功能:查询广告账户信息、获取账户列表、获取广告性能数据等
    • 已实现接口:
      • GET /api/oceanengine/ad-accounts/{account_id} - 获取广告账户详情
      • GET /api/oceanengine/ad-accounts - 获取广告账户列表
      • GET /api/oceanengine/ad-accounts/{account_id}/performance - 获取广告关键指标(展示、点击、转化、消耗等)
      • GET /api/oceanengine/ad-accounts/{account_id}/hourly-report - 获取广告主按小时统计的报表数据
      • POST /api/oceanengine/ad-accounts/{account_id}/custom-report - 获取自定义报表
      • GET /api/oceanengine/ad-accounts/{account_id}/report/advertiser - 获取广告主报表
      • GET /api/oceanengine/ad-accounts/{account_id}/projects - 获取项目列表
      • GET /api/oceanengine/ad-accounts/{account_id}/promotions - 获取广告列表
      • POST /api/ad-accounts/{account_id}/token - 设置账户的Access-Token
      • GET /api/ad-accounts/{account_id}/token - 检查账户的Access-Token状态
      • DELETE /api/ad-accounts/{account_id}/token - 删除账户的Access-Token

技术栈

  • 后端:Node.js/Express
  • API调用:Axios
  • 容器化:Docker
  • API网关:Kong/Nginx

项目结构

/
├── app/                 # 应用主目录
│   ├── controllers/     # 控制器
│   ├── models/          # 数据模型
│   ├── services/        # 服务
│   ├── routes/          # 路由
│   └── utils/           # 工具函数
├── config/              # 配置文件
├── docs/                # 文档
├── scripts/             # 部署和维护脚本
├── tests/               # 测试文件
└── docker/              # Docker相关文件

开发与部署

环境要求

  • Node.js 16+
  • Docker (用于容器化部署)

环境变量配置

在项目根目录创建一个 .env 文件,可参考 .env.example

## 服务器配置
PORT=3000
NODE_ENV=development

## 巨量引擎API Token
OCEANENGINE_ACCESS_TOKEN=your_access_token_here

## 日志级别
LOG_LEVEL=debug

本地开发

## 安装依赖
npm install

## 启动开发服务器
npm run dev

测试

## 运行单元测试
npm test

生产部署

## 构建Docker镜像
docker build -t mcp-server .

## 运行容器
docker run -d -p 3000:3000 --env-file .env --name mcp-api mcp-server

API文档

API文档请参考 docs/api.md

引流电商应用场景

本项目特别适合引流电商业务场景,提供了以下功能:

  1. 获取广告账户基本信息:包括账户ID、名称、状态、余额等
  2. 批量获取账户列表:用于管理多个广告账户
  3. 获取广告关键指标:包括展示量、点击量、转化量、点击率、转化率等,帮助引流电商评估广告效果
  4. 获取广告主小时报表:按小时查看广告表现,及时调整策略
  5. 自定义报表:根据需求定制报表,支持多维度分析

路线图

  • 项目初始化
  • 基础框架搭建
  • API管理实现
    • 巨量引擎广告账户服务API集成
      • 获取账户信息接口
      • 获取账户列表接口
      • 获取广告关键指标接口
      • 获取广告主小时报表接口
      • 获取自定义报表接口
      • 获取广告主报表接口
      • 获取项目列表接口
      • 获取广告列表接口
  • 认证管理
    • Access-Token 管理接口
    • 用户认证与授权
  • 服务监控模块
  • 高级特性
    • 缓存机制
    • 请求限流
    • 错误重试
  • 单元测试覆盖
  • 完整API文档

贡献指南

  1. Fork 该仓库
  2. 创建您的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交您的更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开一个 Pull Request