UNPKG

pancake-client-sdk

Version:
83 lines (82 loc) 2.63 kB
import { CustomerNote, CreateCustomerNoteRequest, UpdateCustomerNoteRequest, CustomerNoteListParams, CustomerCommunicationHistory, CustomerCommunicationStats, CreateCommunicationRequest } from '../types/customer-note'; import { BaseResource } from './base'; export declare class CustomerNoteResource extends BaseResource { /** * Get list of customer notes */ list(customerId: string, params?: CustomerNoteListParams): Promise<{ data: CustomerNote[]; }>; /** * Get customer note by ID */ getById(customerId: string, noteId: string): Promise<CustomerNote>; /** * Create new customer note */ create(customerId: string, data: CreateCustomerNoteRequest): Promise<CustomerNote>; /** * Update customer note */ update(customerId: string, noteId: string, data: UpdateCustomerNoteRequest): Promise<CustomerNote>; /** * Delete customer note */ delete(customerId: string, noteId: string): Promise<void>; /** * Get communication history */ getCommunicationHistory(customerId: string, params?: { page_size?: number; page_number?: number; type?: string; direction?: 'inbound' | 'outbound'; status?: string; channel?: string; from_date?: string; to_date?: string; }): Promise<{ data: CustomerCommunicationHistory[]; }>; /** * Create communication record */ createCommunication(customerId: string, data: CreateCommunicationRequest): Promise<CustomerCommunicationHistory>; /** * Get communication statistics */ getCommunicationStats(customerId: string, params?: { from_date?: string; to_date?: string; type?: string; }): Promise<CustomerCommunicationStats>; /** * Get customer notes by tag */ getByTag(tag: string, params?: Omit<CustomerNoteListParams, 'tags'>): Promise<{ data: CustomerNote[]; }>; /** * Get notes requiring follow-up */ getRequiringFollowUp(params?: { page_size?: number; page_number?: number; assigned_to?: string; from_date?: string; to_date?: string; }): Promise<{ data: CustomerNote[]; total: number; }>; /** * Mark note as followed up */ markAsFollowedUp(customerId: string, noteId: string, comment?: string): Promise<CustomerNote>; /** * Get notes mentioning user */ getMentioningUser(userId: string, params?: Omit<CustomerNoteListParams, 'mentioned_users'>): Promise<{ data: CustomerNote[]; }>; }