Введение
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"
}
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
Репрайсер Внешне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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
Токен Мои магазины. Внешне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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error:
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."
}
Received response:
Request failed with error: