协议
异步处理
API使用异步处理进行所有轮询。这包括与外部服务(例如iCloud)的交互,因为这些可能需要几秒或几分钟才能完成,具体取决于所需的处理量。
许多标准资源交互可以触发API参考文档中概述的异步“副作用”。这些通常用于执行有效性检查或其他实用程序功能。
API的异步基础还有助于简化从API内触发的定期轮询的接口。这意味着无论是直接与API进行交互还是通过预定的民意调查,事件和结果检索都是相同的。
等待回应
该API支持通过长期请求等待异步任务的完成,以最大程度地减少轮询需求并减少最终用户的总响应时间。要启用此功能,请将Ricloud-Await
HTTP标头添加到具有所需超时值的请求中。当前的最大超时值为10秒。
Ricloud-Await: 3
以下端点支持此功能:
- 创建会话
POST /sessions
- 测试存储配置
POST /configs/storage/{storage_config ID}/test
- 测试webhook配置
POST /configs/webhook/{webhook_config ID}/test
加密发布
API发布的所有结果都可以使用组织范围的公共RSA密钥进行加密。
最终用户试用
最终用户试用模块可供客户使用。这可用于将数据的“预告片”返回给潜在的最终用户。该模块提供了最后五个消息的提要,最后位置以及其他可用消息的摘要计数。
与使用完整密钥进行最终用户试用相比,使用此机制可能更具成本效益。
分析和报告
ricloud的iCloud服务围绕分析和报告提供了许多其他功能。
企业可以使用两个模块:基本应用程序使用情况,显示在给定日期内在iOS设备上使用的应用程序,以及高级应用程序使用情况,提供进一步的信息,包括会话数,会话持续时间等。可根据要求提供有关这些模块的更多信息。
法医和回收
法医取消删除和恢复功能可用于如下所示的许多模块,包括消息(SMS,MMS和iMessage)和iCloud照片库模块。
Reincubate有许多自定义取证工具,可以应用于其他模块,包括WhatsApp和微信。
属性类型
约会时间
日期时间属性是根据ISO8601规范格式化的。 API返回所有带有UTC时区的datetime属性,即"2018-08-22T10:25:05Z"
。
许多资源列表端点允许对datetime属性(例如date_created
进行过滤。要使用更有用的运算符进行过滤,请在日期时间过滤器值前加上lt_
, lte_
, gt_
或gte_
。
时差
除非另有说明,否则timedelta类型的属性始终以秒为单位。
分页
API使用基于游标的分页。所有列表类型调用都采用其他参数:
-
limit
以指定要返回的最大项目数。默认值为10,最大值为1000。 -
after_id
指定从中开始列出的ID。 -
before_id
指定要从中停止列出的资源ID。
列表响应包括data
属性下的返回资源。还包括辅助属性has_more
,它表示是否可以列出由于限制而未包括的更多资源。
速率限制
对API的请求可以通过标准速率限制或飞行中请求限制来限制。前者用于最大限度地减少API资源的滥用,而后者用于保护单个资源实例。
速率限制示例:来自单个组织的API请求数量上限为每小时10,000个请求。这有助于防止恶意或意外的流量高峰。
正在进行的限制示例 :如果另一个任务已在处理,则源资源的实例不能为其创建任务。这可以保持会话的完整性,最大限度地减少外部服务的流量
版本
尽管API的主要版本遵循大部分语义版本控制方案(即v1 , v2 , v3 ),但是在v3版本的API内完成的任何更改都是按照日历版本控制方案(即2018-11-06 )进行版本控制的。可以为您的组织全局设置版本,也可以通过Ricloud-Version
标头为每个请求指定Ricloud-Version
。
可删除的资源
大多数资源都是不可删除的,这意味着它们只能由拥有组织停用或由API管理员阻止。