API的对话:检索并提交消费者生成的内容(CGC),检索您的产品目录和关于CGC的统计信息。
反馈提交
对话API允许您以编程方式检索和提交Bazaarvoice对话数据以在应用程序中使用。要了解更多信息,请参阅对话API文档主页.
内容
介绍
本教程解释了如何使用Bazaarvoice Conversations API在应用程序中构建反馈提交和显示。读者将学会如何去做提交反馈通过对话API。本教程还介绍了用户界面:如何处理联合内容,以及如何模拟反馈计数的“实时”更新。
参考文档关于反馈提交的信息也会发布在开发者门户网站上
屈服的机制
介绍如何提交有益投票和不当反馈。有益的反馈和不恰当的反馈遵循相同的过程。
乐于助人的反馈
帮助反馈参数
提交有用性反馈需要填写以下参数:
名字 | 描述 |
---|---|
头 |
|
内容类型 |
要求该字段在所有API请求中都是必需的。 |
X-Forwarded-For |
内容作者IP地址 要求该字段在所有API请求中都是必需的。 |
变量的名称 |
|
万能钥匙 |
响应API密码。 要求该字段在所有API请求中都是必需的。 |
Api版本 |
API的最新版本。 要求该字段在所有API请求中都是必需的。 |
FeedbackType |
“乐于助人” 要求该字段在所有API请求中都是必需的。 |
ContentType |
要求该字段在所有API请求中都是必需的。 |
ContentId |
内容的标识。 要求该字段在所有API请求中都是必需的。 |
投票 |
要求该字段在所有API请求中都是必需的。 |
帮助反馈请求
下面的示例代表了一个有用的反馈提交请求
POST /数据/ submitfeedback。json HTTP/1.1 Host: [stg.]api.bazaarvoice.com X-Forwarded-For: [AuthorIPAddress] Content-Type: application/x-www-form-urlencoded…ApiVersion = [latestApiVersion] &ContentType = [ContentType] &ContentId =[版权id]有些过火&FeedbackType = helpfulness&Vote = [HelpfulnessVote]万能钥匙= [yourKey]
不恰当的反馈
不恰当的反馈参数
提交不适当的反馈需要以下参数:
名字 | 描述 |
---|---|
头 |
|
内容类型 |
要求该字段在所有API请求中都是必需的。 |
X-Forwarded-For |
内容作者IP地址 要求该字段在所有API请求中都是必需的。 |
变量的名称 |
|
万能钥匙 |
响应API密码。 要求该字段在所有API请求中都是必需的。 |
Api Verion |
API的最新版本。 要求该字段在所有API请求中都是必需的。 |
FeedbackType |
“不合适” 要求该字段在所有API请求中都是必需的。 |
ReasonText |
字符串,以识别被认为不合适的内容。*此参数仅用于 可选该字段可选。 |
ContentType |
要求该字段在所有API请求中都是必需的。 |
ContentId |
内容的标识。 要求该字段在所有API请求中都是必需的。 |
不恰当的反馈请求
下面的示例代表了一个不恰当的反馈提交请求
POST /数据/ submitfeedback。json HTTP/1.1 Host: [stg.]api.bazaarvoice.com X-Forwarded-For: [AuthorIPAddress] Content-Type: application/x-www-form-urlencoded…ApiVersion = [latestApiVersion] &ContentType = [ContentType] &ContentId =[版权id]有些过火&FeedbackType = inappropriate&PassKey = [yourKey]
处理响应
下面的示例代表了对有用性反馈提交的响应。
{"Locale": "en_US", "Errors": [], "Feedback": {"Helpfulness": {"Vote": "POSITIVE", "AuthorId": "zdnjli12ey6odjql8n3zr6arlh"}}, "Form": [], "FormErrors": {}, "SubmissionId": null, "Data": {}, "TypicalHoursToPost": null, "AuthorSubmissionToken": null, "HasErrors": false}
您需要查看响应体来确定请求的状态。这是必要的,因为为了支持使用JSONP的应用程序,即使发生了错误,对话API也总是返回HTTP 200代码。
的HasErrors
元素应该进行评估,以确定API的成功/失败。关于可能错误的附加信息为可以在这里.
响应的元素
名字 | 描述 |
---|---|
数据 |
节,其中包含字段和字段组。 |
语言环境 |
将与此提交相关联的地区。 |
错误 |
如果出现错误,将填充此部分而不是其他字段。 |
反馈 |
对象,其中包含反馈数据。它包含 |
形式 |
节,其中包含字段和组引用的数组。 |
FormErrors |
节,该节包含一个对象,其属性表示用户输入错误。例如,未能提交特定字段所需的最少字符。 |
SubmissionId |
唯一的提交事件ID,指的是成功的提交事件,如提交、更新等 |
数据 |
节,其中包含字段和字段组。 |
TypicalHoursToPost |
这是内容发布的通常时间 |
AuthorSubmissionToken |
|
HasErrors |
布尔值,指示是否存在错误。 |
具体的错误代码记录在反馈参考.
API对反馈提交的响应不包含当前的帮助计数。由实现来处理跟踪当前的总数,直到下一个显示响应,该响应将包含总数。看到附录下面阅读如何模拟实时反馈计数。
用户界面
反馈计数和反馈控件、按钮或其他允许最终用户提交反馈的HTML元素通常都在它们所描述的内容附近。下图为推荐的用户界面布局:
评论标题、文本和评分仍然是主要的特色元素。反馈计数和反馈控制是次要的。如果过滤或排序反馈计数,考虑使计数更突出。反馈计数为内容提供了额外的上下文。反馈控件允许最终用户对内容的重要性进行权衡。
反馈控制
最终用户必须发起一个动作来指示特定的内容是值得注意的(有用的或不合适的)。例如按钮、图标、单选按钮或复选框。任何数量的web控件都可以做到这一点。
反馈控件可能是类型乐于助人
或不合适的
.这些类型是相互独立的。换句话说,提交一个类型不应该禁用另一个类型。的限制用户反馈小节详细介绍这个概念。
这两种类型的反馈控件应该只用于非联合的内容块。网站上的联合评论不接受反馈。只有本地评论,即网站上收集的评论,才能接受反馈。要处理这个问题,客户端应该基于是否显示HTML反馈控件(例如拇指向上/拇指向下的图标)来决定IsSyndicated
输入评审响应。
不应该为这个内容提供反馈。下面是一条强调这一点的规则:
当
IsSyndicated:真
不要显示提交反馈的选项。当
IsSyndicated:假
,允许最终用户提供反馈。
的联合内容教程深入讨论这个话题。
限制用户反馈
对话API不会限制用户多次提交反馈。此外,对于反馈提交,作者的ID是不需要的。虽然支持匿名提交有助于收集内容情绪,但开发者需要限制用户界面中的重复提交。一旦提供了某种类型的反馈,就不应接受来自该最终用户的相同类型的反馈。
为了限制反馈,我们建议在用户提交对特定内容的反馈后放置标记,例如cookie或本地存储。该标志的存在可以用来确定是否应该允许反馈。标志值需要存储提供反馈的内容ID。需要两个标志,一个表示有用,一个表示不合适,因为它们是相互独立的。当已经提供反馈时,反馈HTML控件应该被禁用或隐藏。请看下面的示例:
单击上面的任何一个帮助投票都不会禁用报告不适当内容的能力。
如何模拟“实时”反馈
对话API不会实时更新反馈。下面的技巧可以用来给人一种反馈几乎是实时更新的印象。
乐于助人的反馈
反馈计数是来自对话API的标准响应的一部分/评论
端点。
在API响应中,计数显示为
...TotalFeedbackCount: 7, TotalNegativeFeedbackCount: 6, TotalPositiveFeedbackCount: 1,…
如前所述,这些计数通常与它们所代表的内容一起显示。
首先,需要了解帮助反馈计数显示在哪里。这可能不仅仅是在产品展示页面上,而且在类别或其他页面上。确定位置是必要的,这样整个站点的反馈计数是同步的。
一旦最终用户提供了有用的反馈,受尊重的计数应该相应调整。
在有用值更新之后,最终用户应该不再与HTML控件交互。下面的按钮演示了这个概念。
单击按钮并刷新页面。按钮仍然是禁用的,反馈计数仍然增加一个。为了本演示的目的,设置了两个标志:
- 捕获新的帮助计数的标志。
- 一个标志,表示用户已经为给定的内容ID提交了有益投票。
不恰当的反馈
不适当的反馈计数不应该显示给消费者。如果在开发内部应用程序时需要这些计数,请联络支持.