应用可以通过该接口发送日程邮件。
请求方式: POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/exmail/app/compose_send?access_token=ACCESS_TOKEN
请求包体
{
"to": {
"emails": [
"word@bgjkcsqy.wecom.work",
"jyan1@tiyantest.wang",
"zorocheng@tencnet.com",
"zoro@bgjkcsqy.wecom.work"
],
"userids": [
"william"
]
},
"cc": {
"emails": [],
"userids": ["panyy"]
},
"bcc": {
"emails": [],
"userids": []
},
"subject": "这是邮件标题,同时也是日程标题",
"content": "这是邮件正文,也是日程描述",
"schedule": {
"method": "request",
"location": "这是地点",
"start_time": 1669278600,
"end_time": 1669282200,
"reminders": {
"is_remind": 1,
"remind_before_event_mins": 15,
"is_repeat": 1,
"is_custom_repeat": 1,
"timezone": 8,
"repeat_interval": 1,
"repeat_type": 1,
"repeat_day_of_week": [
4,
5
],
"repeat_day_of_month": [
],
"repeat_week_of_month": [
],
"repeat_month_of_year": [
],
"repeat_until": 1670745600
}
},
"enable_id_trans":1
}
参数说明
参数 | 必须 | 类型 | 说明 |
---|---|---|---|
to | 是 | obj | 收件人,to.emails 和 to.userids 至少传一个 |
to.emails | 否 | string[] | 收件人,邮箱地址 |
to.userids | 否 | string[] | 收件人,企业内成员的userid |
cc | 否 | obj | 抄送 |
cc.emails | 否 | string[] | 抄送人,邮箱地址 |
cc.userids | 否 | string[] | 抄送人,企业内成员的userid |
bcc | 否 | obj | 密送 |
bcc.emails | 否 | string[] | 密送人,邮箱地址 |
bcc.userids | 否 | string[] | 密送人,企业内成员的userid |
subject | 是 | string | 邮件标题,同时也是日程标题 |
content | 是 | string | 邮件正文,也是日程描述 |
attachment_list | 否 | obj[] | 附件相关 |
attachment_list[].file_name | 是 | string | 文件名 |
attachment_list[].content | 是 | string | 文件内容(base64编码),所有附件加正文的大小不允许超过50M, 且附件个数不能超过200个 |
content_type | 否 | string | 内容类型 html,text(默认是html) |
schedule | 是 | obj | 日程相关,发日程邮件必填 |
schedule.schedule_id | 否 | string | 日程ID (修改/取消日程必须带上schedule_id) |
schedule.method | 否 | string | 日程方法: request-请求(不传schedule_id时是创建日程,传了是修改日程) cancel-取消日程(必须带上schedule_id) 默认为request |
schedule.location | 否 | string | 地点 |
schedule.start_time | 是 | int | 日程开始时间,Unix时间戳 |
schedule.end_time | 是 | int | 日程结束时间,Unix时间戳 |
schedule.reminders | 否 | obj | 重复和提醒相关字段 |
schedule.reminders.is_remind | 否 | int | 是否有提醒 0-不提醒 1-提醒 |
schedule.reminders.remind_before_event_mins | 否 | int | 日程开始(start_time)前多少分钟提醒,当is_remind=1时有效。例如: 15表示日程开始前15分钟提醒 -15表示日程开始后15分钟提醒 |
schedule.reminders.timezone | 否 | int | 时区。UTC偏移量表示(即偏离零时区的小时数),东区为正数,西区为负数。 例如:+8 表示北京时间东八区 默认为北京时间东八区 取值范围:-12 ~ +12 |
schedule.reminders.is_repeat | 否 | int | 是否重复 0-否 1-是 |
schedule.reminders.is_custom_repeat | 否 | int | 是否自定义重复 0-否 1-是。当is_repeat为1时有效。 |
schedule.reminders.repeat_type | 否 | int | 重复类型,当is_repeat=1时有效。目前支持如下类型: 0 - 每日 1 - 每周 2 - 每月 5 - 每年 |
schedule.reminders.repeat_interval | 否 | int | 重复间隔 仅当指定为自定义重复时有效,该字段随repeat_type不同而含义不同 例如: repeat_interval指定为2,repeat_type指定为每周重复,那么每2周重复一次; repeat_interval指定为2,repeat_type指定为每月重复,那么每2月重复一次 |
schedule.reminders.repeat_day_of_week | 否 | int[] | 每周周几重复 仅当指定为自定义重复且重复类型为每周时有效 取值范围:1 ~ 7,分别表示周一至周日 |
schedule.reminders.repeat_day_of_month | 否 | int[] | 每月哪几天重复 仅当指定为自定义重复, 且重复类型为每月或每年时有效 取值范围:1 ~ 31,分别表示1~31号 |
schedule.reminders.repeat_month_of_year | 否 | int[] | 每年哪几个月重复 仅当指定为自定义重复且重复类型为每年时有效 取值范围:1 ~ 12,分别表示 1月 - 12月(每年重复需要repeat_month_of_year和repeat_day_of_month来指定某一天) |
schedule.reminders.repeat_until | 否 | int | 重复结束时刻,Unix时间戳,当is_repeat=1时有效。不填或填0表示一直重复 |
schedule.schedule_admins | 否 | obj | 管理员userid列表,上限是3个,只支持传userid,必须是同企业的用户,且在参与人中 |
enable_id_trans | 否 | uint32 | 表示是否开启id转译,0表示否,1表示是,默认0。仅第三方应用需要用到,企业自建应用可以忽略。 目前仅subject、content、attachment_list[].file_name字段支持转译。 |
id转译模版语法
$departmentName=DEPARTMENT_ID$
$userName=USERID$
$userAlias=USERID$
$userAliasOrName=USERID$
其中 DEPARTMENT_ID 是数字类型的部门id,USERID 是成员账号。
譬如,
将$departmentName=1$
替换成部门id为1
对应的部门名,如“企业微信部”;
将$userName=lisi007$
替换成userid为lisi007
对应的用户姓名,如“李四”;
将$userAlias=lisi007$
替换成userid为lisi007
对应的用户别名,如“lisi”;
将$userAliasOrName=lisi007$
替换成userid为lisi007
对应的用户别名或姓名,别名优先级高于姓名,如"lisi";
若输入的模板不符合语法或无效的userid或者部门ID,则不替换该项内容,保留原样
转译userAlias时,如果用户没有别名,则不替换该项内容,保留原样
转译userAliasOrName时,如果用户有别名,则替换为别名;否则,将替换为姓名
权限说明
返回示例
{
"errcode": 0,
"errmsg": "ok"
}
参数说明
参数 | 类型 | 说明 |
---|---|---|
errcode | int32 | 返回码 |
errmsg | string | 对返回码的文本描述内容 |