UNPKG

@memberjunction/actions-bizapps-social

Version:

Social Media Actions for MemberJunction - Twitter, LinkedIn, Facebook, Instagram, TikTok, YouTube, HootSuite, Buffer

87 lines 2.6 kB
import { BaseSocialMediaAction, SocialPost, SocialAnalytics, MediaFile } from '../../base/base-social.action.js'; import { AxiosInstance } from 'axios'; /** * TikTok video information */ export interface TikTokVideo { id: string; share_url: string; title: string; description: string; duration: number; cover_image_url: string; share_count: number; view_count: number; like_count: number; comment_count: number; create_time: number; } /** * TikTok user information */ export interface TikTokUser { open_id: string; union_id: string; avatar_url: string; display_name: string; bio_description: string; profile_deep_link: string; is_verified: boolean; follower_count: number; following_count: number; likes_count: number; } /** * Base class for all TikTok social media actions. * Handles TikTok-specific authentication and API interaction patterns. */ export declare abstract class TikTokBaseAction extends BaseSocialMediaAction { protected get platformName(): string; protected get apiBaseUrl(): string; private axiosInstance; /** * Initialize axios instance with interceptors */ protected getAxiosInstance(): AxiosInstance; /** * Make authenticated TikTok API request */ protected makeTikTokRequest<T>(endpoint: string, method?: 'GET' | 'POST' | 'PUT' | 'DELETE', data?: any, params?: any): Promise<T>; /** * Refresh TikTok access token */ protected refreshAccessToken(): Promise<void>; /** * Upload media to TikTok (requires special approval) */ protected uploadSingleMedia(file: MediaFile): Promise<string>; /** * Search posts (videos) - TikTok only allows searching user's own videos */ protected searchPosts(params: any): Promise<SocialPost[]>; /** * Get user's videos */ protected getUserVideos(): Promise<TikTokVideo[]>; /** * Convert TikTok video to common post format */ protected normalizePost(video: TikTokVideo): SocialPost; /** * Normalize TikTok analytics to common format */ protected normalizeAnalytics(platformData: any): SocialAnalytics; /** * Extract hashtags from video description */ protected extractHashtags(description: string): string[]; /** * Get current user info */ protected getCurrentUser(): Promise<TikTokUser>; /** * Validate TikTok-specific media requirements */ protected validateMediaFile(file: MediaFile): void; } //# sourceMappingURL=tiktok-base.action.d.ts.map