import { TiktokShopApp } from '../interfaces'; import TiktokNewEraService from './tiktok-new-era.service'; export default class TiktokFulfillmentService extends TiktokNewEraService { private readonly TIKTOK_FULFILLMENT_PREFIX; constructor({ app }: { app: TiktokShopApp; }); buildRequestUrl(suffix: string, version?: string): string; getEligibleShippingProviders({ orderId, orderLineItemIds }: { orderId: string; orderLineItemIds: string[]; }): Promise<{ currency: string; earliest_delivery_days: number; id: string; is_default: boolean; latest_delivery_days: number; name: string; price: string; shipping_provider_id: string; shipping_provider_name: string; }[]>; updateShippingInfo({ orderId, shippingProviderId, trackingNumber }: { orderId: string; shippingProviderId: string; trackingNumber: string; }): Promise>; markPackageAsShipped({ orderId, shippingProviderId, trackingNumber }: { orderId: string; shippingProviderId: string; trackingNumber: string; }): Promise>; getOrderSplitAttributes({ orderIds }: { orderIds: string[]; }): Promise>; splitOrder({ orderId, data }: { orderId: string; data: TiktokSplitOrderData; }): Promise>; createPackages(data: TiktokCreatePackageBody): Promise>; getPackageShippingDocument({ packageId, params }: { packageId: string; params: { document_type: string; document_size?: string; }; }): Promise>; shipPackage({ packageId, data }: { packageId: string; data?: TiktokShipPackageBody; }): Promise>; } /** * Interfaces definition */ export interface TiktokFulfillmentResponse { dimension: { height: string; length: string; unit: string; width: string; }; order_id: string; order_line_id: string[]; shipping_services: { currency: string; earliest_delivery_days: number; id: string; is_default: boolean; latest_delivery_days: number; name: string; price: string; shipping_provider_id: string; shipping_provider_name: string; }[]; weight: { unit: string; value: string; }; } export interface TiktokMarkPackageAsShippedResponse { order_id: string; order_line_item_ids: string[]; package_id: string; warning: { message: string; }; } export interface TiktokSplitOrderData { splittable_groups: { id: string; order_line_item_ids: string[]; }[]; } export interface TiktokPackageShippingDocumentResponse { doc_url: string; tracking_number: string; } export interface TiktokCreatePackageBody { order_id: string; order_line_item_ids?: string[]; shipping_service_id?: string; } export interface TiktokCreatePackageResponse { order_id: string; order_line_item_ids: string[]; dimension: { length: string; width: string; height: string; unit: string; }; shipping_service_info: { id: string; name: string; price: string; currency: string; earliest_delivery_days: number; latest_delivery_days: number; shipping_provider_id: string; shipping_provider_name: string; }; package_id: string; weight: { value: string; unit: string; }; create_time: number; } export interface TiktokShipPackageBody { handover_method?: 'PICKUP' | 'DROP_OFF'; pickup_slot?: { start_time: number; end_time: number; }; self_shipment?: { tracking_number: string; shipping_provider_id: string; }; }