openapi: 3.1.0 info: title: TikTok Shop API description: >- The TikTok Shop Partner API enables sellers and partners to manage product catalogs, process orders, handle logistics, and integrate with TikTok's commerce ecosystem. Base URL format includes shop_cipher for multi-shop support. version: v2 contact: name: TikTok Shop Partner Center url: https://partner.tiktokshop.com/docv2/page/tts-api-concepts-overview termsOfService: https://developers.tiktok.com/doc/tiktok-api-terms-of-service servers: - url: https://open-api.tiktokglobalshop.com description: TikTok Shop Global API security: - AccessToken: [] tags: - name: Products description: Product catalog management - name: Orders description: Order management and fulfillment - name: Logistics description: Shipping and logistics operations - name: Finance description: Settlement and financial reporting paths: /product/202309/products: get: operationId: listProducts summary: List Products description: >- Retrieves a list of products from the seller's TikTok Shop catalog with pagination support. tags: - Products parameters: - name: page_size in: query schema: type: integer default: 10 maximum: 100 description: Number of products per page - name: page_token in: query schema: type: string description: Pagination token for next page - name: status in: query schema: type: string enum: - ALL - ACTIVATE - REVIEWING - SELLER_DEACTIVATED - PLATFORM_SUSPENDED description: Filter by product status responses: '200': description: Products retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ProductListResponse' '401': description: Unauthorized /product/202309/products/{product_id}: get: operationId: getProduct summary: Get Product description: >- Retrieves detailed information about a specific product by its ID. tags: - Products parameters: - name: product_id in: path required: true schema: type: string description: Product unique identifier responses: '200': description: Product details retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ProductDetailResponse' put: operationId: updateProduct summary: Update Product description: >- Updates the details of an existing product in the TikTok Shop catalog. tags: - Products parameters: - name: product_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProductUpdateRequest' responses: '200': description: Product updated successfully content: application/json: schema: $ref: '#/components/schemas/GenericResponse' /product/202309/products/upload_files: post: operationId: uploadProductFile summary: Upload Product File description: >- Uploads images or video files to be used in product listings. tags: - Products requestBody: required: true content: multipart/form-data: schema: type: object properties: data: type: string format: binary use_case: type: string enum: - MAIN_IMAGE - ATTRIBUTE_IMAGE - SIZE_CHART - BRAND_LOGO responses: '200': description: File uploaded successfully content: application/json: schema: $ref: '#/components/schemas/FileUploadResponse' /order/202309/orders: get: operationId: listOrders summary: List Orders description: >- Retrieves a list of orders for the seller's TikTok Shop with filtering and pagination. tags: - Orders parameters: - name: page_size in: query schema: type: integer default: 10 maximum: 100 - name: page_token in: query schema: type: string - name: order_status in: query schema: type: string enum: - UNPAID - ON_HOLD - AWAITING_SHIPMENT - AWAITING_COLLECTION - IN_TRANSIT - DELIVERED - COMPLETED - CANCELLED description: Filter by order status - name: create_time_ge in: query schema: type: integer description: Filter orders created after this Unix timestamp - name: create_time_lt in: query schema: type: integer description: Filter orders created before this Unix timestamp responses: '200': description: Orders retrieved successfully content: application/json: schema: $ref: '#/components/schemas/OrderListResponse' /order/202309/orders/{order_id}: get: operationId: getOrder summary: Get Order description: >- Retrieves detailed information about a specific order by its ID. tags: - Orders parameters: - name: order_id in: path required: true schema: type: string responses: '200': description: Order details retrieved successfully content: application/json: schema: $ref: '#/components/schemas/OrderDetailResponse' /logistics/202309/orders/{order_id}/shipping_documents: get: operationId: getShippingDocument summary: Get Shipping Document description: >- Retrieves shipping label or packing slip documents for an order. tags: - Logistics parameters: - name: order_id in: path required: true schema: type: string - name: document_type in: query required: true schema: type: string enum: - SHIPPING_LABEL - PICK_LIST responses: '200': description: Shipping document retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ShippingDocumentResponse' /finance/202309/payments: get: operationId: listPayments summary: List Payments description: >- Retrieves payment settlement records for the seller's TikTok Shop. tags: - Finance parameters: - name: page_size in: query schema: type: integer default: 20 - name: page_token in: query schema: type: string responses: '200': description: Payment records retrieved successfully content: application/json: schema: $ref: '#/components/schemas/PaymentListResponse' components: securitySchemes: AccessToken: type: apiKey in: header name: x-tts-access-token description: TikTok Shop API access token schemas: Product: type: object properties: product_id: type: string product_name: type: string status: type: string create_time: type: integer update_time: type: integer category_id: type: string brand_id: type: string price: $ref: '#/components/schemas/Price' skus: type: array items: $ref: '#/components/schemas/SKU' Price: type: object properties: amount: type: string currency: type: string SKU: type: object properties: id: type: string seller_sku: type: string price: $ref: '#/components/schemas/Price' stock_infos: type: array items: type: object properties: warehouse_id: type: string available_stock: type: integer ProductListResponse: type: object properties: code: type: integer message: type: string data: type: object properties: products: type: array items: $ref: '#/components/schemas/Product' next_page_token: type: string total_count: type: integer ProductDetailResponse: type: object properties: code: type: integer message: type: string data: $ref: '#/components/schemas/Product' ProductUpdateRequest: type: object properties: product_name: type: string description: type: string main_images: type: array items: type: object properties: uri: type: string FileUploadResponse: type: object properties: code: type: integer message: type: string data: type: object properties: uri: type: string url: type: string Order: type: object properties: order_id: type: string order_status: type: string create_time: type: integer paid_time: type: integer buyer_email: type: string recipient_address: $ref: '#/components/schemas/Address' line_items: type: array items: $ref: '#/components/schemas/LineItem' Address: type: object properties: name: type: string phone_number: type: string address_line1: type: string city: type: string province_code: type: string postal_code: type: string region_code: type: string LineItem: type: object properties: item_id: type: string product_name: type: string sku_id: type: string quantity: type: integer sale_price: $ref: '#/components/schemas/Price' OrderListResponse: type: object properties: code: type: integer message: type: string data: type: object properties: orders: type: array items: $ref: '#/components/schemas/Order' next_page_token: type: string total_count: type: integer OrderDetailResponse: type: object properties: code: type: integer message: type: string data: $ref: '#/components/schemas/Order' ShippingDocumentResponse: type: object properties: code: type: integer message: type: string data: type: object properties: doc_url: type: string PaymentListResponse: type: object properties: code: type: integer message: type: string data: type: object properties: payments: type: array items: type: object properties: payment_id: type: string amount: $ref: '#/components/schemas/Price' status: type: string create_time: type: integer next_page_token: type: string GenericResponse: type: object properties: code: type: integer message: type: string data: type: object