开发者文档
探索棱镜风控系统的API接口、SDK和集成方案,快速实现系统对接与二次开发
开发概述
棱镜风控系统提供全面的API接口和SDK,帮助开发者快速集成风控功能到现有业务系统中。通过简单的接口调用,您可以实现风险评估、规则查询、事件监控等功能。
开发前提
- 已注册棱镜风控系统账号并创建应用
- 已获取API访问密钥(Access Key和Secret Key)
- 了解RESTful API基本概念和使用方法
开发流程
创建应用并获取密钥
阅读API文档了解接口
集成SDK或调用API
测试并上线
API 简介
棱镜风控系统API采用RESTful设计风格,支持JSON格式的数据交换,通过标准的HTTP方法实现资源的操作。所有API端点均通过HTTPS协议提供服务,确保数据传输安全。
API 基础信息
- 基础URL: https://api.prismrisk.com/v1
- 格式: JSON
- 编码: UTF-8
- 请求方法: GET, POST, PUT, DELETE
状态码说明
- 200: 请求成功
- 400: 请求参数错误
- 401: 认证失败
- 500: 服务器错误
API 调用限制
为保证服务稳定性,API调用存在一定的频率限制:
- 免费版:每秒最多5次请求
- 企业版:每秒最多50次请求
- 定制版:可根据需求调整限制
认证授权
棱镜风控系统API采用Access Key和Secret Key进行身份验证。所有API请求(除获取密钥外)都需要包含有效的身份验证信息。
获取访问密钥
- 登录棱镜风控系统管理后台
- 进入"开发者中心" -> "API密钥管理"
- 点击"创建密钥"按钮,生成Access Key和Secret Key
- 妥善保存您的密钥,Secret Key仅显示一次
请求签名方法
每次API请求都需要生成签名,签名算法如下:
1. 拼接请求参数(按参数名ASCII排序)
2. 拼接请求方法、URL、时间戳和参数
3. 使用Secret Key对拼接字符串进行HMAC-SHA256加密
4. 将加密结果进行Base64编码,得到签名
5. 将签名作为X-Signature头传递
请求头示例
Authorization: PRISM {AccessKey}
X-Timestamp: 1620000000000
X-Signature: a4f5g6h7j8k9l0...
示例代码
以下是不同编程语言调用棱镜风控API的示例代码:
Python
import requests
import hmac
import base64
import time
from hashlib import sha256
# 配置信息
access_key = "your_access_key"
secret_key = "your_secret_key"
url = "https://api.prismrisk.com/v1/risk/evaluate"
# 生成签名
timestamp = str(int(time.time() * 1000))
params = {
"user_id": "123456",
"action": "login",
"ip": "192.168.1.1"
}
# 生成待签名字符串
sorted_params = sorted(params.items(), key=lambda x: x[0])
param_str = "&".join([f"{k}={v}" for k, v in sorted_params])
sign_str = f"POST\n{url}\n{timestamp}\n{param_str}"
# 计算签名
signature = base64.b64encode(hmac.new(
secret_key.encode(),
sign_str.encode(),
sha256
).digest()).decode()
# 发送请求
headers = {
"Authorization": f"PRISM {access_key}",
"X-Timestamp": timestamp,
"X-Signature": signature,
"Content-Type": "application/json"
}
response = requests.post(url, json=params, headers=headers)
print(response.json())
Java
import java.util.*;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;
import java.net.URI;
import org.apache.http.client.fluent.Request;
import org.apache.http.entity.ContentType;
public class PrismRiskExample {
private static final String ACCESS_KEY = "your_access_key";
private static final String SECRET_KEY = "your_secret_key";
private static final String API_URL = "https://api.prismrisk.com/v1/risk/evaluate";
public static void main(String[] args) throws Exception {
// 准备参数
Map params = new HashMap<>();
params.put("user_id", "123456");
params.put("action", "login");
params.put("ip", "192.168.1.1");
// 生成时间戳
long timestamp = System.currentTimeMillis();
// 生成签名
String signature = generateSignature("POST", API_URL, timestamp, params);
// 构建请求头
String jsonBody = "{\"user_id\":\"123456\",\"action\":\"login\",\"ip\":\"192.168.1.1\"}";
// 发送请求
String response = Request.Post(API_URL)
.addHeader("Authorization", "PRISM " + ACCESS_KEY)
.addHeader("X-Timestamp", String.valueOf(timestamp))
.addHeader("X-Signature", signature)
.bodyString(jsonBody, ContentType.APPLICATION_JSON)
.execute()
.returnContent()
.asString();
System.out.println(response);
}
private static String generateSignature(String method, String url, long timestamp, Map params) throws Exception {
// 排序参数
List paramList = new ArrayList<>();
for (Map.Entry entry : params.entrySet()) {
paramList.add(entry.getKey() + "=" + entry.getValue());
}
Collections.sort(paramList);
String paramStr = String.join("&", paramList);
// 构建待签名字符串
String signStr = method + "\n" + url + "\n" + timestamp + "\n" + paramStr;
// 计算HMAC-SHA256签名
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(new SecretKeySpec(SECRET_KEY.getBytes(), "HmacSHA256"));
byte[] signatureBytes = mac.doFinal(signStr.getBytes());
// Base64编码
return Base64.getEncoder().encodeToString(signatureBytes);
}
}
申请免费演示
填写以下信息,我们的专业顾问将在24小时内与您联系,为您提供定制化的演示方案
为什么选择我们?
- 10年+风控领域经验,服务500+企业客户
- AI驱动的智能风控系统,持续自主进化
- 高度可定制,满足不同行业的特殊需求
- 专业的实施团队,确保快速上线和效果落地
有紧急需求?
400-888-9999