Tiktok Shop API Client is a simple SDK implementation of Tiktok Shop API.
Since v2.x, library used API version 202309 and later. For older API version, please use v1.x
Install with Composer
composer require ecomphp/tiktokshop-php
use EcomPHP\TiktokShop\Client;
$app_key = 'your app key';
$app_secret = 'your app secret';
$client = new Client($app_key, $app_secret);
There is a Auth class to help you getting the token from the shop using oAuth.
$auth = $client->auth();
- Create the authentication request
$_SESSION['state'] = $state = str_random(40); // random string
$auth->createAuthRequest($state);
If you want the function to return the authentication url instead of auto-redirecting, you can set the argument $return (2nd argument) to true.
$authUrl = $auth->createAuthRequest($state, true);
// redirect user to auth url
header('Location: '.$authUrl);
- Get authentication code when redirected back to
Redirect callback URL
after app authorization and exchange it for access token
$authorization_code = $_GET['code'];
$token = $auth->getToken($authorization_code);
$access_token = $token['access_token'];
$refresh_token = $token['refresh_token'];
- Get authorized Shop cipher
$access_token = $token['access_token'];
$client->setAccessToken($access_token);
$authorizedShopList = $client->Authorization->getAuthorizedShop();
// extract shop_id & cipher from $authorizedShopList for use later
Access token will be expired soon, so you need refresh new token by using
refresh_token
$new_token = $auth->refreshNewToken($refresh_token);
$new_access_token = $new_token['access_token'];
$new_refresh_token = $new_token['refresh_token'];
You need
access_token
andshop_cipher
to start using TiktokShop API
$client = new Client($app_key, $app_secret);
$client->setAccessToken($access_token);
$client->setShopCipher($shop_cipher);
- Get product list: api document
$products = $client->Product->getProductList([
'page_size' => 50,
]);
- Get order list: api document
$orders = $client->Order->getOrderList([
'order_status' => 100, // Unpaid order
'page_size' => 50,
]);
As default, API version 202309 will be used in every api call. Use example below to change it
$products = $client->Product->useVersion('202312')->checkListingPrerequisites();
Use webhook to receive incoming notification from tiktok shop
$webhook = $client->webhook();
or manually configure the webhook receiver
use EcomPHP\TiktokShop\Webhook;
use EcomPHP\TiktokShop\Errors\TiktokShopException;
$webhook = new Webhook($client);
try {
$webhook->verify();
$webhook->capture($_POST);
} catch (TiktokShopException $e) {
echo "webhook error: " . $e->getMessage() . "\n";
}
echo "Type: " . $webhook->getType() . "\n";
echo "Timestamp: " . $webhook->getTimestamp() . "\n";
echo "Shop ID: " . $webhook->getShopId() . "\n";
echo "Data: \n"; // data is array
print_r($webhook->getData());