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

B4X
Dim success As Boolean = False

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

Dim http As ChilkatHttp
http.Initialize("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
Dim jsonToken As ChilkatJsonObject
jsonToken.Initialize
success = jsonToken.LoadFile("qa_data/tokens/tiktok-shops.json")
If success <> True Then
    Log("Failed to load tiktok-shops.json")
    Return
End If


Dim queryParams As ChilkatJsonObject
queryParams.Initialize
queryParams.UpdateString("app_key", "APP_KEY")
Dim dt As ChilkatDateTime
dt.Initialize
queryParams.UpdateString("timestamp", dt.GetAsUnixTimeStr(False))
queryParams.UpdateInt("version", 202309)

'  Sort the JSON members by member name, in ascending order (A-Z), case sensitive..
Dim ascending As Boolean = True
Dim caseSensitive As Boolean = True
queryParams.Sort(ascending, caseSensitive)

Dim appSecret As String = "APP_SECRET"
Dim path As String = "/authorization/202309/shops"

'  Build the StringToSign
Dim sb As ChilkatStringBuilder
sb.Initialize
sb.Append(appSecret)
sb.Append(path)
Dim numParams As Int = queryParams.Size
Dim i As Int = 0
Do While i < numParams
    sb.Append(queryParams.NameAt(i))
    sb.Append(queryParams.StringAt(i))
    i = i + 1
Loop
sb.Append(appSecret)

Dim crypt As ChilkatCrypt2
crypt.Initialize("crypt")
crypt.HashAlgorithm = "SHA256"
crypt.MacAlgorithm = "HMAC"
crypt.EncodingMode = "hex_lower"
crypt.SetMacKeyString(appSecret)

Dim sig As String = 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")

Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpParams("GET", "https://open-api.tiktokglobalshop.com/authorization/202309/shops", queryParams, resp)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim json As ChilkatJsonObject
json.Initialize
resp.GetBodyJson(json)

Log(resp.StatusCode)
Log(resp.BodyStr)

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

Dim cipher As String
Dim code_str As String
Dim id As String
Dim name As String
Dim region As String
Dim seller_type As String

Dim code As Int = json.IntOf("code")
Dim message As String = json.StringOf("message")
Dim request_id As String = json.StringOf("request_id")
i = 0
Dim count_i As Int = json.SizeOfArray("data.shops")
Do While i < count_i
    json.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
Loop