NAV -image
bash javascript php

Введение

SalesFinder API — подключите возможности платформы к вашим продуктам за минуты.

Единый интерфейс открывает доступ к авторизации, данным вашего аккаунта и ключевым инструментам SalesFinder — от ежедневных операций до масштабных интеграций. Встраивайте функциональность прямо в CRM, бэкенд, внутренние решения ваших компаний и автоматизируйте рабочие процессы.

Почему это удобно:

- Быстрый старт и понятные форматы запросов/ответов (JSON, HTTPS).
- Надёжная авторизация и защищённый доступ к данным аккаунта.
- Гибкая интеграция инструментов сервиса в ваши сценарии.

Обратите внимание: лимиты использования инструментов привязаны к вашему аккаунту. Для стабильной работы сервиса соблюдайте частоту вызовов — не чаще одного запроса каждые 5 секунд на аккаунт.
Подключайтесь к SalesFinder API и превращайте ваши идеи в готовые решения — быстрее, безопаснее и масштабируемее.

Основной домен

https://api.salesfinder.ru

Запросы на аутентификацию

Для использования данного API необходимо пройти аутентификацию Authorization и получить токен "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU".

Все методы, требующие аутентификации, будут отмечены как requires authentication Само поле имеет название Authorization header.

Перед использованием Api обязательно пройти регистрацию в самом сервисе. Вы можете получить свой токен, открыв панель управления Авторизация пользователей Внешнего Апи, использовав метод Login.

Авторизация пользователей Внешнего Апи

Авторизация пользователей внешнего Апи. Метод позволяет пройти авторизацию с помощью вашего email и пароля от сервиса. После авторизации вы получите токен, который далее будет необходимо использовать в каждом последующем методе.

Login

Метод позволяет пройти авторизацию пользователю. Для авторизации используйте E-mail и пароль от аккаунта в сервисе.

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/auth/login" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"email":"test@mail.ru","password":"q12345"}'
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/auth/login"
);

let headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "test@mail.ru",
    "password": "q12345"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/auth/login',
    [
        'headers' => [
            'Accept' => 'application/json',
        ],
        'json' => [
            'email' => 'test@mail.ru',
            'password' => 'q12345',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "message": "Unauthorised.",
    "data": [],
    "details": {
        "error": "Unauthorised"
    }
}

Request      

POST api/2025_09/auth/login

Body Parameters

email  required optional  
Е-майл.

password  required optional  
string Пароль.

Logout

Метод позволяет осуществить выход из аккаунта пользователя.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/auth/logout" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/auth/logout"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/auth/logout',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/auth/logout

Profile

Метод для получения данных авторизованного пользователя. Таких как: user_id, e-mail адрес и tarif_id.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/auth/profile" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/auth/profile"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/auth/profile',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/auth/profile

Refresh

Метод позволяет обновить токен авторизованного пользователя.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/auth/refresh" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/auth/refresh"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/auth/refresh',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/auth/refresh

Репрайсер Внешнеe Апи

Этот раздел внешнего Апи позволяет управлять всеми настройками репрайсера. А именно: Создание сценариев, их редактирование и получения данных по его работе.

User Keys List

Метод позволяет получить список подключенных токенов (магазинов) и данные по ним.

requires authentication

Список данных: id токена, маркетплейс, название магазина, Api токен маркетплейса и client id.

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/get_user_keys" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/get_user_keys"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/get_user_keys',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/get_user_keys

List script type

Метод позволяет получить список типов сценария и id типа сценария

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/get_script_type" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/get_script_type"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/get_script_type',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/get_script_type

List

Метод позволяет получить список созданных сценариев репрайсера и данные по ним.

requires authentication

Список данных: id сценария, название сценария, статус, название магазина, id типа сценария, кол-во проверок в сутки и название типа сценария.

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/get_script_list?take=10&skip=50&filter[filters][0][field]=last_change_date&filter[filters][0][operator]=gt&filter[filters][0][value]=06-01-2022&filter[filters][1][field]=last_change_date&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]=last_change_date&sort[0][dir]=asc" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/get_script_list"
);

let params = {
    "take": "10",
    "skip": "50",
    "filter[filters][0][field]": "last_change_date",
    "filter[filters][0][operator]": "gt",
    "filter[filters][0][value]": "06-01-2022",
    "filter[filters][1][field]": "last_change_date",
    "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]": "last_change_date",
    "sort[0][dir]": "asc",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/get_script_list',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'query' => [
            'take'=> '10',
            'skip'=> '50',
            'filter[filters][0][field]'=> 'last_change_date',
            'filter[filters][0][operator]'=> 'gt',
            'filter[filters][0][value]'=> '06-01-2022',
            'filter[filters][1][field]'=> 'last_change_date',
            '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]'=> 'last_change_date',
            'sort[0][dir]'=> 'asc',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/get_script_list

Query Parameters

take  string optional  
Максимальное количество записей в ответе.

skip  string optional  
Смещение выборки, для пагинации

filter[filters][0][field]  string optional  
Поле БД

filter[filters][0][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][0][value]  string optional  
Дата начала диапазона, формат m-d-y

filter[filters][1][field]  string optional  
Поле БД

filter[filters][1][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][1][value]  string optional  
Дата конца диапазона, формат m-d-y

filter[filters][2][field]  string optional  
Поле БД

filter[filters][2][operator]  string optional  
Больше (gt), меньше (lt) или равно (=)

filter[filters][2][value][]  string optional  
Id магазина

sort[0][field]  string optional  
Поле БД

sort[0][dir]  string optional  
Режим сортировки (asc, desc)

Show

Метод позволяет получить данные по конкретному сценарию. Для получения требуется ввести id сценария.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/get_script" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":1}'
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/get_script"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": 1
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/get_script',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'json' => [
            'id' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/get_script

Body Parameters

id  integer  
Id сценария.

Create compensation

Метод позволяет создать сценарий Компенсация СПП и настроить его параметры: Id типа сценария, кол-во проверок цены, с учетом скидки кошелька, контроль остатков, минимальный остаток, Sku товара

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/create_compensation" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439","user_key_id":1,"script_type_id":1,"launches":24,"wallet_discount":false,"keep_discount":false,"track_remainder":true,"remainder_quantity":10,"remainder_percent":300,"track_promotions_off":false,"sku_range_price_list":[{"nm_id":"dolorum","target_price":1458.54641118},[]]}'
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/create_compensation"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439",
    "user_key_id": 1,
    "script_type_id": 1,
    "launches": 24,
    "wallet_discount": false,
    "keep_discount": false,
    "track_remainder": true,
    "remainder_quantity": 10,
    "remainder_percent": 300,
    "track_promotions_off": false,
    "sku_range_price_list": [
        {
            "nm_id": "dolorum",
            "target_price": 1458.54641118
        },
        []
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/create_compensation',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Стандартный',
            'user_key_id' => 1,
            'script_type_id' => 1,
            'launches' => 24,
            'wallet_discount' => false,
            'keep_discount' => false,
            'track_remainder' => true,
            'remainder_quantity' => 10,
            'remainder_percent' => 300,
            'track_promotions_off' => false,
            'sku_range_price_list' => [
                [
                    'nm_id' => 'dolorum',
                    'target_price' => 1458.54641118,
                ],
                [],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/create_compensation

Body Parameters

name  string  
Название сценария.

user_key_id  integer  
Id магазина.

script_type_id  integer  
Id сценария.

launches  integer optional  
Количество запусков в сценариях СПП.

wallet_discount  boolean optional  
Скидка с учётом кошелька.

keep_discount  boolean optional  
Сохранять скидку продавца. Только для WB.

track_remainder  boolean optional  
Статус отслеживания остатка.

remainder_quantity  integer optional  
Отслеживаемое значение остатка.

remainder_percent  integer optional  
Процент увеличения цены.

track_promotions_off  boolean optional  
Удаление из акций. Только для OZ.

sku_range_price_list  object[]  
Список товаров и их предельных значений цен

sku_range_price_list[].nm_id  required optional  
integer Id товара

sku_range_price_list[].target_price  number optional  
ожидаемая цена товара

Update compensation

Метод позволяет изменить настройки сценария Компенсация СПП.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/update_compensation" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":1,"name":"\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439","active":false,"user_key_id":1,"script_type_id":1,"launches":24,"wallet_discount":false,"keep_discount":false,"track_remainder":true,"sku_range_price_list":[{"nm_id":9,"target_price":1837.65567},{"nm_id":9}],"remainder_quantity":10,"remainder_percent":300,"track_promotions_off":false}'
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/update_compensation"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": 1,
    "name": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439",
    "active": false,
    "user_key_id": 1,
    "script_type_id": 1,
    "launches": 24,
    "wallet_discount": false,
    "keep_discount": false,
    "track_remainder": true,
    "sku_range_price_list": [
        {
            "nm_id": 9,
            "target_price": 1837.65567
        },
        {
            "nm_id": 9
        }
    ],
    "remainder_quantity": 10,
    "remainder_percent": 300,
    "track_promotions_off": false
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/update_compensation',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'json' => [
            'id' => 1,
            'name' => 'Стандартный',
            'active' => false,
            'user_key_id' => 1,
            'script_type_id' => 1,
            'launches' => 24,
            'wallet_discount' => false,
            'keep_discount' => false,
            'track_remainder' => true,
            'sku_range_price_list' => [
                [
                    'nm_id' => 9,
                    'target_price' => 1837.65567,
                ],
                [
                    'nm_id' => 9,
                ],
            ],
            'remainder_quantity' => 10,
            'remainder_percent' => 300,
            'track_promotions_off' => false,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/update_compensation

Body Parameters

id  integer  
Id сценария.

name  string optional  
Название сценария.

active  boolean optional  
Статус сценария.

user_key_id  integer optional  
Id магазина.

script_type_id  integer optional  
Id сценария.

launches  integer optional  
Количество запусков в сценариях СПП.

wallet_discount  boolean optional  
Скидка с учётом кошелька.

keep_discount  boolean optional  
Сохранять скидку продавца. Только для WB.

track_remainder  boolean optional  
Статус отслеживания остатка.

sku_range_price_list  object[] optional  
Список товаров и их предельных значений цен

sku_range_price_list[].nm_id  integer optional  
Id товара

sku_range_price_list[].target_price  number optional  
ожидаемая цена товара

remainder_quantity  integer optional  
Отслеживаемое значение остатка.

remainder_percent  integer optional  
Процент увеличения цены.

track_promotions_off  boolean optional  
Удаление из акций. Только для OZ.

Create competitor spp

Метод позволяет создать сценарий Конкуренты СПП и настроить его параметры: Id типа сценария, кол-во проверок цены, с учетом скидки кошелька, контроль остатков, минимальный остаток, Sku товара.

requires authentication

Оператор условия. Больше/меньше/средняя цена конкурента. Команды: up/down/avg. Значение условия. Насколько больше или меньше. Измерение условия. В процентах или рублях. Команды: %/руб

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/create_competitor_spp" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"name":"\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439","user_key_id":1,"script_type_id":1,"launches":24,"wallet_discount":false,"keep_discount":false,"track_remainder":true,"remainder_quantity":10,"remainder_percent":300,"track_promotions_off":false,"sku_range_price_list":[{"nm_id":"et","min_price":9089824.98862,"max_price":3269,"competitor_list":[202023476,202022186]},{"min_price":9089824.98862,"competitor_list":[202023476,202022186]}],"script_value":[{"expression":{"operation":"id","value":14,"unit":"dicta"}},{"expression":[]}]}'
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/create_competitor_spp"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439",
    "user_key_id": 1,
    "script_type_id": 1,
    "launches": 24,
    "wallet_discount": false,
    "keep_discount": false,
    "track_remainder": true,
    "remainder_quantity": 10,
    "remainder_percent": 300,
    "track_promotions_off": false,
    "sku_range_price_list": [
        {
            "nm_id": "et",
            "min_price": 9089824.98862,
            "max_price": 3269,
            "competitor_list": [
                202023476,
                202022186
            ]
        },
        {
            "min_price": 9089824.98862,
            "competitor_list": [
                202023476,
                202022186
            ]
        }
    ],
    "script_value": [
        {
            "expression": {
                "operation": "id",
                "value": 14,
                "unit": "dicta"
            }
        },
        {
            "expression": []
        }
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/create_competitor_spp',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'json' => [
            'name' => 'Стандартный',
            'user_key_id' => 1,
            'script_type_id' => 1,
            'launches' => 24,
            'wallet_discount' => false,
            'keep_discount' => false,
            'track_remainder' => true,
            'remainder_quantity' => 10,
            'remainder_percent' => 300,
            'track_promotions_off' => false,
            'sku_range_price_list' => [
                [
                    'nm_id' => 'et',
                    'min_price' => 9089824.98862,
                    'max_price' => 3269.0,
                    'competitor_list' => [
                        202023476,
                        202022186,
                    ],
                ],
                [
                    'min_price' => 9089824.98862,
                    'competitor_list' => [
                        202023476,
                        202022186,
                    ],
                ],
            ],
            'script_value' => [
                [
                    'expression' => [
                        'operation' => 'id',
                        'value' => 14,
                        'unit' => 'dicta',
                    ],
                ],
                [
                    'expression' => [],
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/create_competitor_spp

Body Parameters

name  string  
Название сценария.

user_key_id  integer  
Id магазина.

script_type_id  integer  
Id сценария.

launches  integer optional  
Количество запусков в сценариях СПП.

wallet_discount  boolean optional  
Скидка с учётом кошелька.

keep_discount  boolean optional  
Сохранять скидку продавца. Только для WB.

track_remainder  boolean optional  
Статус отслеживания остатка.

remainder_quantity  integer optional  
Отслеживаемое значение остатка.

remainder_percent  integer optional  
Процент увеличения цены.

track_promotions_off  boolean optional  
Удаление из акций. Только для OZ.

sku_range_price_list  object[]  
Список товаров и их предельных значений цен

sku_range_price_list[].nm_id  required optional  
integer Id товара

sku_range_price_list[].min_price  number optional  
минимальная цена товара

sku_range_price_list[].max_price  number optional  
минимальная цена товара

sku_range_price_list[].competitor_list  integer[] optional  
Список Sku конкурентов.

script_value  object[] optional  
Выражение сценария

script_value[].expression  object optional  
Условие выполнения скрипта

script_value[].expression.operation  string optional  
Оператор условия. Example >

script_value[].expression.value  integer optional  
Значение условия. Example 10

script_value[].expression.unit  Единица optional  
измерения условия. Example %

Update competitor spp

Метод позволяет изменить настройки сценария Конкуренты СПП.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/update_competitor_spp" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":1,"name":"\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439","active":false,"user_key_id":1,"script_type_id":1,"launches":24,"wallet_discount":false,"keep_discount":false,"track_remainder":true,"remainder_quantity":10,"remainder_percent":300,"track_promotions_off":false,"sku_range_price_list":[{"nm_id":1,"min_price":582610.4066,"max_price":188220.8,"competitor_list":[202023476,202022186]},{"max_price":188220.8}],"script_value":[{"expression":{"operation":"quam","value":9,"unit":"repudiandae"}},{"expression":[]}]}'
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/update_competitor_spp"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": 1,
    "name": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439",
    "active": false,
    "user_key_id": 1,
    "script_type_id": 1,
    "launches": 24,
    "wallet_discount": false,
    "keep_discount": false,
    "track_remainder": true,
    "remainder_quantity": 10,
    "remainder_percent": 300,
    "track_promotions_off": false,
    "sku_range_price_list": [
        {
            "nm_id": 1,
            "min_price": 582610.4066,
            "max_price": 188220.8,
            "competitor_list": [
                202023476,
                202022186
            ]
        },
        {
            "max_price": 188220.8
        }
    ],
    "script_value": [
        {
            "expression": {
                "operation": "quam",
                "value": 9,
                "unit": "repudiandae"
            }
        },
        {
            "expression": []
        }
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/update_competitor_spp',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'json' => [
            'id' => 1,
            'name' => 'Стандартный',
            'active' => false,
            'user_key_id' => 1,
            'script_type_id' => 1,
            'launches' => 24,
            'wallet_discount' => false,
            'keep_discount' => false,
            'track_remainder' => true,
            'remainder_quantity' => 10,
            'remainder_percent' => 300,
            'track_promotions_off' => false,
            'sku_range_price_list' => [
                [
                    'nm_id' => 1,
                    'min_price' => 582610.4066,
                    'max_price' => 188220.8,
                    'competitor_list' => [
                        202023476,
                        202022186,
                    ],
                ],
                [
                    'max_price' => 188220.8,
                ],
            ],
            'script_value' => [
                [
                    'expression' => [
                        'operation' => 'quam',
                        'value' => 9,
                        'unit' => 'repudiandae',
                    ],
                ],
                [
                    'expression' => [],
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/update_competitor_spp

Body Parameters

id  integer  
Id сценария.

name  string optional  
Название сценария.

active  boolean optional  
Статус сценария.

user_key_id  integer optional  
Id магазина.

script_type_id  integer optional  
Id сценария.

launches  integer optional  
Количество запусков в сценариях СПП.

wallet_discount  boolean optional  
Скидка с учётом кошелька.

keep_discount  boolean optional  
Сохранять скидку продавца. Только для WB.

track_remainder  boolean optional  
Статус отслеживания остатка.

remainder_quantity  integer optional  
Отслеживаемое значение остатка.

remainder_percent  integer optional  
Процент увеличения цены.

track_promotions_off  boolean optional  
Удаление из акций. Только для OZ.

sku_range_price_list  object[] optional  
Список товаров и их предельных значений цен

sku_range_price_list[].nm_id  integer optional  
Id товара

sku_range_price_list[].min_price  number optional  
минимальная цена товара

sku_range_price_list[].max_price  number optional  
минимальная цена товара

sku_range_price_list[].competitor_list  integer[] optional  
Список Sku конкурентов.

script_value  object[] optional  
Выражение сценария

script_value[].expression  object optional  
Условие выполнения скрипта

script_value[].expression.operation  string optional  
Оператор условия. Example >

script_value[].expression.value  integer optional  
Значение условия. Example 10

script_value[].expression.unit  Единица optional  
измерения условия. Example %

Delete

Метод позволяет удалить сценарий репрайсера. Для удаления необходимо указать id сценария.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/destroy_script" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":1}'
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/destroy_script"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": 1
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/destroy_script',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'json' => [
            'id' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/destroy_script

Body Parameters

id  integer  
Id сценария.

Sku history list price

Метод позволяет получить данные из лога событий репрайсера. Допускается получение данных с фильтрацией и без

requires authentication

Example request:

curl -X 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" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/get_sku_history_list"
);

let 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]));

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/get_sku_history_list',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            '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));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/get_sku_history_list

Query Parameters

take  string optional  
Максимальное количество записей в ответе.

skip  string optional  
Смещение выборки, для пагинации

filter[logic]  string optional  
Тип условия (and или or)

filter[filters][0][field]  string optional  
Поле БД

filter[filters][0][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][0][value]  string optional  
Дата начала диапазона, формат m-d-y

filter[filters][1][field]  string optional  
Поле БД

filter[filters][1][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][1][value]  string optional  
Дата конца диапазона, формат m-d-y

filter[filters][2][field]  string optional  
Поле БД

filter[filters][2][operator]  string optional  
Больше (gt), меньше (lt) или равно (=)

filter[filters][2][value][]  string optional  
Id магазина

sort[0][field]  string optional  
Поле БД

sort[0][dir]  string optional  
Режим сортировки (asc, desc)

Sku product list price

Метод позволяет получить список товаров из вашего магазина.

requires authentication

Example request:

curl -X 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" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/get_sku_product_list"
);

let 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]));

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/get_sku_product_list',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            '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));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/get_sku_product_list

Query Parameters

take  string optional  
Максимальное количество записей в ответе.

skip  string optional  
Смещение выборки, для пагинации

filter[logic]  string optional  
Тип условия (and или or)

filter[filters][0][field]  string optional  
Поле БД

filter[filters][0][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][0][value]  string optional  
Дата начала диапазона, формат m-d-y

filter[filters][1][field]  string optional  
Поле БД

filter[filters][1][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][1][value]  string optional  
Дата конца диапазона, формат m-d-y

filter[filters][2][field]  string optional  
Поле БД

filter[filters][2][operator]  string optional  
Больше (gt), меньше (lt) или равно (=)

filter[filters][2][value][]  string optional  
Id магазина

sort[0][field]  string optional  
Поле БД

sort[0][dir]  string optional  
Режим сортировки (asc, desc)

Scu product dynamic price list

Метод позволяет получить список товаров под управлением репрайсера.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/get_sku_dynamic_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" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/get_sku_dynamic_list"
);

let 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]));

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/get_sku_dynamic_list',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            '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));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/get_sku_dynamic_list

Query Parameters

take  string optional  
Максимальное количество записей в ответе.

skip  string optional  
Смещение выборки, для пагинации

filter[logic]  string optional  
Тип условия (and или or)

filter[filters][0][field]  string optional  
Поле БД

filter[filters][0][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][0][value]  string optional  
Дата начала диапазона, формат m-d-y

filter[filters][1][field]  string optional  
Поле БД

filter[filters][1][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][1][value]  string optional  
Дата конца диапазона, формат m-d-y

filter[filters][2][field]  string optional  
Поле БД

filter[filters][2][operator]  string optional  
Больше (gt), меньше (lt) или равно (=)

filter[filters][2][value][]  string optional  
Id магазина

sort[0][field]  string optional  
Поле БД

sort[0][dir]  string optional  
Режим сортировки (asc, desc)

Product list

Метод позволяет получить список товаров из раздела “Мои магазины”

requires authentication

Example request:

curl -X 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" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/get_product_list"
);

let 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]));

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/get_product_list',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            '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 response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/get_product_list

Query Parameters

take  string optional  
Максимальное количество записей в ответе.

skip  string optional  
Смещение выборки, для пагинации

filter[filters][0][field]  string optional  
Поле БД

filter[filters][0][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][0][value]  string optional  
Дата начала диапазона, формат m-d-y

filter[filters][1][field]  string optional  
Поле БД

filter[filters][1][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][1][value]  string optional  
Дата конца диапазона, формат m-d-y

filter[filters][2][field]  string optional  
Поле БД

filter[filters][2][operator]  string optional  
Больше (gt), меньше (lt) или равно (=)

filter[filters][2][value][]  string optional  
Id магазина

sort[0][field]  string optional  
Поле БД

sort[0][dir]  string optional  
Режим сортировки (asc, desc)

Product Competitor list

Метод позволяет получить список sku товаров конкурентов из сценария Конкуренты СПП.

requires authentication

Example request:

curl -X 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" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/get_product_competitor_list"
);

let 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]));

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/get_product_competitor_list',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            '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 response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/get_product_competitor_list

Query Parameters

take  string optional  
Максимальное количество записей в ответе.

skip  string optional  
Смещение выборки, для пагинации

filter[filters][0][field]  string optional  
Поле БД

filter[filters][0][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][0][value]  string optional  
Дата начала диапазона, формат m-d-y

filter[filters][1][field]  string optional  
Поле БД

filter[filters][1][operator]  string optional  
Больше (gt) или меньше (lt)

filter[filters][1][value]  string optional  
Дата конца диапазона, формат m-d-y

filter[filters][2][field]  string optional  
Поле БД

filter[filters][2][operator]  string optional  
Больше (gt), меньше (lt) или равно (=)

filter[filters][2][value][]  string optional  
Id магазина

sort[0][field]  string optional  
Поле БД

sort[0][dir]  string optional  
Режим сортировки (asc, desc)

Show

Позволяет получить информацию по конкретному товару, который находится под управлением репрайсера.

requires authentication

Для получения информации необходимо ввести id товара, его можно получить из метода Product list.

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/get_product" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"id":1}'
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/get_product"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "id": 1
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/get_product',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'json' => [
            'id' => 1,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/get_product

Body Parameters

id  integer  
Id продукта.

Update Repricer Product

Метод позволяет изменить настройки цены Sku, находящимся под управлением репрайсера.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/update_product" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"product_list":[{"repricer_script_id":"eum","nm_id":12,"target_price":187.074269,"active":"true"},{"nm_id":12,"target_price":187.074269}]}'
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/update_product"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "product_list": [
        {
            "repricer_script_id": "eum",
            "nm_id": 12,
            "target_price": 187.074269,
            "active": "true"
        },
        {
            "nm_id": 12,
            "target_price": 187.074269
        }
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/update_product',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'json' => [
            'product_list' => [
                [
                    'repricer_script_id' => 'eum',
                    'nm_id' => 12,
                    'target_price' => 187.074269,
                    'active' => 'true',
                ],
                [
                    'nm_id' => 12,
                    'target_price' => 187.074269,
                ],
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/update_product

Body Parameters

product_list  object[] optional  
Список товаров и их предельных значений цен

product_list[].repricer_script_id  required optional  
integer Id сценария

product_list[].nm_id  integer optional  
Sku товара

product_list[].target_price  number optional  
ожидаемая цена товара

product_list[].active  required optional  
boolean Статус активности товара.

Delete Repricer Product

Данный метод позволяет удалить товары под управлением репрайсера. Для удаления необходимо указать id товара.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/repricer/destroy_product" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"product_id_list":[11,3]}'
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/repricer/destroy_product"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "product_id_list": [
        11,
        3
    ]
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/repricer/destroy_product',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'json' => [
            'product_id_list' => [
                11,
                3,
            ],
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/repricer/destroy_product

Body Parameters

product_id_list  integer[] optional  
Список id товаров. Example [1, 2, 3]

Токен Мои магазины. Внешнеe Апи

Данный раздел отвечает за взаимодействие с токеном маркетплейса. В нем находятся методы, позволяющие добавлять, удалять, обновлять и редактировать токены маркетплейсов.

List

Метод позволяет получить список подключенных к сервису токенов маркетплейса и получить по ним необходимые для работы данные. Список данных: id магазина, id пользователя, маркетплейс и Api токен маркетплейса.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/get_user_keys" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"take":"10","skip":"50","sort[0][field]":"id","sort[0][dir]":"asc"}'
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/get_user_keys"
);

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "take": "10",
    "skip": "50",
    "sort[0][field]": "id",
    "sort[0][dir]": "asc"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/get_user_keys',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'json' => [
            'take' => '10',
            'skip' => '50',
            'sort[0][field]' => 'id',
            'sort[0][dir]' => 'asc',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/get_user_keys

Body Parameters

take  required optional  
Максимальное количество записей в ответе.

skip  required optional  
Смещение выборки, для пагинации

sort[0][field]  required optional  
Поле БД

sort[0][dir]  required optional  
Режим сортировки (asc, desc)

Update

Метод позволяет обновить токен маркетплейса, подключенный к сервису.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/update_user_keys?id=culpa&datasource=wb&apikey=LKJ34423434HGW332352&name=%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9&sync=1" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/update_user_keys"
);

let params = {
    "id": "culpa",
    "datasource": "wb",
    "apikey": "LKJ34423434HGW332352",
    "name": "Рабочий",
    "sync": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/update_user_keys',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'query' => [
            'id'=> 'culpa',
            'datasource'=> 'wb',
            'apikey'=> 'LKJ34423434HGW332352',
            'name'=> 'Рабочий',
            'sync'=> '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/update_user_keys

Query Parameters

id  string  
Идентификатор токена.

datasource  string  
Источник (wb, ozon)

apikey  string  
Токен

name  string  
Наименование

sync  string optional  
Флаг запуска проверки токены (0 или 1)

Create

Метод позволяет подключить новый токен к сервису.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/create_user_keys?datasource=wb&apikey=LKJ34423434HGW332352&name=%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/create_user_keys"
);

let params = {
    "datasource": "wb",
    "apikey": "LKJ34423434HGW332352",
    "name": "Рабочий",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/create_user_keys',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'query' => [
            'datasource'=> 'wb',
            'apikey'=> 'LKJ34423434HGW332352',
            'name'=> 'Рабочий',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/create_user_keys

Query Parameters

datasource  string  
Источник (wb, ozon)

apikey  string  
Токен

name  string  
Наименование

Delete

Метод позволяет удалить подключенный к сервису токен. Для удаления необходимо указать id токена.

requires authentication

Example request:

curl -X POST \
    "https://api.salesfinder.ru/api/2025_09/destroy_user_keys?id=aperiam" \
    -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json"
const url = new URL(
    "https://api.salesfinder.ru/api/2025_09/destroy_user_keys"
);

let params = {
    "id": "aperiam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://api.salesfinder.ru/api/2025_09/destroy_user_keys',
    [
        'headers' => [
            'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9hcGkuc2ZcL2FwaVwvdjFcL3NhbGVzZmluZGVyXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY1NDg2OTMzMCwiZXhwIjoxNjU0OTU1NzMwLCJuYmYiOjE2NTQ4NjkzMzAsImp0aSI6InRCMENzZXZVdVNSU3hxSlIiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.8W2wjexBhMzYliVZ_XQmd7Xx5Lh65RkxTVPAOi4LWsU',
            'Accept' => 'application/json',
        ],
        'query' => [
            'id'=> 'aperiam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

{
    "success": false,
    "data": [],
    "message": "Unauthenticated."
}

Request      

POST api/2025_09/destroy_user_keys

Query Parameters

id  string  
Идентификатор токена.