Shopping-feed PHP SDK to ease our API integration in your application
Branch: master
Clone or download
Latest commit dfada50 Oct 16, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Wording Jun 20, 2018
docs build User-Agent from platform info Oct 16, 2018
resources/phpcs Cleaning cs Apr 23, 2018
.gitignore apply changelog Oct 16, 2018 Doc - adding gitflow to contributing documenation Oct 9, 2018
Dockerfile Docker - removing unused var May 28, 2018
composer.json build User-Agent from platform info Oct 16, 2018

Welcome to the Shopping Feed PHP SDK


Build Status


  1. In your project root repository run
    composer require shoppingfeed/php-sdk
  2. Install a http client of your choice, we recommend using GuzzleHttp 6 as the SDK embed an adapter for this client.
    composer require guzzlehttp/guzzle ^6.3
    You can also develop your own adapter if you already have a http client library in your project see the http adapter documentation for more information.

This will load the SDK library into the vendor repository.
And thanks to PSR-4 specification you should be able to access the SDK under the namespace \ShoppingFeed\Sdk.

Basic usage

Here are the three basic steps to use the SDK :

  1. Authentication to start a new session
  2. Retrieve the store(s) you want to manage from the session
  3. Manage resources

Authentication against the API

The Shopping Feed API requires that you are authenticated to perform any calls.

In order to make authenticated call, you should build the client like so:

namespace ShoppingFeed\Sdk;

// Setup credentials to connect to the API, and create session
$credential = new Credential\Token('api-token');
/** @var \ShoppingFeed\Sdk\Api\Session\SessionResource $session */
$session = Client\Client::createSession($credential);

Accessing your stores

/** @var \ShoppingFeed\Sdk\Api\Session\SessionResource $session */
$store = $session->getMainStore();
$store->getName(); // test-store
$store->getId(); // 1276
// ... and so on

If you manage more than one store, you can use the store collection object

/** @var \ShoppingFeed\Sdk\Api\Session\SessionResource $session */
// Get store collection
$stores = $session->getStores();
// Count the number of stores [int]
// Get a particular store
$store = $stores->select('id-or-store-name');
// Loop over available stores
foreach ($stores as $store) {

SDK guides

SDK resources documentation

Generates XML compliant feed for import

The SDK is able to simplify XML feed creation by providing necessary tools.

Check the documentation at to learn how to create compliant feed.