• 销售易客户服务部 技术支持工程师 孙广文

API都能干什么?

销售易标准的CRM功能,可以满足大多数用户的基础使用,但随着客户的深入使用,遇到的个性化需求越来越多、业务场景越来越复杂,个性化的需求无法全部满足。因此,销售易CRM提供了API和开发者平台。用于业务逻辑开发。

API(Application Programming Interface,应用程序编程接口)在系统对接上提供了强有力的支持。通过API接口,能够满足CRM系统内数据实体的增、删、改、查功能,配合PaaS平台,就能实现大多数用户的标准+个性化使用需求。

举个例子:CRM系统内数据,可以通过API接口获取,然后经过代码处理,同步到客户的第三方系统中,实现数据对接,同时也能完成客户公司内部的一些复杂的业务逻辑。

API常用的几个接口:

1. Query查询接口

销售易API中支持SQL查询,使用SOQL语句可以针对客户需求的一些数据进行查询,提高了一些业务场景中查询数据的效率问题。同时,也方便了PaaS开发中,数据的分类和处理。

2. 多维度接口

通过多维度接口的获取,能够有效的获取到客户实体下的一些关联关系、引用关系的来源。

3. 描述接口

描述接口,针对于PaaS开发有很重要的作用,每个实体的描述接口向开发者描述了该实体下字段的数据类型、字段名称、编辑性等特点,方便开发者针对该模块下的数据进行有效代码开发和修复。

4. 创建/更新/删除接口

各实体下创建、更新、删除接口是数据同步时必不可少的。

API应用的举例

场景1:

某公司需要对订单(order)实体中:总金额(amount)字段下的阿拉伯小写金额转化为中文大写金额并存放在字段大写金额(Upperamount)中。

API处理逻辑:

  1. 通过Query接口获取订单的ID以及总金额amount。
  2. 编写金额转换代码,将amount中的数值进行大小写转换。
  3. 调用订单的更新接口,通过订单的ID,将2中转换后的文本更新到Upperamount字段中。
  4. 上传代码到后台业务逻辑代码中并启动,即可启动触发。

场景2:

某公司需要针对客户(account)实体下,客户数据进行创建时间统计。根据当前时间<now()>与客户创建时间(createdAt)进行比较,每天统计该客户的创建时间并存入字段创建天数(Days)中。

API处理逻辑:

  1. 通过Query接口获取客户的ID以及创建时间(createdAt)。
  2. 编写代码,获取当前日期,并将当前日期的数值与createdAt做差,获得一个差值X
  3. 通过客户更新接口,以ID作为数据限制,将获取的差值X更新到创建天数(Days)中。
  4. 系统后台创建定时任务,定时为每天执行,并上传编写好的业务逻辑代码,并启动。

类似的API应用例子其实存在很多。只要系统自带的一些功能不满足客户需求,大多数的业务场景都可以用API功能和PaaS平台编写代码满足的。

API使用TIPs(针对PaaS开发一定要有基本的编程基础)

1. 租户每日调用API次数:账号数量*1000次/天

2. 实体描述接口的作用:提供实体中字段在数据库中的存储名称、存储类型等相关描述。针对数据查询和创建,提供了很便捷的条件。因此,当针对某个实体进行查询或创建时,请一定要关注实体的描述接口。

3. 业务类型编码在描述接口中如何获取。业务类型是一个很重要的字段,通过该字段可以对数据进行划分。业务类型在描述接口中名称为:entityType。多业务类型时,需要查找 entityTypes。

4. 创建数据时,选项和通用选项是如何创建的?描述接口中,选项、通用选项字段存放的大多数为字符串

类型数据。每条数据都以整形(Integer)的id作为标记。创建数据时,只需要将每个字符型数据的对应id传入即可。同时,在编写代码时,一定要格外注意字段的数据类型。

5. 使用Query接口查询时,如果限制条件为时间(日期),需要将对应时间、日期格式转换为时间戳(ms级别)。

6. XOQL接口和Query接口查询是有区别的,Query接口只能查询单实体实时数据。而XOQL查询,是可以多表关联查询非实时数据。