pancake-client-sdk
Version:
Official TypeScript SDK for Pancake POS API
103 lines (102 loc) • 2.58 kB
TypeScript
import { OrderReturn, CreateReturnRequest, UpdateReturnRequest, ReturnListParams, ReturnSummary, ReturnLabelRequest, ReturnLabel } from '../types/return';
import { BaseResource } from './base';
export declare class ReturnResource extends BaseResource {
/**
* Get list of order returns
*/
list(params?: ReturnListParams): Promise<{
data: OrderReturn[];
}>;
/**
* Get return by ID
*/
getById(returnId: string): Promise<OrderReturn>;
/**
* Create new return
*/
create(data: CreateReturnRequest): Promise<OrderReturn>;
/**
* Update return
*/
update(returnId: string, data: UpdateReturnRequest): Promise<OrderReturn>;
/**
* Cancel return
*/
cancel(returnId: string, reason?: string): Promise<OrderReturn>;
/**
* Approve return
*/
approve(returnId: string, data?: {
refund_method?: string;
refund_amount?: number;
note?: string;
}): Promise<OrderReturn>;
/**
* Reject return
*/
reject(returnId: string, reason: string): Promise<OrderReturn>;
/**
* Complete return
*/
complete(returnId: string, data?: {
note?: string;
received_items?: {
product_id: string;
variation_id: string;
quantity: number;
condition: string;
}[];
}): Promise<OrderReturn>;
/**
* Get return statistics
*/
getStats(params?: {
from_date?: string;
to_date?: string;
}): Promise<ReturnSummary>;
/**
* Get returns by order
*/
getByOrder(orderId: string): Promise<{
data: OrderReturn[];
}>;
/**
* Generate return label
*/
generateLabel(returnId: string, data: ReturnLabelRequest): Promise<ReturnLabel>;
/**
* Get return shipping rates
*/
getShippingRates(returnId: string): Promise<{
carrier: string;
service: string;
rate: number;
estimated_days: number;
}[]>;
/**
* Add note to return
*/
addNote(returnId: string, note: string): Promise<{
id: string;
note: string;
created_by: {
id: string;
name: string;
};
created_at: string;
}>;
/**
* Get return notes
*/
getNotes(returnId: string): Promise<{
data: {
id: string;
note: string;
created_by: {
id: string;
name: string;
};
created_at: string;
}[];
}>;
}