Sample code for 30+ languages & platforms
Perl 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 Perl Downloads

Perl
use chilkat();

$success = 0;

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

$http = chilkat::CkHttp->new();

#  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 = chilkat::CkJsonObject->new();
$success = $jsonToken->LoadFile("qa_data/tokens/tiktok-shops.json");
if ($success != 1) {
    print "Failed to load tiktok-shops.json" . "\r\n";
    exit;
}

$queryParams = chilkat::CkJsonObject->new();
$queryParams->UpdateString("app_key","APP_KEY");
$dt = chilkat::CkDateTime->new();
$queryParams->UpdateString("timestamp",$dt->getAsUnixTimeStr(0));
$queryParams->UpdateInt("version",202309);

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

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

#  Build the StringToSign
$sb = chilkat::CkStringBuilder->new();
$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 = chilkat::CkCrypt2->new();
$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 = chilkat::CkHttpResponse->new();
$success = $http->HttpParams("GET","https://open-api.tiktokglobalshop.com/authorization/202309/shops",$queryParams,$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

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

print $resp->get_StatusCode() . "\r\n";
print $resp->bodyStr() . "\r\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;
}