UNPKG

@warriorteam/redai-zalo-sdk

Version:

Comprehensive TypeScript/JavaScript SDK for Zalo APIs - Official Account v3.0, ZNS with Full Type Safety, Consultation Service, Broadcast Service, Group Messaging with List APIs, Social APIs, Enhanced Article Management, Promotion Service v3.0 with Multip

427 lines 8.96 kB
/** * Zalo Social API Type Definitions */ export interface AccessToken { access_token: string; token_type: 'Bearer'; expires_in: number; refresh_token: string; scope: string; } export interface RefreshTokenResponse { access_token: string; token_type: 'Bearer'; expires_in: number; refresh_token?: string; scope: string; } export interface SocialUserInfo { id: string; name: string; picture?: { data: { url: string; }; }; birthday?: string; gender?: 'male' | 'female'; locale?: string; email?: string; phone?: string; verified?: boolean; } export interface SocialProfile extends SocialUserInfo { cover?: { source: string; }; about?: string; location?: { name: string; id: string; }; hometown?: { name: string; id: string; }; education?: Array<{ school: { name: string; id: string; }; type: string; year?: { name: string; }; }>; work?: Array<{ employer: { name: string; id: string; }; position?: { name: string; }; start_date?: string; end_date?: string; }>; relationship_status?: string; website?: string; timezone?: number; updated_time?: string; } export interface SocialFriend { id: string; name: string; picture?: { data: { url: string; }; }; mutual_friends?: { data: Array<{ id: string; name: string; }>; summary: { total_count: number; }; }; } export interface SocialFriendsList { data: SocialFriend[]; paging?: { cursors?: { before: string; after: string; }; next?: string; previous?: string; }; summary?: { total_count: number; }; } export interface SocialPost { id: string; message?: string; story?: string; link?: string; name?: string; caption?: string; description?: string; picture?: string; source?: string; type: 'status' | 'photo' | 'video' | 'link' | 'offer' | 'music' | 'note'; created_time: string; updated_time?: string; privacy?: { value: 'EVERYONE' | 'ALL_FRIENDS' | 'FRIENDS_OF_FRIENDS' | 'CUSTOM'; description?: string; friends?: 'ALL_FRIENDS' | 'FRIENDS_OF_FRIENDS' | 'SOME_FRIENDS'; networks?: string; allow?: string; deny?: string; }; likes?: { data: Array<{ id: string; name: string; }>; summary: { total_count: number; can_like: boolean; has_liked: boolean; }; }; comments?: { data: Array<{ id: string; from: { id: string; name: string; }; message: string; created_time: string; like_count: number; user_likes: boolean; }>; summary: { order: 'chronological' | 'reverse_chronological'; total_count: number; can_comment: boolean; }; }; shares?: { count: number; }; } export interface SocialFeed { data: SocialPost[]; paging?: { previous?: string; next?: string; }; } export interface SocialMessage { id: string; from: { id: string; name: string; }; to: { data: Array<{ id: string; name: string; }>; }; message?: string; created_time: string; updated_time?: string; attachments?: { data: Array<{ id: string; mime_type: string; name: string; size: number; file_url?: string; image_data?: { url: string; width: number; height: number; }; }>; }; } export interface SocialConversation { id: string; participants: { data: Array<{ id: string; name: string; }>; }; updated_time: string; message_count: number; unread_count: number; can_reply: boolean; snippet?: string; } export interface SocialAlbum { id: string; name: string; description?: string; cover_photo?: { id: string; source: string; }; count: number; type: 'profile' | 'mobile' | 'wall' | 'normal' | 'album'; created_time: string; updated_time: string; privacy?: string; can_upload: boolean; } export interface SocialPhoto { id: string; album?: { id: string; name: string; }; name?: string; picture: string; source: string; height: number; width: number; images: Array<{ height: number; width: number; source: string; }>; created_time: string; updated_time?: string; tags?: { data: Array<{ id: string; name: string; x: number; y: number; }>; }; likes?: { data: Array<{ id: string; name: string; }>; summary: { total_count: number; }; }; comments?: { data: Array<{ id: string; from: { id: string; name: string; }; message: string; created_time: string; }>; summary: { total_count: number; }; }; } export interface SocialVideo { id: string; title?: string; description?: string; embed_html?: string; picture: string; source?: string; format: Array<{ embed_html: string; filter: string; height: number; width: number; picture: string; }>; length: number; created_time: string; updated_time?: string; privacy?: { value: string; description: string; }; } export interface SocialEvent { id: string; name: string; description?: string; start_time: string; end_time?: string; timezone?: string; location?: string; venue?: { id: string; name: string; street: string; city: string; state: string; country: string; zip: string; latitude: number; longitude: number; }; privacy: 'OPEN' | 'CLOSED' | 'SECRET'; attending_count: number; declined_count: number; maybe_count: number; noreply_count: number; owner: { id: string; name: string; }; updated_time: string; cover?: { source: string; offset_x: number; offset_y: number; }; picture?: { data: { url: string; }; }; } export interface SocialGroup { id: string; name: string; description?: string; privacy: 'OPEN' | 'CLOSED' | 'SECRET'; member_count?: number; cover?: { source: string; offset_x: number; offset_y: number; }; picture?: { data: { url: string; }; }; owner?: { id: string; name: string; }; parent?: { id: string; name: string; }; venue?: { id: string; name: string; street: string; city: string; state: string; country: string; zip: string; latitude: number; longitude: number; }; updated_time: string; } export interface OAuthConfig { app_id: string; app_secret: string; redirect_uri: string; scope: string[]; } export interface PKCEConfig { code_verifier: string; code_challenge: string; code_challenge_method: 'S256'; } export interface AuthorizationRequest { app_id: string; redirect_uri: string; state: string; code_challenge: string; scope: string; response_type: 'code'; } export interface TokenRequest { app_id: string; app_secret: string; code: string; code_verifier: string; grant_type: 'authorization_code'; } export interface RefreshTokenRequest { app_id: string; app_secret: string; refresh_token: string; grant_type: 'refresh_token'; } export interface SocialApiError { error: { message: string; type: string; code: number; error_subcode?: number; fbtrace_id?: string; }; } export interface CursorPagination { cursors: { before: string; after: string; }; next?: string; previous?: string; } export interface OffsetPagination { offset: number; limit: number; total?: number; } //# sourceMappingURL=social.d.ts.map