Sample code for 30+ languages & platforms
.NET Core C#

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 .NET Core C# Downloads

.NET Core C#
bool success = false;

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

Chilkat.Http http = new 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
Chilkat.JsonObject jsonToken = new Chilkat.JsonObject();
success = jsonToken.LoadFile("qa_data/tokens/tiktok-shops.json");
if (success != true) {
    Debug.WriteLine("Failed to load tiktok-shops.json");
    return;
}

Chilkat.JsonObject queryParams = new Chilkat.JsonObject();
queryParams.UpdateString("app_key","APP_KEY");
Chilkat.CkDateTime dt = new Chilkat.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..
bool ascending = true;
bool caseSensitive = true;
queryParams.Sort(ascending,caseSensitive);

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

// Build the StringToSign
Chilkat.StringBuilder sb = new Chilkat.StringBuilder();
sb.Append(appSecret);
sb.Append(path);
int numParams = queryParams.Size;
int i = 0;
while (i < numParams) {
    sb.Append(queryParams.NameAt(i));
    sb.Append(queryParams.StringAt(i));
    i = i + 1;
}

sb.Append(appSecret);

Chilkat.Crypt2 crypt = new Chilkat.Crypt2();
crypt.HashAlgorithm = "SHA256";
crypt.MacAlgorithm = "HMAC";
crypt.EncodingMode = "hex_lower";
crypt.SetMacKeyString(appSecret);

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

Chilkat.HttpResponse resp = new Chilkat.HttpResponse();
success = http.HttpParams("GET","https://open-api.tiktokglobalshop.com/authorization/202309/shops",queryParams,resp);
if (success == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

Chilkat.JsonObject json = new Chilkat.JsonObject();
resp.GetBodyJson(json);

Debug.WriteLine(Convert.ToString(resp.StatusCode));
Debug.WriteLine(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"
// }

string cipher;
string code_str;
string id;
string name;
string region;
string seller_type;

int code = json.IntOf("code");
string message = json.StringOf("message");
string request_id = json.StringOf("request_id");
i = 0;
int count_i = json.SizeOfArray("data.shops");
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;
}