# MIP移动互联平台
- 域名说明
- dev环境: mipdev.haid.com.cn
- qas环境: mipqas.haid.com.cn
- prod环境: mip.haid.com.cn
- 所有接口均以统一的格式返回
名称 | 类型 | 说明 |
---|---|---|
code | String | 0:成功, 其他:详见接口错误码 |
data | Object | |
desc | String | 返回说明 |
# 全局错误码
错误码 | 错误说明 |
---|---|
10000 | 参数错误 |
10001 | 验证码错误 |
10002 | 用户已注册 |
10003 | 密码必须包含英文、数字或者英文符号,最短8位,区分大小写 |
10004 | 用户id为空 |
10005 | 组织id为空 |
10006 | appid或app_secret错误 |
10007 | 权限代码重复 |
# 开放平台
调用开放平台下的接口,除获取系统调用MIP授权接口外,其他接口均需在请求头header中增加token:X-token
# 获取系统调用MIP授权接口
获取access_token是调用开放平台API接口的第一步,相当于创建了一个登录凭证,其它的业务API接口,都需要依赖于access_token来鉴权调用者身份。 因此开发者,在使用业务接口前,要明确access_token的颁发来源,使用正确的access_token。
# 请求方式
GET(https)
# 请求地址
/auth-api/open/auth/accessToken
# 请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
appId | String | 是 | 10003 | 应用的appid |
appSecret | String | 是 | e690c340-5076-11ef-a6e0-08c0eb439576 | 应用的密钥 |
# 返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
accessToken | String | ee4c6780-5076-11ef-a6e0-08c0eb439576 | access_token |
expireIn | String | 7200 | 过期时间,单位秒 |
# 获取用户角色,权限,数据范围
获取用户的功能权限列表、用户角色、动保数据范围、饲料数据范围
此接口返回的数据量较大,禁止在短时间内频繁地请求该接口
# 请求方式
GET(https)
# 请求地址
/auth-api/open/auth/api/user/info/
# 请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
userId | String | 是 | 0dd607e4dceb8680a3f1792ea74c969d | 用户的id |
# 返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
userRoleList | list | 用户角色列表 | |
userPermissionList | list | 用户功能权限列表 | |
userAnimalDataRangeList | list | 用户动保数据范围 | |
userDataRangeList | list | 用户饲料数据范围 |
# 调用mip客户主数据同步
触发调用MIP客户主数据同步
数据同步接口禁止在短时间内频繁地请求
# 请求方式
GET(https)
# 请求地址
/auth-api/open/auth/api/sync/dealer
# 请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
orgId | String | 是 | 1100 | 组织id |
# 返回数据
# 调用mip物料主数据同步
触发调用MIP客户物料主数据同步
数据同步接口禁止在短时间内频繁地请求
# 请求方式
GET(https)
# 请求地址
/auth-api/open/auth/api/sync/product
# 请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
orgId | String | 是 | 1100 | 组织id |
# 返回数据
# 新增权限接口
在MIP中新增权限接口
# 请求方式
POST(https)
# 请求地址
/auth-api/open/auth/api/add/permission
# 请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
permissionCode | String | 是 | open:sys:setting | 用户角色列表 |
permissionName | String | 是 | 系统配置 | 用户功能权限列表 |
modelName | String | 是 | 开放平台 | 用户动保数据范围 |
# 返回数据
# 上传临时素材接口
调用该接口需要在header中添加X-corpId和X-agentId
# 请求方式
POST(https)
# 请求地址
/auth-api/open/auth/wx/cp/media/upload
# 请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
mediaType | String | 是 | image | 分别有图片(image)、语音(voice)、视频(video),普通文件(file) |
media | file | 是 | 文件 |
上传的媒体文件限制 所有文件size必须大于5个字节
- 图片(image):2MB,支持JPG,PNG格式
- 语音(voice) :2MB,播放长度不超过60s,仅支持AMR格式
- 视频(video) :10MB,支持MP4格式
- 普通文件(file):20MB
# 发送企业微信消息
# 1. 文本消息
访问地址:/auth-api/open/cp/message/send
请求方法:POST
请求参数示例:
{
"corpid": "企业corpid",
"touser" : "UserID1|UserID2|UserID3",
"toparty" : "PartyID1|PartyID2",
"totag" : "TagID1 | TagID2",
"msgtype" : "text",
"agentid" : "100001",
"text" : {
"content" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"
},
"safe":0,
"enable_id_trans": 0
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
corpid | 是 | 企业corpid |
touser | 是 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toparty | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
totag | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgtype | 是 | 消息类型,此时固定为:text |
agentid | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值 |
text | 是 | 内容 |
text.content | 是 | 内容 |
safe | 否 | 表示是否是保密消息,0表示否,1表示是,默认0 |
enable_id_trans | 否 | 表示是否开启id转译,0表示否,1表示是,默认0 |
备注: 其中text参数的content字段可以支持换行、以及A标签,即可打开自定义的网页(可参考以上示例代码)(注意:换行符请用转义过的\n)
示例效果:
# 2. 图片消息
- 访问地址:/auth-api/open/cp/message/send
- 请求方法:POST
- 请求参数示例:
{
"corpid": "企业corpid",
"touser" : "UserID1|UserID2|UserID3",
"toparty" : "PartyID1|PartyID2",
"totag" : "TagID1 | TagID2",
"msgtype" : "image",
"agentid" : "100001",
"image" : {
"media_id" : "MEDIA_ID"
},
"safe":0
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
corpid | 是 | 企业corpid |
touser | 是 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toparty | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
totag | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgtype | 是 | 图片类型,此时固定为:image |
agentid | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值 |
image | 是 | 内容 |
image.media_id | 是 | 图片媒体文件id,可以调用上传临时素材接口获取 |
safe | 否 | 表示是否是保密消息,0表示否,1表示是,默认0 |
# 3. 文件消息
- 访问地址:/auth-api/open/cp/message/send
- 请求方法:POST
- 请求参数示例:
{
"corpid": "企业corpid",
"touser" : "UserID1|UserID2|UserID3",
"toparty" : "PartyID1|PartyID2",
"totag" : "TagID1 | TagID2",
"msgtype" : "file",
"agentid" : "100001",
"file" : {
"media_id" : "1Yv-zXfHjSjU-7LH-GwtYqDGS-zz6w22KmWAT5COgP7o"
},
"safe":0
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
corpid | 是 | 企业corpid |
touser | 是 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toparty | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
totag | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgtype | 是 | 文件类型,此时固定为:file |
agentid | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值 |
file | 是 | 内容 |
file.media_id | 是 | 文件id,可以调用上传临时素材接口获取 |
safe | 否 | 表示是否是保密消息,0表示否,1表示是,默认0 |
示例效果:
# 4. 文本卡片消息
- 访问地址:/auth-api/open/cp/message/send
- 请求方法:POST
- 请求参数示例:
{
"corpid": "企业corpid",
"touser" : "UserID1|UserID2|UserID3",
"toparty" : "PartyID1 | PartyID2",
"totag" : "TagID1 | TagID2",
"msgtype" : "textcard",
"agentid" : "100001",
"textcard" : {
"title" : "领奖通知",
"description" : "<div class=\"gray\">2016年9月26日</div> <div class=\"normal\">恭喜你抽中iPhone 7一台,领奖码:xxxx</div><div class=\"highlight\">请于2016年10月10日前联系行政同事领取</div>",
"url" : "URL",
"btntxt":"更多"
},
"enable_id_trans": 0
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
corpid | 是 | 企业corpid |
touser | 是 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toparty | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
totag | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgtype | 是 | 文本卡片类型,此时固定为:textcard |
agentid | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值 |
textcard | 是 | 内容 |
textcard.title | 是 | 标题,不超过128个字节,超过会自动截断(支持id转译) |
textcard.description | 否 | 描述,不超过512个字节,超过会自动截断(支持id转译) |
textcard.url | 是 | 点击后跳转的链接 |
textcard.btntxt | 否 | 按钮文字。 默认为“详情”, 不超过4个文字,超过自动截断 |
enable_id_trans | 否 | 表示是否开启id转译,0表示否,1表示是,默认0 |
示例效果
# 5. 图文消息
- 访问地址:/auth-api/open/cp/message/send
- 请求方法:POST
- 请求参数示例:
{
"corpid": "企业corpid",
"touser" : "UserID1|UserID2|UserID3",
"toparty" : "PartyID1 | PartyID2",
"totag" : "TagID1 | TagID2",
"msgtype" : "news",
"agentid" : "100001",
"news" : {
"articles" : [
{
"title" : "中秋节礼品领取",
"description" : "今年中秋节公司有豪礼相送",
"url" : "URL",
"picurl" : "http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png"
}
]
},
"enable_id_trans": 0
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
corpid | 是 | 企业corpid |
touser | 是 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toparty | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
totag | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgtype | 是 | 图文类型,此时固定为:news |
agentid | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值 |
news | 是 | 内容 |
news.articles | 是 | 图文消息,一个图文消息支持1到8条图文 |
news.articles.title | 是 | 标题,不超过128个字节,超过会自动截断(支持id转译) |
news.articles.description | 否 | 描述,不超过512个字节,超过会自动截断(支持id转译) |
news.articles.url | 是 | 点击后跳转的链接 |
news.articles.picurl | 否 | 图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图 1068*455,小图150*150 |
enable_id_trans | 否 | 表示是否开启id转译,0表示否,1表示是,默认0 |
示例效果:
# 6. 小程序通知消息
- 访问地址:/auth-api/open/cp/message/send
- 请求方法:POST
- 请求参数示例:
{
"corpid": "企业corpid",
"touser" : "zhangsan|lisi",
"toparty": "1|2",
"totag": "1|2",
"msgtype" : "miniprogram_notice",
"miniprogram_notice" : {
"appid": "wx123123123123123",
"page": "pages/index?userid=zhangsan&orderid=123123123",
"title": "会议室预订成功通知",
"description": "4月27日 16:16",
"emphasis_first_item": true,
"content_item": [
{
"key": "会议室",
"value": "402"
},
{
"key": "会议地点",
"value": "广州TIT-402会议室"
},
{
"key": "会议时间",
"value": "2018年8月1日 09:00-09:30"
},
{
"key": "参与人员",
"value": "周剑轩"
}
]
}
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
corpid | 是 | 企业corpid |
touser | 是 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toparty | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
totag | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgtype | 是 | 小程序类型,此时固定为:miniprogram_notice |
miniprogram_notice | 是 | 内容 |
miniprogram_notice.appid | 是 | 小程序appid,必须是与当前小程序应用关联的小程序 |
miniprogram_notice.page | 否 | 点击消息卡片后的小程序页面,仅限本小程序内的页面。该字段不填则消息点击后不跳转 |
miniprogram_notice.title | 是 | 消息标题,长度限制4-12个汉字 |
miniprogram_notice.description | 否 | 消息描述,长度限制4-12个汉字 |
miniprogram_notice.emphasis_first_item | 否 | 是否放大第一个content_item |
miniprogram_notice.content_item | 否 | 消息内容键值对,最多允许10个item |
miniprogram_notice.content_item.key | 是 | 长度10个汉字以内 |
miniprogram_notice.content_item.value | 是 | 长度30个汉字以内 |
示例效果:
# 7. 任务卡片消息
- 访问地址:/auth-api/open/cp/message/send
- 请求方法:POST
- 请求参数示例:
{
"corpid": "企业corpid",
"touser" : "UserID1|UserID2|UserID3",
"toparty" : "PartyID1 | PartyID2",
"totag" : "TagID1 | TagID2",
"msgtype" : "taskcard",
"agentid" : "100001",
"taskcard" : {
"title" : "赵明登的礼物申请",
"description" : "礼品:A31茶具套装<br>用途:赠与小黑科技张总经理",
"url" : "URL",
"task_id" : "taskid123",
"btn":[
{
"key": "key111",
"name": "批准",
"replace_name": "已批准",
"color":"red",
"is_bold": true
},
{
"key": "key222",
"name": "驳回",
"replace_name": "已驳回"
}
]
}
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
corpid | 是 | 企业corpid |
touser | 是 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toparty | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
totag | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgtype | 是 | 任务卡片类型,此时固定为:taskcard |
agentid | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 获取该参数值 |
taskcard | 是 | 内容 |
taskcard.title | 是 | 标题,不超过128个字节,超过会自动截断 |
taskcard.description | 是 | 描述,不超过512个字节,超过会自动截断 |
taskcard.url | 否 | 点击后跳转的链接。最长2048字节,请确保包含了协议头(http/https) |
taskcard.task_id | 是 | 任务id,同一个应用发送的任务卡片消息的任务id不能重复,只能由数字、字母和“_-@.”组成,最长支持128字节 |
taskcard.btn | 是 | 按钮列表,按钮个数为为1~2个 |
示例效果:
# 发送企业微信消息(弃用)
调用该接口需要在header中添加X-corpId和X-agentId
# 请求方式
POST(https)
# 请求地址
/auth-api/open/auth/wx/cp/message/send
# 请求参数
# 文本消息
请求示例
{
"toUser" : "012935",
"toParty" : "",
"toTag" : "",
"msgType" : "text",
"agentId" : 1000017,
"content" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"
}
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
toUser | String | 否 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toParty | String | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
toTag | String | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgType | String | 是 | 消息类型,此时固定为:text |
agentId | String | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 (opens new window) 获取该参数值 |
content | String | 是 | 消息内容,最长不超过2048个字节,超过将截断 |
- toUser、toParty、toTag不能同时为空,后面不再强调
- 特殊说明: 其中text参数的content字段可以支持换行、以及A标签,即可打开自定义的网页(可参考以上示例代码)(注意:换行符请用转义过的\n)
# 图片消息
请求示例
{
"toUser" : "lijianlang",
"toParty" : "",
"toTag" : "",
"msgType" : "image",
"agentId" : 1000017,
"mediaId" : "3FdPC0_JYM3fK12syaxgLCxVamZQrx3f6FnAvBcVtYbo"
}
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
toUser | String | 否 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toParty | String | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
toTag | String | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgType | String | 是 | 消息类型,此时固定为:image |
agentId | String | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 (opens new window) 获取该参数值 |
mediaId | String | 是 | 图片媒体文件id,可以调用上传临时素材接口获取 |
# 语音消息
请求示例
{
"toUser" : "lijianlang",
"toParty" : "",
"toTag" : "",
"msgType" : "voice",
"agentId" : 1000017,
"mediaId" : "3GhlNU6xDDUch2C7O7XE37DWCoHDMNEHUg-RYIzXoigA"
}
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
toUser | String | 否 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toParty | String | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
toTag | String | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgType | String | 是 | 消息类型,此时固定为:voice |
agentId | String | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 (opens new window) 获取该参数值 |
mediaId | String | 是 | 图片媒体文件id,可以调用上传临时素材接口获取 |
# 视频消息
请求示例
{
"toUser" : "lijianlang",
"toParty" : "",
"toTag" : "",
"msgType" : "video",
"agentId" : 1000017,
"mediaId" : "3XWbB1FsfG26crsv7rVkn1iFC-hBfabF2x9hByo3twAuftS4spbv-j8rF3VYA3EAN",
"title": "视频消息",
"description": "测试一个视频消息"
}
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
toUser | String | 否 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toParty | String | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
toTag | String | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgType | String | 是 | 消息类型,此时固定为:video |
agentId | String | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 (opens new window) 获取该参数值 |
mediaId | String | 是 | 图片媒体文件id,可以调用上传临时素材接口获取 |
title | String | 否 | 视频消息的标题,不超过128个字节,超过会自动截断 |
description | String | 否 | 视频消息的描述,不超过512个字节,超过会自动截断 |
# 文件消息
请求示例
{
"toUser" : "lijianlang",
"toParty" : "",
"toTag" : "",
"msgType" : "file",
"agentId" : 1000017,
"mediaId" : "3GhlNU6xDDUch2C7O7XE37DWCoHDMNEHUg-RYIzXoigA"
}
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
toUser | String | 否 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toParty | String | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
toTag | String | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
msgType | String | 是 | 消息类型,此时固定为:file |
agentId | String | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 (opens new window) 获取该参数值 |
mediaId | String | 是 | 图片媒体文件id,可以调用上传临时素材接口获取 |
# 文本卡片消息
请求示例
{
"toUser" : "lijianlang",
"toParty" : "",
"toTag" : "",
"msgType" : "textcard",
"agentId" : 1000017,
"title" : "领奖通知",
"description" : "<div class=\"gray\">2016年9月26日</div> <div class=\"normal\">恭喜你抽中iPhone 7一台,领奖码:xxxx</div><div class=\"highlight\">请于2016年10月10日前联系行政同事领取</div>",
"url" : "https://www.baidu.com",
"btntxt":"更多"
}
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
toUser | String | 否 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toParty | String | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
toTag | String | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
agentId | String | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 (opens new window) 获取该参数值 |
msgType | String | 是 | 消息类型,此时固定为:textcard |
title | String | 是 | 标题,不超过128个字节,超过会自动截断(支持id转译) |
description | String | 是 | 描述,不超过512个字节,超过会自动截断(支持id转译) |
url | String | 是 | 点击后跳转的链接。 最长2048字节,请确保包含了协议头(http/https) |
btntxt | String | 否 | 按钮文字。 默认为“详情”, 不超过4个文字,超过自动截断。 |
# 图文消息
请求示例
{
"toUser" : "lijianlang",
"toParty" : "",
"toTag" : "",
"msgType" : "news",
"agentId" : 1000017,
"articles" : [{
"title" : "中秋节礼品领取",
"description" : "今年中秋节公司有豪礼相送",
"url" : "https://www.baidu.com",
"picUrl":"http://res.mail.qq.com/node/ww/wwopenmng/images/independent/doc/test_pic_msg1.png"
}]
}
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
toUser | String | 否 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toParty | String | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
toTag | String | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
agentId | String | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 (opens new window) 获取该参数值 |
msgType | String | 是 | 消息类型,此时固定为:news |
articles | String | 是 | 图文消息,一个图文消息支持1到8条图文 |
title | String | 是 | 标题,不超过128个字节,超过会自动截断(支持id转译) |
description | String | 否 | 描述,不超过512个字节,超过会自动截断(支持id转译) |
url | String | 是 | 点击后跳转的链接。 最长2048字节,请确保包含了协议头(http/https) |
picurl | String | 否 | 图文消息的图片链接,支持JPG、PNG格式,较好的效果为大图 1068455,小图150150。 |
# markdown消息
请求示例
{
"toUser" : "lijianlang",
"toParty" : "",
"toTag" : "",
"msgType" : "markdown",
"agentId" : 1000017,
"content": "您的会议室已经预定,稍后会同步到`邮箱`
>**事项详情**
>事 项:<font color=\"info\">开会</font>
>组织者:@miglioguan
>参与者:@miglioguan、@kunliu、@jamdeezhou、@kanexiong、@kisonwang
>
>会议室:<font color=\"info\">广州TIT 1楼 301</font>
>日 期:<font color=\"warning\">2018年5月18日</font>
>时 间:<font color=\"comment\">上午9:00-11:00</font>
>
>请准时参加会议。
>
>如需修改会议信息,请点击:[修改会议信息](https://work.weixin.qq.com)"
}
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
toUser | String | 否 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toParty | String | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
toTag | String | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
agentId | String | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 (opens new window) 获取该参数值 |
msgType | String | 是 | 消息类型,此时固定为:markdown |
content | String | 是 | 图文消息的内容,支持html标签,不超过666 K个字节(支持id转译) |
目前仅支持markdown语法的子集 (opens new window) 微工作台(原企业号)不支持展示markdown消息
# 小程序通知消息
请求示例
{
"toUser" : "lijianlang",
"toParty" : "",
"toTag" : "",
"msgType" : "miniprogram_notice",
"agentId" : 1000017,
"appId": "wxadad7f8b935e4749",
"page": "pages/index?userid=zhangsan&orderid=123123123",
"title": "会议室预订成功通知",
"description": "4月27日 16:16",
"emphasisFirstItem": true,
"contentItems": {
"key": "会议室",
"value": "402"
},
"contentItems": {
"key": "会议地点",
"value": "广州TIT-402会议室"
}
}
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
toUser | String | 否 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toParty | String | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
toTag | String | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
agentId | String | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 (opens new window) 获取该参数值 |
msgType | String | 是 | 消息类型,此时固定为:miniprogram_notice |
appId | String | 是 | 图文消息的内容,支持html标签,不超过666 K个字节(支持id转译) |
page | String | 否 | 点击消息卡片后的小程序页面,仅限本小程序内的页面。该字段不填则消息点击后不跳转。 |
title | String | 是 | 消息标题,长度限制4-12个汉字(支持id转译) |
description | String | 否 | 消息描述,长度限制4-12个汉字(支持id转译) |
emphasisFirstItem | String | 否 | 是否放大第一个content_item |
contentItems | String | 否 | 消息内容键值对,最多允许10个item |
key | String | 是 | 长度10个汉字以内 |
value | String | 是 | 长度30个汉字以内(支持id转译) |
# 任务卡片消息
请求示例
{
"toUser": "lijianlang",
"toParty": "",
"toTag": "",
"msgType": "taskcard",
"agentId": 1000017,
"title": "赵明登的礼物申请",
"description": "礼品:A31茶具套装<br>用途:赠与小黑科技张总经理",
"url": "https://www.baidu.com",
"taskId": "taskid123",
"taskButtons": [
{
"key": "key111",
"name": "批准",
"replaceName": "已批准",
"color": "red",
"bold": true
},
{
"key": "key222",
"name": "驳回",
"replaceName": "已驳回",
"color": "red",
"bold": true
}
]
}
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
toUser | String | 否 | 指定接收消息的成员,成员ID列表(多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为”@all”,则向该企业应用的全部成员发送 |
toParty | String | 否 | 指定接收消息的部门,部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
toTag | String | 否 | 指定接收消息的标签,标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为”@all”时忽略本参数 |
agentId | String | 是 | 企业应用的id,整型。企业内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取企业授权信息 (opens new window) 获取该参数值 |
msgType | String | 是 | 消息类型,此时固定为:taskcard |
title | String | 是 | 消息标题,长度限制4-12个汉字(支持id转译) |
description | String | 是 | 消息描述,长度限制4-12个汉字(支持id转译) |
url | String | 否 | 点击后跳转的链接。最长2048字节,请确保包含了协议头(http/https) |
taskId | String | 是 | 任务id,同一个应用发送的任务卡片消息的任务id不能重复,只能由数字、字母和“_-@”组成,最长支持128字节 |
taskButtons | String | 是 | 按钮列表,按钮个数为1~2个。 |
taskButtons:key | String | 是 | 按钮key值,用户点击后,会产生任务卡片回调事件,回调事件会带上该key值,只能由数字、字母和“_-@”组成,最长支持128字节 |
taskButtons:name | String | 是 | 按钮名称 |
taskButtons:replaceName | String | 否 | 点击按钮后显示的名称,默认为“已处理” |
taskButtons:color | String | 否 | 按钮字体颜色,可选“red”或者“blue”,默认为“blue” |
taskButtons:bold | String | 否 | 按钮字体是否加粗,默认false |
1.任务卡片消息的展现形式非常灵活,支持使用br标签或者空格来进行换行处理,也支持使用div标签来使用不同的字体颜色,目前内置了3种文字颜色:灰色(gray)、高亮(highlight)、默认黑色(normal),将其作为div标签的class属性即可,具体用法请参考上面的示例。 2.如果应用配置了回调URL,用户点击任务卡片的按钮后,企业微信会回调任务卡片事件 (opens new window)到该URL。 3.开发者可以通过更新任务卡片消息状态接口 (opens new window)更新卡片状态。
# 发送飞书消息
# 1. 文本消息
访问地址:/auth-api/open/feishu/message/send
请求方法:POST
请求参数示例:
{
"department_ids": [
"10001",
"10002"
],
"user_ids": [
"076378",
"S000964",
"S001089"
],
"msg_type": "text",
"feishu_app_id": "cli_a41132cf4532d00e",
"content": {
"text": "你的快递已到啦,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"
}
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
department_ids | 否 | 指定接收消息的部门,部门ID列表,支持自定义部门ID和open_department_id,列表长度小于等于 200 |
user_ids | 否 | 指定接收消息的成员,用户 user_id 列表,长度小于等于 200;ID获取方式 (对应 V3 接口的 employee_ids ) |
msg_type | 是 | 消息类型,此时固定为:text |
feishu_app_id | 是 | 飞书应用的id,整型。飞书内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取飞书授权信息 获取该参数值 |
content | 是 | 消息内容,支持除卡片消息外的多种消息内容 注意:card和content字段必须二选一 |
content.text | 是 | 内容 |
备注: 其中content参数的text字段可以支持换行、以及A标签,即可打开自定义的网页(可参考以上示例代码)(注意:换行符请用转义过的\n)
示例效果:
# 2. 图片消息
- 访问地址:/auth-api/open/feishu/message/send
- 请求方法:POST
- 请求参数示例:
{
"department_ids": [
"10001",
"10002"
],
"user_ids": [
"076378",
"S000964",
"S001089"
],
"msg_type": "image",
"feishu_app_id": "cli_a41132cf4532d00e",
"content": {
"image_key": "img_v2_3dd6ef94-f465-4441-a457-d5a091336feg"
}
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
department_ids | 否 | 指定接收消息的部门,部门ID列表,支持自定义部门ID和open_department_id,列表长度小于等于 200 |
user_ids | 否 | 指定接收消息的成员,用户 user_id 列表,长度小于等于 200;ID获取方式 (对应 V3 接口的 employee_ids ) |
msg_type | 是 | 消息类型,此时固定为:image |
feishu_app_id | 是 | 飞书应用的id,整型。飞书内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取飞书授权信息 获取该参数值 |
content | 是 | 消息内容,支持除卡片消息外的多种消息内容 注意:card和content字段必须二选一 |
content.image_key | 是 | 图片id,可以调用上传图片接口获取 |
# 3. 文件消息
- 访问地址:/auth-api/open/feishu/message/send
- 请求方法:POST
- 请求参数示例:
{
"user_ids": [
"076378",
"S000964",
"S001089"
],
"msg_type": "file",
"feishu_app_id": "cli_a41132cf4532d00e",
"content": {
"file_key": "file_v2_ad57e19c-2c39-40d9-afbe-a02c0461160g"
}
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
user_ids | 否 | 指定接收消息的成员,用户 user_id 列表,长度小于等于 200;ID获取方式 (对应 V3 接口的 employee_ids ) |
msg_type | 是 | 消息类型,此时固定为:file |
feishu_app_id | 是 | 飞书应用的id,整型。飞书内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取飞书授权信息 获取该参数值 |
content | 是 | 消息内容,支持除卡片消息外的多种消息内容 注意:card和content字段必须二选一 |
content.file_key | 是 | 文件id,可以调用上传文件接口获取 |
示例效果:
# 4. 卡片消息
- 访问地址:/auth-api/open/feishu/message/send
- 请求方法:POST
- 请求参数示例:
{
"department_ids": [
"10001",
"10002"
],
"user_ids": [
"076378",
"S000964",
"S001089"
],
"msg_type": "interactive",
"feishu_app_id": "cli_a41132cf4532d00e",
"card": {
"config": {
"wide_screen_mode": true
},
"header": {
"title": {
"tag": "plain_text",
"content": "你有一个休假申请待审批"
}
},
"elements": [
{
"tag": "div",
"fields": [
{
"is_short": true,
"text": {
"tag": "lark_md",
"content": "**申请人**\n王晓磊"
}
},
{
"is_short": true,
"text": {
"tag": "lark_md",
"content": "**休假类型:**\n年假"
}
},
{
"is_short": false,
"text": {
"tag": "lark_md",
"content": ""
}
},
{
"is_short": false,
"text": {
"tag": "lark_md",
"content": "**时间:**\n2020-4-8 至 2020-4-10(共3天)"
}
},
{
"is_short": false,
"text": {
"tag": "lark_md",
"content": ""
}
},
{
"is_short": true,
"text": {
"tag": "lark_md",
"content": "**备注**\n因家中有急事,需往返老家,故请假"
}
}
]
},
{
"tag": "hr"
},
{
"tag": "action",
"layout": "bisected",
"actions": [
{
"tag": "button",
"text": {
"tag": "plain_text",
"content": "批准"
},
"type": "primary",
"value": {
"chosen": "approve"
}
},
{
"tag": "button",
"text": {
"tag": "plain_text",
"content": "拒绝"
},
"type": "primary",
"value": {
"chosen": "decline"
}
}
]
}
]
}
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
department_ids | 否 | 指定接收消息的部门,部门ID列表,支持自定义部门ID和open_department_id,列表长度小于等于 200 |
user_ids | 否 | 指定接收消息的成员,用户 user_id 列表,长度小于等于 200;ID获取方式 (对应 V3 接口的 employee_ids ) |
msg_type | 是 | 消息类型,此时固定为:interactive |
feishu_app_id | 是 | 飞书应用的id,整型。飞书内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取飞书授权信息 获取该参数值 |
card | 是 | 卡片消息内容 |
示例效果
# 5. 图文消息(富文本)
- 访问地址:/auth-api/open/feishu/message/send
- 请求方法:POST
- 请求参数示例:
{
"department_ids": [
"10001",
"10002"
],
"user_ids": [
"076378",
"S000964",
"S001089"
],
"msg_type": "post",
"feishu_app_id": "cli_a41132cf4532d00e",
"content": {
"post": {
"zh_cn": {
"title": "我是一个标题",
"content": [
[
{
"tag": "text",
"text": "第一行"
},
{
"tag": "a",
"href": "http://www.feishu.cn",
"text": "飞书"
},
{
"tag": "img",
"image_key": "img_v2_3dd6ef94-f465-4441-a457-d5a091336feg"
}
]
]
},
"en_us": {
"title": "I am a title",
"content": [
[
{
"tag": "text",
"text": "first line"
},
{
"tag": "a",
"href": "http://www.feishu.cn",
"text": "feishu"
}
]
]
}
}
}
}
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
department_ids | 否 | 指定接收消息的部门,部门ID列表,支持自定义部门ID和open_department_id,列表长度小于等于 200 |
user_ids | 否 | 指定接收消息的成员,用户 user_id 列表,长度小于等于 200;ID获取方式 (对应 V3 接口的 employee_ids ) |
msg_type | 是 | 消息类型,此时固定为:post |
feishu_app_id | 是 | 飞书应用的id,整型。飞书内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取飞书授权信息 获取该参数值 |
content | 是 | 消息内容,支持除卡片消息外的多种消息内容 注意:card和content字段必须二选一 |
示例效果:
# 6. 上传图片
- 访问地址:/auth-api/open/feishu/message/uploadImage?feishuAppId=cli_a41132cf4532d00e
- 请求方法:POST
- 请求头:Content-Type: multipart/form-data
- 请求参数示例(cURL):
curl --location --request POST 'http://127.0.0.1:30412/open/feishu/message/uploadImage?feishuAppId=cli_a41132cf4532d00e' \
--header 'api-version;' \
--header 'X-token: d16a05ab8c274a48ae21e0e871b63380' \
--header 'User-Agent: Apifox/1.0.0 (https://www.apifox.cn)' \
--header 'Accept: */*' \
--header 'Host: 127.0.0.1:30412' \
--header 'Connection: keep-alive' \
--header 'Content-Type: multipart/form-data; boundary=--------------------------374665241837660632890424' \
--form 'image=@"D:\\Users\\xuq16\\OneDrive\\图片\\打印机.png"'
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
feishuAppId | 是 | 飞书应用的id,飞书内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取飞书授权信息 获取该参数值 |
image | 是 | 图片,类型是file,支持上传 JPEG、PNG、WEBP、GIF、TIFF、BMP、ICO格式图片,图片大小不得超过10M,且不支持上传大小为0的图片 |
- 示例效果:
{
"code": "0",
"desc": "success",
"data": "img_v2_efb9764a-6b9f-4857-8375-236d8173f75g"
}
# 7. 上传文件
- 访问地址:/auth-api/open/feishu/message/uploadFile?feishuAppId=cli_a41132cf4532d00e&fileType=xls
- 请求方法:POST
- 请求头:Content-Type: multipart/form-data
- 请求参数示例(cURL):
curl --location --request POST 'http://127.0.0.1:30412/open/feishu/message/uploadFile?feishuAppId=cli_a41132cf4532d00e&fileType=xls' \
--header 'api-version;' \
--header 'X-token: d16a05ab8c274a48ae21e0e871b63380' \
--header 'User-Agent: Apifox/1.0.0 (https://www.apifox.cn)' \
--header 'Accept: */*' \
--header 'Host: 127.0.0.1:30412' \
--header 'Connection: keep-alive' \
--header 'Content-Type: multipart/form-data; boundary=--------------------------375801602517880948635504' \
--form 'file=@"D:\\Users\\xuq16\\Downloads\\广东海大集团股份有限公司(原料)-通讯录-导出.xlsx"'
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
feishuAppId | 是 | 飞书应用的id,飞书内部开发,可在应用的设置页面查看;第三方服务商,可通过接口 获取飞书授权信息 获取该参数值 |
file | 是 | 文件,类型是file,支持视频,音频和常见的文件类型 |
fileType | 是 | 文件类型,支持opus,mp4,pdf,doc,xls,ppt,stream |
- 示例效果:
{
"code": "0",
"desc": "success",
"data": "file_v2_4f13b496-44a5-4523-9fa7-be314d6fc5bg"
}
# 原料仓储指令
# 1. 投料工段接口
- 访问地址:/wms-mmes-api/open/auth/api/command/feeding (目前仅供https://mipqas.haid.com.cn下调试)
- 请求方法:POST
- 请求参数示例:
[
{
"createBy": "创建人",
"createTime": "2023-01-01 00:00:00",
"distribution": "配料仓",
"feeder": "投料口",
"orgId": "1100",
"productId": "4000001",
"productName": "豆粕",
"serialNo": "流水号",
"unit": "单位",
"usage": "用途",
"warehouseId": "Y001",
"startTime": "2023-01-01 00:00:00",
"endTime": "2023-01-01 00:00:00",
"weight": 1000
}
]
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
createBy | 是 | 创建人 |
createTime | 是 | 创建时间 yyyy-MM-dd HH:mm:ss |
distribution | 是 | 配料仓 |
feeder | 是 | 投料口 |
orgId | 是 | 工厂编号 |
productId | 是 | 物料编号 |
productName | 是 | 物料名称 |
serialNo | 是 | 流水号 |
unit | 是 | 单位 |
usage | 是 | 用途 |
warehouseId | 是 | 仓库编号 |
startTime | 是 | 开始时间 yyyy-MM-dd HH:mm:ss |
endTime | 是 | 结束时间 yyyy-MM-dd HH:mm:ss |
weight | 是 | 重量(KG) |
- 示例效果:
{
"code": 200,
"msg": "操作成功",
"data": "成功接收投料指令"
}
# 2. 配料工段接口
- 访问地址:/wms-mmes-api/open/auth/api/command/distribute (目前仅供https://mipqas.haid.com.cn下调试)
- 请求方法:POST
- 请求参数示例:
[
{
"batchNo": "批次号",
"createBy": "创建人",
"createTime": "2023-01-01 00:00:00",
"distribution": "配料仓",
"orgId": "1100",
"prodNo": "生产订单号",
"productId": "4000001",
"productName": "豆粕",
"serialNo": "流水号",
"warehouseId": "Y001",
"silo": "筒仓",
"unit": "单位",
"weight": 1000
}
]
- 请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
batchNo | 是 | 批次号 |
createBy | 是 | 创建人 |
createTime | 是 | 创建时间 yyyy-MM-dd HH:mm:ss |
distribution | 是 | 配料仓 |
orgId | 是 | 工厂编号 |
prodNo | 是 | 生产订单号 |
productId | 是 | 物料编号 |
productName | 是 | 物料名称 |
serialNo | 是 | 流水号 |
warehouseId | 是 | 仓库编号 |
silo | 是 | 筒仓 |
unit | 是 | 单位 |
weight | 是 | 重量(KG) |
- 示例效果:
{
"code": 200,
"msg": "操作成功",
"data": "成功接收配料指令"
}
# 海大成品物流项目接口列表
# 1. 订单查询接口
访问地址:/auth-api/open/auth/api/oms/queryDeliveryOrder
请求方法:POST
输入参数说明:
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
deliveryTime | date | 是 | 2023-11-01 | 请求交货日期 |
- 请求参数示例:
{
"deliveryTime":"2023-11-01"
}
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
dealerId | String(10) | 客户编码 |
orderId | String(12) | 订单编码 |
totalNum | double | 总数量 |
totalWeight | double | 总重量 |
supplyStatus | int(2) | 订单满足状态:0/库存满足、1/供应满足、2/库存不足 |
expectedTime | dateTime | 生产预计完成时间 |
preCreditCheck | int(2) | 客户预检查:0/不通过、1/通过 |
salesName | String | 销售姓名 |
salesPhone | String | 销售手机号码 |
productGroupName | String | 产品组 |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data": [
{
"supplyStatus": 0,
"expectedTime": "2023-11-01 12:00:00",
"totalNum": 100,
"orderId": "1006860022",
"dealerId": "30226000",
"totalWeight": 100,
"preCreditCheck": 1,
"salesName": "王五",
"salesPhone": "13800138000",
"productGroupName": "鱼料/虾料"
}
]
}
# 2. MIP装车计划单传递接口
访问地址:/auth-api/open/auth/api/oms/autoOrderReserve
请求方法:POST
请求参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
batchNo | String(10) | 是 | 批次号 |
type | int(2) | 是 | 0预约,1预热 |
reserveList | list | 是 | 上报装车数据数组 |
licenseNum | String(10) | 是 | 车牌号 |
driverName | String(64) | 否 | 司机名称 |
driverPhone | String(64) | 否 | 司机手机号 |
driverIdCard | String(64) | 否 | 司机身份证 |
vehicleSeq | int(2) | 是 | 车辆装车顺序(最小从1开始) |
orderList | list | 是 | 订单集合 |
orderId | String(12) | 是 | 订单编码 |
orderSeq | int(2) | 是 | 订单装车顺序(最小从1开始) |
state | int(2) | 是 | 状态: 0/新增、1/删除、2/保留 |
trackingNum | String(36) | 是 | 运单编号 |
address | String(500) | 是 | 送货地址 |
reservePoolId | int(2) | 是 | 预约池id |
receiptName | String(100) | 是 | 收货人 |
receiptPhone | String(11) | 是 | 收货电话 |
- 请求参数示例:
{
"batchNo": "批次号",
"type": 0,
"reserveList": [
{
"licenseNum": "粤AF98009",
"driverName": "王小吴",
"driverPhone": "13800138000",
"driverIdCard": "440121199507281212",
"vehicleSeq": 1,
"orderList": [
{
"orderId": "1006860022",
"orderSeq": 1,
"state": "0",
"trackingNum": "SF8004929400",
"address": "广东省深圳市南山区科技园北区",
"reservePoolId": "1",
"receiptName": "张三",
"receiptPhone": "13800138000"
}
]
}
]
}
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
code | String | 编码 0:成功 其它:失败 |
desc | String | 描述 |
data | Object |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data": null
}
# 3. MIP装车确认单传递接口
访问地址:/auth-api/open/auth/api/oms/queryOutPlantOrder
请求方法:POST
输入参数说明:
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
orderId | String(12) | 是 | 1005351942 | 订单编码 支持多个订单编码入参 |
- 请求参数示例:
{
"orderIdList": [
{
"orderId": "1005351942"
},
{
"orderId": "1005351943"
},
{
"orderId": "1005351944"
}
]
}
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
orderId | String(12) | 订单编码 |
pickBillId | String(12) | 交货单号 |
productId | String(9) | 物料编码 |
productName | String(50) | 物料名称 |
productCount | int(10) | 数量 |
productCountUnit | String(10) | 单位(PAK、KG、包、件) |
suttle | double(8,3) | 单位重量(保留三位小树) |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data": [
{
"suttle": 0.020,
"productId": "5012693",
"orderId": "1006860022",
"productCountUnit": "PAK",
"productCount": 150,
"productName": "海大牌黄颡鱼膨化配合饲料(鱼苗宝1)#E20Φ1.1",
"pickBillId": "8004929400"
}
]
}
# 4. MIP运单状态更新接口
访问地址:/auth-api/open/auth/api/oms/updateDeliveryOrderStatus
请求方法:POST
请求参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
orderId | String(12) | 是 | 订单编码 |
transportType | int(2) | 是 | 订单状态类型:0 运输状态,1 付款状态 |
transportStatus | int(2) | 是 | 订单状态:0/待接收、1/待运输、2/运输中、3/已签收、4/未支付、5/已支付、6/已送达、7/运单取消 |
updateTime | Date | 是 | 状态变更时间(记录的是每一个状态变更的时间),格式:yyyy-MM-dd HH:mm:ss |
- 请求参数示例:
{
"orderId": "1006860022",
"transportType": 0,
"transportStatus": 1,
"updateTime": "2023-11-01 12:00:00"
}
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
errCode | int(2) | 0/成功 1/失败 |
errMsg | String(50) | 业务返回说明 |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data": {
"errCode": 0,
"errMsg": "订单状态更新成功"
}
}
# 5. 送货订单详情查询接口
访问地址:/auth-api/open/auth/api/oms/queryDeliveryOrderDetail
请求方法:POST
请求参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
orderId | String(12) | 是 | 订单编码 |
- 请求参数示例:
{
"orderIdList": [
{
"orderId":"1006860022"
},
{
"orderId":"1006860023"
}
]
}
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
plantId | String(4) | 交货工厂代码 |
plantName | String(50) | 交货工厂 |
warehouseId | String(4) | 仓库编号 |
warehouseName | String(36) | 仓库名称 |
orderId | String(12) | 订货单号 |
dealerId | String(10) | 客户编号 |
dealerName | String(35) | 客户名称 |
dealerPhone | String(16) | 客户手机号码 |
dealerAddr | String(255) | 客户地址 |
orderType | String(4) | 订单类型 |
deliveryTime | Date | 请求交货日期 |
totalWeight | double | 总重量 |
totalCount | integer | 总数量 |
salesName | String | 销售姓名 |
salesPhone | String | 销售手机号码 |
orderStatus | String | 订单状态:0/已提交,1/已审核(SAP下单成功,返回订单编号),2/已进场,3/已开单(提货单),4/装车中,5/装车完成,6/已出厂(回写重磅信息),7/已取消,8/已取消提货单 |
deliveryMethod | String | 提货方式 0 送货上门 1 到厂自提 |
orgId | String | 组织编号 |
orgName | String | 销售组织名称 |
emptyWeighTime | Date | 进厂时间 |
fullWeighTime | String | 出厂时间 |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data": [
{
"orderType": "ZORA",
"dealerName": "测试客户00059041",
"deliveryTime": "2023-11-06",
"warehouseId": "C001",
"orderId": "1004603761",
"dealerId": "10008361",
"dealerPhone": "13899998888",
"totalWeight": 12.234,
"totalCount": 10,
"plantId": "1110",
"dealerAddr": "广东省广州市番禺区大学城外环西路100号",
"warehouseName": "成品仓",
"plantName": "江苏海合农牧有限公司",
"salesName": "王五",
"salesPhone": "13800138000",
"orderStatus": 3,
"deliveryMethod": 0,
"orgId": "1130",
"orgName": "东莞海大销售组织",
"emptyWeighTime": "2025-05-16 06:25:39",
"fullWeighTime": "2025-05-16 07:50:47"
},
{
"orderType": "ZORA",
"dealerName": "测试客户00059041",
"deliveryTime": "2023-11-06",
"warehouseId": "C001",
"orderId": "1004603761",
"dealerId": "10008361",
"dealerPhone": "13899998888",
"totalWeight": 12.234,
"totalCount": 10,
"plantId": "1110",
"dealerAddr": "广东省广州市番禺区大学城外环西路100号",
"warehouseName": "成品仓",
"plantName": "江苏海合农牧有限公司",
"salesName": "王五",
"salesPhone": "13800138000",
"orderStatus": 3,
"deliveryMethod": 0,
"orgId": "1130",
"orgName": "东莞海大销售组织",
"emptyWeighTime": "2025-05-16 06:25:39",
"fullWeighTime": "2025-05-16 07:50:47"
}
]
}
# 6. 订单预约信息查询接口
访问地址:/auth-api/open/auth/api/oms/queryOrderReserveInfo
请求方法:POST
请求参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
orderIds | List | 是 | 订单编号 |
[
"1006860022",
"1006860023"
]
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
orderId | String | 订单编号 |
reserveDate | String | 预约日期 |
reserveTime | String | 预约时间 |
reserveStatus | String | 预约状态 2:成功 3:失败 |
reserveDesc | String | 预约失败描述 |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data":
{
"orderId": "1004603761",
"reserveDate": "2023-11-06",
"reserveTime": "12:00-13:00",
"reserveStatus": 2,
"reserveDesc": ""
}
}
# 7. 查询工厂仓库地理位置
访问地址:/auth-api/open/auth/api/oms/queryWarehouseAddress
请求方法:POST
请求参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
orgId | String | 工厂id |
orgName | String | 工厂名称 |
warehouseId | String | 仓库id |
warehouseName | String | 仓库名称 |
address | String | 仓库地址 |
longitude | String | 经度 |
latitude | String | 纬度 |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data": [
{
"address": "安徽省宣城市宣州区双桥街道开发区东区晨兴路28号海大饲料",
"warehouseId": "C001",
"latitude": "30.9362010",
"warehouseName": "成品仓",
"orgId": "2060",
"orgName":"宣城海大生物科技有限公司",
"longitude": "118.8568310"
},
{
"address": "怀化海大饲料有限公司",
"warehouseId": "C001",
"latitude": "27.6413480",
"warehouseName": "成品仓",
"orgId": "1970",
"orgName":"怀化海大饲料有限公司",
"longitude": "110.1298450"
}
]
}
# 8. 工厂装车能力
访问地址:/auth-api/open/auth/api/oms/queryTruckCapacity
请求方法:GET
请求参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
plantId | String | 是 | 工厂编码 |
warehouseId | String | 是 | 仓库编码 |
orderPickup | String | 是 | 订单提货日期,格式:yyyy-MM-dd |
{
"plantId": "1110",
"warehouseId": "C001",
"orderPickup": "2023-11-06"
}
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
plantId | String | 工厂id |
warehouseId | String | 仓库id |
productType | String | 成品类型 默认值为 0/包料、1/散料 |
id | Integer | 预约池id |
groupNum | Integer | 分组号 |
reserveDate | Date | 预约日期 |
timeRange | String | 时间范围 |
salesOrgId | String | 销售组织编码 其它是-1 |
salesOrgName | String | 销售组织名称 |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data": [
{
"plantId": "1110",
"warehouseId": "C001",
"productType": "0",
"id": 1710897394,
"groupNum": 1,
"reserveDate": "2023-12-15",
"timeRange": "00:00-23:45",
"earlyReducibleSurplus": 111.0,
"salesOrgId":"-1",
"salesOrgName":"其它"
},
{
"plantId": "1110",
"warehouseId": "C001",
"productType": "1",
"id": 1710897398,
"groupNum": 1,
"reserveDate": "2023-12-15",
"timeRange": "00:00-23:45",
"earlyReducibleSurplus": 44.0,
"salesOrgId":"1430",
"salesOrgName":"珠海容川"
}
]
}
# 9. 保存月结客户信息
访问地址:/auth-api/open/auth/api/oms/saveDeliverDealer
请求方法:POST
请求方式:json
请求参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
orgId | String | 是 | 工厂编码 |
warehouseId | String | 是 | 仓库编号 |
dealerId | String | 是 | 客户编号 |
startTime | String | 是 | 有效期开始时间 |
endTime | String | 是 | 有效期结束时间 |
[{
"orgId": "1110",
"warehouseId": "C001",
"dealerId": "10000088",
"startTime": "2024-01-06 00:00:00",
"endTime": "2024-01-06 23:59:59"
}]
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
code | String | 状态 |
desc | String | 描述 |
data | Object |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data": null
}
# 10. 查询放号时间
访问地址:/auth-api/open/auth/api/oms/queryOpenHourInfo
请求方法:POST
请求方式:json
请求参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
orgId | String | 是 | 工厂编码 |
warehouseId | String | 是 | 仓库编号 |
{
"orgId": "1130",
"warehouseId": "C001"
}
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
code | String | 状态 |
desc | String | 描述 |
data | Object | 放号时间 |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data": "15:10:00"
}
# 贸易模块
# 1. 获取作业通知单的附件信息
访问地址:/trade-api/open/trade/workSheetList/listTradeOperationDetailPic
请求方法:GET
请求参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
orgId | String | 是 | 工厂编号 |
auditTime | String | 是 | 审核时间 |
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
orgId | String | 工厂编号 |
orderId | String | 合同号(鸡肉粉加工、自主收购业务没有合同号) |
operationOrderId | String | 作业通知单号(鸡肉粉加工、自主收购业务没有作业通知单号) |
type | Integer | 类型 (单据类型: 1贸易合同,2采购合同,3委外订单,4作业通知单) |
detailData | List<Map<String, Object>> | 作业单明细数据 |
auditTime | Date | 审核时间 (年月日) |
picUrl | List | 图片路径 |
pdfUrl | List | PDF路径 |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data":
[{
"orgId": "4300",
"orderId": "1004603761",
"operationOrderId": "",
"type": 1,
"detailData": [{
"operationDetailId": "1151172564098248781",
"auditTime": "2019-07-03 17:18:37",
"picUrl": ["https://mipqas.haid.com.cn/fileweb/upload/img/5f13f561e7e84da988f0a5ef5262ea09/20190713/06d4d30a4528411cb1349c44ef2470de.jpg"],
"pdfUrl": [""]
}]
}]
}
# 装车平台单据查询
# 1. 获取提货单和拣货单查询接口
访问地址:/haiw/open/queryHaiwOrderInfo
请求方法:POST
请求参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
orgId | String | 是 | 工厂编号 |
heavyBillId | String | 否 | 磅单编号 |
licenseNum | String | 否 | 车牌号 |
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
pickBills | List | 提货单集合 |
pickUpBills | List | 拣货单集合 |
orderNumber | String | 提货单编号or拣货单编号 |
licenseNum | String | 车牌号 |
driverName | String | 司机名称 |
driverPhone | String | 司机手机 |
productId | String | 物料编号 |
productName | String | 物料名称 |
productCount | Integer | 物料数量 |
weigh | Double | 重量 |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data":
{
"pickBills": [
{
"orderNumber": "8022363765",
"licenseNum": "粤A123456",
"driverName": "邓xx",
"driverPhone": "13800138000",
"productId": "5079397",
"productName": "虾用配合饲料水纪元乐食健(1.2粒径,2.5kg/包×4包/箱,升级版)",
"productCount": "10",
"weigh": "0.1"
}
],
"pickUpBills": [
{
"orderNumber": "JH8022363765",
"licenseNum": "粤A123456",
"driverName": "邓xx",
"driverPhone": "13800138000",
"productId": "5079397",
"productName": "虾用配合饲料水纪元乐食健(1.2粒径,2.5kg/包×4包/箱,升级版)",
"productCount": "10",
"weigh": "0.1"
}
]
}
}
# 电子档案系统交互接口
# 1. 根据入参重新推送电子档案系统
访问地址:/open/auth/api/order/retryByParam
请求方法:POST
请求参数说明:
参数 | 类型 | 是否必选 | 说明 |
---|---|---|---|
pickBillList | Array | 否 | 提货单集合 三选一 优先以提货单集合为准 其次是磅单集合 最后是开单日期 |
heavyBillList | Array | 否 | 磅单集合 三选一 优先以提货单集合为准 其次是磅单集合 最后是开单日期 |
deliveryTime | String | 否 | 开单日期yyyy-MM-dd格式 三选一 优先以提货单集合为准 其次是磅单集合 最后是开单日期 |
- 输出参数说明:
参数 | 类型 | 说明 |
---|---|---|
code | String | 是否成功标识0成功 其它失败 |
desc | String | 描述 |
data | Object | 返回体 |
- 示例效果:
{
"code": "0",
"desc": "操作成功",
"data": null
}
NCP支付平台 →