Skip to content

EcomPHP/tiktokshop-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TiktokShop API Client in PHP

Total Downloads Latest Stable Version Latest Unstable Version Build Status License

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

Installation

Install with Composer

composer require ecomphp/tiktokshop-php

Configure TiktokShop PHP Client

use EcomPHP\TiktokShop\Client;

$app_key = 'your app key';
$app_secret = 'your app secret';

$client = new Client($app_key, $app_secret);

Grant token

There is a Auth class to help you getting the token from the shop using oAuth.

$auth = $client->auth();
  1. 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);
  1. 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'];
  1. 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

Refresh your access token

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'];

Usage API Example

You need access_token and shop_cipher to start using TiktokShop API

$client = new Client($app_key, $app_secret);
$client->setAccessToken($access_token);
$client->setShopCipher($shop_cipher);
$products = $client->Product->getProductList([
    'page_size' => 50,
]);
$orders = $client->Order->getOrderList([
    'order_status' => 100, // Unpaid order
    'page_size' => 50,
]);

Change API version

As default, API version 202309 will be used in every api call. Use example below to change it

$products = $client->Product->useVersion('202312')->checkListingPrerequisites(); 

Webhook

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());