Sample code for 30+ languages & platforms
PHP Extension Requires Chilkat v11.0.0+

TikTok Shop Get Authorized Shops

See more TikTok Shop Examples

An example showing how to get the authorized shops in the TikTok Shops API.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

$http = new CkHttp();

//  It is assumed we previously obtained an OAuth2 access token.
//  This example loads the JSON access token file 
//  saved by this example: Get TikTok Shop OAuth2 Access Token
//  or refrehsed by this example: Get TikTok Shop Refresh OAuth2 Access Token
$jsonToken = new CkJsonObject();
$success = $jsonToken->LoadFile('qa_data/tokens/tiktok-shops.json');
if ($success != true) {
    print 'Failed to load tiktok-shops.json' . "\n";
    exit;
}

$queryParams = new CkJsonObject();
$queryParams->UpdateString('app_key','APP_KEY');
$dt = new CkDateTime();
$queryParams->UpdateString('timestamp',$dt->getAsUnixTimeStr(false));
$queryParams->UpdateInt('version',202309);

//  Sort the JSON members by member name, in ascending order (A-Z), case sensitive..
$ascending = true;
$caseSensitive = true;
$queryParams->Sort($ascending,$caseSensitive);

$appSecret = 'APP_SECRET';
$path = '/authorization/202309/shops';

//  Build the StringToSign
$sb = new CkStringBuilder();
$sb->Append($appSecret);
$sb->Append($path);
$numParams = $queryParams->get_Size();
$i = 0;
while ($i < $numParams) {
    $sb->Append($queryParams->nameAt($i));
    $sb->Append($queryParams->stringAt($i));
    $i = $i + 1;
}

$sb->Append($appSecret);

$crypt = new CkCrypt2();
$crypt->put_HashAlgorithm('SHA256');
$crypt->put_MacAlgorithm('HMAC');
$crypt->put_EncodingMode('hex_lower');
$crypt->SetMacKeyString($appSecret);

$sig = $crypt->macStringENC($sb->getAsString());

$queryParams->UpdateString('access_token',$jsonToken->stringOf('data.access_token'));
$queryParams->UpdateString('sign',$sig);

$http->SetRequestHeader('x-tts-access-token',$jsonToken->stringOf('data.access_token'));
$http->SetRequestHeader('content-type','application/json');

$resp = new CkHttpResponse();
$success = $http->HttpParams('GET','https://open-api.tiktokglobalshop.com/authorization/202309/shops',$queryParams,$resp);
if ($success == false) {
    print $http->lastErrorText() . "\n";
    exit;
}

$json = new CkJsonObject();
$resp->GetBodyJson($json);

print $resp->get_StatusCode() . "\n";
print $resp->bodyStr() . "\n";

//  Sample JSON response...
//  Use this online tool to generate parsing code from sample JSON: 
//  Generate Parsing Code from JSON

//  {
//    "code": 0,
//    "data": {
//      "shops": [
//        {
//          "cipher": "GCP_XF90igAAAABh00qsWgtvOiGFNqyubMt3",
//          "code": "CNGBCBA4LLU8",
//          "id": "7000714532876273420",
//          "name": "Maomao beauty shop",
//          "region": "GB",
//          "seller_type": "CROSS_BORDER"
//        }
//      ]
//    },
//    "message": "Success",
//    "request_id": "202203070749000101890810281E8C70B7"
//  }

$code = $json->IntOf('code');
$message = $json->stringOf('message');
$request_id = $json->stringOf('request_id');
$i = 0;
$count_i = $json->SizeOfArray('data.shops');
while ($i < $count_i) {
    $json->put_I($i);
    $cipher = $json->stringOf('data.shops[i].cipher');
    $code_str = $json->stringOf('data.shops[i].code');
    $id = $json->stringOf('data.shops[i].id');
    $name = $json->stringOf('data.shops[i].name');
    $region = $json->stringOf('data.shops[i].region');
    $seller_type = $json->stringOf('data.shops[i].seller_type');
    $i = $i + 1;
}


?>