Coder Social home page Coder Social logo

chetachilab / tiktokshop-laravel Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ecomphp/tiktokshop-php

0.0 0.0 0.0 113 KB

Unofficial Tiktok Shop API Client in PHP. Use API version 202309 and later

Home Page: https://github.com/EcomPHP/tiktokshop-php

License: Apache License 2.0

PHP 100.00%

tiktokshop-laravel's Introduction

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.

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

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 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,
]);

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

tiktokshop-laravel's People

Contributors

stephenjude avatar nvuln avatar fgmpr avatar marcum8er avatar febrihidayan avatar kamil-fityka avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.