自动化
自动化允许您创建自动触发操作的规则。您可以设置工作流规则,定义执行条件,并关联诸如电子邮件警报、应用内通知、字段更新、 网络钩子和自定义函数等操作。此外,您还可以为工作流规则创建计划,并查看已执行工作流的日志。
工作流规则
您可以通过在Zoho Books中创建工作流规则来自动化任务,例如发送电子邮件、更新字段和触发网络钩子或自定义函数。一旦满足条件,工作流规则就会自动执行。
场景: John希望在客户购买后自动发送带有折扣优惠券的感谢邮件。为此,他在Zoho Books中设置了一个工作流规则,以便每当客户完成付款时,该规则就会触发电子邮件警报,并自动发送电子邮件,为John节省了时间和精力。
创建新的工作流规则
创建新的工作流规则:
- 转到设置。
- 在自动化下选择工作流规则。
- 点击右上角的+ 新建工作流规则。
- 在新建工作流规则弹出窗口中,填写以下字段:
- 工作流规则名称:为工作流规则输入一个名称。
- 描述:如果需要,添加描述。
- 模块:从下拉菜单中选择工作流规则的模块。
- 点击下一步。
- 在工作流规则执行条件下,填写以下字段:
- 工作流类型:选择基于事件或基于日期。
- 操作类型:选择触发工作流的操作类型。
- 当...时执行工作流:选择触发工作流的操作(编辑、已编辑或创建)。
- 当记录为:选择首次编辑或每次编辑。
注意: 当...时执行工作流和当记录为 字段只有在操作类型设置为已编辑或 已编辑或创建时才会出现。
- 点击下一步。
- 点击+ 新建条件为工作流规则创建新的条件:
- 在右侧边栏中,点击是添加条件或点击否跳过。
- 选择一个字段,比较器,并输入必要的值。
- 点击+ 添加条件或+创建额外的条件(如果需要)。
- 如果您添加了多个条件,根据您希望条件如何工作,从下拉菜单中选择和或或。您还可以通过在条件模式字段中手动输入条件来编辑条件模式。
- 一旦您添加了必要的条件,点击完成。
- 通过从以下选项中选择来添加操作:
- + 立即操作:当满足条件时立即触发操作。
- 在右侧边栏中,从类型下拉菜单中选择您希望与工作流规则关联的工作流操作类型。接下来,从名称下拉菜单中选择您创建和配置的工作流操作,或者从下拉菜单中点击+ 新建%工作流操作%添加新的工作流操作。
- 点击+ 添加新操作添加更多操作(如果需要)。
- 点击关联完成与条件的操作关联。
- + 基于时间的操作:根据预定时间触发操作。
- 在右侧边栏中,执行时间字段中,设置操作执行的时间。
- 从类型下拉菜单中选择您希望与工作流规则关联的工作流操作类型。然后,从名称下拉菜单中选择您创建和配置的工作流操作,或者从下拉菜单中点击+ 新建%工作流操作%添加新的工作流操作。
- 点击+ 添加新操作添加更多操作(如果需要)。
- 点击关联完成与条件的操作关联。
- + 立即操作:当满足条件时立即触发操作。
- 点击保存完成并保存工作流规则。
现在,一旦您创建了工作流规则,每当发生与您在工作流规则中设置的触发器匹配的操作时,规则就会执行,指定的操作就会发生。
注意:您可以为一个工作流创建多达10个条件,每个条件中,您可以添加多达10个条件。
工作流规则中的其他操作
更改工作流规则的顺序
如果您希望在列表视图页面的顶部或特定顺序中查看特定的工作流规则,您可以重新排序它们。以下是操作方法:
- 转到设置。
- 在自动化下选择工作流规则。
- 通过点击模块下拉菜单,选择您希望更改工作流规则顺序的模块。
- 在右上角点击更改顺序。
- 现在,根据您的偏好选择并重新排序规则。
- 完成必要的重新排序后,点击保存重新排序。
编辑工作流规则
- 转到设置。
- 在自动化下选择工作流规则。
- 悬停并选择要编辑的工作流规则,然后点击编辑。
- 进行更改,然后点击保存。
克隆工作流规则
如果你需要一个具有现有工作流规则中相同详细信息的新工作流规则,你可以克隆现有规则。操作方法如下:
- 转到设置。
- 在自动化下选择工作流规则。
- 悬停在你想要克隆的工作流规则上,点击右侧的下拉菜单,并选择克隆。
- 在新工作流规则页面,查看克隆的详细信息。
- 验证工作流规则执行条件,然后点击更新。
- 点击保存。
将工作流规则标记为无效
如果你暂时不使用工作流规则,但希望将其保留以备将来使用,你可以将其标记为无效,而不是删除它。要将其标记为无效:
- 转到设置。
- 在自动化下选择工作流规则。
- 悬停在你想要标记为无效的工作流规则上,点击右侧的下拉菜单,并选择标记为无效。
配置工作流规则的通知偏好
洞察:
- 你每天最多可以触发500次工作流警报。
- 当任何工作流操作超过指定阈值时,管理员也会收到应用内通知。
你可以为工作流警报触发器设置每日限制,并添加电子邮件收件人以在达到每日阈值时获得通知。你还可以配置在工作流规则失败时如何接收失败日志通知。要配置:
- 转到设置。
- 在自动化下选择工作流规则。
- 点击右上角的配置通知偏好。
- 在配置通知偏好弹出窗口中,填写以下字段:
- 使用限制通知: 选择发送工作流操作(如电子邮件警报、webhooks和自定义函数)通知的阈值。
- 失败日志通知: 选择通知的频率和时间,并指定在需要时将接收失败日志更新的电子邮件收件人。
- 点击保存。
删除工作流规则
- 转到设置。
- 在自动化下选择工作流规则。
- 悬停在你想要删除的工作流规则上,点击右侧的下拉菜单,并选择删除工作流规则。
- 在弹出窗口中,点击是以确认。
工作流操作
电子邮件提醒
以下步骤将解释如何为Zoho Books中的任何模块设置电子邮件提醒。
创建新的电子邮件提醒: 要设置电子邮件提醒,请导航到
> 自动化 > 电子邮件提醒,然后点击 + 新建电子邮件提醒。

| 字段 | 描述 |
|---|---|
| 名称 | 为电子邮件提醒提供一个唯一的名称。 |
| 模块 | 选择您希望创建电子邮件提醒的模块。 |
| 电子邮件模板 | 您可以从下拉菜单中选择一个模板,或者点击 + 添加新的电子邮件模板 如果 您希望创建一个新的。![]() |
| 电子邮件收件人 | 从下拉菜单中选择您希望发送电子邮件提醒的联系人。 |
| 额外的收件人 | 如果您希望向更多的人发送电子邮件提醒,输入他们的电子邮件地址,每个地址之间用逗号分隔。请注意,您最多可以添加10个额外的收件人。 |
点击 保存 创建新的电子邮件提醒。您现在可以从下拉菜单中选择一个已创建的电子邮件提醒,当工作流被触发时通知您。
电子邮件提醒中的其他操作
删除电子邮件提醒:
要删除电子邮件提醒,将光标悬停在列表中的电子邮件提醒旁边,然后点击 垃圾桶 图标。

过滤电子邮件提醒:
要过滤电子邮件提醒列表,请按照以下步骤操作:
- 导航到
> 自动化 > 电子邮件 提醒。 - 在 模块 下,从下拉菜单中选择已创建电子邮件提醒的模块。
根据您的选择,相应的电子邮件提醒将以列表形式显示。

注意:
- 您可以为每个工作流规则创建最多5个电子邮件提醒。
- 每天最多可以触发500个电子邮件提醒。
应用内通知
Zoho Books允许您创建应用内通知,以通知您的用户在您的组织中发生的事件或重要活动。 您将能够为所有模块设置此功能,并选择何时触发通知。
场景:假设销售团队在您的组织中完成了价值100000的销售。组织的所有管理员和用户可能并不知道这笔销售。触发应用内通知,通知所有用户,当发票总额超过组织的平均销售价值时,所有用户都会得到通知。
同样,您将能够为您的组织设置工作流规则以触发应用内通知。 下面是如何操作:
- 转到页面右上角的设置。
- 在自动化下选择工作流操作。
- 在工作流操作窗格中,选择应用内通知。
- 在右上角点击+ 新的应用内通知。
在新的应用内通知页面:

- 将操作类型设置为应用内通知。
- 在销售下点击+ 新的应用内通知创建新的通知。

- 启用添加基于时间的操作选项,并选择您希望执行操作的时间。
- 设置条件并点击保存。

下次操作发生时,选定的接收者将在铃铛图标中收到通知。点击它查看详细信息。
![]()
字段更新
字段更新选项允许您自动更改触发工作流的特定模块的字段。例如,如果总金额大于或等于500美元,您可以选择自动将报价的到期日期延长到2015年6月30日。在这种情况下,如果总计字段是“>=”500,那么到期日期字段将更改为上述日期。
设置字段更新:
- 转到页面右上角的设置。
- 在自动化下选择工作流操作。
- 在工作流操作窗格中,选择字段更新。
- 在右上角点击+ 新的字段更新。
- 在新的字段更新页面,输入以下详细信息:

| 字段 | 描述 |
|---|---|
| 名称 | 为字段更新给出一个唯一的名称。 |
| 模块 | 选择您希望创建字段更新的模块。 |
| 更新 | 从下拉菜单中选择您希望在触发工作流时更改的字段。 -参考号 -到期日期 -销售人员 -备注 -条款和条件 -调整描述 在相应的框中输入字段的值。如果您希望用空值更新字段,请勾选用空值更新?的框。 ![]() |
- 点击保存创建新的字段更新。现在,当触发工作流时,您可以选择其中的一个字段更新来实施更改。
字段更新中的其他操作
删除字段更新
删除字段更新的步骤:
- 转到页面右上角的设置。
- 在自动化下选择工作流操作。
- 在工作流操作面板中,选择字段更新。
- 将光标悬停在您想要删除的字段更新上,然后点击删除图标。

筛选字段更新
筛选字段更新的步骤:
- 转到页面右上角的设置。
- 在自动化下选择工作流操作。
- 在工作流操作面板中,选择字段更新。
- 在模块下,从下拉菜单中选择已创建字段更新的模块。
根据您的选择,相应的字段更新将以列表形式显示。

注意: 您可以为每个工作流规则创建最多3个字段更新。
Webhooks
Webhooks通过每次在Zoho Books中发生事件时发送即时网络通知,促进与第三方应用的通信。使用Webhooks,您可以配置HTTP和HTTPS URL,并将它们与工作流规则关联,以自动化通知过程。阅读我们的帮助文档webhook示例,了解更多关于何时以及如何使用webhooks的信息。
关于webhooks的一般信息,请访问webhooks.org。
创建Webhook
设置webhook的步骤:
- 转到页面右上角的设置。
- 在自动化下选择工作流操作。
- 在工作流操作面板中,选择Webhooks。
- 点击右上角的+ 新建Webhook。

- 在新建Webhook页面,输入以下详细信息:
- 在名称字段中为webhook输入一个名称。
- 从下拉菜单中选择您想要创建webhook的模块,该菜单位于模块字段旁边。
- 如有需要,可以在描述字段中添加关于webhook的描述。

- 在URL & 参数字段中,选择HTTP方法并输入第三方应用的URL。Zoho Books中可用的HTTP方法如下:
- Post:请求将发送的数据视为新数据
- Put:请求将发送的数据视为已存在数据的修改版本
- Delete:请求删除数据。
注意:如果您想在URL和参数字段中指定端口号,请注意Zoho Books只支持端口号80和443。
您还可以通过点击添加参数并在键和值字段中输入所需的值来添加额外的查询参数。您可以添加自定义参数,如Auth Token、Security Token、API Key等。

- 如果您想保护您的webhook,勾选我想保护这个webhook选项。在密钥令牌字段中输入密钥。这将帮助验证webhook是否来自Zoho Books。它应该是字母数字,并且长度在12-50个字符之间。
注意:您以后不能编辑或查看密钥令牌。

注意: 密钥令牌将用于计算哈希值,因此,您必须确保在您的服务器上有相同的令牌以计算类似的哈希值。
- 在Headers部分,您可以包含任何您希望包含在HTTP请求中的额外信息。如果您想添加额外的头部,点击+ 添加新的头部。

- 在授权类型部分,选择你希望如何授权webhook。
- 自我授权:选择此选项以手动提供授权详细信息来设置你的webhook。
- 连接:选择此选项以使用连接设置你的webhook。阅读我们的帮助文档了解如何创建连接。

- 在主体部分,选择你希望如何发送数据。你可以从以下主体参数中选择:
- 默认负载:在默认负载格式中,与模块相关的所有参数将以application/json格式的内容类型发送到请求主体。
- form-data:以文本或文件的形式发送数据。如果你选择文件,则在你创建此webhook的模块中创建的附件类型的自定义字段将在下拉列表中列出。
- x-www-form-urlencoded:在x-www-urlencoded格式中,数据将被编码并发送到服务器。
- 原始:在原始格式中,你可以选择发送到请求主体的参数。内容类型将是application/json。

- 点击保存并执行以检查webhook是否正常工作,或者点击保存如果你希望稍后执行它。
注意:当你设置webhooks时,你在Zoho Books组织中的所有联系人的详细信息(姓名、电话号码、地址和电子邮件地址)将与你希望通知的URL共享。
保护你的Webhooks
保护你的webhooks可以帮助验证webhooks是从Zoho Books发送的。为此,你必须设置你的服务器,使其监听来自Zoho Books的webhooks。当你的服务器从Zoho Books接收到webhook时,必须根据负载和你的秘密令牌生成一个哈希值。完成后,检查它是否与来自Zoho Books的哈希值匹配,从而验证webhook的来源。这可以通过使你的服务器忽略假装来自Zoho Books的第三方webhooks来增加一层安全性。
验证Webhooks
当你的服务器接收到webhook时,必须为负载生成一个哈希值,就像Zoho Books生成的那样。这是为了产生相同的哈希值来验证webhook。
以下参数(如果可用)用于生成哈希值:
- 查询字符串参数。
- 默认负载或自定义原始JSON负载。
- x-www-form-urlencoded负载(键值对)。
通过按字母顺序对负载的键值对进行排序来构造一个字符串。这些对必须按照它们的键按字母顺序排序。
注意
- 如果你的webhook包含查询字符串参数,请确保这些键值对与负载的键值对一起排序。
- 键值对之间不能有任何空格。
一旦你已经排序了键值对并构造了字符串,就将原始JSON附加到字符串的末尾。
示例
1. 默认负载
查询字符串参数的键值对:
subscription\_id=90343, name=basic
默认负载/原始JSON:
{"created\_date":"2019-03-06","event\_id":"5675"}
构造的字符串将是:
namebasicsubscription\_id90343{"created\_date":"2019-03-06","event\_id":"5675"}
2. x-www-form-urlencoded
查询字符串参数的键值对:
customer\_name=Brandon, status=active
x-www-form-urlencoded负载的键值对:
addon\_description=Monthly addon, quantity=1
构造的字符串将是:
addon\_descriptionMonthly addoncustomer\_nameBrandonquantity1statusactive
专业提示
- 如果你的负载是x-www-form-urlencoded格式,那么在生成哈希值之前,整个字符串必须被解码。
- 如果键值对中的一个包含空格,那么在构造的字符串中也必须包含空格。
可以通过在此字符串上应用HMAC-SHA256算法,以及在Zoho Books中使用的秘密令牌,来计算哈希值。
然后,你可以通过检查从你这边计算出的哈希值是否与来自Zoho Books的webhook的头部(X-Zoho-Webhook-Signature)中的哈希值匹配来验证webhook。
配置SMS网关
你可以设置webhooks通过SMS网关发送和接收消息提醒。你只需要使用URL配置SMS网关,并按照下面提供的步骤操作。
批量SMS
批量SMS是一个流行的SMS网关,兼容全球800多个移动网络提供商。
URL: https%username%&password=%password%&msisdn=${CONTACT.CONTACT_MOBILE_PHONE}&message=%message_content%
配置批量SMS的URL:
- 点击右上角的齿轮图标并选择自动化。
- 导航到** Webhooks**选项卡并点击+ 新建Webhook。
- 将上述URL复制到通知URL字段中。
- 将URL中的%username%和%password%占位符替换为您的批量短信账户的用户名和密码。
- 在URL的末尾,即“message=”后面输入您的消息。
- 将您的消息内容中的所有空格替换为%20,将所有逗号替换为%2C。

注意: 如果您的消息内容中有其他标点符号,您可以查看如何从此网站替换它们的修饰符。但是,请确保您不替换对消息语法必要的标点符号。
将您的消息用%20格式化为空格,用%2C格式化为逗号后,它应该看起来像这样:
URL: https
://bulksms.vsms.net/eapi/submission/send_sms/2/2.0?username= %username%&password=%password%&msisdn=${CONTACT.CONTACT_MOBILE_PHONE}&message=Hello%20${CONTACT.CONTACT_NAME}.Thank%20you%20for%20the%20purchase%20of%20${INVOICE.INVOICE_TOTAL}
同样,其他短信网关也可以配置,只是URL不同。
SMS-Magic
像SMS-Magic这样的短信网关需要您输入额外的实体参数来配置webhook。
配置SMS-Magic:
- 在URL通知字段中输入URL https
://sms-magic.in/smapi/post 。 - 点击+添加实体参数。
- 在参数字段中输入以下文本:

<?xml version="1.0"?>
<m:Library xmlns:m="http://screen-magic.com" xmlns="http://www.defns.com">
<userid>**User_ID**</userid>
<senderid>**%Sender_ID**</senderid>
<accountid>**%Account_ID**</accountid>
<hashkey>**%hashkey%**</hashkey>
<message mobilenumber="${CONTACT.CONTACT_MOBILE_PHONE}" >
<![CDATA[${INVOICE.INVOICE_TOTAL}]]>
</message>
</m:Library>
将URL中的占位符替换为您的SMS-Magic账户的用户ID、发送者ID和账户ID。hashkey指的是由您的用户ID、密码、账户ID和发送者ID串联的字符串的标准哈希md5值。
注意: 要生成哈希md5值,您可以访问此网站。
Text Local
Text Local需要一个实体参数和一个自定义参数才能运行。
配置Text Local:

- 在URL通知字段中输入URL http
://api.textlocal.in/send/ 。 - 点击+ 添加自定义参数。
- 添加发送者和apikey参数,并将URL中的占位符替换为Text Local的相关信息。
- 点击+ 添加实体参数。
- 为参数命名并从下拉菜单中选择所需的条件。例如:numbers = ${CONTACT.CONTACT_MOBILE_PHONE}
- 选择添加用户定义的参数框,并输入要发送的消息以及所有必要的占位符。
- 点击保存。
Webhooks中的其他操作
删除Webhooks
删除webhook:
- 转到页面右上角的设置。
- 在自动化下选择工作流操作。
- 在工作流操作窗格中,选择Webhooks。
- 将鼠标悬停在您想要删除的webhook上,然后点击删除图标。

- 在弹出的窗口中,点击是。
webhook将被删除。如果您在工作流规则中使用了webhook,请确保您更新了工作流规则,否则工作流规则可能无法触发。
过滤Webhooks
要过滤webhooks列表,请按照以下步骤操作:
- 转到页面右上角的设置。
- 在自动化下选择工作流操作。
- 在工作流操作窗格中,选择Webhooks。
- 在模块下,从下拉菜单中选择已创建webhook的模块。
根据您的选择,相应的webhook将以列表形式显示。

注意
- 您只能为每个工作流规则创建1个webhook。
- 每天最多可以触发500个webhooks。
自定义函数
Zoho Books中的自定义函数允许您编写小段代码来自动化您的业务流程。无论是为您的客户的发票提供特殊折扣,还是在发票逾期时添加滞纳金,您只需使用Deluge脚本编写一段代码并将其链接到工作流规则,流程的自动化就会得到处理。
什么是Deluge?
Deluge(Data Enriched Language for the Universal Grid Environment)是与Zoho Creator集成的在线脚本语言。它使用户能够逐步向应用程序添加逻辑,使其更强大和健壮。
要了解Deluge,请参考Deluge参考指南。
如果您希望通过编写代码示例来学习Deluge,请点击这里。
创建并执行自定义函数
要设置自定义函数,
- 转到页面右上角的设置。
- 在自动化下选择工作流操作。
- 在工作流操作窗格中,选择自定义函数。
- 点击右上角的+ 新建自定义函数。

- 在新建自定义函数页面上:
- 为您的自定义函数输入一个名称并提供一个简短的描述。
- 选择您想要创建自定义函数的模块。
- 选择您想要用来编写自定义函数代码的编程语言。
- 如果您选择Deluge作为编程语言,点击继续并在Deluge编辑器中输入或拖动参数。
- 如果您选择的编程语言不是Deluge,您需要使用Zoho Finance CLI输入自定义函数的代码。了解更多。

- 完成后,点击保存。
现在,下一步是使用新创建的自定义函数创建工作流规则。
- 返回到自动化窗格并选择工作流规则。
- 创建一个新的工作流并设置触发器。
- 现在,在操作选项卡下,选择自定义函数并选择您新创建的自定义函数。
- 点击保存。
现在,每当满足条件时,工作流规则就会被触发,从而触发自定义函数。
默认字段
目前,自定义函数支持用户、组织、报价、发票、销售订单、采购订单、客户、定期发票、费用、账单、定期账单和项目模块。
这些模块将具有以下字段,您可以从中获取自定义函数所需的参数。
用户
用户字段支持以下参数:
| 关键字段 | 描述 |
|---|---|
| name | 用户的名称 |
| zuid | 用户的ZUID |
组织
组织映射支持以下字段:
| 关键字段 | 描述 |
|---|---|
| organisation_id | 您的组织ID |
| name | 组织名称 |
| time_zone | 您的组织的时区 |
| language_code | 组织的语言 |
| date_format | 您的组织的日期格式 |
| currency_id | 货币ID |
| currency_code | 货币代码 |
| currency_symbol | 货币符号 |
| address | 组织地址 |
| phone | 组织的联系电话 |
| fax | 传真号码 |
| website | 组织URL |
| 电子邮件地址 | |
| portal_name | 您的组织的门户名称 |
示例映射:
{
"time_zone": "Asia/Calcutta",
"language_code": "en",
"currency_id": "7605000000000099",
"phone": "99999999999",
"fax": "check",
"website": "",
"email": "charles@zylker.com",
"address": {
"zip": "624001",
"country": "India",
"city": "New Delhi",
"street_address2": "Block 15",
"street_address1": "6/35 Garden Lane,",
"state": "Delhi"
},
"organisation_id": "12345678",
"name": "Zlyker Industries",
"date_format": "dd MMM yyyy",
"currency_symbol": "Rs.",
"portal_name": "zylkerindustry",
"currency_code": "INR"
}
报价
报价映射支持以下字段:
| 关键字段 | 描述 |
|---|---|
| quote_id | 报价ID |
| quote_number | 您的报价编号 |
| date | 报价日期 |
| reference_number | 您的报价参考编号 |
| status | 您的报价状态 |
| customer_id | 被分配到报价的客户的ID |
| customer_name | 您的客户的名字 |
| currency_id | 货币ID |
| currency_code | 货币代码 |
| currency_symbol | 货币符号 |
| exchange_rate | 报价中涉及的汇率 |
| expiry_date | 报价的到期日期 |
| discount_amount | 折扣金额 |
| discount | 折扣 |
| shipping_charge | 报价中输入的运费 |
| adjustment | 调整 |
| sub_total | 报价的小计 |
| total | 报价总计 |
| tax_total | 报价中的总税额 |
| billing_address | 客户的账单地址 |
| shipping_address | 客户的送货地址 |
| notes | 备注 |
| terms | 条款和条件 |
| custom_fields | 报价的自定义字段 |
| salesperson_id | 销售人员的ID |
| salesperson_name | 销售人员的姓名 |
示例映射:
{
"total": "12000.0",
"terms": “checking",
"quote_id": "7605000000320001",
"date": "2016-06-03",
"quote_number": "EST-000026",
"shipping_address": {
"zip": "94588",
"country": "USA",
"address": "4910 Hopyard Rd",
"city": "Pleasanton",
"state": "CA",
"fax": “Fax Number”
},
"salesperson_name": “Salesperson”,
"adjustment": "0.0",
"currency_symbol": "Rs.",
"salesperson_id": "7605000000336089",
"currency_code": "INR",
"shipping_charge": "0.0",
"custom_fields": [
{
"customfield_id": "7605000000190011",
"is_active": true,
"show_in_all_pdf": false,
"value_formatted": "Check-6",
"data_type": "autonumber",
"index": 1,
"label": "auto number",
"show_on_pdf": false,
"value": "Check-6"
}
],
"currency_id": "7605000000000099",
"exchange_rate": "1.0",
"status": "invoiced",
"sub_total": "12000.0",
"customer_name": “Customer”,
"discount_amount": "0.0",
"discount": "0.0",
"tax_total": "0.0",
"reference_number": “Ref number”,
"notes": "Looking forward for your business.",
"expiry_date": "2016-06-03",
"customer_id": "7605000000258011",
"billing_address": {
"zip": "94588",
"country": "USA",
"address": "4910 Hopyard Rd",
"city": "Pleasanton",
"state": "CA",
"fax": "Fax Number"
}
}
发票
发票映射支持以下字段:
| 关键字段 | 描述 |
|---|---|
| due_date | 发票到期日期 |
| payment_expected_date | 发票预期付款日期 |
| reference_number | 发票的参考编号 |
| customer_id | 客户ID |
| customer_name | 被分配到发票的客户的名称 |
| currency_id | 货币ID |
| currency_code | 货币代码 |
| currency_symbol | 货币符号 |
| exchange_rate | 发票涉及的汇率 |
| discount_amount | 发票涉及的折扣金额 |
| discount | 发票涉及的折扣 |
| shipping_charge | 发票中输入的运费 |
| adjustment | 调整 |
| sub_total | 发票的小计 |
| tax_total | 发票中的总税额 |
| total | 总金额 |
| balance | 余额 |
| price_precision | 小数位数 |
| billing_address | 客户的账单地址 |
| shipping_address | 客户的送货地址 |
| notes | 备注 |
| terms | 条款和条件 |
| custom_fields | 发票自定义字段 |
| salesperson_id | 销售人员的ID |
样本映射:
{
"total": "0.0",
"payment_terms": "0",
"terms": “Checking”,
"price_precision": "2",
"payment_expected_date": "2016-06-31”,
"date": "2016-06-30",
"shipping_address": {
"zip": "94588",
"country": "USA",
"address": "4910 Hopyard Rd",
"city": "Pleasanton",
"state": "CA",
"fax": "Fax Number"
},
"balance": "0.0",
"adjustment": "0.0",
"currency_symbol": "Rs.",
"salesperson_id": “7605000000336089”,
"currency_code": "INR",
"shipping_charge": "0.0",
"custom_fields": [
{
"customfield_id": "7605000000336081",
"is_active": true,
"show_in_all_pdf": false,
"value_formatted": "INV-8",
"data_type": "autonumber",
"index": 1,
"label": "AutoNumber",
"show_on_pdf": false,
"value": "INV-8"
},
{
"customfield_id": "7605000000351027",
"is_active": true,
"show_in_all_pdf": true,
"value_formatted": "01 Aug 2016",
"data_type": "date",
"index": 2,
"label": "Date",
"show_on_pdf": true,
"value": "2016-08-01"
}
],
"currency_id": "7605000000000099",
"exchange_rate": "1.0",
"status": "draft",
"sub_total": "12000.0",
"customer_name": “Customer”,
"invoice_number": "INV-000087",
"discount_amount": "12000.0",
"discount": "100.00%",
"tax_total": "0.0",
"reference_number": “checking”,
"due_date": "2016-06-30",
"invoice_id": "7605000000369043",
"notes": "Thanks for your business.",
"customer_id": "7605000000258011",
"billing_address": {
"zip": "94588",
"country": "USA",
"address": "4910 Hopyard Rd",
"city": "Pleasanton",
"state": "CA",
"fax": "Fax Number"
}
}
销售订单
| 关键字段 | 描述 |
|---|---|
| date | 销售订单日期 |
| tax_total | 销售订单中的总税额 |
| zcrm_potential_id | Zoho CRM中的潜在客户ID |
| discount_amount | 销售订单涉及的折扣金额 |
| salesorder_id | 销售订单ID |
| discount | 折扣 |
| shipment_date | 发货日期 |
| billing_address | 客户的账单地址 |
| line_items | 行项目 |
| currency_code | 货币代码 |
| total | 总金额 |
| delivery_method_id | 交货方式ID |
| terms | 条款和条件 |
| delivery_method | 交货方式 |
| shipping_address | 客户的送货地址 |
| exchange_rate | 销售订单涉及的汇率 |
| currency_symbol | 货币符号 |
| custom_fields | 销售订单自定义字段 |
| quote_id | 报价ID |
| reference_number | 销售订单的参考编号 |
| salesperson_name | 涉及的销售人员的名称 |
| salesperson_id | 涉及的销售人员的ID |
| shipping_charge | 销售订单中输入的运费 |
| salesorder_number | 您的销售订单号 |
| sub_total | 销售订单的小计 |
| zcrm_potential_name | Zoho CRM中的潜在客户名称 |
| adjustment | 已做的调整 |
| customer_name | 被分配到销售订单的客户的名称 |
| customer_id | 被分配到销售订单的客户的ID |
| currency_id | 货币ID |
| status | 您的销售订单状态 |
样本映射:
{
"date": "2016-05-23",
"tax_total": "0.0",
"zcrm_potential_id": "",
"discount_amount": "1200.0",
"salesorder_id": "7605000000295003",
"discount": "10.00%",
"shipment_date": "2016-05-23",
"billing_address": {
"zip": "94588",
"country": "USA",
"address": "4910 Hopyard Rd",
"city": "Pleasanton",
"state": "CA",
"fax": "Fax Number"
},
"line_items": [
{
"bcy_rate": 12000,
"line_item_id": "7605000000295011",
"quantity": 1,
"item_id": "7605000000259147",
"tax_name": "",
"description": "",
"discount": 0,
"item_total": 12000,
"item_custom_fields": [
],
"tax_id": "",
"is_invoiced": true,
"item_order": 0,
"tags": [
],
"stock_on_hand": "",
"unit": "",
"rate": 12000,
"tax_type": "tax",
"name": "Moto",
"tax_percentage": 0
}
],
"currency_code": "INR",
"total": "10820.0",
"delivery_method_id": "7605000000461053",
"terms": "Terms & Conditions",
"delivery_method": "Door Delivery",
"shipping_address": {
"zip": "",
"country": "",
"address": "",
"city": "",
"state": "",
"fax": ""
},
"exchange_rate": "1.0",
"currency_symbol": "Rs.",
"custom_fields": [
{
"customfield_id": "7605000000321009",
"is_active": true,
"show_in_all_pdf": true,
"value_formatted": "Text",
"data_type": "string",
"index": 1,
"label": "Text",
"show_on_pdf": true,
"value": "Text"
}
],
"quote_id": "7605000000405047",
"reference_number": "Reference",
"salesperson_name": "Arun",
"salesperson_id": "7605000000135003",
"shipping_charge": "10.0",
"salesorder_number": "SO-00002",
"sub_total": "12000.0",
"zcrm_potential_name": "",
"adjustment": "10.0",
"customer_name": "Arun",
"customer_id": "7605000000101007",
"currency_id": "7605000000000099",
"status": "invoiced"
}
采购订单
采购订单映射支持以下字段:
| 关键字段 | 描述 |
|---|---|
| date | 采购订单的日期 |
| delivery_address | 送货地址 |
| tax_total | 采购订单中的总税额 |
| delivery_org_address_id | 送货机构地址的ID |
| purchaseorder_id | 采购订单ID |
| expected_delivery_date | 预期送货日期 |
| billing_address | 采购订单的账单地址 |
| line_items | 采购订单中的行项目 |
| currency_code | 货币代码 |
| total | 采购订单的总计 |
| delivery_customer_id | 送货客户ID |
| exchange_rate | 采购订单中涉及的汇率 |
| currency_symbol | 货币符号 |
| custom_fields | 采购订单的自定义字段 |
| ship_via_id | 运输方式的ID |
| vendor_name | 供应商名称 |
| reference_number | 您的采购订单的参考编号 |
| purchaseorder_number | 采购订单编号 |
| delivery_date | 送货日期 |
| vendor_id | 供应商ID |
| sub_total | 采购订单的小计 |
| ship_via | 运输方式 |
| attention | 注意事项 |
| crm_owner_id | Zoho CRM所有者的ID |
| currency_id | 货币ID |
| status | 状态 |
示例映射:
{
"date": "2016-07-11",
"delivery_address": {
"zip": "94588",
"country": "USA",
"address": "4910 Hopyard Rd",
"city": "Pleasanton",
"state": "CA",
"fax": "Fax Number"
},
"tax_total": "0.0",
"delivery_org_address_id": "7605000000054013",
"purchaseorder_id": "7605000000378500",
"expected_delivery_date": "",
"billing_address": {
"zip": "94588",
"country": "USA",
"address": "4910 Hopyard Rd",
"city": "Pleasanton",
"state": "CA",
"fax": "Fax Number"
},
"line_items": [
{
"bcy_rate": 1000,
"line_item_id": "7605000000378504",
"quantity": 1,
"item_id": "7605000000298021",
"tax_name": "",
"description": "",
"item_total": 1000,
"tax_id": "",
"item_order": 0,
"tags": [
],
"unit": "No",
"account_id": "7605000000000403",
"rate": 1000,
"tax_type": "tax",
"account_name": "Advertising And Marketing",
"name": "Moto G Turbo Edition",
"tax_percentage": 0
}
],
"currency_code": "INR",
"total": "1000.0",
"delivery_customer_id": "",
"exchange_rate": "1.0",
"currency_symbol": "Rs.",
"custom_fields": "[]",
"ship_via_id": "7605000000461053",
"vendor_name": "Mr. Vendor",
"reference_number": "Reference",
"purchaseorder_number": "PO-00006",
"delivery_date": "2016-07-11",
"vendor_id": "7605000000112009",
"sub_total": "1000.0",
"ship_via": "Door Delivery",
"attention": "Arun",
"crm_owner_id": "",
"currency_id": "7605000000000099",
"status": "billed"
}
客户
客户映射支持以下字段:
| 关键字段 | 描述 |
|---|---|
| owner_id | 关联所有者的ID |
| billing_address | 与客户关联的账单地址 |
| source | 客户的来源 |
| contact_id | 联系人ID |
| payment_terms | 与客户关联的付款条款 |
| currency_code | 货币代码 |
| language_code | 语言代码 |
| contact_type | 联系人类型 |
| Twitter信息 | |
| zcrm_contact_id | Zoho CRM中的联系人ID |
| shipping_address | 与客户关联的送货地址 |
| pricebook_id | 关联的价格手册ID |
| contact_name | 联系人名称 |
| website | 联系人的网站 |
| owner_name | 联系人所有者的名称 |
| currency_symbol | 货币符号 |
| zcrm_account_id | Zoho CRM账户的ID |
| custom_fields | 与客户关联的自定义字段 |
| Facebook信息 | |
| pricebook_name | 关联的价格手册名称 |
| primary_contact_id | 主要联系人的ID |
| company_name | 公司名称 |
| contact_salutation | 联系人称呼 |
| crm_owner_id | CRM所有者的ID |
| currency_id | 货币ID |
| payment_terms_label | 付款条款标签 |
| status | 状态 |
示例映射:
{
"owner_id": "",
"shipping_address": {
"zip": "94588",
"country": "USA",
"address": "4910 Hopyard Rd",
"city": "Pleasanton",
"state": "CA",
"fax": "Fax Number"
},
"source": "user",
"contact_id": "7605000000197147",
"payment_terms": "0",
"currency_code": "INR",
"language_code": "en",
"contact_type": "customer",
"twitter": "",
"zcrm_contact_id": "",
"billing_address": {
"zip": "94588",
"country": "USA",
"address": "4910 Hopyard Rd",
"city": "Pleasanton",
"state": "CA",
"fax": "Fax Number"
},
"pricebook_id": "",
"contact_name": "Arun",
"website": "www.zoho.com",
"owner_name": "",
"currency_symbol": "Rs.",
"zcrm_account_id": "418070000000135001",
"custom_fields": [
{
"customfield_id": "7605000000063049",
"is_active": true,
"show_in_all_pdf": false,
"value_formatted": "1234",
"data_type": "number",
"index": 1,
"label": "Unpaid Invoices",
"show_on_pdf": false,
"value": "1234"
}
],
"facebook": "",
"pricebook_name": "",
"primary_contact_id": "7605000000197149",
"company_name": "Zoho",
"contact_salutation": "",
"crm_owner_id": "",
"currency_id": "7605000000000099",
"payment_terms_label": "Due on Receipt",
"status": "active"
}
定期发票
定期发票映射支持以下字段:
| 关键字段 | 描述 |
|---|---|
| end_date | 定期发票配置文件的结束日期 |
| tax_total | 定期发票中的总税额 |
| discount_amount | 定期发票中涉及的折扣金额 |
| repeat_every | 定期发票配置文件的重复周期 |
| discount | 定期发票中涉及的折扣 |
| taxes | 与定期发票相关的税款 |
| billing_address | 客户的账单地址 |
| line_items | 定期发票中的行项目 |
| payment_terms | 与客户相关的付款条款 |
| currency_code | 货币代码 |
| last_sent_date | 最后一次发送发票的日期 |
| total | 总金额 |
| recurrence_name | 定期发票配置文件的名称 |
| shipping_address | 客户的送货地址 |
| next_invoice_date | 下一张要发送的发票的日期 |
| recurrence_frequency | 定期发票配置文件的频率 |
| recurring_invoice_id | 定期发票配置文件的ID |
| contact_persons | 参与定期发票的联系人 |
| start_date | 定期发票配置文件的开始日期 |
| exchange_rate | 定期发票中涉及的汇率 |
| currency_symbol | 货币符号 |
| custom_fields | 定期发票的自定义字段 |
| salesperson_name | 参与的销售人员的名称 |
| salesperson_id | 参与的销售人员的ID |
| shipping_charge | 定期发票中输入的运费 |
| sub_total | 定期发票的小计 |
| adjustment | 已做的调整 |
| customer_name | 参与的客户的名称 |
| customer_id | 参与的客户的ID |
| status | 定期发票配置文件的状态 |
示例映射:
{
"end_date": "2016-10-15",
"tax_total": "0.0",
"discount_amount": "1.0",
"repeat_every": "2",
"discount": "1.00%",
"taxes": "[]",
"billing_address": {"zip":"","fax":"","address":"","state":"","country":"","city":""},
"line_items": [{"tags":[],"tax_name":"","tax_type":"tax","item_custom_fields":[],"product_type":"service","line_item_id":"348960000000103013","discount":0,"unit":"","item_order":0,"rate":100,"item_id":"","description":"%(d)%-%(m-2)%-%(y)%","name":"","quantity":1,"tax_id":"","tax_percentage":0,"item_total":100}],
"payment_terms": "0",
"currency_code": "GBP",
"last_sent_date": "",
"total": "200.0",
"recurrence_name": "1",
"shipping_address": {"zip":"","fax":"","address":"","state":"","country":"","city":""},
"next_invoice_date": "",
"recurrence_frequency": "months",
"recurring_invoice_id": "348960000000103005",
"contact_persons": "[]",
"start_date": "2016-01-07",
"exchange_rate": "1.0",
"currency_symbol": "£",
"custom_fields": [{"value_formatted":"EST-001","index":1,"is_active":true,"data_type":"string","show_on_pdf":false,"value":"EST-001","show_in_all_pdf":false,"label":"Quote Number","customfield_id":"348960000000056001"},{"value_formatted":"15 Oct 2016","index":2,"is_active":true,"data_type":"date","show_on_pdf":false,"value":"2016-10-15","show_in_all_pdf":false,"label":"Date","customfield_id":"348960000000056003"},{"value_formatted":"true","index":3,"is_active":true,"data_type":"check_box","show_on_pdf":false,"value":true,"show_in_all_pdf":false,"label":"Invoice Factoring","customfield_id":"348960000000056079"},{"value_formatted":"£100.00","index":4,"is_active":true,"data_type":"amount","show_on_pdf":true,"value":100,"show_in_all_pdf":true,"label":"Amount","customfield_id":"348960000000060003"},{"value_formatted":"10%","index":5,"is_active":true,"data_type":"percent","show_on_pdf":true,"value":10,"show_in_all_pdf":true,"label":"Percentage","customfield_id":"348960000000060005"}],
"salesperson_name": "Arun N",
"salesperson_id": "348960000000111001",
"shipping_charge": "100.0",
"sub_total": "100.0",
"adjustment": "1.0",
"customer_name": "iArun",
"customer_id": "348960000000051041",
"status": "expired"
}
费用
费用映射支持以下字段:
| 关键字段 | 描述 |
|---|---|
| date | 日期 |
| payment_mode | 付款方式 |
| custom_fields | 费用的自定义字段 |
| vendor_name | 参与的供应商的名称 |
| is_billable | 费用的计费性 |
| line_items | 费用中的行项目 |
| project_name | 参与的项目的名称 |
| reference_number | 费用的参考编号 |
| currency_code | 货币代码 |
| total | 总计 |
| project_id | 参与的项目的ID |
| vendor_id | 参与的供应商的ID |
| sub_total | 费用的小计 |
| customer_name | 参与的客户的名称 |
| customer_id | 参与的客户的ID |
| expense_id | 费用ID |
| currency_id | 货币ID |
示例映射:
{
"date": "2016-10-08",
"payment_mode": "Cash",
"custom_fields": "[]",
"vendor_name": "Vendor",
"is_billable": "true",
"line_items": [{"tags":[],"tax_name":"Standard Rate","item_order":1,"tax_type":"tax","account_id":"348960000000000400","description":"Notes","tax_amount":16.67,"product_type":"goods","tax_id":"348960000000044037","line_item_id":"348960000000184015","tax_percentage":20,"item_total":83.33,"account_name":"Office Supplies"}],
"project_name": "",
"reference_number": "12345",
"currency_code": "GBP",
"total": "100.0",
"project_id": "",
"vendor_id": "348960000000051033",
"sub_total": "83.33",
"customer_name": "Accounts",
"customer_id": "348960000000111017",
"expense_id": "348960000000184003",
"currency_id": "348960000000000103"
}
账单
账单映射支持以下字段:
| 关键字段 | 描述 |
|---|---|
| date | 账单上的日期 |
| bill_id | 账单的ID |
| purchaseorder_ids | 涉及的采购订单的ID |
| tax_total | 账单中的总税额 |
| exchange_rate | 账单中涉及的汇率 |
| currency_symbol | 货币符号 |
| custom_fields | 账单自定义字段 |
| due_date | 账单的到期日期 |
| vendor_name | 涉及的供应商名称 |
| billing_address | 账单地址 |
| line_items | 账单中的行项目 |
| payment_terms | 与供应商相关的付款条款 |
| payment_expected_date | 预期付款日期 |
| reference_number | 账单的参考号码 |
| currency_code | 货币代码 |
| total | 账单上的总额 |
| bill_number | 账单号码 |
| payment_made | 为账单付款 |
| balance | 余额 |
| recurring_bill_id | 定期账单配置文件的ID |
| vendor_id | 涉及的供应商的ID |
| sub_total | 账单上的小计 |
| status | 账单状态 |
示例映射:
{
"date": "2016-10-12",
"bill_id": "348960000000193039",
"purchaseorder_ids": "[]",
"tax_total": "0.0",
"exchange_rate": "1.0",
"currency_symbol": "£",
"custom_fields": "[]",
"due_date": "2016-10-15",
"vendor_name": "Vendor",
"billing_address": {"zip":"","fax":"","address":"","state":"","country":"","city":""},
"line_items": [{"tags":[],"tax_name":"","project_name":"","tax_type":"tax","account_id":"348960000000000412","customer_name":"","is_billable":false,"product_type":"goods","line_item_id":"348960000000193047","invoice_number":"","sku":"","purchaseorder_item_id":"","account_name":"Credit Card Charges","unit":"1","item_order":0,"rate":33000,"bcy_rate":33000,"item_id":"348960000000087031","description":"","project_id":"","name":"refrigerator","tax_id":"","quantity":1,"invoice_id":"","tax_percentage":0,"customer_id":"","item_total":33000}],
"payment_terms": "3",
"payment_expected_date": "",
"reference_number": "1",
"currency_code": "GBP",
"total": "33000.0",
"bill_number": "Bill-001",
"payment_made": "0.0",
"balance": "33000.0",
"recurring_bill_id": "",
"vendor_id": "348960000000051033",
"sub_total": "33000.0",
"status": "open"
}
定期账单
定期账单映射支持以下字段:
| 关键字段 | 描述 |
|---|---|
| end_date | 定期账单配置文件的结束日期 |
| tax_total | 定期账单中的总税额 |
| exchange_rate | 定期账单中涉及的汇率 |
| custom_fields | 定期账单自定义字段 |
| repeat_every | 定期账单配置文件的重复周期 |
| taxes | 定期账单中涉及的税项 |
| vendor_name | 涉及的供应商名称 |
| line_items | 定期账单中的行项目 |
| payment_terms | 与供应商相关的付款条款 |
| currency_code | 货币代码 |
| last_sent_date | 最后发送账单的日期 |
| total | 定期账单的总额 |
| next_bill_date | 下一次账单的日期 |
| recurring_bill_id | 定期账单的ID |
| recurrence_name | 定期账单配置文件的名称 |
| vendor_id | 涉及的供应商的ID |
| sub_total | 定期账单上的小计 |
| recurrence_frequency | 定期发票配置文件的频率 |
| payment_terms_label | 付款条款标签 |
| status | 定期账单配置文件的状态 |
| start_date | 定期账单配置文件的开始日期 |
示例映射:
{
"end_date": "2016-10-15",
"tax_total": "0.0",
"exchange_rate": "1.0",
"custom_fields": "[]",
"repeat_every": "1",
"taxes": "[]",
"vendor_name": "Vendor",
"line_items": [{"tags":[],"tax_name":"","account_id":"348960000000000403","tax_type":"tax","product_type":"goods","line_item_id":"348960000000193067","account_name":"Advertising And Marketing","unit":"","item_order":0,"rate":900,"bcy_rate":900,"item_id":"348960000000051011","description":"","name":"Item","quantity":1,"tax_id":"","tax_percentage":0,"item_total":900}],
"payment_terms": "0",
"currency_code": "GBP",
"last_sent_date": "2016-10-12",
"total": "900.0",
"next_bill_date": "",
"recurring_bill_id": "348960000000193061",
"recurrence_name": "RB-001",
"vendor_id": "348960000000051033",
"sub_total": "900.0",
"recurrence_frequency": "weeks",
"payment_terms_label": "Due on Receipt",
"status": "expired",
"start_date": "2016-10-12"
}
项目
项目映射支持以下字段:
| 关键字段 | 描述 |
|---|---|
| item_id | 项目ID |
| custom_fields | 项目自定义字段 |
| item_type | 项目类型 |
| tax_name | 涉及税项的名称 |
| purchase_rate | 项目的购买率 |
| zcrm_product_id | Zoho CRM中的产品ID |
| tax_id | 涉及税项的ID |
| unit | 项目的单位 |
| account_id | 销售账户ID |
| purchase_account_name | 购买账户的名称 |
| purchase_account_id | 购买账户ID |
| tax_type | 涉及税项的类型 |
| rate | 项目的销售率 |
| account_name | 涉及销售账户的名称 |
| name | 项目的名称 |
| tax_percentage | 涉及税项的百分比 |
| pricebook_rate | 价格手册率 |
| sku | 项目的SKU |
| status | 项目的状态 |
样本映射:
{
"item_id": "348960000000051011",
"custom_fields": [{"value_formatted":"100","index":1,"is_active":true,"data_type":"decimal","show_on_pdf":true,"value":100,"show_in_all_pdf":true,"label":"Profit","customfield_id":"348960000000134003"}],
"item_type": "sales_and_purchases",
"tax_name": "",
"purchase_rate": "900.0",
"zcrm_product_id": "1665395000000205001",
"tax_id": "",
"unit": "1",
"account_id": "348960000000000388",
"purchase_account_name": "Advertising And Marketing",
"purchase_account_id": "348960000000000403",
"tax_type": "",
"rate": "1000.0",
"account_name": "Sales",
"name": "Item",
"tax_percentage": "0",
"pricebook_rate": "1000.0",
"sku": "SKU",
"status": "active"
}
几个例子解释这些字段如何帮助获取必要的参数:
例子1:
要获取报价id,使用:
quoteid = quote.get("quote_id");
例子2:
要获取您的组织名称,使用:
orgid = organisation.get("name");
例子3:
要获取用户的名称和ZUID,使用:
username = user.get("name");
zuid = user.get("zuid");
要了解更多关于如何使用Deluge脚本编写自定义函数的信息,请参考Deluge参考指南。
要了解自定义函数在哪些场景下可能有用,请参考我们的自定义函数 场景页面。
计划任务
Zoho Books允许您使用计划任务在指定的时间间隔内创建和运行预定义的任务。您可以使用deluge脚本创建任务,并安排此任务在特定时间或定期执行。
注意:此功能仅适用于Zoho Books的某些计划。访问定价页面检查是否在您当前的计划中提供。
场景
以下是一些可以创建计划来执行自定义操作的场景。然而,您可以根据您公司的需求创建自定义计划。
场景1:彼得经营一家超市。每个月结束时,他想给那些当月总购买额超过一定金额(比如说1000)的客户下次购物打9折。彼得创建一个计划,在每月的最后一天向这些特定的客户发送邮件。
场景2:彼得使用第三方应用程序来维护客户和员工数据库。他希望定期将所有数据从Zoho Books同步到其他应用程序。为此,他创建了一个自定义计划,每天下午6点同步数据。
场景3:彼得为他的地区经理设定了季度销售目标。每四个月,他需要向他们发送他们的利润和损失报告,以及当他们达到目标时的祝贺邮件,或者激励他们更好表现的邮件。他编写了一个函数,并安排它每四个月发送一次给他的员工。
创建新的计划
创建自定义计划:
- 转到页面右上角的设置。
- 在自动化下选择工作流操作。
- 在工作流操作窗格中,选择计划。
- 点击右上角的+ 新建计划。

- 在新建计划页面:
- 为您的计划输入一个名称。
- 设置计划执行的频率和重复模式。这可以是每天、每周、每月或每年。
洞察:重复模式让您决定何时执行自定义计划。您可以选择在设定的频率上执行它。
- 选择任务应执行的频率。
- 每日:任务将每天执行(或根据您的重复模式)。您可以选择排除周末。

- 每周:任务将每周执行一次。选择应执行任务的周几。

- 每月:任务将每月执行一次。这可以是一个特定的日期或一个月中的某一天。例如,您可以选择在每个月的第5天或每个月的第二个星期六执行。

- 每年:任务将每年执行一次。您可以选择月份并指定执行日期或指定日期。例如,任务可以在一月的第一个星期日或仅在一月5日执行。

- 设置开始日期和时间。
警告:计划的开始日期不能超过创建日期一年。
- 选择计划应该何时过期。它可以在执行一定次数后过期,或者在设定的日期过期,或者根本不过期。

- 拖放选项以创建一个Deluge函数,这将帮助您创建您的函数。
洞察: Deluge(Data Enriched Language for the Universal Grid Environment)是与Zoho服务集成的在线脚本语言。它使您能够编写自己的函数,让您可以逐步修改应用程序以适应您的需求,使其更强大和稳健。
- 点击保存或保存并执行来运行它。

洞察:您最多可以创建10个自定义计划。
示例函数
这是场景1的示例函数:
organisationID = organisation.get("organisation_id");
name = organisation.get("name");
orgEmail = organisation.get("email");
salesResponse = invokeUrl
[
url: "https://books.zoho.com/api/v3/reports/salesbycustomer?organisation_id=" + organisationID + "&from_date=" + toStartOfMonth(today).toString("YYYY-MM-dd") + "&to_date=" + eomonth(today,0).toString("YYYY-MM-dd")
type: GET
connection: "books_api_connection"
];
salesDetails = salesResponse.get("sales").toList();
for each sales in salesDetails
{
amount = sales.get("sales_with_tax");
if(amount > "<ENTER AMOUNT>")
{
customerName = sales.get("customer_name");
customerResponse = invokeUrl
[
url: "https://books.zoho.com/api/v3/contacts/" + sales.get("customer_id") + "?organisation_id=" + organisationID
type: GET
connection: "books_api_connection"
];
customerDetails = customerResponse.get("contact");
customerEmail = customerDetails.get("email");
sendmail
[
from :zoho.adminuserid
to :customerEmail
subject :"Thank you for shopping! Here's a 10% discount!"
message :"<div>Dear " + customerName + ",<br></div><div><br></div><div>We just wanted to take a moment of our time to thank you for your continuous support.<br></div><div><br></div><div> Based on your recent purchases, we'd like to offer you a 10% off on your next purchase with us. <br></div><div><br></div><div>Please show this email during billing to avail this discount!<br></div><div><br></div><div>Regards,<br></div><div>" + name + "<br></div><div><br></div><div><br></div><div><br></div><div><br></div>"
]
}
}
从连接帮助文档中了解更多。



