Introduction
NodeJS Wrapper for the Tik Tok Marketing API using Axios.
Getting Started
TypeScript types are provided for arguments and outputs. As of 0.0.1
the only methods available are the following:
Debug Mode
Enabling Debug mode on the TikTokApi
object will log all Http Requests & Responses to the console.
const tikTokApi = new TikTokApi("<TOKEN>", true);
// or for OAuth
const tikTokApi = new TikTokApi(null, true);
Debug mode is false
by default.
Auth
createAccessToken
Uses the Tik Tok Developer App Id, App Secret, and OAuth code to create an Access Token on behalf of the user.
example:
const tiktokApi = new TikTokApi(null);
const {
data: { access_token },
} = await new TikTokAuth(tiktokApi).createAccessToken(
"<SECRET>",
"<APP_ID>",
code
);
getAuthorizedAdAccounts
Uses the Tik Tok Developer App Id, App Secret, and Access Token to request all the Ad Accounts the token has access to.
example:
const tiktokApi = new TikTokApi("<ACCESS_TOKEN>");
const {
data: { list },
} = await new TikTokAuth(tiktokApi).getAuthorizedAdAccounts(
"<SECRET>",
"<APP_ID>"
);
Video
uploadVideoByFile
Uses the Tik Tok Video API to upload a file to Tik Tok Creatives library.
example:
const tiktokApi = new TikTokApi("<ACCESS_TOKEN>");
const tiktokVideo = new TikTokVideo(tiktokApi); // or `new TikTokVideo()` if the API is already instantiated
const { data } = await tiktokVideo.uploadVideoByFile("<FILE_PATH>", {
advertiser_id: "<ADVERTISER_ID>",
});
Report
getBasicSyncReport
Uses the Tik Tok Synchronous Report API to pull a Basic Report from Tik Tok API.
const tiktokApi = new TikTokApi("<ACCESS_TOKEN>");
const tiktokVideo = new TikTokReport(tiktokApi); // or `new TikTokReport()` if the API is already instantiated
const { data } = await tiktokVideo.getBasicSyncReport({
advertiser_id: "<ADVERTISER_ID",
data_level: "AUCTION_CAMPAIGN",
dimensions: ["campaign_id"],
metrics: ["spend", "impressions"],
start_date: "2022-09-05",
end_date: "2022-09-07",
filtering: [
{
field_name: "campaign_ids",
filter_type: "IN",
filter_value: ["<CAMPAIGN_ID>"],
},
],
});
Campaign
getCampaigns
Uses the Tik Tok Campaign API to retrieve Campaigns from Tik Tok API.
const tiktokApi = new TikTokApi("<ACCESS_TOKEN>");
const tiktokCampaign = new TikTokCampaign(tiktokApi); // or `new TikTokReport()` if the API is already instantiated
const { data } = await tiktokCampaign.getCampaigns("<ADVERTISER_ID>", [
"campaign_id",
"campaign_name",
"advertiser_id",
]);
AdGroup
getAdGroups
Uses the Tik Tok AdGroup API to retrieve Ad Groups from Tik Tok API.
const tiktokApi = new TikTokApi("<ACCESS_TOKEN>");
const tiktokAdGroup = new TikTokAdGroup(tiktokApi); // or `new TikTokReport()` if the API is already instantiated
const { data } = await tiktokAdGroup.getAdGroups("<ADVERTISER_ID>", [
"adgroup_id",
"adgroup_name",
"advertiser_id",
]);
Ad
getAds
Uses the Tik Tok Ad API to retrieve Ad from Tik Tok API.
const tiktokApi = new TikTokApi("<ACCESS_TOKEN>");
const tiktokVideo = new TikTokAd(tiktokApi); // or `new TikTokReport()` if the API is already instantiated
const { data } = await tiktokVideo.getAds("<ADVERTISER_ID>", [
"ad_id",
"ad_name",
"advertiser_id",
]);
Ad Account
getAdAccountDetails
Uses the Tik Tok Ad Account API to retrieve Ad Accounts from Tik Tok API.
const tiktokApi = new TikTokApi("<ACCESS_TOKEN>");
const tiktokVideo = new TikTokAdAccount(tiktokApi); // or `new TikTokReport()` if the API is already instantiated
const { data } = await tiktokVideo.getAdDetails(
["<ADVERTISER_ID>"],
["status", "name"]
);
Build and Test
Run
npm run build
TODO: Automated Test Suite