PHP 5.5 and later.
You can install the sdk via Composer.
Make some changes in your composer.json file:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/lamoda/seller-center-sdk-php"
}
],
"require": {
"gfg/seller-center-sdk-php": "dev-master"
}
}
Then run the following command:
composer update rocket-labs/sellercenter-sdk-php
To use the sdk code, use Composer's autoload:
require_once('vendor/autoload.php');
These methods can be accessed through RocketLabs\SellerCenterSdk\Endpoint\Endpoints
class:
- Order endpoint -
Endpoints::order()
- GetOrders
- GetOrder
- GetDocument
- GetOrderItems
- SetStatusToCanceled
- SetStatusToPackedByMarketplace
- SetStatusToReadyToShip
All another methods you can call with GenericRequest
, for more information please look at this sample for GET-methods or this one for POST-methods.
To understand how to work with the SDK, please look at samples. To make the samples work, change the API settings in samples/config/config.php. You need to set up the SellerCenter URL (only https is supported), your login and API key.
API key can be found in your SellerCenter account under Settings > Manage Users. If a given user has no API key yet, generate it by clicking a corresponding link.
After this you can run any sample and see the real results requests.
Please note, that POST requests could affect on your real products, orders etc. Make sure that SKUs or Order IDs in samples are not intersect with data in your SellerCenter account.
You can access every API Method by using the GenericRequest class and the core implementation.
see sample in action
cd samples
php ./genericGetter.php
For the most important API endpoints the SDK provides facades for simple API usage. See endpoint samples here.
The following code describes the pattern how to use the endpoints implementation:
<?php
require __DIR__ . '/vendor/autoload.php';
use RocketLabs\SellerCenterSdk\Core\Client;
use RocketLabs\SellerCenterSdk\Core\Configuration;
use RocketLabs\SellerCenterSdk\Endpoint\Endpoints;
// create client instance with your credetials
$client = Client::create(new Configuration(SC_API_URL, SC_API_USER, SC_API_KEY));
// get response for a certain api call with fluent interface:
// Endpoints - name of endpoint - api method to call - call($client)
$response = Endpoints::order()->getOrder(12)->call($client);
// Or, for some complex methods, RequestBuilders can be used,
// In such cases API command will have following structure:
// Endpoints - name of endpoint - api method to call - some builder's setters - build - call($client)
$response = Endpoints::order()->getOrders()->setSorting('created_at', 'ASC')->setLimit(12)->build()->call($client);
see a sample in action
open file of a sample. For example samples/endpoint/order/getOrder.php
, and change the variable $orderId
to contain order id of your seller.
Then run it in the console:
php ./samples/endpoint/order/getOrder.php