快速开始
PWM CRM API 基于 RESTful 架构,所有请求使用 HTTPS 协议,数据格式为 JSON。基础 URL 为:
https://api.pwmapp.com/v1
第一步:获取 API Key
登录 PWM CRM 管理后台,进入「设置 - 开发者 - API 密钥」,点击「创建密钥」。系统会生成一对 API Key 和 API Secret,请妥善保存。
安全提示:API Secret 只在创建时显示一次,无法再次查看。请立即保存到安全的位置。如遗失,请删除旧密钥并重新创建。
第二步:发起第一个请求
使用 curl 测试获取客户列表:
curl -X GET "https://api.pwmapp.com/v1/customers?page=1&page_size=10" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
成功响应示例:
{
"code": 0,
"message": "success",
"data": {
"total": 156,
"page": 1,
"page_size": 10,
"items": [
{
"id": "cus_abc123",
"name": "华东建材集团",
"industry": "building_materials",
"level": "A",
"contact": "张经理",
"phone": "138****8888",
"created_at": "2026-01-15T10:30:00Z"
}
]
}
}
认证方式
PWM CRM API 支持两种认证方式:
1. API Key(推荐)
在请求头中携带 API Key:
Authorization: Bearer YOUR_API_KEY
2. OAuth 2.0
适用于第三方应用集成。流程:
- 在开发者后台创建 OAuth 应用,获取
client_id和client_secret - 引导用户访问授权页:
https://app.pwmapp.com/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code - 用户授权后,获取
code,换取access_token - 使用
access_token调用 API
错误码
| HTTP 状态码 | 错误码 | 说明 |
|---|---|---|
| 200 | 0 | 请求成功 |
| 400 | 10001 | 请求参数错误 |
| 401 | 10002 | 认证失败,API Key 无效或已过期 |
| 403 | 10003 | 权限不足,无法访问该资源 |
| 404 | 10004 | 资源不存在 |
| 429 | 10005 | 请求频率超限 |
| 500 | 20001 | 服务器内部错误 |
| 503 | 20002 | 服务暂不可用,请稍后重试 |
错误响应格式:
{
"code": 10002,
"message": "Invalid API Key",
"request_id": "req_xyz789"
}
频率限制
| 方案 | 每分钟请求数 | 每天请求数 |
|---|---|---|
| 免费版 | 60 | 10,000 |
| 基础版 | 120 | 50,000 |
| 专业版 | 300 | 200,000 |
| 企业版 | 1,000 | 无限制 |
超出限制时返回 429 状态码,响应头中包含 X-RateLimit-Reset 表示重置时间(Unix 时间戳)。
SDK 下载
我们提供多种语言的官方 SDK,简化集成过程:
- Python SDK:
pip install pwmapp - Node.js SDK:
npm install @pwmapp/sdk - Java SDK:Maven 依赖,详见 GitHub
- Go SDK:
go get github.com/pwmapp/go-sdk - PHP SDK:Composer 安装
SDK 源码和示例:https://github.com/pwmapp
接口参考
客户管理
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /v1/customers | 获取客户列表 |
| POST | /v1/customers | 创建客户 |
| GET | /v1/customers/{id} | 获取客户详情 |
| PUT | /v1/customers/{id} | 更新客户 |
| DELETE | /v1/customers/{id} | 删除客户 |
| POST | /v1/customers/batch | 批量导入客户 |
创建客户请求示例:
POST /v1/customers
{
"name": "恒瑞医药连锁",
"industry": "pharmaceutical",
"level": "A",
"contact": "李主任",
"phone": "13900001111",
"email": "li@hengrui.com",
"address": "上海市浦东新区张江路100号",
"tags": ["重点客户", "医药"],
"custom_fields": {
"hospital_level": "三甲",
"annual_budget": "5000000"
}
}
商机管理
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /v1/opportunities | 获取商机列表 |
| POST | /v1/opportunities | 创建商机 |
| GET | /v1/opportunities/{id} | 获取商机详情 |
| PATCH | /v1/opportunities/{id}/stage | 更新商机阶段 |
| GET | /v1/opportunities/{id}/score | 获取 AI 商机评分 |
外勤拜访
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /v1/visits | 获取拜访记录列表 |
| POST | /v1/visits/checkin | 拜访签到 |
| POST | /v1/visits/checkout | 拜访签退 |
| GET | /v1/visits/{id}/report | 获取 AI 生成的拜访报告 |
| GET | /v1/visits/routes | 获取最优拜访路线 |
跟进记录
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /v1/activities | 获取跟进记录列表 |
| POST | /v1/activities | 创建跟进记录 |
| POST | /v1/activities/summarize | AI 智能摘要 |
数据报表
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /v1/reports/sales-overview | 销售总览报表 |
| GET | /v1/reports/pipeline | 销售漏斗分析 |
| GET | /v1/reports/field-efficiency | 外勤效率报表 |
| GET | /v1/reports/team-ranking | 团队排行 |
| POST | /v1/reports/export | 导出报表(异步) |
AI 能力
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /v1/ai/chat | AI 对话查询 |
| POST | /v1/ai/transcribe | 语音转文字 |
| POST | /v1/ai/tts | 文字转语音 |
| POST | /v1/ai/opportunity-score | 商机评分 |
| POST | /v1/ai/visit-report | 生成拜访报告 |
| POST | /v1/ai/route-optimize | 路线优化 |
AI 对话请求示例:
POST /v1/ai/chat
{
"query": "本月华东区的销售漏斗健康度如何?",
"context": {
"user_id": "usr_001",
"page": "dashboard"
},
"stream": false
}
Webhook
Webhook 允许您在特定事件发生时接收实时通知。在「设置 - 开发者 - Webhook」中配置回调 URL 和订阅事件。
支持的事件类型:
customer.created/customer.updated/customer.deletedopportunity.created/opportunity.stage_changed/opportunity.won/opportunity.lostvisit.checkin/visit.checkout/visit.report_generatedactivity.createdai.alert.triggered(AI 异常预警)
Webhook 推送示例:
POST /your-webhook-endpoint
X-pwmapp-Signature: sha256=abc123...
{
"event": "opportunity.won",
"timestamp": "2026-08-29T10:30:00Z",
"data": {
"id": "opp_001",
"name": "华东建材年度采购",
"amount": 500000,
"customer_id": "cus_001",
"owner_id": "usr_001"
}
}
验证签名:每个 Webhook 请求都包含 X-pwmapp-Signature 头,使用您的 Webhook Secret 对 payload 进行 HMAC-SHA256 签名。请在处理前验证签名,确保请求来自 PWM CRM。
需要帮助?如有技术问题,请查阅插件开发指南,或发送邮件至 developer@pwmapp.com 联系开发者支持团队。