开发文档
环境准备
在开始集成晶速医疗管理系统之前,请确保您的开发环境满足以下要求:
基本要求
- 支持HTTPS协议的客户端
- 能够处理JSON格式的数据
- 有效的API密钥
- 稳定的网络连接
获取API密钥
请联系我们的技术团队申请API密钥,您需要提供以下信息:
- 公司名称
- 联系人信息
- 应用场景描述
- 预计调用量
身份认证
所有API请求都需要在HTTP Header中包含API密钥进行身份验证:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
安全建议
- 不要将API密钥硬编码在代码中
- 使用环境变量或配置文件存储密钥
- 定期更换API密钥
- 监控API调用日志,发现异常及时处理
第一个请求
让我们通过一个简单的示例来了解如何调用API:
cURL示例
curl -X GET "https://api.tongsu.com/v1/customers?page=1&page_size=10" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
Python示例
import requests
url = "https://api.nhip.com.cn/v1/customers"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
params = {
"page": 1,
"page_size": 10
}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Java示例
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class ApiClient {
private static final String API_KEY = "YOUR_API_KEY";
private static final String BASE_URL = "https://api.jingsu.com/v1";
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(BASE_URL + "/customers?page=1&page_size=10"))
.header("Authorization", "Bearer " + API_KEY)
.header("Content-Type", "application/json")
.GET()
.build();
HttpResponse response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Java SDK
我们提供Java SDK,方便您快速集成:
Maven依赖
<dependency>
<groupId>com.jingsu</groupId>
<artifactId>jingsu-sdk</artifactId>
<version>1.0.0</version>
</dependency>
使用示例
import com.jingsu.JingsuClient;
import com.jingsu.model.Customer;
public class Example {
public static void main(String[] args) {
TongsuClient client = new TongsuClient("YOUR_API_KEY");
Customer customer = new Customer();
customer.setName("张三");
customer.setPhone("13800138000");
Customer result = client.createCustomer(customer);
System.out.println("客户ID: " + result.getId());
}
}
Python SDK
Python SDK提供简洁的API调用方式:
安装
pip install jingsu-sdk
使用示例
from jingsu import JingsuClient
client = JingsuClient(api_key="YOUR_API_KEY")
customer = client.create_customer(
name="张三",
phone="13800138000",
gender=1
)
print(f"客户ID: {customer['id']}")
Node.js SDK
Node.js SDK支持Promise和async/await:
安装
npm install jingsu-sdk
使用示例
const JingsuClient = require('jingsu-sdk');
const client = new JingsuClient({
apiKey: 'YOUR_API_KEY'
});
async function createCustomer() {
try {
const customer = await client.createCustomer({
name: '张三',
phone: '13800138000',
gender: 1
});
console.log('客户ID:', customer.id);
} catch (error) {
console.error('创建失败:', error);
}
}
createCustomer();
客户管理集成
客户管理是系统的核心功能,以下是集成要点:
客户数据结构
{
"id": 1001,
"name": "张三",
"phone": "13800138000",
"gender": 1,
"birthday": "1990-01-01",
"address": "北京市朝阳区",
"tags": [
{"id": 1, "name": "VIP客户"},
{"id": 2, "name": "新客户"}
],
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
集成步骤
- 调用创建客户接口,传入基本信息
- 获取客户ID,用于后续操作
- 根据业务需求添加标签
- 定期同步客户信息更新
注意事项
- 手机号必须唯一,重复手机号会返回错误
- 客户信息更新时,只传入需要修改的字段
- 删除客户为逻辑删除,数据仍保留在系统中
支付集成
系统支持多种支付方式,集成时需要注意:
支付流程
- 创建支付订单
- 获取支付参数
- 调用第三方支付SDK
- 处理支付回调
- 确认支付状态
美团团购支付
美团团购支付需要先核销券码,再进行支付:
1. 调用核销接口:POST /payments/meituan/verify
2. 获取核销结果和金额
3. 确认支付
4. 记录交易信息
支付回调处理
支付成功后,系统会发送Webhook通知:
{
"event": "payment.success",
"data": {
"payment_id": 1001,
"order_id": 2001,
"amount": 100.00,
"status": "paid",
"paid_at": "2024-01-01T00:00:00Z"
}
}
Webhook配置
Webhook用于接收系统事件通知,需要配置接收URL:
配置Webhook
请联系技术团队配置您的Webhook URL
事件类型
| 事件类型 | 说明 |
|---|---|
| customer.created | 客户创建成功 |
| payment.success | 支付成功 |
| payment.failed | 支付失败 |
| appointment.created | 预约创建成功 |
| diagnosis.created | 诊疗记录创建成功 |
验证签名
为确保数据安全,建议验证Webhook签名:
import hmac
import hashlib
def verify_webhook_signature(payload, signature, secret):
expected_signature = hmac.new(
secret.encode(),
payload.encode(),
hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected_signature, signature)
常见问题
Q: API调用频率限制是多少?
A: 标准版每分钟最多100次请求,企业版可提升至1000次/分钟。如需更高配额,请联系商务团队。
Q: 如何处理网络请求超时?
A: 建议设置合理的超时时间(如30秒),并实现重试机制。重试时请使用指数退避策略。
Q: 支持沙箱环境吗?
A: 支持,沙箱环境URL为 https://sandbox-api.jingsu.com/v1,使用测试API密钥。
Q: 如何获取技术支持?
A: 可以通过邮件 support@nhip.com.cn 联系技术团队,或查看故障排查文档。
Q: 数据安全如何保障?
A: 我们采用HTTPS加密传输,数据存储采用加密技术,并定期进行安全审计。
故障排查
常见错误及解决方案
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 401 Unauthorized | API密钥无效或过期 | 检查API密钥是否正确,或联系技术团队更新 |
| 400 Bad Request | 请求参数错误 | 检查请求参数格式和必填字段 |
| 429 Too Many Requests | 超过频率限制 | 降低请求频率或升级套餐 |
| 500 Internal Server Error | 服务器错误 | 稍后重试,如持续出现请联系技术支持 |
调试技巧
- 使用工具如Postman或curl测试API
- 开启详细的日志记录
- 检查网络连接和DNS解析
- 验证请求和响应的JSON格式