dilneiss / shopee-php
Shopee Partner API PHP SDK
v3.0.0.10
2022-05-20 02:45 UTC
Requires
- php: >=7.1
- ext-json: *
- guzzlehttp/guzzle: ^6.5 || ^7.0
- intervention/image: ^2.6
- 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
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).