### Example API Response Structure Source: https://api.salesfinder.ru/docs/index.html This is an example of a successful (200 OK) response from the Product Keywords API. It includes success status, a message, and a data array containing keyword performance for each requested SKU. ```json { "success": true, "message": "Ok", "data":[ {"sku":573373353,"keywords":[ {"k_id":601517, "keyword":"\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 starline", "shows":357,"avg_position":59.2,"keyword_mp_search_link":"https:\/\/www.ozon.ru\/search\/?text=\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 starline&from_global=true", "2025-03-10":-1,"2025-03-11":47,"2025-03-12":50,"2025-03-13":69,"2025-03-14":71,"2025-03-15":59}, {"k_id":601524,"keyword":"\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0442\u0430\u0440\u043b\u0430\u0439\u043d", "shows":724,"avg_position":14.3,"keyword_mp_search_link":"https:\/\/www.ozon.ru\/search\/?text=\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0442\u0430\u0440\u043b\u0430\u0439\u043d&from_global=true", "2025-03-10":17,"2025-03-11":17,"2025-03-12":13,"2025-03-13":13,"2025-03-14":13,"2025-03-15":13}, {"k_id":601530,"keyword":"\u0431\u0440\u0435\u043b\u043e\u043a starline", ...} ]}, {"sku":1508721402,"keywords":[ {"k_id":601517,"keyword":"\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 starline", "shows":357,"avg_position":59.2,"keyword_mp_search_link":"https:\/\/www.ozon.ru\/search\/?text=\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 starline&from_global=true", "2025-03-10":-1,"2025-03-11":47,"2025-03-12":50,"2025-03-13":69,"2025-03-14":71,"2025-03-15":59}, {"k_id":601524,"keyword":"\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0442\u0430\u0440\u043b\u0430\u0439\u043d", "shows":724,"avg_position":14.3,"keyword_mp_search_link":"https:\/\/www.ozon.ru\/search\/?text=\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0442\u0430\u0440\u043b\u0430\u0439\u043d&from_global=true", "2025-03-10":17,"2025-03-11":17,"2025-03-12":13,"2025-03-13":13,"2025-03-14":13,"2025-03-15":13}, {"k_id":601530,"keyword":"\u0431\u0440\u0435\u043b\u043e\u043a starline", ...}, ... ]}, {"sku":150030882,"keywords":[ {"k_id":601517,"keyword":"\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 starline", "shows":357,"avg_position":59.2,"keyword_mp_search_link":"https:\/\/www.ozon.ru\/search\/?text=\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 starline&from_global=true", "2025-03-10":-1,"2025-03-11":47,"2025-03-12":50,"2025-03-13":69,"2025-03-14":71,"2025-03-15":59}, {"k_id":601524,"keyword":"\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0442\u0430\u0440\u043b\u0430\u0439\u043d", "shows":724,"avg_position":14.3,"keyword_mp_search_link":"https:\/\/www.ozon.ru\/search\/?text=\u0431\u0440\u0435\u043b\u043e\u043a \u0441\u0442\u0430\u0440\u043b\u0430\u0439\u043d&from_global=true", "2025-03-10":17,"2025-03-11":17,"2025-03-12":13,"2025-03-13":13,"2025-03-14":13,"2025-03-15":13}, ... ``` -------------------------------- ### Get SKU History List using Guzzle HTTP Client (PHP) Source: https://api.salesfinder.ru/docs/index.html PHP example using Guzzle to make a POST request for SKU history. Demonstrates setting headers and query parameters. ```php $client = new \GuzzleHttp\Client(); $response = $client->post( 'https://api.salesfinder.ru/api/2025_09/repricer/get_sku_history_list', [ 'headers' => [ 'Authorization' => 'Bearer v56DgZkedE48cfPba1hV6a3', 'Content-Type' => 'application/json', 'Accept' => 'application/json', ], 'query' => [ 'take'=> '10', 'skip'=> '50', 'filter[logic]'=> 'and', 'filter[filters][0][field]'=> 'date_add', 'filter[filters][0][operator]'=> 'gt', 'filter[filters][0][value]'=> '06-01-2022', 'filter[filters][1][field]'=> 'date_add', 'filter[filters][1][operator]'=> 'gt', 'filter[filters][1][value]'=> '06-13-2022', 'filter[filters][2][field]'=> 'user_key_id', 'filter[filters][2][operator]'=> '=', 'filter[filters][2][value][]'=> '[1, 2, 3]', 'sort[0][field]'=> 'date_add', 'sort[0][dir]'=> 'asc', ], ] ); $body = $response->getBody(); print_r(json_decode((string) $body)); ``` -------------------------------- ### Get Product Competitor List (JavaScript Fetch) Source: https://api.salesfinder.ru/docs/index.html This JavaScript code snippet demonstrates how to construct and send a POST request using the Fetch API to get competitor product SKUs. It includes setting up the URL with query parameters and headers. ```javascript const url = new URL( "https://api.salesfinder.ru/api/2025_09/repricer/get_product_competitor_list" ); const params = { "take": "10", "skip": "50", "filter[filters][0][field]": "date_add", "filter[filters][0][operator]": "gt", "filter[filters][0][value]": "06-01-2022", "filter[filters][1][field]": "date_add", "filter[filters][1][operator]": "gt", "filter[filters][1][value]": "06-13-2022", "filter[filters][2][field]": "user_key_id", "filter[filters][2][operator]": "=", "filter[filters][2][value][]": "[1, 2, 3]", "sort[0][field]": "date_add", "sort[0][dir]": "asc", }; Object.keys(params) .forEach(key => url.searchParams.append(key, params[key])); const headers = { "Authorization": "Bearer ke5Z61f8DVh4bdP3c6avaEg", "Content-Type": "application/json", "Accept": "application/json", }; fetch(url, { method: "POST", headers, }).then(response => response.json()); ``` -------------------------------- ### Example API Response Source: https://api.salesfinder.ru/docs/index.html A successful response (200 OK) containing product SKU data and associated warehouse metrics. ```json { "success": true, "message": "Ok" "data": {[{ "sku":239823072,"stores":[ {"store_id":507,"store":"\u041a\u043e\u043b\u0435\u0434\u0438\u043d\u043e WB", "remains":"0","days":"2","losses":0,"sold":"0","revenue":"0","avg_sold":0,"avg_revenue":0}, {"store_id":117986,"store":"\u041a\u0430\u0437\u0430\u043d\u044c WB", "remains":"1","days":"6","losses":0,"sold":"3","revenue":"525","avg_sold":0.5,"avg_revenue":87.5}, {"store_id":120762,"store":"\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u0441\u0442\u0430\u043b\u044c WB", "remains":"136","days":"6","losses":0,"sold":"3","revenue":"525","avg_sold":0.5,"avg_revenue":87.5}, {"store_id":130744,"store":"\u041a\u0440\u0430\u0441\u043d\u043e\u0434\u0430\u0440 WB", "remains":"44","days":"6","losses":0,"sold":"2","revenue":"350","avg_sold":0.33,"avg_revenue":58.33}, {"store_id":206348,"store":"\u0422\u0443\u043b\u0430 (\u0410\u043b\u0435\u0431\u0438\u043d\u043e) WB", "remains":"143","days":"6","losses":0,"sold":"5","revenue":"875","avg_sold":0.83,"avg_revenue":145.83}]}, {"sku":226639247,"stores":[ {"store_id":507,"store":"\u041a\u043e\u043b\u0435\u0434\u0438\u043d\u043e WB", ...]}, {"sku":43649507,"stores":[ {"store_id":507,"store":"\u041a\u043e\u043b\u0435\u0434\u0438\u043d\u043e WB", ...]} ]} } ``` -------------------------------- ### Retrieve product list via API Source: https://api.salesfinder.ru/docs/index.html Examples for fetching product data using cURL, JavaScript Fetch API, and PHP Guzzle. ```bash curl --request POST \ "https://api.salesfinder.ru/api/2025_09/repricer/get_sku_product_list?take=10&skip=50&filter[logic]=and&filter[filters][0][field]=date_add&filter[filters][0][operator]=gt&filter[filters][0][value]=06-01-2022&filter[filters][1][field]=date_add&filter[filters][1][operator]=gt&filter[filters][1][value]=06-13-2022&filter[filters][2][field]=user_key_id&filter[filters][2][operator]=%3D&filter[filters][2][value][]=%5B1%2C+2%2C+3%5D&sort[0][field]=date_add&sort[0][dir]=asc" \ --header "Authorization: Bearer 68PevD1Ef4kda53V6hacZbg" \ --header "Content-Type: application/json" \ --header "Accept: application/json" ``` ```javascript const url = new URL( "https://api.salesfinder.ru/api/2025_09/repricer/get_sku_product_list" ); const params = { "take": "10", "skip": "50", "filter[logic]": "and", "filter[filters][0][field]": "date_add", "filter[filters][0][operator]": "gt", "filter[filters][0][value]": "06-01-2022", "filter[filters][1][field]": "date_add", "filter[filters][1][operator]": "gt", "filter[filters][1][value]": "06-13-2022", "filter[filters][2][field]": "user_key_id", "filter[filters][2][operator]": "=", "filter[filters][2][value][]": "[1, 2, 3]", "sort[0][field]": "date_add", "sort[0][dir]": "asc", }; Object.keys(params) .forEach(key => url.searchParams.append(key, params[key])); const headers = { "Authorization": "Bearer 68PevD1Ef4kda53V6hacZbg", "Content-Type": "application/json", "Accept": "application/json", }; fetch(url, { method: "POST", headers, }).then(response => response.json()); ``` ```php $client = new \GuzzleHttp\Client(); $response = $client->post( 'https://api.salesfinder.ru/api/2025_09/repricer/get_sku_product_list', [ 'headers' => [ 'Authorization' => 'Bearer 68PevD1Ef4kda53V6hacZbg', 'Content-Type' => 'application/json', 'Accept' => 'application/json', ], 'query' => [ 'take'=> '10', 'skip'=> '50', 'filter[logic]'=> 'and', 'filter[filters][0][field]'=> 'date_add', 'filter[filters][0][operator]'=> 'gt', 'filter[filters][0][value]'=> '06-01-2022', 'filter[filters][1][field]'=> 'date_add', 'filter[filters][1][operator]'=> 'gt', 'filter[filters][1][value]'=> '06-13-2022', 'filter[filters][2][field]'=> 'user_key_id', 'filter[filters][2][operator]'=> '=', 'filter[filters][2][value][]'=> '[1, 2, 3]', 'sort[0][field]'=> 'date_add', 'sort[0][dir]'=> 'asc', ], ] ); $body = $response->getBody(); print_r(json_decode((string) $body)); ``` -------------------------------- ### Get SKU History List using cURL Source: https://api.salesfinder.ru/docs/index.html Example request to fetch SKU history data with filtering and sorting parameters using cURL. Requires an Authorization header. ```bash curl --request POST \ "https://api.salesfinder.ru/api/2025_09/repricer/get_sku_history_list?take=10&skip=50&filter[logic]=and&filter[filters][0][field]=date_add&filter[filters][0][operator]=gt&filter[filters][0][value]=06-01-2022&filter[filters][1][field]=date_add&filter[filters][1][operator]=gt&filter[filters][1][value]=06-13-2022&filter[filters][2][field]=user_key_id&filter[filters][2][operator]=%3D&filter[filters][2][value][]=%5B1%2C+2%2C+3%5D&sort[0][field]=date_add&sort[0][dir]=asc" \ --header "Authorization: Bearer v56DgZkedE48cfPba1hV6a3" \ --header "Content-Type: application/json" \ --header "Accept: application/json" ``` -------------------------------- ### Example Salesfinder API Response (200 OK) Source: https://api.salesfinder.ru/docs/index.html This is an example of a successful JSON response from the Salesfinder API when retrieving category product data. It includes details about items, ranges, and categories. ```json { "data": { "items": [ { "p_id": "222756289", "sku": "222756289", "title": "Адаптер дискового тормоза 20мм для велосипеда", "image": "https://basket-15.wbbasket.ru/vol2227/part222756/222756289/images/c516x688/1.webp", "date": "2024-04-19", "date2": "2025-05-01", "p_c2p": [1060, 7132, 1075583, 1082370], "p_c2p_sort": [503, 1, 451, 1], "position": 1, "_min_pos_idx": "2", "_c_id_path": [9, 81, 1060, 7132], "category": "Спорт / Велоспорт / Велозапчасти / Адаптеры для тормозной системы", "p_reviews": 92, "rating": 4.5, "s_id": 873274, "seller": "L&M SHOP", "s_inn": "581302035510", "s_ogrn": "321583500013471", "s_id_BZ": -1, "b_id": 1541281, "brand": "MaLyuMi Sport", "remains": 66, "price": 551, "price_old": 1325, "mp_url": "https://www.wildberries.ru/catalog/222756289/detail.aspx", "sf_p_url": "https://salesfinder.ru/wb/product/222756289/info/days?date=2025-04-01&date2=2025-04-10&fbs=0", "p_weight": -1, "p_volume": -1, "adv_1": -1, "adv_1q": "-1", "adv_3": -1, "adv_3q": "-1", "seo_1": -1, "seo_1q": "-1", "seo_3": -1, "seo_3q": "-1", "discount": 58, "price_spp": 556, "price_discount_spp": 1, "tot_photo": 8, "warehouse": "wb", "sold": "26", "revenue": "14415", "avg_sold": 2.6, "avg_revenue": 1442, "days": "10", "losses": 0, "keywords": 7, "new_reviews": 6, "categories": 4, "categories_list": [{"position": 503,"c_id_path": [9,81,1060]}, ...] }, ...], "ranges": [{ "total": "13","p_id": ["29600581","327210069"], "position": [1,70], "categories": [1,4], "p_reviews": [0,106], "rating": [0,4.9], "remains": [0,66], "sold": ["0","26"], "revenue": ["0","14415"], "avg_sold": [0,2.6], "avg_revenue": [0,1442], "days": ["1","10"], "losses": [0,0], "price": [182,1473], "price_old": [219,2096], "keywords": [0,7], "new_reviews": [0,6], "p_weight": [0,200], "p_volume": [0,0.588], "adv_1": [0,-1], "adv_3": [0,-1], "seo_1": [0,2], "seo_3": [0,-1], "price_spp": [186,1504], "price_discount_spp": [1,13], "tot_photo": [1,8], "discount": [12,58] }], "categories": [{ "c_id": 9, "c_name": "Спорт", "c_has_product": 0, "c_date2": "2025-04-10", "c_id_path": [9], "c_name_path": "Спорт" }, ...] }, "success": true, "message": "Ok" } ``` -------------------------------- ### Get Product Competitor List (cURL) Source: https://api.salesfinder.ru/docs/index.html Use this cURL command to make a POST request to retrieve competitor product SKUs. Ensure you include the Authorization header with your Bearer token. ```bash curl --request POST \ "https://api.salesfinder.ru/api/2025_09/repricer/get_product_competitor_list?take=10&skip=50&filter[filters][0][field]=date_add&filter[filters][0][operator]=gt&filter[filters][0][value]=06-01-2022&filter[filters][1][field]=date_add&filter[filters][1][operator]=gt&filter[filters][1][value]=06-13-2022&filter[filters][2][field]=user_key_id&filter[filters][2][operator]=%3D&filter[filters][2][value][]=%5B1%2C+2%2C+3%5D&sort[0][field]=date_add&sort[0][dir]=asc" \ --header "Authorization: Bearer ke5Z61f8DVh4bdP3c6avaEg" \ --header "Content-Type: application/json" \ --header "Accept: application/json" ``` -------------------------------- ### Get Product List Source: https://api.salesfinder.ru/docs/index.html Retrieves a list of products from the 'My Stores' section. Requires authentication. ```APIDOC ## POST api/2025_09/repricer/get_product_list ### Description Retrieves a list of products from the 'My Stores' section. ### Method POST ### Endpoint /api/2025_09/repricer/get_product_list ### Parameters #### Query Parameters - **take** (string) - Optional - Maximum number of records in the response. - **skip** (string) - Optional - Offset for data retrieval, used for pagination. - **filter[filters][0][field]** (string) - Optional - Database field for filtering. - **filter[filters][0][operator]** (string) - Optional - Operator for filtering (e.g., 'gt' for greater than). - **filter[filters][0][value]** (string) - Optional - Start date for the range filter, format m-d-y. - **filter[filters][1][field]** (string) - Optional - Database field for filtering. - **filter[filters][1][operator]** (string) - Optional - Operator for filtering (e.g., 'gt' for greater than). - **filter[filters][1][value]** (string) - Optional - End date for the range filter, format m-d-y. - **filter[filters][2][field]** (string) - Optional - Database field for filtering. - **filter[filters][2][operator]** (string) - Optional - Operator for filtering (e.g., 'gt', 'lt', '='). - **filter[filters][2][value][]** (string) - Optional - Store ID. - **sort[0][field]** (string) - Optional - Database field for sorting. - **sort[0][dir]** (string) - Optional - Sorting direction ('asc', 'desc'). ### Request Example ```json { "example": "request body" } ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the request was successful. - **data** (array) - An array of product objects. - **message** (string) - A message describing the result of the operation. #### Error Response (401) - **success** (boolean) - Indicates if the request was successful. - **data** (array) - An empty array. - **message** (string) - Error message, e.g., "Unauthenticated." #### Response Example ```json { "success": false, "data": [], "message": "Unauthenticated." } ``` ``` -------------------------------- ### GET /products Source: https://api.salesfinder.ru/docs/index.html Retrieves analytical data for products based on a list of SKUs for a specified period. ```APIDOC ## GET /products ### Description Retrieves detailed analytical data for products from the Salesfinder system for a specified period. ### Response #### Success Response (200) - **p_id** (string) - Id товара - **sku** (string) - Sku товара - **title** (string) - Название товара - **image** (string) - - - **date** (string) - Дата первого упоминания - **date2** (string) - Дата последнего упоминания - **p_c2p** (string[]) - - - **p_c2p_sort** (string[]) - - - **position** (integer) - Позиция товара - **_min_pos_idx** (string) - - - **_c_id_path** (string[]) - - - **categories_list** (string[]) - - - **category** (string) - Категория - **categories** (integer) - Кол-во категориё - **p_reviews** (integer) - Кол-во отзывов всего - **new_reviews** (integer) - Кол-во отзывов за период - **rating** (number) - Рейтинг - **s_id** (string) - Id продавца - **seller** (string) - Название продавца - **s_inn** (string) - ИНН продавца - **s_ogrn** (string) - ОГРН продавца - **s_id_BZ** (string) - Продает на двух площадках Ozon и WB - **b_id** (string) - Id бренда - **brand** (string) - Название бренда - **remains** (integer) - Кол-во продаж - **price** (integer) - Цена (WB:Цена с WB кошельком, OZON:Цена) - **p_delivered_percent** (integer) - Процент выкупа (только OZON) - **price_old** (integer) - Старая цена - **mp_url** (string) - Ссылка на товар в МП - **sf_p_url** (string) - Ссылка на товар в системе Salesfinder - **p_weight** (string) - Вес товара, г - **p_volume** (string) - Объем товара, л - **adv_1** (integer) - Кол-во запросов в Директ - **adv_1q** (string) - Платный трафик Яндекс (да/нет) - **adv_3** (integer) - - - **adv_3q** (string) - - - **seo_1** (integer) - Кол-во запросов Яндекс - **seo_1q** (string) - SEO выдача Яндекс (да/нет) - **seo_3** (integer) - Кол-во запросов Google - **seo_3q** (string) - SEO выдача Google (да/нет) - **tot_photo** (integer) - Кол-во фото (для WB) - **warehouse** (string) - Наименование склада (WB: wb/wb+fbs; OZON: FBO/FBO+FBS) - **sold** (integer) - Продажи за период - **avg_sold** (number) - Средние продажи за день - **revenue** (integer) - Выручка за период - **avg_revenue** (number) - Средняя выручка за день - **days** (string) - Дней в наличии - **losses** (integer) - Упущенная выручка - **keywords** (integer) - Кол-во запросов ``` -------------------------------- ### Get User Keys (Stores) Source: https://api.salesfinder.ru/docs/index.html Use this method to retrieve a list of connected tokens (stores) and their associated data. Requires authentication. ```bash curl --request POST \ "https://api.salesfinder.ru/api/2025_09/repricer/get_user_keys" \ --header "Authorization: Bearer Egef6d3ahDv45bkPa81ZV6c" \ --header "Content-Type: application/json" \ --header "Accept: application/json" ``` ```javascript const url = new URL( "https://api.salesfinder.ru/api/2025_09/repricer/get_user_keys" ); const headers = { "Authorization": "Bearer Egef6d3ahDv45bkPa81ZV6c", "Content-Type": "application/json", "Accept": "application/json", }; fetch(url, { method: "POST", headers, }).then(response => response.json()); ``` ```php $client = new \GuzzleHttp\Client(); $response = $client->post( 'https://api.salesfinder.ru/api/2025_09/repricer/get_user_keys', [ 'headers' => [ 'Authorization' => 'Bearer Egef6d3ahDv45bkPa81ZV6c', 'Content-Type' => 'application/json', 'Accept' => 'application/json', ], ] ); $body = $response->getBody(); print_r(json_decode((string) $body)); ``` -------------------------------- ### PHP Request Example for Salesfinder API Source: https://api.salesfinder.ru/docs/index.html This PHP code demonstrates how to construct and send a request to the Salesfinder API to retrieve category product data. It includes setting up request parameters and handling the response. ```php [ 'date' => [ 'min' => 'quia', 'max' => 'porro', ], 'date2' => [ 'min' => 'reiciendis', 'max' => 'porro', ], 'adv_1q' => 'odio', 'adv_3q' => 'qui', 'seo_1q' => 'earum', 'seo_3q' => 'dolores', ], ]; $request = new Request('GET', 'api/2025_09/ext-analitic/get_category_product'); $response = $client->send($request, $options); $body = $response->getBody(); print_r(json_decode((string) $body)); ?> ``` -------------------------------- ### Example Response (401 Unauthorized) Source: https://api.salesfinder.ru/docs/index.html Illustrates the structure of an unauthorized response, including headers and a JSON body indicating the authentication failure. ```http cache-control: no-cache, private content-type: application/json { "success": false, "data": [], "message": "Unauthenticated." } ``` -------------------------------- ### Get Product List using JavaScript Fetch API Source: https://api.salesfinder.ru/docs/index.html This JavaScript code demonstrates how to construct the URL with query parameters and set the necessary headers for a POST request to the get_product_list endpoint using the Fetch API. It handles pagination, filtering, and sorting. ```javascript const url = new URL( "https://api.salesfinder.ru/api/2025_09/repricer/get_product_list" ); const params = { "take": "10", "skip": "50", "filter[filters][0][field]": "date_add", "filter[filters][0][operator]": "gt", "filter[filters][0][value]": "06-01-2022", "filter[filters][1][field]": "date_add", "filter[filters][1][operator]": "gt", "filter[filters][1][value]": "06-13-2022", "filter[filters][2][field]": "user_key_id", "filter[filters][2][operator]": "=", "filter[filters][2][value][]": "[1, 2, 3]", "sort[0][field]": "date_add", "sort[0][dir]": "asc", }; Object.keys(params) .forEach(key => url.searchParams.append(key, params[key])); const headers = { "Authorization": "Bearer VZb661cdDfghE5aakvP843e", "Content-Type": "application/json", "Accept": "application/json", }; fetch(url, { method: "POST", headers, }).then(response => response.json()); ``` -------------------------------- ### Get Product List using cURL Source: https://api.salesfinder.ru/docs/index.html Use this cURL command to make a POST request to the get_product_list endpoint. Ensure you include the Authorization header with your Bearer token. The parameters allow for pagination, filtering by date and user ID, and sorting. ```curl curl --request POST \ "https://api.salesfinder.ru/api/2025_09/repricer/get_product_list?take=10&skip=50&filter[filters][0][field]=date_add&filter[filters][0][operator]=gt&filter[filters][0][value]=06-01-2022&filter[filters][1][field]=date_add&filter[filters][1][operator]=gt&filter[filters][1][value]=06-13-2022&filter[filters][2][field]=user_key_id&filter[filters][2][operator]=%3D&filter[filters][2][value][]=%5B1%2C+2%2C+3%5D&sort[0][field]=date_add&sort[0][dir]=asc" \ --header "Authorization: Bearer VZb661cdDfghE5aakvP843e" \ --header "Content-Type: application/json" \ --header "Accept: application/json" ``` -------------------------------- ### Retrieve Product Store Data Source: https://api.salesfinder.ru/docs/index.html Examples of how to request product store data using cURL, JavaScript (Fetch API), and PHP (Guzzle). Authentication via Bearer token is required. ```bash curl --request POST \ "https://api.salesfinder.ru/api/2025_09/product/stores" \ --header "Authorization: Bearer aP4Z8dcaE3he15Vvk6fgb6D" \ --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ \"mp\": \"wb\", \"date\": \"2025-03-10\", \"date2\": \"2025-03-15\", \"sku\": [ 417722035, 243806943, 245096303 ], \"fbs\": 1 }" ``` ```javascript const url = new URL( "https://api.salesfinder.ru/api/2025_09/product/stores" ); const headers = { "Authorization": "Bearer aP4Z8dcaE3he15Vvk6fgb6D", "Content-Type": "application/json", "Accept": "application/json", }; let body = { "mp": "wb", "date": "2025-03-10", "date2": "2025-03-15", "sku": [ 417722035, 243806943, 245096303 ], "fbs": 1 }; fetch(url, { method: "POST", headers, body: JSON.stringify(body), }).then(response => response.json()); ``` ```php $client = new \GuzzleHttp\Client(); $response = $client->post( 'https://api.salesfinder.ru/api/2025_09/product/stores', [ 'headers' => [ 'Authorization' => 'Bearer aP4Z8dcaE3he15Vvk6fgb6D', 'Content-Type' => 'application/json', 'Accept' => 'application/json', ], 'json' => [ 'mp' => 'wb', 'date' => '2025-03-10', 'date2' => '2025-03-15', 'sku' => [ 417722035, 243806943, 245096303, ], 'fbs' => 1, ], ] ); $body = $response->getBody(); print_r(json_decode((string) $body)); ``` -------------------------------- ### POST Request to Product Categories API (JavaScript) Source: https://api.salesfinder.ru/docs/index.html Example of making a POST request to the product categories endpoint using JavaScript's fetch API. The request includes necessary headers and a JSON body with marketplace, date range, SKUs, and FBS flag. ```javascript const url = new URL( "https://api.salesfinder.ru/api/2025_09/product/categories" ); const headers = { "Authorization": "Bearer 6bPgaEc5dVfhvZ84Da1k63e", "Content-Type": "application/json", "Accept": "application/json", }; let body = { "mp": "ozon", "date": "2025-03-10", "date2": "2025-03-15", "sku": [ 573373353, 1508721402, 150030882 ], "fbs": 1 }; fetch(url, { method: "POST", headers, body: JSON.stringify(body), }).then(response => response.json()); ``` -------------------------------- ### Get Product Competitor List (PHP Guzzle) Source: https://api.salesfinder.ru/docs/index.html This PHP code uses the Guzzle HTTP client to send a POST request for competitor product SKUs. It demonstrates setting headers and query parameters for the API call. ```php $client = new GuzzleHttp Client(); $response = $client->post( 'https://api.salesfinder.ru/api/2025_09/repricer/get_product_competitor_list', [ 'headers' => [ 'Authorization' => 'Bearer ke5Z61f8DVh4bdP3c6avaEg', 'Content-Type' => 'application/json', 'Accept' => 'application/json', ], 'query' => [ 'take' => '10', 'skip' => '50', 'filter[filters][0][field]' => 'date_add', 'filter[filters][0][operator]' => 'gt', 'filter[filters][0][value]' => '06-01-2022', 'filter[filters][1][field]' => 'date_add', 'filter[filters][1][operator]' => 'gt', 'filter[filters][1][value]' => '06-13-2022', 'filter[filters][2][field]' => 'user_key_id', 'filter[filters][2][operator]' => '=', 'filter[filters][2][value][]' => '[1, 2, 3]', 'sort[0][field]' => 'date_add', 'sort[0][dir]' => 'asc', ], ] ); $body = $response->getBody(); print_r(json_decode((string) $body)); ``` -------------------------------- ### Example Success Response for Category Report Source: https://api.salesfinder.ru/docs/index.html This is an example of a successful response when creating a category report. It includes a success status, the report ID, and a message indicating data collection is in progress. ```json { "success": true, "data": { "reportId": "ef046e6b943e2086123e6c69676de1ff24eb6772" }, "message": "Выполняется сбор данных." } ``` -------------------------------- ### POST Request for Product Static Data (JavaScript) Source: https://api.salesfinder.ru/docs/index.html This JavaScript code demonstrates how to fetch static product data using the Fetch API. It constructs the URL, sets the necessary headers, and sends a POST request with the product details in the JSON body. ```javascript const url = new URL( "https://api.salesfinder.ru/api/2025_09/product/info" ); const headers = { "Authorization": "Bearer Zv1ae6a6VbkDfgPE43c8hd5", "Content-Type": "application/json", "Accept": "application/json", }; let body = { "mp": "ozon", "sku": [ 573373353, 1508721402, 150030882 ], "date": "2025-03-10", "date2": "2025-03-15", "fbs": 1 }; fetch(url, { method: "POST", headers, body: JSON.stringify(body), }).then(response => response.json()); ``` -------------------------------- ### Request Product Keywords using JavaScript Fetch API Source: https://api.salesfinder.ru/docs/index.html This JavaScript code demonstrates how to make a POST request to the Product Keywords API using the Fetch API. It sets up the URL, headers, and request body, then processes the JSON response. ```javascript const url = new URL( "https://api.salesfinder.ru/api/2025_09/product/keywords" ); const headers = { "Authorization": "Bearer 1dg3Db5h8vka6Z6PecV4fEa", "Content-Type": "application/json", "Accept": "application/json", }; let body = { "mp": "ozon", "date": "2025-03-10", "date2": "2025-03-15", "sku": [ 573373353, 1508721402, 150030882 ], "fbs": 1 }; fetch(url, { method: "POST", headers, body: JSON.stringify(body), }).then(response => response.json()); ``` -------------------------------- ### Logout Error Response Source: https://api.salesfinder.ru/docs/index.html Example of a 401 Unauthorized response for logout. ```json { "success": false, "data": [], "message": "Unauthenticated." } ``` -------------------------------- ### Login Error Response Source: https://api.salesfinder.ru/docs/index.html Example of a 401 Unauthorized response structure. ```json { "success": false, "message": "Unauthorised.", "data": [], "details": { "error": "Unauthorised" } } ``` -------------------------------- ### POST Request for Product Static Data (cURL) Source: https://api.salesfinder.ru/docs/index.html Use this cURL command to send a POST request to retrieve static product information. Ensure to include your Bearer token in the Authorization header and provide the marketplace, SKUs, and date range in the request body. ```bash curl --request POST \ "https://api.salesfinder.ru/api/2025_09/product/info" \ --header "Authorization: Bearer Zv1ae6a6VbkDfgPE43c8hd5" \ --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ \"mp\": \"ozon\", \"sku\": [ 573373353, 1508721402, 150030882 ], \"date\": \"2025-03-10\", \"date2\": \"2025-03-15\", \"fbs\": 1 }" ```