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

AutoIt
Local $bSuccess = False

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

$oHttp = ObjCreate("Chilkat.Http")

;  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
$oJsonToken = ObjCreate("Chilkat.JsonObject")
$bSuccess = $oJsonToken.LoadFile("qa_data/tokens/tiktok-shops.json")
If ($bSuccess <> True) Then
    ConsoleWrite("Failed to load tiktok-shops.json" & @CRLF)
    Exit
EndIf

$oQueryParams = ObjCreate("Chilkat.JsonObject")
$oQueryParams.UpdateString("app_key","APP_KEY")
$oDt = ObjCreate("Chilkat.CkDateTime")
$oQueryParams.UpdateString("timestamp",$oDt.GetAsUnixTimeStr(False))
$oQueryParams.UpdateInt("version",202309)

;  Sort the JSON members by member name, in ascending order (A-Z), case sensitive..
Local $bAscending = True
Local $bCaseSensitive = True
$oQueryParams.Sort $bAscending,$bCaseSensitive

Local $sAppSecret = "APP_SECRET"
Local $sPath = "/authorization/202309/shops"

;  Build the StringToSign
$oSb = ObjCreate("Chilkat.StringBuilder")
$oSb.Append($sAppSecret)
$oSb.Append($sPath)
Local $iNumParams = $oQueryParams.Size
Local $i = 0
While $i < $iNumParams
    $oSb.Append($oQueryParams.NameAt($i))
    $oSb.Append($oQueryParams.StringAt($i))
    $i = $i + 1
Wend
$oSb.Append($sAppSecret)

$oCrypt = ObjCreate("Chilkat.Crypt2")
$oCrypt.HashAlgorithm = "SHA256"
$oCrypt.MacAlgorithm = "HMAC"
$oCrypt.EncodingMode = "hex_lower"
$oCrypt.SetMacKeyString($sAppSecret)

Local $sig = $oCrypt.MacStringENC($oSb.GetAsString())

$oQueryParams.UpdateString("access_token",$oJsonToken.StringOf("data.access_token"))
$oQueryParams.UpdateString("sign",$sig)

$oHttp.SetRequestHeader "x-tts-access-token",$oJsonToken.StringOf("data.access_token")
$oHttp.SetRequestHeader "content-type","application/json"

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpParams("GET","https://open-api.tiktokglobalshop.com/authorization/202309/shops",$oQueryParams,$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

$oJson = ObjCreate("Chilkat.JsonObject")
$oResp.GetBodyJson($oJson)

ConsoleWrite($oResp.StatusCode & @CRLF)
ConsoleWrite($oResp.BodyStr & @CRLF)

;  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"
;  }

Local $sCipher
Local $sCode_str
Local $sId
Local $sName
Local $sRegion
Local $seller_type

Local $iCode = $oJson.IntOf("code")
Local $sMessage = $oJson.StringOf("message")
Local $sRequest_id = $oJson.StringOf("request_id")
$i = 0
Local $iCount_i = $oJson.SizeOfArray("data.shops")
While $i < $iCount_i
    $oJson.I = $i
    $sCipher = $oJson.StringOf("data.shops[i].cipher")
    $sCode_str = $oJson.StringOf("data.shops[i].code")
    $sId = $oJson.StringOf("data.shops[i].id")
    $sName = $oJson.StringOf("data.shops[i].name")
    $sRegion = $oJson.StringOf("data.shops[i].region")
    $seller_type = $oJson.StringOf("data.shops[i].seller_type")
    $i = $i + 1
Wend