当通过 SugarCRM 中的 API 调用添加 Lead 时,是否会触发 'after_save' 挂钩?

Is the 'after_save' hook fired when Lead is added via an API call in SugarCRM?

我正在通过外部 API 调用将我的潜在客户添加到 SugarCRM。潜在客户已正确添加。我需要围绕潜在客户进行额外的数据处理,并在添加潜在客户后通过 API 调用将其传递给第三方。我看到 after_save 挂钩 - 该挂钩是否仅在用户在 SugarCRM 屏幕上并保存时触发,并且在通过 API 添加潜在客户时不会被调用?

如果在我通过 API 添加潜在客户时 after_save 挂钩对我不起作用,那么在通过我的扩展代码添加代码时我会使用什么挂钩?

好问题。

经过一些测试,当我通过外部 API 将新的 Lead 传入 Sugar 时,after_save 挂钩实际上被触发了。所以你可以使用这个钩子而不用担心它只会在用户在桌面模块上时被触发,实际上在 GUI 中保存了一条记录。

每当 Bean(记录)保存在服务器上时,after_save 挂钩就会触发,并且应该适合您的场景。

调用来自 API 甚至 cli/scheduler 并不重要。
Sugar 7+ 的浏览器应用程序也使用 API顺便说一下背景。


但是,如果您 只想为某些客户端定制代码,那么您可以使用 platform 参数(在客户端身份验证期间指定)来区分他们。 在旧版本的 Sugar 中,您不必预定义/"unlock" 平台——允许客户端指定他们想要的任何内容。在当前版本中,您必须添加自定义平台 via code or via Administration

默认后备平台始终是 base
还有一些其他预先存在的平台,例如mobile 用于移动设备 app/version,opi 用于 outlook 插件等。

对于在 custom/clients 文件夹中完成的自定义,将文件放入 custom/clients/<yourplatform>/(而不是 custom/clients/base/)通常就足够了,使用其中的相同子文件夹层次结构,以便仅为特定客户启用它们。这可以例如用于 extending/overriding/wrapping api 端点。