Salesforce Commerce Cloud Exposes APIs To Public With New Try-Before-You-Buy Developer Portal

Salesforce Commerce Cloud has launched a newly redesigned API developer portal that, for the first time, publicly exposes the type of API reference Documentation and tooling that was previously only available in closed-door fashion for subscribers to the service.

Commerce Cloud is a cloud-based service from Salesforce that includes all the functionality a merchant needs — from inventory management to shopping cart capability to electronic payments and more — in order to open and maintain a virtual storefront. 

"With Commerce Cloud we've had APIs for quite a while. They haven't really been very well-known and certainly not publicly accessible. They've often been behind our login Authentication walls. The documentation is out there, but to get to [it] has been difficult” said Commerce Cloud Director of Product Management Andrew Lawrence. "So we built a new API presentation layer that describes the APIs and puts out there what's available, and then it allows people to actually use a Mocking service against the APIs and you can see what responses would come back and what things would look like for the APIs.”

ProgrammableWeb’s interview of Lawrence is available below as video, audio-only, and in full-text transcript form. Lawrence can be seen in the video providing a demonstration of the new Developer Portal.

Mocking services are well-know to developers as non-production samples or “mocked” versions of an API. Whereas a production API for a given service exposes production data at one Endpoint, a mocking service typically exposes sample data for anyone to consume at a different, less secure endpoint. This approach, which is considered a best practice for engaging new and existing developers, makes it possible for “tire-kicker” developers to go as far as they want in trying an API before they buy it (or internally influence the decision to buy it within their organizations).


The Salesforce Commerce Cloud dev portal includes 20 APIs that span the gamut of Commerce Cloud's Back-end functionality

With the completely redesigned API developer portal, non-subscribing developers can engage the mocking service through an on-site interactive console or they can engage the sample endpoint with their own tools including a command line interface (using a tool like CURL), their own Source Code, or via a downloadable Node.js-based software development kit ( SDK). Node.js is one of the platforms that is also supported by Heroku, a Salesforce-operated Platform-as-a-service. In other words, developers wanting to experiment with the API using node.js (server-side JavaScript) can do so without having to stand-up their own node.js server. They can just use Heroku instead.

The new developer portal, which was built using MuleSoft’s Anypoint Community Manager, includes the reference documentation and resources for 20 Commerce Cloud APIs, some of which contextually draw upon the capabilities from Salesforce’s other clouds and technologies. For example, one of the 20 APIs is called Einstein RecommendationsTrack this API and it relies on the Artificial Intelligence capabilities of Salesforce Einstein to recommend purchases to customers based on their previous activities such as the products they viewed or added to their shopping carts.

Given how the twenty APIs offer programmatic access to all of the underlying capabilities of Commerce Cloud, they enable developers to leverage the service as a Headless e-commerce platform. In other words, instead of using the standard User Interface elements that come with Commerce Cloud, retailers and other merchants can build their own user experiences using their own developer tools and platforms. The same APIs can also be used to integrate Commerce Cloud with other non-Salesforce applications and platforms.

Developers are free to anonymously browse and interact with most elements of the portal. In fact, in the demo that Lawrence gives during the interview, he was working with the portal anonymously. The one area of the portal that requires users to login is the forums area where developers can exchange messages with each other as well as with members of Commerce Cloud’s developer relations and support groups. 

As for what’s coming next, Lawrence mentioned how the portal currently focuses on B-to-C use cases and that he and his team will be adding more B-to-B related content in the near future. He and the team are also looking onto what SDKs, beyond node.js, they’ll be looking to offer next. 

The different versions of the interview (video, audio, and text) are embedded below.

Disclosure: Although Salesforce is the parent company to MuleSoft which itself is the parent to ProgrammableWeb, this coverage was independently derived. At no time was ProgrammableWeb asked or required to cover this news. The editorial decision to cover Commerce Cloud as an API provider was no different from our decisions to cover news from other API providers.

Interview with Salesforce Commerce Cloud Director of Product Management Andrew Lawrence

Editor's Note: This and other original video content (interviews, demos, etc.) from ProgrammableWeb can also be found on ProgrammableWeb's YouTube Channel.

Audio-Only Version

Editor's note: ProgrammableWeb has started a podcast called ProgrammableWeb's Developers Rock Podcast. To subscribe to the podcast with an iPhone, go to ProgrammableWeb's iTunes channel. To subscribe via Google Play Music, go to our Google Play Music channel. Or point your podcatcher to our SoundCloud RSS feed or tune into our station on SoundCloud.

Tune into the ProgrammableWeb Radio Podcast on Google Play Music  Tune into the ProgrammableWeb Radio Podcast on Apple iTunes  Tune into the ProgrammableWeb Radio Podcast on SoundCloud

Full-Text Transcript of Interview with Salesforce Commerce Cloud Director of Product Management Andrew Lawrence

David Berlind: Today is Monday, March 16th, 2020. I'm David Berlind, editor in chief of ProgrammableWeb, and this is ProgrammableWeb's Developers Rock podcast. With me today is Andrew Lawrence, director of product management at Commerce Cloud at Salesforce. Andrew, thanks for joining me on the show today.

Andrew Lawrence: Thanks. It's great to be here.

David: Oh, it's great to have you. Let's start off with a real simple question. What is Commerce Cloud?

Andrew: Sure. Commerce Cloud, for Salesforce it's the commerce arm of Commerce Cloud, so delivering websites to sell to Commerce customers is the primary purpose of Commerce Cloud that's out there. So many of your favorite retailer websites that are out there running today, they're actually running Commerce Cloud from Salesforce.

David: Okay. So this is a sort of website where you might load up all of your inventory, everything you have to sell, put the prices on it, and then when people want to buy something, they literally pull the trigger through your technology, and that's how it ends up showing up at their house or their place of business.

Andrew: Yep, that's exactly right. We build the basket, we put everything together, we process the payment and send it out.

David: Terrific. Well, okay, now you're here on ProgrammableWeb, on the Developers Rock podcast. We love developers and the only reason we have people on the Developers Rock podcast is if there's something to do with APIs. So what does Commerce Cloud have to do with APIs?

Andrew: Yeah, that's a great reason why I want to be here today. So Commerce Cloud has just released our new developer portal, which contains a new set of APIs that we are providing for customers, and for everyone to actually get in and look at the APIs. So these are new APIs that would help you in building a commerce website to get it up and running. So things related to getting customer information, product information, building baskets and orders, those types of APIs.

David: Now I've heard this referred to many times as headless commerce. Is that what you guys call it?

Andrew: Yeah, I certainly use the headless commerce term. So headless commerce is kind of a way of describing how many people are starting to look at building websites for their commerce interactions, where they build and want to control the head of the website. So the way that it looks in the way that presents itself to the customers, they build that themselves and then they want to connect directly to APIs to handle everything that they need on the other side. Whereas previously, commerce instances before were pretty monolithic and build them all together and now they want to separate that presentation layer from the actual work layer or the API layer.

David Berlind: So it gives them a real opportunity to customize things exactly the way they want. They can use frameworks and languages that sorts of a front end development tools that they're really familiar with, just connect through the APIs and then they get all that backend functionality that you were just talking about. The basket and the pricing and the inventory on the other side of the API.

Andrew: Correct. Yep, that's exactly right.

David: That's very cool. Now, how long has it been that you've been providing the APIs? It's relatively new or did you have API's before this new announcement?

Andrew: Yeah, so with Commerce Cloud we've had APIs for quite a while. They haven't really been very well known and certainly not publicly accessible. They've often been behind our login authentication walls. The documentation is out there, but to get to [it] has been difficult. So we needed a new kind of API presentation layer, and that's what we've built up and put in there. So we built a new API presentation layer that describes the APIs and puts out there what's available, and then it allows people to actually use a mocking service against the APIs and you can see what responses would come back and what things would look like for the APIs.

David: Wow. There's a lot to unpack there. I want to start with, so before, the APIs are sort of behind a firewall. The only people who could actually access them were developers that worked for what? Licensees of Commerce Cloud?

Andrew: Correct, correct.

David: Okay. And so now they're available to any developer? You don't have to be a licensee or a subscriber to Commerce Cloud?

Andrew: Yeah. So any developers can get in now and see the APIs, and we have a mocking service that's available. So to actually use them directly against a Commerce Cloud instance, you obviously have to be a customer, but anyone can now use these APIs, use the marketing services, download an SDK that we provide for them, and use the SDK and see how you would interact with the APIs.

David: Right. And so the mocking service is sort of like example data, so they can play with the API, experiment with it, decide whether or not this is an API that's robust enough for them to get their jobs done. It's a great way to kind of sample the service, try before you buy, before you become a subscriber, when you're actually accessing the real live data. Is that right?

Andrew: Right. That's exactly right. We want people to be able to get a hold of that, kind of understand what they're looking at before they need to actually be a customer and get a full instance.

David: Why the change of heart? Before it was behind the firewall, only subscribers could get access to it. Now suddenly you're opening it up to all the developers that are out there. That seems like a pretty exciting change.

Andrew: Yeah, I mean we really want to start to get more people involved with the development on top of Commerce Cloud. We can't do everything. We are looking to build a platform that's available, and we really look to others, not only our customers, but our partners to build things on top of the platform to make it usable by many different market segments, different types of retailers, different types of customers, different types of other companies and people that may do some commerce things. But maybe they're not retailers, they may do other things. So looking to expand that, we needed to have something that was more accessible.

David: Sure. So this is one new avenue for business, right? Before developers weren't really a great way to bring new business into Commerce Cloud, but now we've got developers who have a chance to experiment with it. They might convince the other people in their organization, "Hey, this is the one we want to work with," and suddenly Commerce Cloud has a new customer.

Andrew: Yep, exactly.

David: Yeah. That's a best practice that we see getting used more and more across the API economy. I'll tell you what, can we take a look at what this looks like?

Andrew: We can, yeah.

David: That'd be awesome.

Andrew: All right, let's jump out and look here. All right, so now jumping in, we can look at what the site is right now. So you can go to and see the full site that's available there. There's a lot of information on here about various different developer topics related to Commerce Cloud, some with our new APIs, some with our current storefronts that are available out there and how to build things on top of Commerce Cloud. But I think the real reason that we built this site is for what we have in this getting started kind of area that's in here. So this kind of brings you through and shows you how to get started using these new APIs in a headless manner. It gives you details about how to deploy, and the sample app, we provide the sample app and the SDK that are available for node.js. That's the primary language that we're looking at right now. You can download, look at these, they're open source things that are available to everybody, and all the details you can find right here on the site, in terms of configuring it and getting it set up.

And then the next piece that comes in is to be able to look at the full API Reference that's available. So we have 20 APIs that are currently out there and available to use. Each of these APIs is listed in here with their kind of a description of what they do. And then on any of them you can jump into the API and look at it from the full details of what the API can do. Each API has a developer guide, so kind of an overview, and talks about how you authenticate and use the API use cases for it.

In addition, there are things related to the API specification itself. So from within here, you can see all the end points that are available for the API. We can see what they look like, we can dive in and see full details of what's there. We can see code examples for calling the API as well as security information, and then most importantly over on the side we can see details to use the mocking service. So you can enter in the parameters that are needed and submit the requests, and see what the responses will look like coming back from the authentication service. So we can see the full details of the campaigns, this campaign is API, but each of the APIs have these available, and everyone can look at the APIs and see what the responses are, and then use the SDK to interact with them as needed.

There's also a full developer forum community that's out there where people can go and post questions, and we're monitoring those and we can give responses to the communities. And then there's a support section that also has some other detailed things about frequently asked questions and about the site in general. That's really the beginning of this site. The site launched just in February, but we're continuing to update it and we'll keep continuing to update it. Adding more and more information for developers and giving people more information on how to really get started using Commerce Cloud.

David: This looks super clean. How did you guys build this?

Andrew: So, thankfully, since prior to Salesforce we were able to leverage Salesforce's Community Cloud product, but also a new product from MuleSoft called the API Community Manager. And that's really what's generating a lot of the API information you see from here. So from our usage of MuleSoft, we were able to easily step into being able to make those APIs available publicly and be able to see and browse through them.

David: So MuleSoft's API community manager provides essentially what is a developer portal. And were you able to customize it or is there a template that you use? How did that work?

Andrew: Yeah, we did start with an initial template, so everything that's in here started from the initial template, but then it's a fully capable portal that we're able to customize, give it our own look and feel, give it our own authentication mechanisms to get into the portal. And then all the content we were able to create within the portal and link to it from here. So yeah, it was very flexible with what we could do. We actually had to limit ourselves a little bit because we had kind of a deadline to get things out there and running. So there were many things where we had to keep saying, "No, we'll get to that later. First we have to get it out the door." But now that it's out the door we can start. The sky's the limit. Start building up what we need to on top.

David: Thank you for the demo. So one question I have is about the business model. You mentioned of course that developers can come, any developer and come in and give it a try. Do they need... to start things off, can they just come in anonymously and just start working with it or do they have to sign up or register in some way just to really play around with the mocking service?

Andrew: No, to play with mocking service you can use it anonymously. So I wasn't signed in within the demo in there. The only reason you need to sign into the site is if you want to post content to the community. So to post questions or comment on a question, yeah, you'll need to log in so that we have that information for your posting. But otherwise anyone can anonymously use the APIs and the SDK and the sample app that we have are open source and now available in GitHub, so you can get them from there.

David: And what do you have to log in with? If you're not a subscriber, is there some other way to set yourself up and create a user ID on the service? How does that work?

Andrew: Yeah, you can create user ID directly through there. It actually uses Salesforce Trailblazer identity. So if you've done anything else with Salesforce, or if you used any of their Trailblazer tools or anything like that, you'd probably already have a Salesforce ID, so you can just use that to log in, but the site will guide you through that process and get you there.

David: And then what does it take to become a subscriber that has access to the APIs? I'm assuming it's a little bit like a Sales Cloud and some of the other Salesforce clouds where there are different tiers of service, some have access to the API, some do not. Is there a similar setup for Commerce Cloud?

Andrew: Yeah, Commerce Cloud is a fully functioning commerce system. So there is a sales process to get in there and get the license to Commerce Cloud. But once you have licenses for the Commerce Cloud, any of the licenses for Commerce Cloud include the API layer. So there isn't really a separate API piece for Commerce Cloud. If you have a license for Commerce Cloud today, you can use the APIs.

David: Wow, that's great. And you mentioned that you're going to continue to iterate on what you've done. You have anything you can talk about in terms of what's coming?

Andrew: Sure. Yeah. There are some things with the site itself that we want to update. We want to get a little bit cleaner on some of the UX and things that are happening on there and get more details with the API and giving some more concrete examples on each of the APIs. But then as a broader perspective, we're looking to start adding more APIs from other Salesforce entities. So the APIs that you see on the site today deal with the B-to-C commerce of Commerce Cloud, so that's the business to consumer piece. There is also a business to business, B-to-B piece that we'll be looking to add into here as well. As well as just generally bringing a lot of other developer information into the site. Site itself is really much focused on these new APIs for right now. We have a lot of information related to developing our Commerce Cloud. Not in using the APIs, but using some of our other tools. We'll start to bring some of that information in here so that we really just have one place where you can go to learn everything about developing on top of Commerce Cloud.

David: You mentioned [node.js], which a lot of developers love, but some developers work with other languages. Any more SDKs on the way?

Andrew: At this point in time, we haven't actually decided what would be next. So we jumped into node after doing some research and looking at our customer base and what was out there and [what] our developers are doing. Node had the largest coverage amongst all of them, so that's why we chose that first. We've looked at some other options, and maybe even some specific mobile options. Maybe iOS. Then we've looked at [Vue.js], but we haven't really set and decided what should be next. We're trying to see how traction goes with the node.js SDK, and adoption, and then we'll see where we go.

David: Well great. I can't wait to check back in with you to see how things are at some point later in the year.

Andrew: Great. I'd love it.

David: Yeah. Well, okay, we've been speaking with Andrew Lawrence. He is the director of product management at Commerce Cloud at Salesforce. Andrew, where can developers find this amazing portal?

Andrew: Everybody should go to That will get you in there. You can start exploring everything from there.

David: Terrific. Well thank you very much for joining us today.

Andrew: Thank you. This was great.

David: Well, that's a wrap. It's another Developer's Rock podcast from ProgrammableWeb, for ProgrammableWeb. I'm David Berlind. If you want to find more videos like this one, you can come to ProgrammableWeb. We've got them there along with the full text transcript of every single interview we've done and you can also listen to the audio only version if you want to download it from Google Play Music or iTunes, and you can also go up to our YouTube channel at All our videos are up there as well. Until the next podcast, thank you very much for joining us.

Be sure to read the next Developers article: Codugh Pays Developers for Every API Call