5

I have different sets of content that would be relevant to different users. Is it possible to serve this variety of content via an endpoint that exposes JSON?

If so, what would need setting up in Sitecore to facilitate it?

Is SSC preferable or would a custom layout and view work better?

1 Answer 1

1

Considering that any Sitecore Item can have any number of presentation settings based on "device", it's possible to create output that emits JSON, (say, using a Controller Rendering). Given that you'd be using Sitecore's presentation pipelines, customizing output based on personalization should be straightforward.

4
  • Say we have an external system that makes web-requests into the endpoint? Is there anything we'd need to consider in these web-requests? Do cookies need persisting? If not, how would we persist that a user (once identified) is the same contact each request?
    – boro2g
    Commented Oct 4, 2017 at 9:49
  • Given this exact scenario, I'd really suggest using Federated Experience Manager instead of pure JSON calls. FXM lets you embed Sitecore renderings (and therefore Sitecore tracking/personalization cookies!) on non-Sitecore sites. - In essence, instead of having your foreign server call Sitecore, have your foreign front-end call Sitecore, thereby giving Sitecore access to the browser! Commented Oct 4, 2017 at 17:31
  • Ah, but what if there isn't an external site? FXM relies on embedding the beacon into the dom - what about if the consumer is an IOT device, or a AWS lambda function?
    – boro2g
    Commented Oct 5, 2017 at 10:36
  • At that point you're pushing way beyond Sitecore's expected use cases, and you'll have to improvise. Assuming you're using http protocols, you still have access to header information, and therefore cookie/session data. I would probably build a "prototype" IOT device that was just a website, and reverse engineer what FXM was including in its headers. You could then "simulate" a browser for FXM. It's probably the shortest path to your solution. Commented Oct 5, 2017 at 13:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.