Topic

Topics have one of 4 styles: Question, Idea, Problem, and "Talk". They form the basis of all communication that takes place in Get Satisfaction. In the Get Satisfaction API, topics are represented as an Atom feed, with at least 1 entry. This first entry of a topic feed is the content for the topic itself. Every entry after the first is a reply to the original topic. For detailed information, please refer to the annotated sample feed below:


  1. <feed xmlns="http://www.w3.org/2005/Atom" xmlns:sfn="http://api.getsatisfaction.com/schema/0.1" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0">  
  2.     
  3.     
  4.   <id>http://localhost:3000/topics/27521</id>  
  5.   <title>how can i delete my company or hide it from the public?</title>  
  6.   <updated>2008-02-12T20:25:40Z</updated>  
  7.   <published>2007-10-19T16:16:20Z</published>  
  8.     
  9.     
  10.   <!--   
  11.     Paging links:  
  12.       
  13.     Use these links to page through the data set:  self, first, last, next, prev  
  14.       
  15.     next or prev will only appear if the page actually exists.   
  16.    -->  
  17.   <link rel="self" href="http://localhost:3000/topics/27521?page=1" type="application/atom+xml">  
  18.   <link rel="first" href="http://localhost:3000/topics/27521?page=1" type="application/atom+xml">  
  19.   <link rel="last" href="http://localhost:3000/topics/27521?page=1" type="application/atom+xml">  
  20.     
  21.     
  22.   <!--   
  23.     Navigation links:  
  24.       
  25.     rel=company :  The company in which this topic is posted  
  26.     rel=replies :  The sub-feed that represents all replies to this topic.  POST here to create replies  
  27.   -->  
  28.   <link rel="company" href="http://localhost:3000/companies/4" type="text/html">  
  29.   <link rel="replies" href="http://localhost:3000/topics/27521/replies" type="application/atom+xml">  
  30.     
  31.   <!-- Satisfaction specific ID -->  
  32.   <sfn:id>27521</sfn:id>  
  33.     
  34.     
  35.   <entry>  
  36.     <id>http://localhost:3000/topics/27521</id>  
  37.       
  38.     <link rel="topic" href="http://localhost:3000/topics/27521" type="application/atom+xml">  
  39.       
  40.     <!-- topic_at_sfn is a link back into the main GetSatisfaction application. -->  
  41.     <link rel="topic_at_sfn" href="http://getsatisfaction.com/satisfaction/topics/how_can_i_delete_my_company_or_hide_it_from_the_public" type="text/html">  
  42.       
  43.     <link rel="company" href="http://localhost:3000/companies/4" type="text/html">  
  44.     <link rel="replies" href="http://localhost:3000/topics/27521/replies" type="application/atom+xml">  
  45.       
  46.     <sfn:id>27521</sfn:id>  
  47.     <title type="html">how can i delete my company or hide it from the public?</title>  
  48.     <updated>2008-02-12T20:25:40Z</updated>  
  49.     <published>2007-10-19T16:16:20Z</published>  
  50.       
  51.     <author>  
  52.       <name>hipperweb</name>  
  53.       <uri>http://localhost:3000/people/23891</uri>  
  54.     </author>  
  55.     <content type="html">  
  56.       
  57.     </content>  
  58.       
  59.     <!-- Topic style:  question, idea, problem, or talk -->  
  60.     <sfn:topic_style>question</sfn:topic_style>  
  61.   
  62.     <!--   
  63.       Additional statistics   
  64.         
  65.       flag_count:  The number of Abuse/Spam flags that have been applied to this topic  
  66.       reply_count:  The number of replies posted to this topic  
  67.       follower_count:  The number of people actively following the topic  
  68.     -->  
  69.     <sfn:flag_count>0</sfn:flag_count>  
  70.     <sfn:reply_count>10</sfn:reply_count>  
  71.     <sfn:follower_count>9</sfn:follower_count>  
  72.       
  73.     <!-- Tags applied to this topic -->  
  74.     <sfn:tags>remove company, privacy, public</sfn:tags>  
  75.   </entry>  
  76.     
  77.   <!-- All of the following entry elements would be replies to this topic -->  
  78.   <entry>...</entry>  
  79.   <entry>...</entry>  
  80.   <entry>...</entry>  
  81.   <entry>...</entry>  
  82. </feed>  


Posting Topics

To create a topic on Get Satisfaction, you will post to http://api.getsatisfaction.com/topics with a series of required and optional parameters that will be form-encoded. You can look at http://api.getsatisfaction.com/topics/new to see a mock HTML form that describes the parameters that are available.

The required parameters include:

topic[company_id]
The Get Satisfaction specific record ID of the company that you are posting this topic to. The is the <span class="id" /> tag in a company hcard. Use either this option or topic[company_domain] to set the company, but not both.
topic[company_domain]
An alternative to using topic[company_id], company_domain allows you to specify the owning company of topic using its name. The companies domain is the first element of the URL path in the main Get Satisfaction API: For example, twitter's address on Get satisfaction is http://getsatisfaction.com/twitter, and its domain is 'twitter', whereas I want sandy's domain is 'iwantsandy'
topic[style]
Specifies the topic's style: either question, idea, problem, or answer.
topic[subject]
The single-sentence summary of a topic that shows up in topic listings.
topic[additional_detail]
A full description of the topic.

The optional parameters include:

topic[keywords]
A comma-separated list of tags that are to be associated with topic
topic[products]
A comma-separated list of product names that should be associated with this topic
topic[emotitag][face]
A value that describes the emoticon face to attach to this topic: one of happy, sad, indifferent, or silly.
topic[emotitag][feeling]
A word or two describing in more detail how you are feeling. Examples include anxious, thankful, or frustrated.
topic[emotitag][intensity]
A rating of 0-3 that describes the intensity of how you are feeling, 3 being the most intense, 0 being the baseline.