内容个性化分析
API 客户端
内容优化 API 客户端为经验 API 和 API 提供低级传输 透视API. 应用程序化的 SDK 由事件构建器、状态管理器组成, 队列,以及运行时间的默认值.
我们建议用Web、React Web、节点或React Industern SDK开始应用。 使用此软件包 在建立或维护SDK层、测试、工具或第一当事方整合时直接使用 需要原始 API 访问.
[大
从v1升级? 跟着 v1-v2 迁移指南 在更改软件包版本或依赖路由的基础设施之前.
开始
使用与国家预防机制兼容的软件包管理器安装,例如:
pnpm install @contentful/optimization-api-client
进口和初始化统一的API客户端;支持CJS和无害环境管理模块系统,无害环境管理 首选 :
import { ApiClient } from '@contentful/optimization-api-client'
const client = new ApiClient({
spaceId: 'your-space-id',
environment: 'master',
})
何时使用此软件包
使用 @contentful/optimization-api-client 当您需要直接的低级访问体验
API或Insights API可运输地表. 当您需要优化时, 使用一个SDK 程序
状态,同意处理,事件构建者,条目解析,跟踪,或平台默认.
通用配置
| 选项 | 需要吗? | 默认 | 说明 |
|---|---|---|---|
spaceId | 对 | 不详 | 经验和透视 API 请求的空间标识符 |
environment | 没有 | 'master' | 体验和透视 API 具有内容的空间环境标识符 |
experience | 没有 | 见下文经验选项 | API 端点和默认请求选项 |
insights | 没有 | 见下文“透视”选项 | 透视 API 端点选项 |
fetchOptions | 没有 | SDK 默认 | 获取超时并重试行为 |
共同经验 API 选项 :
| 选项 | 需要吗? | 默认 | 说明 |
|---|---|---|---|
baseUrl | 没有 | 'https://experience.ninetailed.co/' | 经验 API 的基础 URL |
enabledFeatures | 没有 | ['ip-enrichment', 'location'] | 用于突变请求的 API 特性 |
ip | 没有 | undefined | 经验 API 分析的 IP 地址覆盖 |
locale | 没有 | API 默认 | 本地化响应的地方查询参数 |
location | 没有 | API 倒计时 | 请求单个可显示突变的位置默认 |
plainText | 没有 | 特定终点 | 发送单调突变端点为文本 |
preflight | 没有 | false | 汇总一个配置状态而不存储它 |
经验突变请求选项 baseUrl 每个变异请求也可提供.
getProfile 是已读请求,仅使用 locale 从每个呼叫选项; 仅变异选项
例如 enabledFeatures, (中文(简体) ), ip, (中文(简体) ), location, (中文(简体) ), plainText,以及 preflight 不适用。 单发突变
请求默认为 plainText: true 发送 text/plain 除非被推翻。 批次配置文件更新
与 upsertManyProfiles 是 JSON 默认例外和使用 plainText: false 默认.
locale 作为经验 API 发送 locale 查询参数,并可以将配置字段本地化
作为 location.city 财务报告和审定财务报表 location.country。高级 SDK 合并工具
profile 值由经验 API 返回, 因此可以使本地化的内容
条目通常通过用于获取 CDA 条目的同一语言。 通过一个有效的地籍标签; 无效
语法可以失败Experience API请求验证. 见
优化 SDK 套件中的位置处理
对于此请求的地语关系.
常见的透视 API 选项 :
| 选项 | 需要吗? | 默认 | 说明 |
|---|---|---|---|
baseUrl | 没有 | 'https://ingest.insights.ninetailed.co/' | 透视 API 的基础 URL |
常见 fetchOptions 为: fetchMethod, (中文(简体) ), requestTimeout, (中文(简体) ), retries, (中文(简体) ), intervalTimeout, (中文(简体) ),
onFailedAttempt,以及 onRequestTimeout。默认重试仅对 HTTP 适用 503
回应.
对于每个选项,回调有效载荷,请求类型和响应类型,使用生成的 API 客户端参考。 。 。 .
API 表面
经验 API
API方法的范围包括: client.experience 并返回配置和优化数据:
const { profile, selectedOptimizations, changes } = await client.experience.upsertProfile(
{
profileId: 'f0837d7dc6344c36a3a0a06c4cde754b',
events: [pageEvent],
},
{ locale: 'de-DE' },
)
通用方法包括: getProfile, (中文(简体) ), createProfile, (中文(简体) ), updateProfile, (中文(简体) ), upsertProfile,以及
upsertManyProfiles。 。 。 .
应用程序可以通过正常的 SDK 配置请求位置 api.location 选项.
无国籍的节点集成可以通过
forRequest({ experienceOptions: { location } }); 见
节点SDK配置 财务报告和审定财务报表
Web SDK 配置。 。 。 .
下面的直接运输实例是针对SDK级和工具化消费者的.
对于 createProfile, (中文(简体) ), updateProfile,以及 upsertProfile设置 location 体验客户端
配置或按请求选项:
import { ExperienceApiClient } from '@contentful/optimization-api-client'
const experience = new ExperienceApiClient({
spaceId: 'your-space-id',
environment: 'master',
location: { countryCode: 'DE', country: 'Germany' },
})
await experience.createProfile({ events: [pageEvent] })
await experience.upsertProfile(
{ profileId: 'f0837d7dc6344c36a3a0a06c4cde754b', events: [pageEvent] },
{
location: {
countryCode: 'FR',
country: 'France',
city: 'Paris',
coordinates: { latitude: 48.8566, longitude: 2.3522 },
},
},
)
与统一 ApiClient,将构造器默认值放入 experience.location。 。 。 .
按请求位置取代整个构建器默认;客户端不合并它们.
后端将每个事件合并 context.location 超过已解决的请求位置, 因此事件
字段覆盖匹配的请求字段。 如果两个源都未提供位置, 现有的后端
后退行为适用,包括Cloudflare在启用时请求地理定位.
过 location: {} 以覆盖构造器默认并提供一个空请求-位置默认
而不是Cloudflare的地理位置。 这不会抹去现有的配置文件位置 。 后端
从批次中带有非空位置的最新时间标记的事件中选择配置位置,
返回现有配置文件位置,如果没有。 请求位置受到影响
评价和配置更新;它不是一个永久位置锁定。 这个 ip 选项控制 IP
通过 X-Force-IP ,不控制剖面定位.
upsertManyProfiles 不发送请求级别位置,包括构造器默认值.
对于批量更新,通过每次活动提供位置 context.location。 。 。 .
关于这些输入如何影响后续服务器和浏览器请求的配置连续性,请参见 位置输入和简介更新。 。 。 .
透视 API
透视 API 方法被限定为 client.insights 并发送满分的事件 Profile
由经验 API 返回:
await client.insights.sendBatchEvents([
{
profile,
events: [viewEvent],
},
])
透视端点不返回响应数据. 对于最后的chance浏览器生命周期发送,通过 a
每一次通话 beacon 接收请求 URL 和已序列化正文的发件人 .
A 类 true 结果意味着在使用取回时Beacon队列接受或成功的HTTP响应.
灯塔的接受不能证实服务提供情况;结果也证明分析的持久性.
Schema 切入点
@contentful/optimization-api-client/api-schemas 拥有经验 API 和 Insights API 运行时间
此客户端使用的验证策略、 推断类型和验证助手 。 导入这些
在建立SDK层、工具或测试时从该切入点订立合同:
import { ExperienceResponse } from '@contentful/optimization-api-client/api-schemas'
此切入点不包括Contentful CDA计划. 导入 CDA 计划
@contentful/optimization-core/api-schemas 换句话说 核心切入点还提供了
既需要CDA合同,也需要API合同的SDK层的集合外表.
ExO 交互事件使用 Experience 财务报告和审定财务报表 ExperienceFragment 实体类型。 他们接受
parentVariantId 对于根经验选取的变体,
包括 default 其基线。 这与被交付的实体本身无关 variantId。 。 。 .
SDK 事件构建器提供这些值; 计程器在请求序列化时保存这些值
并接受更古老的事件 忽略它们.
获取帮助
此软件包还导出 SDK 层所使用的获取帮助函数 :
| 帮助 | 目的 |
|---|---|
createProtectedFetchMethod | 围绕获取方法添加超时并重试保护 |
createRetryFetchMethod | 应用重试策略来重试可操作的响应 |
createTimeoutFetchMethod | 在配置的超时后中止请求 |
用于帮助签名和回调有效载荷的参考文件.
相关
- API 客户端生成引用 - 说吧 导出 API 引用
- 优化核心 SDK - 平台不可知的 SDK 层 组成这个
客户端并拥有 CDA 计划
/api-schemas进入点 - API 斯克马斯 - 贬值的相容外观和进口迁移 指导
- 选择正确的 SDK - 说吧 应用程序集成软件包选择指南