Underlying structure

All campaigns have a campaign ID, a name, a category and a type. The ID is allocated automatically by FACT-Finder. It can be changed if campaigns are added or deleted. The name, the category and type of the campaign are chosen by the user when the campaign is created.

The following response example for XMl and JSON are describing the search result response. When returning product campaigns there’s an additional productCampaigns-tag sourrounding the campaigns-tag at XML and for JSON the content of campaigns is returned directly. Both can also be recognized based on the schema definitions. The location of the XSD file is included in the answer, the JSON schema definitions can be found under:

$stringEscapeUtils.escapeHtml($body)

There are no differences for the webservice / SOAP.

XML

<ff xsi:noNamespaceSchemaLocation="schema/7.2/ffresult.xsd">
..
<campaigns>
      <campaign nr="0" name="Bike-Advisor" category="Advisors" flavour="ADVISOR">
          ..
      </campaign>
      ..
</campaigns>
</ff>

JSON

{"searchResult":{
  ..
  "campaigns":[
    {
      "activeQuestions":[],
      "advisorTree":[],
      "category": "Advisors",
      "feedbackTexts":[],
      "flavour":"ADVISOR",
      "id":"0",
      "name":"Bike-Advisor",
      "pushedProductsRecords":[],
      "target":{"destination":"","name":""}
    }
  ],
  ..
}  }

Webservice / SOAP

class Campaign {
  String                id;
  String                name;
  String                category;
  CampaignFlavour         flavour;
  Target                target;
  List<Record>           pushedProductsRecords;
  List<FeedbackText>      feedbackTexts;
  List<Question>         activeQuestions;
  List<Question>         advisorTree;
}

enum CampaignFlavour {
  ADVISOR,
  REDIRECT,
  FEEDBACK;
}

The remaining content of the campaign differs according to the campaign type.