企业内部开发 服务端API 邮件 发送邮件 发送日程邮件
发送日程邮件
最后更新:2023/05/08
可联系渠道经理采购或代理智慧硬件接口已支持设备 联系渠道经理
发送日程邮件
最后更新:2023/05/08

应用可以通过该接口发送日程邮件。

请求方式: 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
}

参数说明

参数必须类型说明
toobj收件人,to.emails 和 to.userids 至少传一个
to.emailsstring[]收件人,邮箱地址
to.useridsstring[]收件人,企业内成员的userid
ccobj抄送
cc.emailsstring[]抄送人,邮箱地址
cc.useridsstring[]抄送人,企业内成员的userid
bccobj密送
bcc.emailsstring[]密送人,邮箱地址
bcc.useridsstring[]密送人,企业内成员的userid
subjectstring邮件标题,同时也是日程标题
contentstring邮件正文,也是日程描述
attachment_listobj[]附件相关
attachment_list[].file_namestring文件名
attachment_list[].contentstring文件内容(base64编码),所有附件加正文的大小不允许超过50M, 且附件个数不能超过200个
content_typestring内容类型 html,text(默认是html)
scheduleobj日程相关,发日程邮件必填
schedule.schedule_idstring日程ID (修改/取消日程必须带上schedule_id)
schedule.methodstring日程方法:
request-请求(不传schedule_id时是创建日程,传了是修改日程)

cancel-取消日程(必须带上schedule_id)

默认为request
schedule.locationstring地点
schedule.start_timeint日程开始时间,Unix时间戳
schedule.end_timeint日程结束时间,Unix时间戳
schedule.remindersobj重复和提醒相关字段
schedule.reminders.is_remindint是否有提醒 0-不提醒 1-提醒
schedule.reminders.remind_before_event_minsint日程开始(start_time)前多少分钟提醒,当is_remind=1时有效。例如:
15表示日程开始前15分钟提醒

-15表示日程开始后15分钟提醒
schedule.reminders.timezoneint时区。UTC偏移量表示(即偏离零时区的小时数),东区为正数,西区为负数。
例如:+8 表示北京时间东八区

默认为北京时间东八区

取值范围:-12 ~ +12
schedule.reminders.is_repeatint是否重复 0-否 1-是
schedule.reminders.is_custom_repeatint是否自定义重复 0-否 1-是。当is_repeat为1时有效。
schedule.reminders.repeat_typeint重复类型,当is_repeat=1时有效。目前支持如下类型:
0 - 每日

1 - 每周

2 - 每月

5 - 每年
schedule.reminders.repeat_intervalint重复间隔
仅当指定为自定义重复时有效,该字段随repeat_type不同而含义不同

例如:

repeat_interval指定为2,repeat_type指定为每周重复,那么每2周重复一次;

repeat_interval指定为2,repeat_type指定为每月重复,那么每2月重复一次
schedule.reminders.repeat_day_of_weekint[]每周周几重复
仅当指定为自定义重复且重复类型为每周时有效

取值范围:1 ~ 7,分别表示周一至周日
schedule.reminders.repeat_day_of_monthint[]每月哪几天重复
仅当指定为自定义重复, 且重复类型为每月或每年时有效

取值范围:1 ~ 31,分别表示1~31号
schedule.reminders.repeat_month_of_yearint[]每年哪几个月重复
仅当指定为自定义重复且重复类型为每年时有效

取值范围:1 ~ 12,分别表示 1月 - 12月(每年重复需要repeat_month_of_year和repeat_day_of_month来指定某一天)
schedule.reminders.repeat_untilint重复结束时刻,Unix时间戳,当is_repeat=1时有效。不填或填0表示一直重复
schedule.schedule_adminsobj管理员userid列表,上限是3个,只支持传userid,必须是同企业的用户,且在参与人中
enable_id_transuint32表示是否开启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时,如果用户有别名,则替换为别名;否则,将替换为姓名

 

权限说明

  • 自建应用需配置到“可调用应用”列表中的应用secret所获取的accesstoken来调用(accesstoken如何获取?
  • 第三方应用需具有“邮件”权限
  • 代开发自建应用需具有“邮件”权限
  • 发送日程邮件,应用还需具有“日程”权限

 

返回示例

{
    "errcode": 0,
    "errmsg": "ok"
}

参数说明

参数类型说明
errcodeint32返回码
errmsgstring对返回码的文本描述内容
上一篇
发送普通邮件
下一篇
发送会议邮件