工作手机对接文档

接入openapi服务,首先需要在管理后台生成clientIdclientSecret

提醒: 请牢记clientIdclientSecret,以及生成的accessTokenrefreshToken

参数timestamp表示1970年1月1日至今的毫秒数

请求传递的数据格式为JOSN

响应值code=1表示成功,0表示失败

请求协议为https

单页数量最大为500

接入步骤

第一步:获取accessToken和refreshToken

请求方式: POST

请求地址: https://wpapi.7moor.com/oauth/token/getToken

请求参数:

字段 类型 描述 是否必须
clientId string 管理后台生成 true
clientSecret string 管理后台生成 true

请求示例:

curl -X POST https://wpapi.7moor.com/oauth/token/getToken?timestamp=1562734640000 -H "Content-Type:application/json" -d '{"clientId":"0f30a37f1adca729","clientSecret":"af9cb1d2acf88264ab8477e3b8b34353"}'

成功响应:

{
    "code": 1,
    "msg": "",
    "data": {
        "accessToken": "70C5F5F19942DF9378422B649D3E14BD",
        "refreshToken": "F8A3F1DB4EF4DECFB3526E11C5D9C90A"
    }
}

字段说明:

字段 类型 描述 是否必须
accessToken string 获取数据的令牌 true
refreshToken string 刷新accessToken的令牌 true

第二步:使用accessToken调用接口

注意:在请求params参数中带上accessToken,以下使用请求通话数据列表为例

请求示例:

curl -X POST https://wpapi.7moor.com/api/device/call?timestamp=1562040757&accessToken=70C5F5F19942DF9378422B649D3E14BD -H "Content-Type:application/json" -d '{"page":"1","pageSize":"10"}'

成功响应:

{
    "code": 1,
    "msg": "",
    "data": {
            "count" : 1,
        "list" : [{
                // ...
        }]
    }
}

相关说明

accessToken有效期为2个小时,当accessToken超时后,可以使用refreshToken进行刷新,accessToken刷新结果有两种:

  1. 若accessToken已超时,那么进行refreshToken会获取一个新的accessToken,新的超时时间;

  2. 若accessToken未超时,那么进行refreshToken不会改变accessToken,但超时时间会刷新,相当于续期accessToken。

refreshToken的有效期为30天,当refreshToken失效的后,需要用户重新获取token,所以,请开发者在refreshToken即将过期时(如第29天时),进行定时的自动获取token并保存好它。

刷新accessToken

请求方式: POST

请求地址: https://wpapi.7moor.com/oauth/token/reToken

请求示例:

curl -X POST https://wpapi.7moor.com/oauth/token/reToken?timestamp=1562734640000&refreshToken=F8A3F1DB4EF4DECFB3526E11C5D9C90A

成功响应:

{
    "code": 1,
    "msg": "",
    "data": {
            // 注意:accessToken已超时才会重新生成accessToken,否则只刷新超时时间,详见相关说明
        "accessToken": "70C5F5F19942DF9378422B649D3E14BD"
    }
}

接口

获取用户字段模版

请求方式: POST

请求地址: https://wpapi.7moor.com/api/crm/customerTmp

Params:

字段 类型 描述 是否必须
timestamp string 1970年1月1日至今的毫秒数 true
accessToken string 获取数据的令牌 true

请求示例:

curl -X POST https://wpapi.7moor.com/api/crm/customerTmp?timestamp=1562734640000&accessToken=70C5F5F19942DF9378422B649D3E14BD 

成功响应:

{
    "code": 1,
    "msg": "",
    "data": {
        "fieldMap": {
            "name": "姓名",
            "phone": "手机",
            "address": "地址",
            "birthday": "生日",
            "email": "邮箱",
            "filed0": "字段1",
            "filed1": "字段2",
            "job": "职务",
            "prov_city": "省市",
            "remark": "备注",
            "sex": "性别",
            "source": "来源"
            ...省略其他字段...

        }
    }
}

添加用户接口

请求方式: POST

请求地址: https://wpapi.7moor.com/api/crm/addCustomer

Params:

字段 类型 描述 是否必须
timestamp string 1970年1月1日至今的毫秒数 true
accessToken string 获取数据的令牌 true

请求body:

{
        "name": "张三",
        "phone": "13877777777"
         ...省略其他字段...
}

字段说明:

字段 类型 描述 是否必须
name string 姓名 true
phone string 手机号码 true
其他字段 string 其他字段 false
请求示例:
curl -X POST https://wpapi.7moor.com/api/crm/addCustomer?timestamp=1562734640000&accessToken=70C5F5F19942DF9378422B649D3E14BD 

成功响应:

{
    "code": 1,
    "msg": "增加成功",
    "data": {
        "id": "a5511d68-be6b-11e9-9bbe-a0999b1a254b"
    }
}

字段说明:

字段 类型 说明
id string 用户主键id

删除用户接口

请求方式: POST

请求地址: https://wpapi.7moor.com/api/crm/delCustomer

Params:

字段 类型 描述 是否必须
timestamp string 1970年1月1日至今的毫秒数 true
accessToken string 获取数据的令牌 true

请求body:

{
        "id": "a5511d68-be6b-11e9-9bbe-a0999b1a254b"
}

字段说明:

字段 类型 描述 是否必须
id string 用户主键id true
请求示例:
curl -X POST https://wpapi.7moor.com/api/crm/delCustomer?timestamp=1562734640000&accessToken=70C5F5F19942DF9378422B649D3E14BD -H "Content-Type:application/json" -d '{"id": "a5511d68-be6b-11e9-9bbe-a0999b1a254b"}'

成功响应:

{
    "code": 1,
    "msg": "删除成功",
    "data": {}
}

字段说明:

字段 类型 说明
id string 用户主键id

修改用户信息接口

请求方式: POST

请求地址: https://wpapi.7moor.com/api/crm/uptCustomer

Params:

字段 类型 描述 是否必须
timestamp string 1970年1月1日至今的毫秒数 true
accessToken string 获取数据的令牌 true

请求body:

{
        "id": "a5511d68-be6b-11e9-9bbe-a0999b1a254b"
           ...省略其他字段...
}

字段说明:

字段 类型 描述 是否必须
id string 用户主键id true
其他字段 string 其他字段 false

请求示例:

curl -X POST https://wpapi.7moor.com/api/crm/uptCustomer?timestamp=1562734640000&accessToken=70C5F5F19942DF9378422B649D3E14BD 

成功响应:

{
    "code": 1,
    "msg": "修改成功",
    "data": {}
}

拨打电话

请求方式: POST

请求地址: https://wpapi.7moor.com/api/crm/callPhone

Params:

字段 类型 描述 是否必须
timestamp string 1970年1月1日至今的毫秒数 true
accessToken string 获取数据的令牌 true

请求body:

{
        "callPhone": "13899999999",
        "userPhone": "13877777777"
}

字段说明:

字段 类型 描述 是否必须
callPhone string 被叫手机号码 true
userPhone string 座席手机号码 true

请求示例:

curl -X POST https://wpapi.7moor.com/api/crm/callPhone?timestamp=1562734640000&accessToken=70C5F5F19942DF9378422B649D3E14BD -H "Content-Type:application/json" -d '{"callPhone":"13899999999","userPhone":"13788888888"}'

成功响应:

{
    "code": 1,
    "msg": "",
    "data": {}
}

第三方自动加微信

请求方式: POST

请求地址: https://wpapi.7moor.com/api/crm/autoAddWx

Params:

字段 类型 描述 是否必须
timestamp string 1970年1月1日至今的毫秒数 true
accessToken string 获取数据的令牌 true

请求body:

{
        "phone": "13899999999",
        "userPhone": "13877777777"
}

字段说明:

字段 类型 描述 是否必须
phone string 被加微信的手机号码 true
userPhone string 座席手机号码 true

请求示例:

curl -X POST https://wpapi.7moor.com/api/crm/autoAddWx?timestamp=1562734640000&accessToken=70C5F5F19942DF9378422B649D3E14BD -H "Content-Type:application/json" -d '{"phone":"13899999999","userPhone":"13788888888"}'

成功响应:

{
    "code": 1,
    "msg": "",
    "data": {}
}

获取座席信息列表

请求方式: POST

请求地址: https://wpapi.7moor.com/api/crm/getUsers

Params:

字段 类型 描述 是否必须
timestamp string 1970年1月1日至今的毫秒数 true
accessToken string 获取数据的令牌 true

请求示例:

curl -X POST https://wpapi.7moor.com/api/crm/getUsers?timestamp=1562734640000&accessToken=70C5F5F19942DF9378422B649D3E14BD 

成功响应:

{
    "code": 1,
    "msg": "",
    "data": {
        "list":[
             {
                  "_id": "agiew74717516969",
                  "name": "张三",
                  "phone": "13899999999"
             }
        ]
    }
}

字段说明:

字段 类型 描述
_id string 座席id编号
name string 座席姓名
phone string 座席手机

获取通话记录

请求方式: POST

请求地址: https://wpapi.7moor.com/api/device/call

参数说明:

Params:

字段 类型 描述 是否必须
timestamp string 1970年1月1日至今的毫秒数 true
accessToken string 获取数据的令牌 true

请求Body:

字段 类型 描述 是否必须
page int 页码 true
pageSize int 单页数量 true
imeiOrName string IMEI或设备持有人 false
localTel string 工作手机号码 false
contactTel string 联系号码 false
callType string 通话类型:in外呼,out呼入 false
start string 开始时间 false
end string 结束时间 false

请求示例:

curl -X POST https://wpapi.7moor.com/api/device/call?timestamp=1562734640000&accessToken=70C5F5F19942DF9378422B649D3E14BD -H "Content-Type:application/json" -d '{"page":1,"pageSize":10,"imeiOrName":"张三","callType":"in","start":"2019-06-17 11:11:11","end":"2019-06-18 12:12:12"}'

成功响应:

{
    "code": 1,
    "msg": "",
    "data": {
            "count" : 1,
        "list" : [{
                "_id" : "0e4ccc60-8b6e-4693-87d4-f7d84bf57bf5",
                    "did" : "e1ec479c-971f-11e9-b311-0242ac120002",
                    "imei" : "867183048059394",
                    "callType" : "out",
                    "connectType" : "disconnected",
                  "localTel" : "13323333333",
                  "uid" : "076f2acf-e810-4bc0-9c31-bbc21135709d",
                    "uName" : "川普",
                    "contactTel" : "15023333333",
                    "contactName" : "奥巴马",
                    "beginTime" : "2019-06-26 11:01:49",
                    "endTime" : "2019-06-26 11:02:50",
                    "duration" : 61,
                    "soundUrl" : "cf-workphone.oss-cn-hangzhou.aliyuncs.com/originalRecord/P00000000024/201907/20190708172233-19926022861-outCall-1562577753335.mp3"
        }]
    }
}

字段说明:

字段 类型 说明 是否必须
id string 通话记录的唯一id true
did string 设备id true
imei string 设备IMEI码 true
callType string 呼叫类型( in:呼入,out:呼出) true
connectType string 通话类型("connected":接通,"disconnected":未接通) true
localTel string 本机号码 true
uid string 当时设备持有座席id true
uName string 当时设备持有座席name true
contactTel string 联系号码 true
contactName string 联系号码通讯录名称 false
beginTime string 呼通时间(例如:2006-01-02 15:04:05) true
endTime string 挂机时间(例如:2006-01-02 15:05:06) true
duration int 录音时长(例如:61) false
soundUrl string 录音地址,"not_found":录音未找到, "copy_fail":录音拷贝失败,"multiple_call_lose":多通通话录音丢失 false

获取短信记录

请求方式: POST

请求地址: https://wpapi.7moor.com/api/device/sms

参数说明:

Params:

字段 类型 描述 是否必须
timestamp string 1970年1月1日至今的毫秒数 true
accessToken string 获取数据的令牌 true

请求Body:

字段 类型 描述 是否必须
page int 页码 true
pageSize int 单页数量 true
imeiOrName string IMEI或设备持有人 false
localTel string 工作手机号码 false
contactTel string 联系号码 false
smsType string 短信类型:in接收,out发送 false
start string 开始时间 false
end string 结束时间 false

请求示例:

curl -X POST https://wpapi.7moor.com/api/device/sms?timestamp=1562734640000&accessToken=70C5F5F19942DF9378422B649D3E14BD -H "Content-Type:application/json" -d '{"page":1,"pageSize":10,"imeiOrName":"867183048059394","smsType":"in","start":"2019-06-17 11:11:11","end":"2019-06-18 12:12:12"}'

成功响应:

{
    "code": 1,
    "msg": "",
    "data": {
        "count" : 1,
        "list" : [{
            "id" : "0e4ccc60-8b6e-4693-87d4-f7d84bf57bf5",
            "did" : "e1ec479c-971f-11e9-b311-0242ac120002",
            "imei" : "867183048059394",
            "smsType" : "out",
            "localTel" : "13323333333",
            "uid" : "076f2acf-e810-4bc0-9c31-bbc21135709d",
            "uName" : "川普",
            "contactTel" : "15023333333",
            "contactName" : "奥巴马",
            "snedTime" : "2019-06-26 11:01:49"
        }]
    }
}

字段说明:

字段 类型 说明 是否必须
id string 通话记录的唯一id true
did string 设备id true
imei string 设备IMEI码 true
smsType string 短信类型( in:呼入,out:呼出) true
localTel string 本机号码 true
uid string 当时设备持有座席id true
uName string 当时设备持有座席name true
contactTel string 联系号码 true
contactName string 联系号码通讯录名称 false
sendTime string 短信发送或接收时间(例如:2006-01-02 15:04:05) true

获取座席个人通话报表

请求方式: POST

请求地址: https://wpapi.7moor.com/api/report/callReport

参数说明:

Params:

字段 类型 描述 是否必须
timestamp string 1970年1月1日至今的毫秒数 true
accessToken string 获取数据的令牌 true

请求Body:

字段 类型 描述 是否必须
agentId string 座席id true

请求示例:

curl -X POST https://wpapi.7moor.com/api/report/callReport?timestamp=1562734640000&accessToken=70C5F5F19942DF9378422B649D3E14BD -H "Content-Type:application/json" -d '{"agentId":"d65cca44-930c-11e9-b272-0242ac110006"}'

成功响应:

{
    "code": 1,
    "msg": "",
    "data": {
        "today": 31,
        "late7": 142,
        "late30":176
    }
}

字段说明:

字段 类型 说明 是否必须
today int 今日通话总数 true
late7 int 最近7天通话总数 true
late30 int 最近30天通话总数 true

获取座席个人通话报表详情

请求方式: POST

请求地址: https://wpapi.7moor.com/api/report/callDetail

参数说明:

Params:

字段 类型 描述 是否必须
timestamp string 1970年1月1日至今的毫秒数 true
accessToken string 获取数据的令牌 true

请求Body:

字段 类型 描述 是否必须
agentId string 座席id true
timeSet string 时间段(今日:"today", 近7日:"late7",近30日:"late30"),默认今日 false

请求示例:

curl -X POST https://wpapi.7moor.com/api/report/callDetail?timestamp=1562734640000&accessToken=70C5F5F19942DF9378422B649D3E14BD -H "Content-Type:application/json" -d '{"agentId":"d65cca44-930c-11e9-b272-0242ac110006","timeSet":"late7"}'

成功响应:

{
    "code": 1,
    "msg": "",
    "data": {
        "in": 45,
        "out": 97,
        "inConnect": 26,
        "outConnect": 41,
        "inDuration": 550,
        "outDuration": 980,
        "timeframe": "2019-07-11 ~ 2019-07-17",
        "list": [
            {
                "date": "2019-07-11",
                "in": 0,
                "out": 0,
                "inDuration": 0,
                "outDuration": 0
            },
            // ...省略部分数据
            {
                "date": "2019-07-17",
                "in": 7,
                "out": 24,
                "inDuration": 120,
                "outDuration": 429
            }
        ]
    }
}

字段说明:

字段 类型 说明 是否必须
in int 呼入通话总数 true
out int 呼出通话总数 true
inConnect int 呼入通话接通数 true
outConnect int 呼出通话接通数 true
inDuration int 呼入通话总时长(单位:秒) true
outDuration int 呼出通话总时长(单位:秒) true
timeframe string 统计时间段 true
list array 统计时间段内的数据数组,timeSet=="today"时为null false
date string 通话数据记录时间 false

获取微信用户

请求方式: POST

请求地址: https://wpapi.7moor.com/api/wechat/queryWeChatUserByPage

Params:

位置 字段 类型 描述 是否必须
url timestamp string 毫秒时间戳 true
url accessToken string 获取数据的令牌 true
body page int 页码,1 ~ 500 true
body pageSize int 每页返回条数,1 ~ 100 true

请求示例:

curl -X POST https://wpapi.7moor.com/api/wechat/queryWeChatUserByPage?timestamp=xxx&accessToken=foo -H "Content-Type:application/json" -d '{"page": 1,"pageSize": 10}'

成功响应:

位置 字段 类型 描述 是否必须
data count int 总数 true
data list Array 详细数据 true
list id string 主键Id true
list imei string 设备imei true
list phone string 设备手机号 false
list wxNo string 微信号 true
list wxNo1 string 微信号1,有可能不存在 false
list version string 微信版本号 true
list nick string 微信昵称 true
list headImg string 小头像 false
list headImg1 string 大头像 false
{
    "code": 1,
    "msg": "ok",
    "data": {
        "count": 3,
        "list": [
            {
                "id": "00557d49-9d7a-11e9-b16f-0242ac110006",
                "imei": "4dff585a-930a-11e9-9022-0242ac110005",
                "phone": "17781651273",
                "wxNo": "wxid_m90g9psrmdbf22",
                "wxNo1": "fake_1561617539899",
                "version": "7.0.5",
                "nick": "电信手",
                "headImg": "http://wx.qlogo.cn/mmhead/ver_1/oia0Eng0Lm0xq3Zv4vnM5zcZzYOpQ0KpVsMXicd3fLT2iaUdIicmJCHeO347cQSs1Mv4TJSiauXqWT0Cz7Z2B3gUP0dVvhHcbc3qJib2D68dJHVdU/132",
                "headImg1": "http://wx.qlogo.cn/mmhead/ver_1/oia0Eng0Lm0xq3Zv4vnM5zcZzYOpQ0KpVsMXicd3fLT2iaUdIicmJCHeO347cQSs1Mv4TJSiauXqWT0Cz7Z2B3gUP0dVvhHcbc3qJib2D68dJHVdU/0"
            }
        ]
    }
}

失败响应:

{
    "code": 0,
    "msg": "",
    "data": null
}

获取微信联系人

请求方式: POST

请求地址: https://wpapi.7moor.com/api/wechat/getWeContactByPage

Params:

位置 字段 类型 描述 是否必须
url timestamp string 毫秒时间戳 true
url accessToken string 获取数据的令牌 true
body page int 页码,1 ~ 500 true
body pageSize int 每页返回条数,1 ~ 100 true

请求示例:

curl -X POST https://wpapi.7moor.com/api/wechat/getWeContactByPage?timestamp=xxx&accessToken=foo -H "Content-Type:application/json" -d '{"page": 1,"pageSize": 10}'

成功响应:

位置 字段 类型 描述 是否必须
data count int 总数 true
data list Array 详细数据 true
list id string 主键Id true
list agentWxNo string 坐席微信号 true
list agentNick string 坐席微信昵称 true
list wxNo string 好友微信号 true
list wxNo1 string 好友微信号1,有可能不存在 false
list nick string 好友昵称 true
list headImg string 好友小头像 false
list headImg1 string 好友大头像 false
list status string 大头像 false
list createTime string 创建时间 false
list ts string 时间戳 false
{
    "code": 1,
    "msg": "ok",
    "data": {
        "count": 206,
        "list": [
            {
                "id": "a989bc40-9329-11e9-b272-0242ac110006",
                "agentWxNo": "wxid_1gdwolwrn5hs22",
                "agentNick": "呵呵1",
                "wxNo": "wxid_nbyw4pxrqk3l12",
                "wxNo1": "",
                "nick": "A00耘健身小虎  15397778083",
                "headImg": "http://wx.qlogo.cn/mmhead/ver_1/vpC9eRFDs0fM7HWDZBUAJZnIhknAOry6dHXdiadURr61Uj0CRyFnn0uEV4z2HD3mk4OejKIsKOLCeLHma9H2C4HUod8picr6IaxayTibq3vMCE/96",
                "headImg1": "http://wx.qlogo.cn/mmhead/ver_1/vpC9eRFDs0fM7HWDZBUAJZnIhknAOry6dHXdiadURr61Uj0CRyFnn0uEV4z2HD3mk4OejKIsKOLCeLHma9H2C4HUod8picr6IaxayTibq3vMCE/0",
                "status": "normal",
                "createTime": "2019-06-20 15:04:35",
                "ts": 1561014275882
            }
        ]
    }
}

失败响应:

{
    "code": 0,
    "msg": "",
    "data": null
}

获取微信群信息

请求方式: POST

请求地址: https://wpapi.7moor.com/api/wechat/getWeChatRoomByPage

Params:

位置 字段 类型 描述 是否必须
url timestamp string 毫秒时间戳 true
url accessToken string 获取数据的令牌 true
body page int 页码,1 ~ 500 true
body pageSize int 每页返回条数,1 ~ 100 true

请求示例:

curl -X POST https://wpapi.7moor.com/api/wechat/getWeChatRoomByPage?timestamp=xxx&accessToken=foo -H "Content-Type:application/json" -d '{"page": 1,"pageSize": 10}'

成功响应:

位置 字段 类型 描述 是否必须
data count int 总数 true
data list Array 详细数据 true
list id string 主键Id true
list imei string 设备imei true
list agentWxNo string 坐席微信号 true
list member array 群成员Id true
list name string 群名称 false
list headImg string 群头像 false
list memberList string 群成员微信号,使用";"分割 true
list displayName string 群成员展示昵称,存在特殊字符使用群成员微信号,使用"、"分割 false
list roomOwner string 群主微信号 true
list memberCount string 群成员数量 true
{
    "code": 1,
    "msg": "ok",
    "data": {
        "count": 41,
        "list": [
            {
                "id": "2a7a1c4d-9323-11e9-b272-0242ac110006",
                "imei": "4dff585a-930a-11e9-9022-0242ac110005",
                "agentWxNo": "wxid_tzp39rgo8r9u22",
                "member": [
                    "ffc17316-a454-11e9-adf5-0242ac110009"
                ],
                "name": "打农药的王者",
                "headImg": "http://wx.qlogo.cn/mmcrhead/0A9uqO1pZiaF4lYYdhU3bdKSUaNHibf1qof0GZ5gZ6HwUbVaZAtb8icUicTBmic8rJzQNZNas8KIiaTyXafbiatpoCeo2lwCMibKL2qr/0",
                "memberList": "lu616601854;ZhangJunBo666666;haibing0;wxid_rl6ewf0wsb5a31;wxid_j88919z5u6ta22;weiliyangcool;wxid_v0mldafv7qc822;wxid_zhuvuxo5i22922;wxid_tzp39rgo8r9u22;a29776044;artemuslll;wxid_veoyvjwusrnh22;wxid_vmp7hmxkyzo12;wxid_r610uc4a5tm541;chongjing344054",
                "displayName": "黄璐、ZhangJunBo666666、haibing0、王加、wxid_j88919z5u6ta22、weiliyangcool、高翔、wxid_zhuvuxo5i22922、菜头、a29776044、李、wxid_veoyvjwusrnh22、王添、wxid_r610uc4a5tm541、chongjing344054",
                "roomOwner": "lu616601854",
                "memberCount": "15"
            }
        ]
    }
}

失败响应:

{
    "code": 0,
    "msg": "",
    "data": null
}

获取微信群成员信息

请求方式: POST

请求地址: https://wpapi.7moor.com/api/wechat/getWeChatRoomMemberByPage

Params:

位置 字段 类型 描述 是否必须
url timestamp string 毫秒时间戳 true
url accessToken string 获取数据的令牌 true
body chatRoomId string 群Id true
body page int 页码,1 ~ 500 true
body pageSize int 每页返回条数,1 ~ 100 true

请求示例:

curl -X POST https://wpapi.7moor.com/api/wechat/getWeChatRoomMemberByPage?timestamp=xxx&accessToken=foo -H "Content-Type:application/json" -d '{"chatRoomId": "2a7a1c4d-9323-11e9-b272-0242ac110006","page": 1,"pageSize": 10}'

成功响应:

位置 字段 类型 描述 是否必须
data count int 总数 true
data list Array 详细数据 true
list id string 主键Id true
list chatRoomId string 群Id true
list nick string 昵称 true
list headImg array 头像 false
list wxNo string 微信号 false
list isAgent string 是否是坐席, false的时候字段被忽略 false
list agentWxNo string 坐席微信号
{
    "code": 1,
    "msg": "ok",
    "data": {
        "count": 15,
        "list": [
            {
                "id": "ffc21cdb-a454-11e9-adf5-0242ac110009",
                "chatRoomId": "2a7a1c4d-9323-11e9-b272-0242ac110006",
                "nick": "海冰",
                "headImg": "http://wx.qlogo.cn/mmhead/ver_1/44r4BtQoRnccWSGIia3QGbITSlhEYM1MUBj7JSDkazfpOXD98SoyL9FoibxxSfg3wQJCr4oFHkiaYQOuRjGHePGVw/132",
                "wxNo": "haibing0",
                "isAgent": true,
                "agentWxNo": "haibing0"
            }
        ]
    }
}

失败响应:

{
    "code": 0,
    "msg": "",
    "data": null
}

获取微信会话信息

请求方式: POST

请求地址: https://wpapi.7moor.com/api/wechat/getWeChatByPage

Params:

位置 字段 类型 描述 是否必须
url timestamp string 毫秒时间戳 true
url accessToken string 获取数据的令牌 true
body imei string 设备imei false
body start string 开始区间(yyyy-MM-dd hh:mm:ss) false
body end string 结束区间(yyyy-MM-dd hh:mm:ss) false
body page int 页码,1 ~ 500 true
body pageSize int 每页返回条数,1 ~ 100 true

请求示例:

curl -X POST https://wpapi.7moor.com/api/wechat/getWeChatByPage?timestamp=xxx&accessToken=foo -H "Content-Type:application/json" -d '{"page": 1,"pageSize": 10}'

成功响应:

位置 字段 类型 描述 是否必须
data count int 总数 true
data list Array 详细数据 true
list id string 主键Id true
list agentWxNo string 坐席微信号 true
list contactWxNo string 好友微信号,群聊没有 false
list group string 群Id,单聊没有 false
list chatType string 聊天类型 group 群聊,single 单聊 true
list isSend string 会话发起 0 :对方 1:自己 true
{
    "code": 1,
    "msg": "ok",
    "data": {
        "count": 43,
        "list": [
            {
                "id": "2b0959b1-9323-11e9-b272-0242ac110006",
                "agentWxNo": "wxid_tzp39rgo8r9u22",
                "group": "2b06e8a8-9323-11e9-b272-0242ac110006",
                "chatType": "group",
                "isSend": "0"
            }
        ]
    }
}

失败响应:

{
    "code": 0,
    "msg": "",
    "data": null
}

获取微信消息信息

请求方式: POST

请求地址: https://wpapi.7moor.com/api/wechat/getWeMessageByPage

Params:

位置 字段 类型 描述 是否必须
url timestamp string 毫秒时间戳 true
url accessToken string 获取数据的令牌 true
body chatId string 会话Id false
body wxNo string 坐席微信号 false
body imei string 设备imei false
body start string 开始区间(yyyy-MM-dd hh:mm:ss) false
body end string 结束区间(yyyy-MM-dd hh:mm:ss) false
body page int 页码,1 ~ 500 true
body pageSize int 每页返回条数,1 ~ 100 true

请求示例:

curl -X POST https://wpapi.7moor.com/api/wechat/getWeMessageByPage?timestamp=xxx&accessToken=foo -H "Content-Type:application/json" -d '{"chatId": "2b0959b1-9323-11e9-b272-0242ac110006",page": 1,"pageSize": 10}'

成功响应:

位置 字段 类型 描述 是否必须
data count int 总数 true
data list Array 详细数据 true
list id string 主键Id true
list chatId string 会话Id true
list from string 消息发起人 false
list msg string 消息内容 false
list msgType string 消息类型 true
list date string 发送日期 true
list ts int 发送时间戳 true
list msgId string 聊天信息id true
list isSend string 会话发起 0 :对方 1:自己 true
list msgSvrId string 多媒体消息Id false
list thumbImgPath string 语音消息,图片小图,视频封面 false
list bigImgPath string 图片大图,视频链接 false
{
    "code": 1,
    "msg": "ok",
    "data": {
        "count": 75,
        "list": [
            {
                "id": "43b3a7f5-9328-11e9-b272-0242ac110006",
                "chatId": "2b0959b1-9323-11e9-b272-0242ac110006",
                "from": "293ab6bc-9323-11e9-b272-0242ac110006",
                "msg": "\n真的是好难约噢",
                "msgType": "1",
                "date": "2019-06-20",
                "ts": 1561013064,
                "msgId": "82",
                "isSend": "0",
                "msgSvrId": "9046641001935868169"
            }
        ]
    }
}

失败响应:

{
    "code": 0,
    "msg": "",
    "data": null
}

微信消息类型说明

msgType 类型说明

类型 解释
101 文本
102 图片
103 语音
104 视频
105 名片
106 地理位置
107 分享链接,网址,文件
108 系统消息
109 撤回消息
110 群系统消息
111 SEMI_XML
112 红包
113 群收款
114 群收款提醒
115 转账
文本
  • 类型:101
  • 数据结构:

wxMessage中的msg

{
  "msg": "这是文本"
}
图片、语音、视频
  • 类型:102、103、104
  • 数据结构:

wxMedia的存储结构

{
  "bigImgPath" : "test_big.jpg",
  "thumbImgPath" : "test_thumb.jpg"
}
名片
  • 类型:105
  • 数据结构:

wxMessage中的msg,json格式的字符串

{
    "nickName": "一块二包邮",
    "wxNo": "gh_66cc2df58915",
    "bigHeadImgUrl": "http://wx.qlogo.cn/mmhead/Q3auHgzwzM5riaOEnlFZtibiaMZMpIricKZaosia2ExVGKzNZga4D2L92OQ/0",
    "smallHeadImgUrl": "http://wx.qlogo.cn/mmhead/Q3auHgzwzM5riaOEnlFZtibiaMZMpIricKZaosia2ExVGKzNZga4D2L92OQ/96"
}
地理位置
  • 类型:106
  • 数据结构:

wxMessage中的msg,json格式的字符串

{
    "log": "104.062881",
    "lat": "30.554096",
    "address": "蜀都中心二期(武侯区吉庆三路333号)",
    "wxNo": "wxid_0080250784612"
}
分享链接,网址,文件 等
  • 类型:107
  • 数据结构:

wxMessage中的msg,json格式的字符串

{
  "title": "余林呱与余林🐑的聊天记录", //标题
  "des": "余林呱:[图片]\n余林呱:那个。。给我发个红包???\n余林呱:[动画表情]\n余林呱:[图片]\n余林呱:[色]...", //描述
  "type": "19", //类型:33 小程序,5 链接,6 文件, 19 聊天记录
  "showtrueype": "0",
  "url": "https://support.weixin.qq.com/cgi-bin/mmsupport-bin/readtemplate?t=page/favorite_record__w_unsupport\u0026from=singlemessage\u0026isappinstalled=0",//微信内部链接
  "recordItem": "余林呱与余林🐑的聊天记录" //详细内容
}
系统消息
  • 类型:108
  • 数据结构:

wxMessage中的msg,json格式的字符串

{
    "content": "\"A手机维修二手买卖\" 撤回了一条消息", //内容
    "payId": "",     //微信支付Id(红包有值)
    "msgIsSend": "", //原始消息发送类型(红包有值)
    "type": 3        //类型 1 红包,2 普通消息,3 未知消息
}
{
  "content":"位置共享已经结束", //内容
  "payId":"", //红包微信支付Id
  "msgIsSend": "",
  "type":2  //类型 1 红包,2 普通消息,3 未知消息
}
{
  "content":"H.Note领取了你的红包",
  "payId":"1000039501201906056015038761805",
  "msgIsSend": "",
  "type":1
}
{
    "content": "\"H.Note\" 撤回了一条消息",
    "payId": "",
    "msgIsSend": "",
    "type": 2
}
撤回的消息
  • 类型: 109
  • 数据结构:

wxMessage中的msg,json格式的字符串

{
    "test": "你撤回了一条消息", //撤回消息展示
    "timestrueamp": "1560150444638", //撤回消息发送时间
    "preContent": "这是第三条消息", //撤回消息内容
    "link": {
        "text": "重新编辑"
    }
}
群系统消息
  • 类型:110
  • 数据结构:

wxMessage中的msg,字符串格式

{
  "msg": `"名字"邀请"余林🐑"加入了群聊`
}
{
  "msg": `"名字"修改群名为“测试群”`
}
{
  "msg": `"superwomen"邀请你加入了群聊,群聊参与人还有:呵呵😄`
}
红包
  • 类型:112
  • 数据结构:

wxMessage中的msg,json格式的字符串

{
    "des": "我给你发了一个红包,赶紧去拆!",
    "url": "https://wxapp.tenpay.com/mmpayhb/wxhb_personalreceive?showwxpaytitle=1\u0026msgtype=1\u0026channelid=1\u0026sendid=1000039501201906056011499657896\u0026ver=6\u0026sign=6cabac162d11b76b628227520ee424b1e3878d33e78df534abba75b16c9cf1d36fede8e6db6677195b986d7a31e887fabaeeba13e6614b49334fd3d26b047d81a65fc89e97a304e6e2e7803398f0c573",
    "type": "2001",
    "title": "微信红包",
    "thumbUrl": "https://wx.gtimg.com/hongbao/1800/hb.png",
    "wcPayInfo": {
        "templateId": "7a2a165d31da7fce6dd77e05c300028a",
        "url": "https://wxapp.tenpay.com/mmpayhb/wxhb_personalreceive?showwxpaytitle=1\u0026msgtype=1\u0026channelid=1\u0026sendid=1000039501201906056011499657896\u0026ver=6\u0026sign=6cabac162d11b76b628227520ee424b1e3878d33e78df534abba75b16c9cf1d36fede8e6db6677195b986d7a31e887fabaeeba13e6614b49334fd3d26b047d81a65fc89e97a304e6e2e7803398f0c573",
        "iconUrl": "https://wx.gtimg.com/hongbao/1800/hb.png",
        "receivertrueitle": "普天同庆", //收到的红包标题
        "sendertrueitle": "普天同庆",   //发送的红包标题
        "scenetrueext": "微信红包",     //场景描述,1002对应的为微信红包
        "senderDes": "查看红包",     //发送的红包描述
        "receiverDes": "领取红包",   //收到的红包描述
        "nativeUrl": "wxpay://c2cbizmessagehandler/hongbao/receivehongbao?msgtype=1\u0026channelid=1\u0026sendid=1000039501201906056011499657896\u0026sendusername=wxid_1gdwolwrn5hs22\u0026ver=6\u0026sign=6cabac162d11b76b628227520ee424b1e3878d33e78df534abba75b16c9cf1d36fede8e6db6677195b986d7a31e887fabaeeba13e6614b49334fd3d26b047d81a65fc89e97a304e6e2e7803398f0c573",
        "sceneId": "1002", //类型:1002 红包,1001 群收款
        "innertrueype": "0",
        "payMsgId": "1000039501201906056011499657896", //微信支付交易Id
        "Invalidtrueime": "1559803593",
        "m7trueype": "0" //收钱类型 0 未领取,1 已领取
    }
}
群收款
  • 类型 113
  • 数据结构:

wxMessage中的msg,json格式的字符串

{
    "des": "",
    "url": "https://support.weixin.qq.com/security/readtemplate?t=w_security_center_website/upgrade\u0026wechat_real_lang=zh_CN",
    "type": "2001",
    "title": "",
    "thumbUrl": "http://wx.gtimg.com/hongbao/img/newaa_3x.png",
    "wcPayInfo": {
        "templateId": "b9a794071ca79264fb48909c24f2c6cc",
        "url": "https://support.weixin.qq.com/security/readtemplate?t=w_security_center_website/upgrade\u0026wechat_real_lang=zh_CN",
        "iconUrl": "http://wx.gtimg.com/hongbao/img/newaa_3x.png",
        "receivertrueitle": "活动账单",
        "sendertrueitle": "活动账单",
        "scenetrueext": "活动账单",
        "senderDes": "每人需支付0.02元",
        "receiverDes": "每人需支付0.02元",
        "nativeUrl": "",
        "sceneId": "1001",
        "innertrueype": "0",
        "payMsgId": "",
        "Invalidtrueime": "1562226087",
        "newAa": {
            "billNo": "00db48218eb1a54d77489c9bb4fcd80bb22bd76fdd5d1316e8df44490f9f68aba92abfd31eb7b217dcb88e490b3d0e02",
            "newAatrueype": "2",
            "receiverList": "wxid_1gdwolwrn5hs22,1,5,0",//发起人微信号,收款状态?3 = 已收齐,2 = 有人支付,1 = 无人支付,参与人数,已支付人数
            "payerList": "wxid_tzp39rgo8r9u22,2,1|wxid_m90g9psrmdbf22,2,1|wxid_afhuw9rhn5dy22,2,1|wxid_1mel9kj31aft22,2,1|wxid_0080250784612,2,1"//支付人微信号,需支付金额(单位:分),支付状态:1 = 未支付,2 = 已支付
        },
        "m7trueype": "0"
    },
    "content": ""
}
群收款提示
  • 类型 114
  • 数据结构:

wxMessage中的msg,json格式的字符串

{
    "content": "@菜头 @「卷心菜」 @呵呵😄 @电信手机📱 @余林呱\n你有一笔未支付的群收款", //消息内容
    "payId": "0db48218eb1a54d77489c9bb4fcd80b50b2aa1cb9846f6a12cb53f24f8ce45a910f32bdc64fc4d5eaf51bbf30ed4c4d" //收款支付Id
}
转账
  • 类型:115
  • 数据结构

wxMessage中的msg,json格式的字符串

{
    "title": "微信转账",
    "des": "收到转账0.01元。如需收钱,请点此升级至最新版本",
    "type": "2000",
    "content": "",
    "url": "https://support.weixin.qq.com/cgi-bin/mmsupport-bin/readtemplate?t=page/common_page__upgrade\u0026text=text001\u0026btn_text=btn_text_0",
    "thumbUrl": "https://support.weixin.qq.com/cgi-bin/mmsupport-bin/readtemplate?t=page/common_page__upgrade\u0026text=text001\u0026btn_text=btn_text_0",
    "lowurl": "",
    "extinfo": "",
    "wcPayInfo": {
        "paySubtrueype": "3", //转账类型
        "feeDesc": "¥0.01", //转账金额
        "transcationId": "100005010119060500024224115148949337",//交易Id
        "transferId": "1000050101201906051703664585970",//转账Id
        "invalidtrueime": "1559813867",//失效时间
        "begintrueransfertrueime": "1559727467",//开始时间
        "effectiveDate": "1",
        "payMsgId": "",
        "payMemo": "",//转账附加消息
        "hastrueransferAddress": "",
        "m7trueype": "2" //领取类型
    }
}

内部字段解释

paySubType 解释
1 实时转账
3 实时转账收钱回执
4 转账退还回执
5 非实时转账收钱回执
7 非实时转账
m7Type 解释
0 未领取
1 已被领取(paySubType==1,7)
2 已领取(paySubType==3)
3 已退还(paySubType==1,4,7)
4 已领取待入账(paySubType==5,7)