ezequidias / shopee-php-sdk
Shopee Partner API PHP SDK
1.0.25
2021-10-02 10:01 UTC
Requires
- php: >=7.1
- ext-json: *
- guzzlehttp/guzzle: ^6.5 || ^7.0
- psr/http-message: ^1.0
Requires (Dev)
- mockery/mockery: ^1.4
- phpstan/phpstan: ^0.12.14
- phpunit/phpunit: ^7.5 || ^8.0 || ^9.0
- squizlabs/php_codesniffer: ^3.5
- dev-master
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.22
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0
- 0.2.1
- 0.2.0
- 0.1.0
- 0.0.11
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- dev-request_update_item_status
- dev-logistic_channel
- dev-api_get_category_recommend
- dev-category_attribute
- dev-add_category_item
- dev-webhook
This package is auto-updated.
Last update: 2025-06-29 01:52:31 UTC
README
This is a Shopee Partner API Client for PHP.
Requirements
Installation
Execute the following command to get the package:
$ composer require minchao/shopee-php
Usage
Create an instance of the Shopee client, then use to access the Shopee Partner API.
<?php use Shopee\Client; require __DIR__ . '/vendor/autoload.php'; $client = new Client([ 'secret' => getenv('SHOPEE_PARTNER_KEY'), 'partner_id' => getenv('SHOPEE_PARTNER_ID'), 'shopid' => getenv('SHOPEE_SHOP_ID'), ]);
Examples
Get detail of item
$response = $client->item->getItemDetail(['item_id' => 1978]);
Alternatively, you can also use the parameter model within request.
$parameters = (new \Shopee\Nodes\Item\Parameters\GetItemDetail()) ->setItemId(1978); $response = $client->item->getItemDetail($parameters);
Webhook
Use webhook to receive incoming push notifications:
<?php /** * Push Mechanism (WebHook) * * @see https://open.shopee.com/documents?module=63&type=2&id=55 */ use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; use Shopee\SignatureGenerator; use Shopee\SignatureValidator; use Slim\Factory\AppFactory; require __DIR__ . '/vendor/autoload.php'; $app = AppFactory::create(); $signatureGenerator = new SignatureGenerator(getenv('PARTNER_KEY')); $signatureValidator = new SignatureValidator($signatureGenerator); $app->post('/webhook', function (Request $request, Response $response) use ($signatureValidator) { // Verify push content if (!$signatureValidator->isValid($request)) { error_log('Invalid authorization signature'); return $response; } // TODO here to handle your business logic // HTTP response must with status code 2xx and empty body return $response; }); $app->run();
License
See the LICENSE file for license rights and limitations (BSD 3-Clause).