通过 REST API 获取远程配置
Joystick 在一个强大的平台中管理您的所有远程配置,并允许您轻松地通过 REST API 大规模检索它。
API 密钥
您需要创建一个 API 密钥来通过 API 检索内容。
请求和响应
这是通过 REST API 获取单个内容的请求和响应。您还可以通过单次调用获取多个内容。
请求
端点
将 :contentId 替换为您创建的配置内容 ID。:contentId 不区分大小写。
头部
头部 | 值 | 是否必需 | 注释 |
---|---|---|---|
Content-Type |
application/json | 是 | |
X-Api-Key |
您的 API 密钥 | 是 | 您为目标环境创建的 API 密钥。这对于每个环境都是不同的。 |
请求查询参数
查询参数 | 要求 | 描述 |
---|---|---|
responseType |
可选 | 区分大小写。表示在响应上序列化 'data' object。查看响应部分以获取输出。 使用: /config/:contentId/dynamic?responseType=serialized |
请求体
请求体应为 JSON,且不能为空。至少应包含以下片段。
属性 | 要求 | 描述 |
---|---|---|
u |
string。必需。 | 这是特定用户的唯一标识符。我们使用此标识符将用户分割到粘性 AB 测试组中。至少发送一个空string。 |
p |
object。必需。 | 这是一个可以由 Joystick 用于细分的键:值属性字典(基于您发送的属性,可以返回不同的配置内容)。至少发送一个空object。查看使用详情 |
v |
string。可选。 | 这是发出请求的您的应用的语义版本。我们强烈建议发送此版本,因为我们可以根据语义版本提供向后兼容的配置修订。这必须是string形式的三部分语义版本,例如 "3.2.1" |
示例
curl --location --request POST 'https://api.getjoystick.com/api/v1/config/:contentId/dynamic' \
--header 'X-Api-Key: 您的-API-密钥' \
--header 'Content-Type: application/json' \
--data-raw '{"u": "", "p": {}}'
故障排查
遇到问题?查看我们的故障排查指南。
响应
响应
响应属性 | 描述 |
---|---|
data |
这是您的配置内容,以格式良好的 JSON 返回,其中包括 a) 所有内联注释都被剥离出去,以及 b) 根据细分或 ab 测试替换的任何动态内容。这可以选择性地返回为序列化string。 |
hash |
这是内容的哈希。您可以使用此哈希来确定自上次请求以来内容是否已更新。只有在内容发生更改时哈希才会更改。例如,如果在请求中获得相同的哈希,您可能不需要更新应用中的配置内容的缓存版本。 |
meta.uid |
在 Joystick 中,我们将请求中发送的 u 参数通过哈希函数进行处理,并生成一个稳定的整数用户 ID(您发送的相同的 "u" string将始终生成相同的整数)。这是为了您的参考返回的。使用此整数是为了使用模 1000 将您的用户放入稳定的 ab 测试组中。 |
meta.mod |
meta.uid 的最后三位。这将帮助您确定用户被分配到哪个 AB 测试组。 |
meta.seg |
这是一个object数组,将告诉您在此请求中更改了数据的细分名称和 ab 测试组变体名称。如果为空,则意味着响应是默认值,不在任何 AB 测试或细分中。在 动态内容 中了解更多。 |
理解 "meta.seg" 组件
响应的 meta.seg 组件对于商业智能或分析很重要。它将告诉您细分名称、变体名称以及您可以传递的其他小段信息。
seg object部分 | 描述 |
---|---|
n |
响应包含的细分的名称。 |
v |
变体名称。如果您正在使用 Joystick 进行 AB 测试,这将是响应包含的变体的名称或标签。 |
i |
这是您可以发送的可选信息,以标记或识别特定的变体。这可以在动态映射上配置。 |
附加信息
我们强烈建议您的应用中有一个回退机制,以便在无法访问 Joystick 的情况下优雅地处理。请参阅我们的集成指南以获取更多信息!
您可以通过一个调用获取多个配置。请参阅我们的多内容 API!
让我们开始吧!
获取沙盒帐户
为您的团队配备火箭助推器。今天就获取一个沙盒帐户 。