# WLW OpenAPI 接口文档
## 概述
WLW OpenAPI 是一套物联网卡板管理接口,提供卡板信息查询、停复机操作、套餐订购等核心功能。API 接口采用 HMAC-SHA256 签名认证机制,确保通信安全性和数据完整性。
### 核心特性
- 🔐 **安全认证**: HMAC-SHA256 签名验证
- ⏱ **频率限制**: 基于 AccessKey 和 IP 的独立限流
- 🔄 **防重放攻击**: 时间戳 + Nonce 双重防护
- 📊 **完整监控**: 详细的错误码和日志记录
- 🌐 **跨平台**: 支持 HTTP/HTTPS 协议
### 基础信息
- **Base URL**: `接口地址`
- **协议**: HTTPS(推荐) / HTTP
- **字符编码**: UTF-8
- **响应格式**: JSON
- **HTTP状态码**: 标准 HTTP 状态码
- **请求格式支持**:
- **GET 请求**: Query String 参数
- **POST 请求**: `application/x-www-form-urlencoded` 或 `application/json`
- **推荐**: POST 请求建议使用 JSON 格式,更便于参数验证和错误处理
## 快速开始
### 第一步:获取访问权限
联系系统管理员获取以下信息:
- **AccessKey**: 访问密钥,用于API认证
- **SecretKey**: 签名密钥,用于请求签名(严格保密)
- **权限配置**: 所需功能权限(如停复机权限)
### 第二步:基础配置
```bash
# 环境变量配置
export WLW_BASE_URL="接口地址"
export WLW_ACCESS_KEY="ak_xxxxxxxxxx"
export WLW_SECRET_KEY="sk_xxxxxxxxxx"
export WLW_CARD_NO="CARD123456789"
```
### 第三步:发送第一个请求
```bash
# 使用 curl 发送心跳请求
timestamp=$(date +%s)
nonce=$(uuidgen)
params="access_key=$WLW_ACCESS_KEY&nonce=$nonce×tamp=$timestamp"
sign_str="GET/api/v1/heartbeat$timestamp$nonce$params"
signature=$(echo -n "$sign_str" | openssl dgst -sha256 -hmac "$WLW_SECRET_KEY" -hex | cut -d' ' -f2)
curl "$WLW_BASE_URL/api/v1/heartbeat?access_key=$WLW_ACCESS_KEY×tamp=$timestamp&nonce=$nonce&signature=$signature"
```
## 文档导航
- [认证机制](2.认证机制.md) - 签名算法详解和安全机制
- [接口详情](3.接口详情.md) - 所有API接口的详细说明
- [数据模型](4.数据模型.md) - 响应格式和状态码说明
- [安全机制](5.安全机制.md) - 签名验证、时间戳、Nonce等安全机制
- [SDK示例](6.SDK示例.md) - Python/Go/Node.js完整客户端代码
- [常见问题](7.常见问题.md) - 问题排查和最佳实践
## 获取帮助
- 如需技术支持,请联系相关技术团队
- 报告问题时请提供详细的错误信息和请求ID
- 建议在生产环境部署前进行充分测试