pancake-client-sdk
Version:
Official TypeScript SDK for Pancake POS API
83 lines (82 loc) • 2.21 kB
TypeScript
import { Review, CreateReviewRequest, UpdateReviewRequest, ReviewListParams, ReviewSummary, ReviewAnalytics } from '../types/review';
import { BaseResource } from './base';
export declare class ReviewResource extends BaseResource {
/**
* Get list of reviews
*/
list(params?: ReviewListParams): Promise<{
data: Review[];
}>;
/**
* Get review by ID
*/
getById(reviewId: string): Promise<Review>;
/**
* Create new review
*/
create(data: CreateReviewRequest): Promise<Review>;
/**
* Update review
*/
update(reviewId: string, data: UpdateReviewRequest): Promise<Review>;
/**
* Delete review
*/
delete(reviewId: string): Promise<void>;
/**
* Reply to review
*/
reply(reviewId: string, reply: string): Promise<Review>;
/**
* Get product review summary
*/
getProductSummary(productId: string): Promise<ReviewSummary>;
/**
* Get product reviews
*/
getProductReviews(productId: string, params?: ReviewListParams): Promise<{
data: Review[];
summary: ReviewSummary;
}>;
/**
* Get customer reviews
*/
getCustomerReviews(customerId: string, params?: ReviewListParams): Promise<{
data: Review[];
}>;
/**
* Import platform reviews
*/
importPlatformReviews(platform: string, force?: boolean): Promise<{
total_imported: number;
success_count: number;
failed_count: number;
errors?: any[];
}>;
/**
* Sync platform reviews
*/
syncPlatformReviews(platform: string): Promise<{
job_id: string;
status: 'queued' | 'processing' | 'completed' | 'failed';
}>;
/**
* Get review analytics
*/
getAnalytics(params: {
from_date: string;
to_date: string;
platform?: string;
}): Promise<ReviewAnalytics>;
/**
* Export reviews
*/
export(params?: ReviewListParams): Promise<{
download_url: string;
expires_at: string;
}>;
/**
* Moderate review
*/
moderate(reviewId: string, action: 'approve' | 'reject', reason?: string): Promise<Review>;
}