我正在尝试使用 curl
请求(如
Apache Unomi 文档中提供)添加对配置文件的同意:
curl -X POST http://localhost:8181/cxs/context.json?sessionId=1234 \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"source":{
"itemId":"homepage",
"itemType":"page",
"scope":"example"
},
"events": [
{
"scope":"unomi-tracker-test",
"eventType":"modifyConsent",
"source":{
"itemType":"page",
"scope":"example",
"itemId":"anItemId"
},
"target":{
"itemType":"profile",
"scope":"unomi-tracker-test",
"itemId":"d501a4be-8568-484d-8550-a01a6a13aca2"},
"properties":{
"consent":{
"typeIdentifier":"newsletter",
"scope":"unomi-tracker-test",
"status":"GRANTED",
"statusDate":"2018-05-22T09:27:09.473Z",
"revokeDate":"2020-05-21T09:27:09.473Z"
}
}
}
]
}
EOF
点击此
POST
请求后,个人资料中的同意不会更新。
在这里,我将目标的 itemType 替换为“profile”,将 itemId 替换为我的 profileId。
我还有什么遗漏的吗?
看来您需要使用正确的数据更新您的json,请参阅下面json中的source部分和scope(完美运行),
{
"source": {
"itemId": "unomi-tracker-test-page",
"itemType": "page",
"scope": "unomi-tracker-test"
},
"events": [
{
"scope": "unomi-tracker-test",
"eventType": "modifyConsent1",
"source": {
"itemType": "site",
"scope": "unomi-tracker-test",
"itemId": "unomi-tracker-test"
},
"target": {
"itemType": "page",
"scope": "unomi-tracker-test",
"itemId": "unomi-tracker-test-page"
},
"properties": {
"consent": {
"typeIdentifier": "newsletter",
"scope": "unomi-tracker-test",
"status": "GRANTED",
"statusDate": "2018-05-22T09:27:09.473Z",
"revokeDate": "2020-05-21T09:27:09.473Z"
}
}
}
]
}