Introduction
Sales Layer has a web service that meets the standards of the REST architecture. This service is accessible through this URL.
https://api.saleslayer.com
The web service, which from now on will be referred to as the API, allows us to extract from, and enter information to a Sales Layer account via third-party services, such as a web application, mobile app, data mining applications, and more. The extraction or introduction of data to Sales Layer via the API requires the configuration of at least one Export connector (for data extraction) or an import connector for data entry. The connectors must be secured using a token, which can be obtained directly from the Sales Layer cloud platform. The requests through the API will be made with the connection and security parameters, which are described later in the “Cloud” side of Sales Layer. The extraction responses, as well as the data that can be introduced, are always dependent on the configuration made in the corresponding connectors on the Cloud side of the PIM.
The following graphic shows the API request architecture.

As the Sales Layer API is a RESTful web service, it is possible to exchange data with the Sales Layer cloud platform, using different programming languages. The exchange of information uses Javascript Object Notation (JSON), a data representation structure widely used in this type of web service and one which is well supported by most popular programming languages including Java, JavaScript, PHP, C, Python, etc.
Warning: Sales Layer Rest API works transferring the whole catalog as delimited by the channel. That allows us to easily replicate all the info in the target where it’s going to be used with an optimal performance.
Sales Layer provides an SDK (for now, available only in PHP) to allow automation of this process of data replication in an easier way.
Very important:
1) Our API is configured to send all the changes made in Sales Layer, even if they are not included within the connector filters. For example, if we configure a connector to export only Visible items and we modify Invisible or Draft products, the API will return these changes and send ones related to the Invisible and Draft items as "Deleted".
As a result, if our connector is configured to export only visible products and we change the status of a product to Invisible, the API will send it to be deleted. If we filter by tags in a connector and we remove the tag from a product that was previously being sent, the API will send it to be deleted.
2) It must be taken into account that, for our API, the connector is the one coordinating data output, filters, formulas, etc. That’s why it is necessary to create and configure the connector, defining the fields and the items that you want to send through it.
Another important aspect is that you cannot send a request for a unique ID/reference of an item only. From Sales Layer, we send data packs to avoid server crashes. If we had an account with 150k items and we configured the connector to send all the items in the account, using an API that pulls one item per call, the result would be 150k single calls to our servers. That would be inappropriate for the system. Therefore, as an alternative, our API sends data packs, as this way is more convenient for the server and allows faster delivery of massive data.