pancake-client-sdk
Version:
Official TypeScript SDK for Pancake POS API
83 lines (82 loc) • 2.63 kB
TypeScript
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[];
}>;
}