### Get Products API Query Parameters Source: https://nimda.kogan.com/api/marketplace/v2/index Demonstrates the various query parameters available for the 'Get Products' endpoint. These parameters allow filtering, sorting, and pagination of product listings. ```json { "search": "string", "ordering": "string", "cursor": "string", "size": "integer", "enabled": "boolean", "sku": "string", "category": "string", "ebay_category": "number", "brand": "string", "created_after": "string", "created_before": "string", "detail": "boolean" } ``` -------------------------------- ### GET /products/ Source: https://nimda.kogan.com/api/marketplace/v2/index Retrieves a list of products. ```APIDOC ## GET /products/ ### Description Get products. ### Method GET ### Endpoint /products/ ### Parameters *(No specific query parameters or request body mentioned in the provided text for this endpoint.)* ### Responses *(Success and error responses are not detailed in the provided text for this specific endpoint.)* ``` -------------------------------- ### Get Products Source: https://nimda.kogan.com/api/marketplace/v2/index Lists all products and their details, with options for filtering and sorting. ```APIDOC ## GET /products/ ### Description List all your products and their details. ### Method GET ### Endpoint /products/ ### Parameters #### Query Parameters - **search** (string) - Optional - Search product titles. - **ordering** (string) - Optional - Field to use for ordering results. - **cursor** (string) - Optional - Continue pagination from this point. - **size** (integer) - Optional - Number of results to return per page. - **enabled** (boolean) - Optional - Filter by enabled status (True/true/1 vs False/false/0). - **sku** (string) - Optional - Filter by SKU (exact match only, multi-select). - **category** (string) - Optional - Filter by Kogan.com category name (case-insensitive, multi-select, escape commas). - **ebay_category** (number) - Optional - Filter by eBay category ID. - **brand** (string) - Optional - Filter by brand (case-insensitive, multi-select, escape commas). - **created_after** (string) - Optional - Filter by creation date (AEST/AEDT) (YYYY-MM-DD). - **created_before** (string) - Optional - Filter by creation date (AEST/AEDT) (YYYY-MM-DD). - **detail** (boolean) - Optional - Enable all fields on the response (True/true/1). ### Response #### Success Response (200) (Details of product list with various fields depending on the 'detail' parameter) #### Response Example (Example response structure will vary based on query parameters) ``` -------------------------------- ### POST /products/ Source: https://nimda.kogan.com/api/marketplace/v2/index_format=openapi Create products in batches. This is an asynchronous endpoint, and you will need to poll the `pending_url` to get the results. ```APIDOC ## POST /products/ ### Description Create products in batches. This is an asynchronous endpoint, and you will need to poll the `pending_url` to get the results. ### Method POST ### Endpoint /products/ ### Parameters #### Request Body - **data** (array) - Required - An array of products to create. Each item should conform to the `Product` schema. ### Request Example ```json [ { "sku": "EXAMPLE-SKU-001", "title": "Example Product Title", "description": "Detailed description of the example product.", "offer_data": { "currency": "AUD", "price": { "amount": "19.99", "currency": "AUD" }, "stock_level": 100 } } ] ``` ### Response #### Success Response (200) - **[schema.definitions.AsyncProductEditResponse]** - Response schema for asynchronous product creation. #### Error Responses - **400** - Bad Request (with MarketplaceAsyncResponse schema) - **401** - Unauthorised - **403** - Forbidden - **429** - Too many requests - **502** - Service temporarily down, please try again - **503** - Service temporarily down, please try again - **504** - Service temporarily down, please try again ``` -------------------------------- ### GET /products/ Source: https://nimda.kogan.com/api/marketplace/v2/index_format=openapi List all your products and their details. This endpoint supports filtering by various criteria and pagination. ```APIDOC ## GET /products/ ### Description List all your products and their details. This endpoint supports filtering by various criteria and pagination. ### Method GET ### Endpoint /products/ ### Parameters #### Query Parameters - **search** (string) - Optional - Search product titles - **ordering** (string) - Optional - Which field to use when ordering the results. - **cursor** (string) - Optional - Continue pagination from this point (included in the 'next' url in the response) - **size** (integer) - Optional - Number of results to return per page. - **enabled** (boolean) - Optional - Filter enabled status (True/true/1 vs False/false/0) - **sku** (string) - Optional - Find by SKU (exact match only, multi-select) - **category** (string) - Optional - Filter to a Kogan.com category name (case-insensitive, multi-select, escape title commas e.g. '\,') - **ebay_category** (number) - Optional - Filter by eBay category ID - **brand** (string) - Optional - Filter to a brand (case-insensitive, multi-select, escape title commas e.g. '\,') - **created_after** (string) - Optional - Created on or after this date (AEST/AEDT) (YYYY-MM-DD) - **created_before** (string) - Optional - Created on or before this date (AEST/AEDT) (YYYY-MM-DD) - **detail** (boolean) - Optional - Enable all fields on the response (True/true/1) ### Response #### Success Response (200) - **[schema.definitions.SyncProductGetResponse]** - Response schema for getting products. #### Error Responses - **401** - Unauthorised - **403** - Forbidden - **429** - Too many requests - **502** - Service temporarily down, please try again - **503** - Service temporarily down, please try again - **504** - Service temporarily down, please try again ``` -------------------------------- ### Sync Product Get Source: https://nimda.kogan.com/api/marketplace/v2/index_format=openapi Retrieves the status of a product synchronization request. ```APIDOC ## GET /websites/nimda_kogan_api_marketplace_v2/sync/product ### Description Retrieves the status and results of a product synchronization operation. ### Method GET ### Endpoint /websites/nimda_kogan_api_marketplace_v2/sync/product ### Parameters #### Query Parameters - **sync_id** (string) - Required - The unique identifier for the synchronization task. ### Response #### Success Response (200) - **status** (string) - The status of the synchronization (e.g., 'Complete', 'CompleteWithErrors', 'Failed'). - **pending_url** (string) - URL for pending status, if applicable (nullable). - **body** (object) - The response body containing product data if synchronization was successful. - **error** (string) - Error message if the synchronization failed (nullable). ### Response Example ```json { "status": "Complete", "pending_url": null, "body": { "next": "/api/v2/products?page=2", "previous": null, "results": [ { "product_title": "Example Product", "product_sku": "EXMPL123", "product_subtitle": "A great example product.", "product_description": "This is a detailed description of the example product.", "product_inbox": "Product, manual, charger.", "product_gtin": "1234567890123", "product_dimensions": { "length": 10, "width": 5, "height": 2 }, "product_location": "Warehouse A", "product_condition": "New", "product_multipack": 1, "product_type": "Electronics", "images": [ "http://example.com/image1.jpg", "http://example.com/image2.jpg" ], "brand": "ExampleBrand", "category": "Gadgets", "category_slug": "gadgets", "offer_data": { "price": 99.99, "currency": "AUD" }, "stock": 100, "facets": [], "variant": null, "enabled": true, "created": "2023-10-27T10:00:00Z", "store_urls": [ { "url": "http://kogan.com/example-product", "store_name": "Kogan", "organisation": "Kogan" } ], "tags": ["popular", "new"] } ] }, "error": null } ``` ``` -------------------------------- ### Product Read Detail Source: https://nimda.kogan.com/api/marketplace/v2/index_format=openapi Retrieves detailed information about a specific product. Use `?detail=true` to get all available fields. ```APIDOC ## GET /websites/nimda_kogan_api_marketplace_v2/products ### Description Retrieves a list of products. Use the `detail=true` query parameter to include all product details. ### Method GET ### Endpoint /websites/nimda_kogan_api_marketplace_v2/products ### Parameters #### Query Parameters - **detail** (boolean) - Optional - Set to `true` to retrieve all product details. ### Response #### Success Response (200) - **next** (string) - URL to the next page of results. - **previous** (string) - URL to the previous page of results. - **results** (array) - An array of product details. - **product_title** (string) - The title of the product. - **product_sku** (string) - The Stock Keeping Unit of the product. - **product_subtitle** (string) - The subtitle of the product. - **product_description** (string) - The detailed description of the product. - **product_inbox** (string) - Information about what is included in the product box. - **product_gtin** (string) - The Global Trade Item Number of the product (nullable). - **product_dimensions** (object) - The physical dimensions of the product. - **product_location** (string) - The storage location of the product (nullable). - **product_condition** (string) - The condition of the product (e.g., New, Used) (nullable). - **product_multipack** (integer) - The number of items in a multipack (nullable). - **product_type** (string) - The type or category of the product. - **images** (array of strings) - An array of URLs for product images. - **brand** (string) - The brand of the product (nullable). - **category** (string) - The category of the product. - **category_slug** (string) - The slugified category name. - **offer_data** (object) - Additional offer-specific data. - **stock** (integer) - The current stock level of the product (nullable). - **facets** (array) - List of facets for the product. - **variant** (object) - Information about product variants. - **enabled** (boolean) - Whether the product is currently enabled on the site. - **created** (string) - The creation timestamp of the product record (nullable). - **store_urls** (array of objects) - Links to the product on various stores. - **url** (string) - The URL to the product listing. - **store_name** (string) - The name of the store. - **organisation** (string) - The organization managing the store. - **tags** (array of strings) - Tags associated with the product (nullable). ### Response Example ```json { "next": "/api/v2/products?page=2", "previous": null, "results": [ { "product_title": "Example Product", "product_sku": "EXMPL123", "product_subtitle": "A great example product.", "product_description": "This is a detailed description of the example product.", "product_inbox": "Product, manual, charger.", "product_gtin": "1234567890123", "product_dimensions": { "length": 10, "width": 5, "height": 2 }, "product_location": "Warehouse A", "product_condition": "New", "product_multipack": 1, "product_type": "Electronics", "images": [ "http://example.com/image1.jpg", "http://example.com/image2.jpg" ], "brand": "ExampleBrand", "category": "Gadgets", "category_slug": "gadgets", "offer_data": { "price": 99.99, "currency": "AUD" }, "stock": 100, "facets": [], "variant": null, "enabled": true, "created": "2023-10-27T10:00:00Z", "store_urls": [ { "url": "http://kogan.com/example-product", "store_name": "Kogan", "organisation": "Kogan" } ], "tags": ["popular", "new"] } ] } ``` ``` -------------------------------- ### POST /products/status/ Source: https://nimda.kogan.com/api/marketplace/v2/index_format=openapi Enable or disable products in a batch. This asynchronous endpoint accepts up to 500 products and returns a list of warnings and errors. The entire payload is validated, and rejection occurs if any product fails validation. Polling the `pending_url` is required to get results. ```APIDOC ## POST /products/status/ ### Description Use this API to enable or disable a product. The product update API accepts a batch of up to 500 products, and will return a list of warnings and errors from the batch. ### Method POST ### Endpoint /products/status/ ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **data** (object) - Required - Schema reference: `#/definitions/ProductEnabledUpdate` ### Request Example ```json { "product_id": "example_product_id", "enabled": true } ``` ### Response #### Success Response (200) - **async_status** (string) - Status of the asynchronous operation. - **pending_url** (string) - URL to poll for the results. #### Response Example ```json { "async_status": "PENDING", "pending_url": "/api/v2/task/123/" } ``` ``` -------------------------------- ### Nimda Kogan API Marketplace V2 - Response Samples Source: https://nimda.kogan.com/api/marketplace/v2/index This section details the possible response status codes and provides an example of a successful JSON response body. ```APIDOC ## Response Samples and Content Types ### Description This endpoint provides details on various response statuses and their corresponding JSON body structure. ### Method N/A (Information about responses) ### Endpoint N/A (General information for the v2 marketplace API) ### Parameters None ### Request Example None ### Response #### Success Response (200) - **status** (string) - Indicates the status of the asynchronous response. - **pending_url** (string) - The URL to poll for the status of an asynchronous operation. - **body** (object) - The response body, which can be empty. - **error** (string) - An error message if the operation failed. #### Response Example ```json { "status": "AsyncResponsePending", "pending_url": "http://example.com", "body": { }, "error": "string" } ``` #### Error Responses - **401**: Unauthorized - **403**: Forbidden - **429**: Too Many Requests ``` -------------------------------- ### GET /brand/ Source: https://nimda.kogan.com/api/marketplace/v2/index Lists available Kogan brands with optional filtering and pagination. ```APIDOC ## GET /brand/ ### Description List available Kogan brands. ### Method GET ### Endpoint https://nimda.kogan.com/api/marketplace/v2/brand/ ### Parameters #### Query Parameters - **page** (integer) - Optional - A page number within the paginated result set. - **display_all** (boolean) - Optional - Option to display all brands in one API call (True, False). May take a long time. - **slug** (string) - Optional - Filter to a brand slug (case-sensitive, multi-select) - **supplier_only** (boolean) - Optional - Filter to only return brands used by the current user (True, False) ### Responses #### Success Response (200) - **status** (string) - "Complete" or "Error" - **pending_url** (any) - URL for pending tasks, null if not applicable. - **body** (object) - Contains the brand data. - **next** (string) - URL for the next page of results. - **previous** (string) - URL for the previous page of results. - **results** (array) - Array of brand objects. - **id** (integer) - The unique identifier for the brand. - **title** (string) - The name of the brand. - **slug** (string) - The slugified name of the brand. - **description** (string) - A description of the brand. #### Error Responses - **401** - Unauthorised - **403** - Forbidden - **429** - Too many requests - **502** - Service temporarily down, please try again - **503** - Service temporarily down, please try again - **504** - Service temporarily down, please try again ### Response Example (200) ```json { "status": "Complete", "pending_url": null, "body": { "next": "http://example.com", "previous": "http://example.com", "results": [ { "id": 0, "title": "Example Brand", "slug": "example-brand", "description": "Example brand description" } ] }, "error": null } ``` ``` -------------------------------- ### POST /products/stockprice/ Source: https://nimda.kogan.com/api/marketplace/v2/index_format=openapi Update product stock and price for existing products. This asynchronous API accepts a batch of up to 500 products and returns warnings and errors. The entire payload is validated, and rejection occurs if any product fails validation. Polling the `pending_url` is required to get results. ```APIDOC ## POST /products/stockprice/ ### Description Use this API to update stock and price of existing products. The product update API accepts a batch of up to 500 products, and will return a list of warnings and errors from the batch. ### Method POST ### Endpoint /products/stockprice/ ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **data** (array) - Required - An array of product price and stock updates. Each item should conform to `#/definitions/ProductPriceStockUpdate`. ### Request Example ```json [ { "product_id": "example_product_id_1", "price": "100.00", "stock": 50 }, { "product_id": "example_product_id_2", "price": "120.50", "stock": 25 } ] ``` ### Response #### Success Response (200) - **async_status** (string) - Status of the asynchronous operation. - **pending_url** (string) - URL to poll for the results. #### Response Example ```json { "async_status": "PENDING", "pending_url": "/api/v2/task/456/" } ``` ``` -------------------------------- ### Update Product Stock and Price Request Sample Source: https://nimda.kogan.com/api/marketplace/v2/index Provides a JSON payload example for updating product stock and price. It includes fields for product SKU, offer data with pricing and shipping details per currency, stock levels, future offer data, and tags. This API accepts a batch of up to 500 products. ```json [ { "product_sku": "SGS10EWHT128", "offer_data": { "AUD": { "price": "759.99", "kogan_first_price": "10.99", "shipping": "12.75", "handling_days": 2, "rrp": "1099" } }, "stock": 99, "stock_allocated": 0, "stock_on_order": 0, "future_offer_data": { "property1": { "price": "759.99", "kogan_first_price": "10.99", "tax_exempt": false, "shipping": "12.75", "handling_days": 2, "rrp": "1099", "cost_price": "string", "shipping_cost": "string", "higher_price_text": "string" }, "property2": { "price": "759.99", "kogan_first_price": "10.99", "tax_exempt": false, "shipping": "12.75", "handling_days": 2, "rrp": "1099", "cost_price": "string", "shipping_cost": "string", "higher_price_text": "string" } }, "add_tags": [ "string" ], "remove_tags": [ "string" ] } ] ``` -------------------------------- ### Curl Request for Get Order Detail by ID Source: https://nimda.kogan.com/api/marketplace/v2/index Example cURL command to fetch a single order's detail using its Kogan reference ID. This request requires seller authorization headers and targets a specific order endpoint. ```bash curl -X GET \ 'https://nimda.kogan.com/api/marketplace/v2/orders/{kogan_order_ref}/' \ -H 'Authorization: SellerTokenSellerId' ``` -------------------------------- ### POST /products/ Source: https://nimda.kogan.com/api/marketplace/v2/index Creates new products. ```APIDOC ## POST /products/ ### Description Create products. ### Method POST ### Endpoint /products/ ### Parameters *(Request body and specific parameters are not detailed in the provided text for this endpoint.)* ### Responses *(Success and error responses are not detailed in the provided text for this specific endpoint.)* ``` -------------------------------- ### POST /products/ Source: https://nimda.kogan.com/api/marketplace/v2/index Creates a new product in the Kogan Marketplace. Requires detailed product information including SKU, title, description, category, and images. ```APIDOC ## POST /products/ ### Description Creates a new product in the Kogan Marketplace. Requires detailed product information including SKU, title, description, category, and images. ### Method POST ### Endpoint https://nimda.kogan.com/api/marketplace/v2/products/ ### Parameters #### Request Body - **product_sku** (string) - Required - Product SKU. Max 45 characters. - **product_title** (string) - Required - Product title. Max 255 characters. - **product_subtitle** (string) - Optional - Product subtitle. Max 200 characters. Defaults to "". - **product_description** (string) - Required - Description of the product. Limited HTML allowed. Must not be empty. - **product_inbox** (string) - Optional - What is in the package. Limited HTML allowed. - **product_gtin** (string) - Optional - Product GTIN/UPC/EAN. Between 8 and 14 characters. Defaults to "". - **product_location** (string) - Optional - 2-character country code (e.g., AU, UK, US). Defaults to "". - **product_condition** (string) - Optional - Condition of the product. Enum: "new", "refurbished", "used". - **product_multipack** (integer) - Optional - Quantity of the product for sale. Defaults to 1. - **product_type** (string) - Optional - Type of product. Enum: "Physical", "Digital". - **optional_keywords** (Array of strings) - Optional - Up to 5 optional keywords for search. - **brand** (string) - Optional - Brand of the product. Between 2 and 255 characters. - **category** (string) - Required - Category of the product. Format: `kogan:{id}`, `ebay:{id}`, or category name. - **additional_categories** (Array of strings) - Optional - Additional categories for the product, same format as `category`. Up to 5 items. - **images** (Array of strings) - Required - Up to 10 product image URIs. The first image is the main image. - **stock** (integer) - Required - Available stock quantity. Must be 0 or greater. - **stock_on_order** (integer) - Optional - Stock on order quantity. - **stock_availability_type** (string) - Optional - Type of stock availability. Enum: "normal", "presale", "coming_soon". - **stock_availability_date** (string) - Optional - Date and time for stock availability (ISO 8601 format). - **future_offer_data** (object) - Optional - Future cost data per currency for presale items. - **tags** (Array of strings) - Optional - Tags for the product. - **add_tags** (Array of strings) - Optional - Tags to add to the product. - **remove_tags** (Array of strings) - Optional - Tags to remove from the product. - **facets** (Array of objects) - Optional - Facets for the product. - **variant** (object) - Optional - Variant group information for the product. - **apply_as** (string) - Optional - How to apply the create/update. Enum: "all", "owner". Defaults to "all". - **offer_data** (object) - Required - Cost data per currency for the store's currency. ### Request Example ```json { "product_sku": "EXAMPLE-SKU-123", "product_title": "Example Product Title", "product_description": "This is a detailed description of the example product.", "category": "kogan:12345", "images": [ "https://example.com/image1.jpg", "https://example.com/image2.jpg" ], "stock": 100, "offer_data": { "AUD": { "price": 50.00, "cost": 30.00 } } } ``` ### Response #### Success Response (200) Details of the created product (structure not provided in source text). #### Error Responses - **400**: Bad Request (e.g., invalid input data) - **401**: Unauthorized - **403**: Forbidden - **429**: Too Many Requests - **502, 503, 504**: Service Unavailable ``` -------------------------------- ### GET /task/ Source: https://nimda.kogan.com/api/marketplace/v2/index Retrieves asynchronous task results. ```APIDOC ## GET /task/ ### Description Get asynchronous task results. ### Method GET ### Endpoint /task/ ### Parameters *(No specific query parameters or request body mentioned in the provided text for this endpoint.)* ### Responses *(Success and error responses are not detailed in the provided text for this specific endpoint.)* ``` -------------------------------- ### GET /orders/{id} Source: https://nimda.kogan.com/api/marketplace/v2/index Retrieves the order detail by its ID. ```APIDOC ## GET /orders/{id} ### Description Get the order detail by Id. ### Method GET ### Endpoint /orders/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the order. ### Responses *(Success and error responses are not detailed in the provided text for this specific endpoint.)* ``` -------------------------------- ### GET /orders/ Source: https://nimda.kogan.com/api/marketplace/v2/index Retrieves a list of all open orders that are released for shipment. ```APIDOC ## GET /orders/ ### Description Returns a list of all orders released for shipment. Orders with status ReleasedForShipment are orders with pending dispatch. ### Method GET ### Endpoint /orders/ ### Parameters *(No specific query parameters or request body mentioned in the provided text for this endpoint.)* ### Responses *(Success and error responses are not detailed in the provided text for this specific endpoint.)* ``` -------------------------------- ### Request Sample: Product Payload Source: https://nimda.kogan.com/api/marketplace/v2/index This JSON payload represents a sample request for updating or adding a product to the Kogan marketplace. It includes detailed product information such as SKU, title, description, dimensions, images, stock levels, and pricing data. ```json [ { "product_sku": "SGS10EWHT128", "product_title": "Samsung Galaxy S10e White 128GB", "product_subtitle": "3 Pro-grade cameras, including 16MP ultra wide!", "product_description": "The Samsung Galaxy S10e takes you beyond the bezel with an uninterrupted Dynamic AMOLED infinity display without the notch, 3 pro-grade cameras, and wireless power share.", "product_inbox": "", "product_dimensions": { "length": 16, "width": 6, "height": 9, "weight": 0.49 }, "product_gtin": "8801643780616", "product_location": "AU", "product_condition": "new", "product_multipack": 0, "product_type": "Physical", "optional_keywords": [ "string" ], "brand": "Samsung", "category": "kogan:34", "additional_categories": [ "string" ], "images": [ "https://img.example.com/image1.jpg", "https://img.example.com/image2.jpg" ], "stock": 28, "stock_on_order": 0, "stock_availability_type": "normal", "stock_availability_date": "2025-09-14T23:19:28Z", "future_offer_data": { "property1": { "price": "759.99", "kogan_first_price": "10.99", "tax_exempt": false, "shipping": "12.75", "handling_days": 2, "rrp": "1099", "cost_price": "string", "shipping_cost": "string", "higher_price_text": "string" }, "property2": { "price": "759.99", "kogan_first_price": "10.99", "tax_exempt": false, "shipping": "12.75", "handling_days": 2, "rrp": "1099", "cost_price": "string", "shipping_cost": "string", "higher_price_text": "string" } }, "tags": [ "string" ], "add_tags": [ "string" ], "remove_tags": [ "string" ], "facets": [ { "group": "Storage", "items": [ { "type": "Internal Storage", "value": "128GB" } ] } ], "variant": { "group_title": "string", "group_id": "string", "vary_on": { "group": "Storage", "type": "Internal Storage" }, "vary_on_2": { "group": "Storage", "type": "Internal Storage" }, "vary_on_3": { "group": "Storage", "type": "Internal Storage" } }, "apply_as": "all", "offer_data": { "AUD": { "price": "759.99", "kogan_first_price": "10.99", "shipping": "12.75", "handling_days": 2, "rrp": "1099" } } } ] ``` -------------------------------- ### GET /category/ Source: https://nimda.kogan.com/api/marketplace/v2/index Lists available Kogan categories with optional filtering. ```APIDOC ## GET /category/ ### Description List available Kogan categories in a given store. ### Method GET ### Endpoint https://nimda.kogan.com/api/marketplace/v2/category/ ### Parameters #### Query Parameters - **page** (integer) - Optional - A page number within the paginated result set. - **category_id** (integer) - Optional - Filter result by ID - **store_code** (string) - Optional - Two-letter store code to use (Default `au`, Kogan Australia) - **supplier_only** (boolean) - Optional - Filter to only return categories used by the current user (True, False) - **display_all** (boolean) - Optional - Option to display all categories in one API call. May take very long time to request (True, False) ### Responses #### Success Response (200) - **status** (string) - "Complete" or "Error" - **pending_url** (any) - URL for pending tasks, null if not applicable. - **body** (object) - Contains the category data. - **next** (string) - URL for the next page of results. - **previous** (string) - URL for the previous page of results. - **results** (array) - Array of category objects. - **id** (integer) - The unique identifier for the category. - **title** (string) - The name of the category. - **slug** (string) - The slugified name of the category. - **display** (string) - The display path for the category (e.g., "Parent » Example Category"). - **departments** (array) - Array of department names associated with the category. - **url** (string) - The URL for the category on the Kogan website. - **parent_category** (integer) - The ID of the parent category, 0 if it's a top-level category. #### Error Responses - **401** - Unauthorised - **403** - Forbidden - **429** - Too many requests - **502** - Service temporarily down, please try again - **503** - Service temporarily down, please try again - **504** - Service temporarily down, please try again ### Response Example (200) ```json { "status": "Complete", "pending_url": null, "body": { "next": "http://example.com", "previous": "http://example.com", "results": [ { "id": 0, "title": "Example Category", "slug": "example-category", "display": "Parent » Example Category", "departments": [ "Department 1", "Department 2" ], "url": "https://www.kogan.com/au/shop/category/example-category/", "parent_category": 0 } ] }, "error": null } ``` ``` -------------------------------- ### Response Sample for Order Refund Source: https://nimda.kogan.com/api/marketplace/v2/index Illustrates a successful response from the order refund API. It indicates the status of the refund process and includes fields for pending URLs and errors. ```json { "status": "Complete", "pending_url": null, "body": { }, "error": null } ``` -------------------------------- ### POST /websites/nimda_kogan_api_marketplace_v2 Source: https://nimda.kogan.com/api/marketplace/v2/index Creates a batch of new products. The response includes a `pending_url` for asynchronous status checking. This endpoint cannot be used to update existing products. ```APIDOC ## POST /websites/nimda_kogan_api_marketplace_v2 ### Description This endpoint allows sellers to create new products in batches. It supports asynchronous processing and currency specification for different Kogan marketplaces. Each batch can contain up to 500 products. ### Method POST ### Endpoint /websites/nimda_kogan_api_marketplace_v2 ### Parameters #### Request Body - **products** (array) - Required - An array of product objects to be created. Each product object should contain fields such as `product_title`, `product_sku`, `product_description`, `offer_data` (including currency), `images`, `brand`, `category`, and `stock`. ### Request Example ```json { "products": [ { "product_title": "Example Product Title", "product_sku": "SKU12345", "product_description": "This is a detailed description of the example product.", "offer_data": { "AUD": { "price": "199.99", "kogan_first_price": "179.99", "rrp": "249.99", "shipping": "9.99", "handling_days": 1 } }, "images": ["http://example.com/image1.jpg", "http://example.com/image2.jpg"], "brand": "ExampleBrand", "category": "Electronics", "stock": 100 } ] } ``` ### Response #### Success Response (200) - **status** (string) - The status of the batch creation process (e.g., "Complete"). - **pending_url** (string) - A URL to poll for the detailed results of the asynchronous creation process. - **body** (object) - Contains batch processing results, including `next`, `previous`, and `results`. - **results** (array) - An array of objects, each representing a product and its creation status, including details like `product_title`, `product_sku`, `product_gtin`, `product_dimensions`, `product_location`, `product_condition`, `images`, `brand`, `category`, `category_slug`, `offer_data`, `stock`, `facets`, `variant`, `enabled`, `created`, `store_urls`, and `tags`. #### Error Response - **status** (string) - "Error" - **error** (object) - Contains error details. ### Response Example (200) ```json { "status": "Complete", "pending_url": null, "body": { "next": null, "previous": null, "results": [ { "product_title": "Example Product Title", "product_sku": "SKU12345", "product_subtitle": "Example Subtitle", "product_description": "This is a detailed description of the example product.", "product_inbox": "Product, Manual", "product_gtin": "1234567890123", "product_dimensions": { "length": 16, "width": 6, "height": 9, "weight": 0.49 }, "product_location": "Warehouse A", "product_condition": "New", "product_multipack": 0, "product_type": "Gadget", "images": [ "http://example.com/image1.jpg" ], "brand": "ExampleBrand", "category": "Electronics", "category_slug": "electronics", "offer_data": { "AUD": { "price": "199.99", "kogan_first_price": "179.99", "tax_exempt": false, "shipping": "9.99", "handling_days": 1, "rrp": "249.99", "cost_price": "100.00", "shipping_cost": "1.00", "higher_price_text": "Save $50" } }, "stock": 100, "facets": [ { "group": "Color", "items": [ { "type": "Color", "value": "Black" } ] } ], "variant": { "group_title": "Color Options", "group_id": "COLOR001", "vary_on": { "group": "Color", "type": "Color" } }, "enabled": true, "created": "2023-10-27T10:00:00Z", "store_urls": [ { "url": "http://example.com/product/123", "store_name": "Kogan AU", "organisation": "Kogan" } ], "tags": ["electronics", "gadget"] } ] } } ``` ### Error Handling - **401**: Unauthorized - Invalid or missing authorization token. - **403**: Forbidden - Insufficient permissions to perform the action. - **429**: Too Many Requests - Rate limit exceeded. ```