Skip to content
This repository has been archived by the owner on Dec 30, 2023. It is now read-only.

nVuln/tiktokshop-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unofficial Tiktok Shop 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.

This package used Legacy API version (pre-Sept 2023). More detail here: https://partner.tiktokshop.com/docv2/page/64f198f74830a5028854c106

If you looking for API version 202309, please install package ecomphp/tiktokshop-php

Installation

Install with Composer

composer require nvuln/tiktokshop-php

Configure TiktokShop PHP Client

use NVuln\TiktokShop\Client;

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

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

Enable sandbox mode if you want to test the client

$client->useSandboxMode();

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 ID
$access_token = $token['access_token'];
$client->setAccessToken($access_token);

$authorizedShopList = $client->Shop->getAuthorizedShop();

// extract shop_id from $authorizedShopList

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_id to start using TiktokShop API

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

Webhook

Use webhook to receive incoming notification from tiktok shop

$webhook = $client->webhook();

or manually configure the webhook receiver

use NVuln\TiktokShop\Webhook;
use NVuln\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());

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages