NodeJS集成Bitrix24 CRM:如何通过Rest API为活动添加提醒?
解决Bitrix24 Activity提醒设置问题
1. 优先使用官方REST接口配置提醒
Bitrix24的crm.activity.todo.add或crm.activity.update接口支持直接配置提醒,完全不需要调用内部AJAX接口。你可以在创建或更新Activity时,通过以下两个核心字段设置提醒规则:
NOTIFY_TYPE:提醒渠道枚举值(常见取值:0=不提醒,1=邮件,2=短信,3=邮件+系统弹窗)NOTIFY_VALUE:提前提醒的时间(单位:分钟)
NodeJS示例代码
创建Activity时同步设置提醒:
const axios = require('axios'); async function createLeadActivityWithReminder() { const bitrixRestUrl = 'https://avify.bitrix24.es/rest/你的用户ID/你的访问令牌/crm.activity.todo.add.json'; const requestPayload = { fields: { OWNER_TYPE_ID: 1, // Lead类型固定ID OWNER_ID: 555, // 目标Lead的ID SUBJECT: "跟进潜在客户", RESPONSIBLE_ID: 123, // 负责人的用户ID NOTIFY_TYPE: 3, // 开启邮件+系统弹窗提醒 NOTIFY_VALUE: "30" // 提前30分钟触发提醒 } }; try { const res = await axios.post(bitrixRestUrl, requestPayload); console.log("Activity创建成功,提醒规则已配置:", res.data); } catch (err) { console.error("请求失败:", err.response.data); } }
如果已经创建了Activity,用crm.activity.update接口补设/修改提醒:
async function updateActivityReminder() { const bitrixRestUrl = 'https://avify.bitrix24.es/rest/你的用户ID/你的访问令牌/crm.activity.update.json'; const requestPayload = { id: 1111, // 已存在的Activity ID fields: { NOTIFY_TYPE: 1, // 仅邮件提醒 NOTIFY_VALUE: "15" // 提前15分钟提醒 } }; try { const res = await axios.post(bitrixRestUrl, requestPayload); console.log("提醒规则更新成功:", res.data); } catch (err) { console.error("请求失败:", err.response.data); } }
2. 内部AJAX接口400错误的原因
你拦截到的crm.activity.todo.updatePingOffsets是Bitrix24的内部前端接口,不对外提供支持:
- 调用必须携带
bitrix_sessid这类CSRF验证参数,缺失会直接返回400 - 参数格式有隐藏约束(比如
value的数组格式可能不符合后端要求) - 官方不会维护这类接口的兼容性,后续版本可能直接失效
因此绝对不建议依赖这类内部接口实现业务逻辑。
3. 验证提醒生效
配置完成后,可以在Bitrix24后台的对应Activity详情页查看提醒设置,或让负责人确认是否收到测试通知。
内容的提问来源于stack exchange,提问作者Chemah
相关产品推荐
相关产品推荐

