1. Общие положения

Взаимодействие происходит по протоколу HTTPS.

  • Сервер для подключения: ekfgroup.com.
  • Имя приложения: api.

Формирование URL запроса к API:

POST https://ИмяСервера/ИмяПриложения/Версия/Группа/ИмяМетода

GET https://ИмяСервера/ИмяПриложения/Версия/Группа/ИмяМетода?Параметр

Где:
  • ИмяСервера - смотри «Сервер для подключения».
  • ИмяПриложения - смотри «Имя приложения».
  • Версия – версия API-метода. Номер версии указывается после символа «v». Версия API-метода указывается в его описании (см. раздел «Версионирование»).
  • Группа – наименование группы методов (см. структуру раздела «API-методы»). Имеются следующие группы методов:
    • Partners - данные, получаемые от партнеров.
    • EKF - данные, получаемые от EKF.
  • Если группа методов имеет подгруппу, то все входящие подгруппы последовательно указывается после группы через «/».
  • ИмяМетода – имя API – метода. Смотри раздел «API-методы» имя метода.
  • Параметр1&Параметр2 – параметры, применимые к соответствующему API – методу. Смотри раздел «API-методы».

2. Авторизация

Авторизация выполняется по ключу доступа (API-KEY), который выдается отдельно каждому пользователю (только юридическому лицу) по запросу. Запрос должен быть отправлен на e-mail: support@ekf.su.

В запросе должна быть следующая информация:
  • Ф.И.О. * – ваши фамилия, имя и отчество.
  • ИНН * – идентификационный налоговый номер юридического лица.
  • e-mail * – ваш адрес электронной почты, на который будет отправлен API-KEY.
  • Телефон – ваш номер телефона.
  • Поля, обозначенные «*» являются обязательными для заполнения.
  • API-KEY должен быть указан в HEADER каждого запроса в атрибуте Authorization. Запись вида: Bearer "ваш API-KEY".

3. Работа с сервером (запросы и ответы)

Запросы к серверу

Сервер EKF поддерживает 2 вида запросов: POST и GET.

  • POST-запрос осуществляет отправку данных Партнерами на сервер EKF.
    Данные отправляются в теле запроса (не в заголовке).
    Для отправки POST-запроса URL должен заканчиваться на методе (вводить параметры в URL запроса не нужно).

    Пример POST-запроса:

    https://ekfgroup.com/api/v1/partners/stocks

  • GET-запрос осуществляет принятие данных Партнерами от сервера EKF.
    Данные отправляются в заголоке запроса (тело запроса остается пустым).
    Для отправки GET-запроса URL должен включать параметры метода.
  • Пример GET-запроса:

    https://ekfgroup.com/api/v1/ekf/catalog/products?id=0001cc0d-efa2-11e6-bd2e-000c29c6d5f2

Ответ сервера

После отправки запроса, сервер присылает один из данных вариантов ответа:

  • 200 - OK.
  • 400 - Bad Request.
  • 401 - You must be authorized to view this page.
  • 403 - Forbidden.
  • 404 - The requested URL was not found.
  • 500 - The server encountered an error processing your request.
  • 501 - The requested method is not implemented.
  • 505 - HTTP Version Not Supported.

4. Версионирование

Версия отражает изменение на уровне API-метода, например, формат выдачи ответа, добавление новых атрибутов. Номер версии API-метода – это целое число ≥ 1.

Версия API-метода указывается в его описании, а при описании API-метода с версией >1 также отражаются изменения по отношению к предыдущей версии.

Используемая версия API должен быть указан в URL-адресе запроса к API-методу после символа «v» (см. «Общие положения»).

5.1.1. Остатки товаров Партнеров (stocks)

Общие положения

API – метод предназначен для предоставления данных Партнерами о свободном остатке (без учета резервов) товаров торговой марки EKF на складах. Возможно предоставление данных как суммарно по всем складам, так и отдельно по каждому складу.

  • Имя метода: stocks.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты
Атрибут Тип значения Описание данных Пример
date Дата в формате:гггг-мм-дд Дата и время данных по остаткам товара на момент времени 2018-02-15
location Строка Наименование склада Noginsk
vendorCode Строка Артикул товара mcb4763-1-01C-pro
unitInternationalCode Строка Кодовое буквенное обозначение (международное) единицы измерения согласно Общероссийскому классификатору единиц измерения ОК 015-94
PCE - Штука
KOM - Комплект
NMP - Упаковка
MTR - Метр
PCE
quantity Число, точность 3. Разделитель дробной части «.» Количество остатка товара 1000.000

Пример запроса

URL:

https://ekfgroup.com/api/v1/partners/stocks

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/partners/stocks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
    "unitInternationalCode": "PCE",
    "quantity": "10.000"
}',
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/partners/stocks"

payload = {
    "date": "2018-02-15",
    "location": "Ryazan",
    "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
    "unitInternationalCode": "PCE",
    "quantity": "10.000"
}
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/partners/stocks");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "application/json");
request.AddParameter("undefined", '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
    "unitInternationalCode": "PCE",
    "quantity": "10.000"
}', ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
    "unitInternationalCode": "PCE",
    "quantity": "10.000"
}');
Request request = new Request.Builder()
    .url("https://ekfgroup.com/api/v1/partners/stocks")
    .post(body)
    .addHeader("Accept", "application/json")
    .addHeader("Content-Type", "application/json")
    .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz")
    .build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/partners/stocks",
"method": "POST",
"headers": {
  "Accept": "application/json",
  "Content-Type": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMzMDBkMGE0OGI2OTY1NGNhMTU3MDdlNTQ2MWU5Mjn92LyL1WrsdF92s4ypAilr6hMXaUsyNgzvWs3Xw64EsHVTBUb94spncNKXpjM3ZoGLgQHufNk6sZuujGMkQcwqMvr8ChpdALa6MvxNmp-FjWjXmLwqrK6lkXZrZfZwYre_JUMcPm-ieyUYJNrJIfXtKOE3ozxAN4zq8EcOE13SP-fGLPajdqZhiXcfocWOJ1fUAi_qJfnScaax4zf40-v9SsbE52lzYynQJTCWUHa-kcIs3RjJPLY-GjckX9rusuF67i3d1OeIhVumg2KO5zvNaBJ7VuXT1n8_22nOVxIw26mSD5gNlTDhUCDIkWxH--kWUPKKm9zPlQbovi0unEg5Xgnri28iWd79p5ib2SYmF24iQrQvScDl14e_9w3zyECndtxh_Jzfgj0-Tur-bMuRiRD9adX-KwumDkeRoCECBzrtBPeEf8LDr8a1JgHp7XMRxkKPQQMeMpkzcuOewFCm9eTSiefYh6qFgGQBvn0elJfFP5UWKLtDW1C7QygAi5syS0bBkajdkVkSsAOENzoZUl2Scxz24OGuGd-GMRvAIlCB4pxrWoGq1dKMCNiWLuMdENeCk0B7gbR4aiaGJtcb9icPbWyY4yEq7-bt58k99kIV_yzbXezi8384lyh",
},
"processData": false,
"data": {
    "date": "2018-02-15",
    "location": "Ryazan",
    "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
    "unitInternationalCode": "PCE",
    "quantity": "10.000"
}
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.1.2. Остатки товаров Партнеров (stocks, пакетная выгрузка)

Общие положения

API – метод предназначен для предоставления данных Партнерами о свободном остатке (без учета резервов) товаров торговой марки EKF на складах. Возможно предоставление данных как суммарно по всем складам, так и отдельно по каждому складу.

  • Имя метода: stocks.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты
Атрибут Тип значения Описание данных Пример
date Дата в формате:гггг-мм-дд Дата и время данных по остаткам товара на момент времени 2018-02-15
location Строка Наименование склада Noginsk
Объект stocks (остатки)
vendorCode Строка Артикул товара mcb4763-1-01C-pro
unitInternationalCode Строка Кодовое буквенное обозначение (международное) единицы измерения согласно Общероссийскому классификатору единиц измерения ОК 015-94
PCE - Штука
KOM - Комплект
NMP - Упаковка
MTR - Метр
PCE
quantity Число, точность 3. Разделитель дробной части «.» Количество остатка товара 1000.000

Пример запроса

URL:

https://ekfgroup.com/api/v1/partners/stocks

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/partners/stocks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "stocks": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "quantity": "15.000"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "quantity": "1000.000"
        },
        {
            "vendorCode": "apd2-ak0101",
            "unitInternationalCode": "PCE",
            "quantity": "2050.000"
        }
    ]
}',
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/partners/stocks"

payload = {
    "date": "2018-02-15",
    "location": "Ryazan",
    "stocks": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "quantity": "15.000"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "quantity": "1000.000"
        },
        {
            "vendorCode": "apd2-ak0101",
            "unitInternationalCode": "PCE",
            "quantity": "2050.000"
        }
    ]
}
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/partners/stocks");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "application/json");
request.AddParameter("undefined", '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "stocks": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "quantity": "15.000"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "quantity": "1000.000"
        },
        {
            "vendorCode": "apd2-ak0101",
            "unitInternationalCode": "PCE",
            "quantity": "2050.000"
        }
    ]
}', ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "stocks": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "quantity": "15.000"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "quantity": "1000.000"
        },
        {
            "vendorCode": "apd2-ak0101",
            "unitInternationalCode": "PCE",
            "quantity": "2050.000"
        }
    ]
}');
Request request = new Request.Builder()
    .url("https://ekfgroup.com/api/v1/partners/stocks")
    .post(body)
    .addHeader("Accept", "application/json")
    .addHeader("Content-Type", "application/json")
    .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz")
    .build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/partners/stocks",
"method": "POST",
"headers": {
  "Accept": "application/json",
  "Content-Type": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMzMDBkMGE0OGI2OTY1NGNhMTU3MDdlNTQ2MWU5Mjn92LyL1WrsdF92s4ypAilr6hMXaUsyNgzvWs3Xw64EsHVTBUb94spncNKXpjM3ZoGLgQHufNk6sZuujGMkQcwqMvr8ChpdALa6MvxNmp-FjWjXmLwqrK6lkXZrZfZwYre_JUMcPm-ieyUYJNrJIfXtKOE3ozxAN4zq8EcOE13SP-fGLPajdqZhiXcfocWOJ1fUAi_qJfnScaax4zf40-v9SsbE52lzYynQJTCWUHa-kcIs3RjJPLY-GjckX9rusuF67i3d1OeIhVumg2KO5zvNaBJ7VuXT1n8_22nOVxIw26mSD5gNlTDhUCDIkWxH--kWUPKKm9zPlQbovi0unEg5Xgnri28iWd79p5ib2SYmF24iQrQvScDl14e_9w3zyECndtxh_Jzfgj0-Tur-bMuRiRD9adX-KwumDkeRoCECBzrtBPeEf8LDr8a1JgHp7XMRxkKPQQMeMpkzcuOewFCm9eTSiefYh6qFgGQBvn0elJfFP5UWKLtDW1C7QygAi5syS0bBkajdkVkSsAOENzoZUl2Scxz24OGuGd-GMRvAIlCB4pxrWoGq1dKMCNiWLuMdENeCk0B7gbR4aiaGJtcb9icPbWyY4yEq7-bt58k99kIV_yzbXezi8384lyh",
},
"processData": false,
"data": {
    "date": "2018-02-15",
    "location": "Ryazan",
    "stocks": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "quantity": "15.000"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "quantity": "1000.000"
        },
        {
            "vendorCode": "apd2-ak0101",
            "unitInternationalCode": "PCE",
            "quantity": "2050.000"
        }
    ]
}
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.1.3. Продажи товаров Партнерами (sales)

Общие положения

API – метод предназначен для предоставления данных Партнерами о продажах (без учета возвратов товара) товаров торговой марки EKF. Возможно предоставление данных как суммарно по всем юридическим лицам, так и отдельно по каждому юридическому лицу.

  • Имя метода: sales.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты
Атрибут Тип значения Описание данных Пример
date Дата в формате:гггг-мм-дд Дата и время данных по остаткам товара на момент времени 2018-02-15
location Строка Наименование склада Noginsk
vendorCode Строка Артикул товара mcb4763-1-01C-pro
unitInternationalCode Строка Кодовое буквенное обозначение (международное) единицы измерения согласно Общероссийскому классификатору единиц измерения ОК 015-94
PCE - Штука
KOM - Комплект
NMP - Упаковка
MTR - Метр
PCE
quantity Число, точность 3. Разделитель дробной части «.» Количество продаж товара 1000.000

Пример запроса

URL:

https://ekfgroup.com/api/v1/partners/sales

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/partners/sales",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
    "unitInternationalCode": "PCE",
    "quantity": "10.000"
}',
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/partners/sales"

payload = {
    "date": "2018-02-15",
    "location": "Ryazan",
    "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
    "unitInternationalCode": "PCE",
    "quantity": "10.000"
}
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/partners/sales");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "application/json");
request.AddParameter("undefined", '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
    "unitInternationalCode": "PCE",
    "quantity": "10.000"
}', ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
    "unitInternationalCode": "PCE",
    "quantity": "10.000"
}');
Request request = new Request.Builder()
    .url("https://ekfgroup.com/api/v1/partners/sales")
    .post(body)
    .addHeader("Accept", "application/json")
    .addHeader("Content-Type", "application/json")
    .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz")
    .build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/partners/sales",
"method": "POST",
"headers": {
  "Accept": "application/json",
  "Content-Type": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMzMDBkMGE0OGI2OTY1NGNhMTU3MDdlNTQ2MWU5Mjn92LyL1WrsdF92s4ypAilr6hMXaUsyNgzvWs3Xw64EsHVTBUb94spncNKXpjM3ZoGLgQHufNk6sZuujGMkQcwqMvr8ChpdALa6MvxNmp-FjWjXmLwqrK6lkXZrZfZwYre_JUMcPm-ieyUYJNrJIfXtKOE3ozxAN4zq8EcOE13SP-fGLPajdqZhiXcfocWOJ1fUAi_qJfnScaax4zf40-v9SsbE52lzYynQJTCWUHa-kcIs3RjJPLY-GjckX9rusuF67i3d1OeIhVumg2KO5zvNaBJ7VuXT1n8_22nOVxIw26mSD5gNlTDhUCDIkWxH--kWUPKKm9zPlQbovi0unEg5Xgnri28iWd79p5ib2SYmF24iQrQvScDl14e_9w3zyECndtxh_Jzfgj0-Tur-bMuRiRD9adX-KwumDkeRoCECBzrtBPeEf8LDr8a1JgHp7XMRxkKPQQMeMpkzcuOewFCm9eTSiefYh6qFgGQBvn0elJfFP5UWKLtDW1C7QygAi5syS0bBkajdkVkSsAOENzoZUl2Scxz24OGuGd-GMRvAIlCB4pxrWoGq1dKMCNiWLuMdENeCk0B7gbR4aiaGJtcb9icPbWyY4yEq7-bt58k99kIV_yzbXezi8384lyh",
},
"processData": false,
"data": {
    "date": "2018-02-15",
    "location": "Ryazan",
    "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
    "unitInternationalCode": "PCE",
    "quantity": "10.000"
}
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.1.4. Продажи товаров Партнерами (sales, пакетная выгрузка)

Общие положения

API – метод предназначен для предоставления данных Партнерами о продажах (без учета возвратов товара) товаров торговой марки EKF. Возможно предоставление данных как суммарно по всем юридическим лицам, так и отдельно по каждому юридическому лицу.

  • Имя метода: sales.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты
Атрибут Тип значения Описание данных Пример
date Дата в формате:гггг-мм-дд Дата и время данных по остаткам товара на момент времени 2018-02-15
location Строка Наименование склада Noginsk
Объект sales (продажи)
vendorCode Строка Артикул товара mcb4763-1-01C-pro
unitInternationalCode Строка Кодовое буквенное обозначение (международное) единицы измерения согласно Общероссийскому классификатору единиц измерения ОК 015-94
PCE - Штука
KOM - Комплект
NMP - Упаковка
MTR - Метр
PCE
quantity Число, точность 3. Разделитель дробной части «.» Количество продаж товара 1000.000

Пример запроса

URL:

https://ekfgroup.com/api/v1/partners/sales

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/partners/sales",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "sales": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "quantity": "15.000"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "quantity": "1000.000"
        },
        {
            "vendorCode": "apd2-ak0101",
            "unitInternationalCode": "PCE",
            "quantity": "2050.000"
        }
    ]
}',
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/partners/sales"

payload = {
    "date": "2018-02-15",
    "location": "Ryazan",
    "sales": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "quantity": "15.000"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "quantity": "1000.000"
        },
        {
            "vendorCode": "apd2-ak0101",
            "unitInternationalCode": "PCE",
            "quantity": "2050.000"
        }
    ]
}
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/partners/sales");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "application/json");
request.AddParameter("undefined", '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "sales": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "quantity": "15.000"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "quantity": "1000.000"
        },
        {
            "vendorCode": "apd2-ak0101",
            "unitInternationalCode": "PCE",
            "quantity": "2050.000"
        }
    ]
}', ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, '{
    "date": "2018-02-15",
    "location": "Ryazan",
    "sales": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "quantity": "15.000"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "quantity": "1000.000"
        },
        {
            "vendorCode": "apd2-ak0101",
            "unitInternationalCode": "PCE",
            "quantity": "2050.000"
        }
    ]
}');
Request request = new Request.Builder()
    .url("https://ekfgroup.com/api/v1/partners/sales")
    .post(body)
    .addHeader("Accept", "application/json")
    .addHeader("Content-Type", "application/json")
    .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz")
    .build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/partners/sales",
"method": "POST",
"headers": {
  "Accept": "application/json",
  "Content-Type": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMzMDBkMGE0OGI2OTY1NGNhMTU3MDdlNTQ2MWU5Mjn92LyL1WrsdF92s4ypAilr6hMXaUsyNgzvWs3Xw64EsHVTBUb94spncNKXpjM3ZoGLgQHufNk6sZuujGMkQcwqMvr8ChpdALa6MvxNmp-FjWjXmLwqrK6lkXZrZfZwYre_JUMcPm-ieyUYJNrJIfXtKOE3ozxAN4zq8EcOE13SP-fGLPajdqZhiXcfocWOJ1fUAi_qJfnScaax4zf40-v9SsbE52lzYynQJTCWUHa-kcIs3RjJPLY-GjckX9rusuF67i3d1OeIhVumg2KO5zvNaBJ7VuXT1n8_22nOVxIw26mSD5gNlTDhUCDIkWxH--kWUPKKm9zPlQbovi0unEg5Xgnri28iWd79p5ib2SYmF24iQrQvScDl14e_9w3zyECndtxh_Jzfgj0-Tur-bMuRiRD9adX-KwumDkeRoCECBzrtBPeEf8LDr8a1JgHp7XMRxkKPQQMeMpkzcuOewFCm9eTSiefYh6qFgGQBvn0elJfFP5UWKLtDW1C7QygAi5syS0bBkajdkVkSsAOENzoZUl2Scxz24OGuGd-GMRvAIlCB4pxrWoGq1dKMCNiWLuMdENeCk0B7gbR4aiaGJtcb9icPbWyY4yEq7-bt58k99kIV_yzbXezi8384lyh",
},
"processData": false,
"data": {
    "date": "2018-02-15",
    "location": "Ryazan",
    "sales": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "quantity": "15.000"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "quantity": "1000.000"
        },
        {
            "vendorCode": "apd2-ak0101",
            "unitInternationalCode": "PCE",
            "quantity": "2050.000"
        }
    ]
}
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.1.5. Продажи товаров филиалами Партнеров (sales-branches)

Общие положения

API – метод предназначен для предоставления данных Партнерами о суммах продаж филиалами по артикулам (без учета возвратов товара) товаров торговой марки EKF. Данные могут предоставлять собой как ежедневный отчет, так и состояние о продажах в текущем месяце. Также отчеты могут быть представлены как в денежном, так и в количественном эквиваленте.

  • Имя метода: sales-branches.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты (отправка данных по артикулам)
Атрибут Тип значения Описание данных Пример
date Дата в формате:гггг-мм-дд Дата и время данных по продажам товара на момент времени 2018-02-15
location Строка Расположение филиала Noginsk filial 3
summary (опционально) Логический Продажи за месяц или за 1 день
true - за месяц (т.е. продано N по состоянию на M месяц)
false - за 1 день (т.е. продано N за 1 день)
по умолчанию - false
false
Объект sales (продажи)
vendorCode Строка Артикул товара rcbo6-1pn-63C-30-ac-av56
unitInternationalCode Строка Кодовое буквенное обозначение (международное) единицы измерения согласно Общероссийскому классификатору единиц измерения ОК 015-94
PCE - Штука
KOM - Комплект
NMP - Упаковка
MTR - Метр
PCE
Опционально (сумма или количество)
sum Число, точность 2. Разделитель дробной части «.» Сумма продаж товара 15.00
quantity Число Количество продаж товара 250
Атрибуты (отправка данных по филиалу, без артикулов)
Атрибут Тип значения Описание данных Пример
summary (опционально) Логический Продажи за месяц или за 1 день
true - за месяц (т.е. продано N по состоянию на M месяц)
false - за 1 день (т.е. продано N за 1 день)
по умолчанию - false
true
Массив data
date Дата в формате:гггг-мм-дд Дата и время данных по продажам товара на момент времени 2019-04-25
location Строка Наименование склада Ryazan branch EKF
Опционально (сумма или количество)
sum Число, точность 2. Разделитель дробной части «.» Сумма продаж товара 2238.23
quantity Число Количество продаж товара 250

Пример запроса

URL:

https://ekfgroup.com/api/v1/partners/sales-branches

Data (пример 1 - отправка состояния продаж за день по артикулам):

Data (пример 2 - отправка состояния суммы продаж за месяц по артикулам):

Data (пример 3 - отправка состояния продаж за день по филиалам):

Data (пример 4 - отправка состояния суммы продаж за день по филиалам):

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/partners/sales-branches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{
    "date": "2018-02-15",
    "location": "Noginsk filial 3",
    "summary": false,
    "sales": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "sum": "15.00"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "sum": "1000.00"
        }
    ]
}',
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/partners/sales-branches"

payload = {
    "date": "2018-02-15",
    "location": "Noginsk filial 3",
    "summary": false,
    "sales": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "sum": "15.00"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "sum": "1000.00"
        }
    ]
}
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/partners/sales-branches");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "application/json");
request.AddParameter("undefined", '{
    "date": "2018-02-15",
    "location": "Noginsk filial 3",
    "summary": false,
    "sales": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "sum": "15.00"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "sum": "1000.00"
        }
    ]
}', ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, '{
    "date": "2018-02-15",
    "location": "Noginsk filial 3",
    "summary": false,
    "sales": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "sum": "15.00"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "sum": "1000.00"
        }
    ]
}');
Request request = new Request.Builder()
    .url("https://ekfgroup.com/api/v1/partners/sales-branches")
    .post(body)
    .addHeader("Accept", "application/json")
    .addHeader("Content-Type", "application/json")
    .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz")
    .build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/partners/sales-branches",
"method": "POST",
"headers": {
  "Accept": "application/json",
  "Content-Type": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMzMDBkMGE0OGI2OTY1NGNhMTU3MDdlNTQ2MWU5Mjn92LyL1WrsdF92s4ypAilr6hMXaUsyNgzvWs3Xw64EsHVTBUb94spncNKXpjM3ZoGLgQHufNk6sZuujGMkQcwqMvr8ChpdALa6MvxNmp-FjWjXmLwqrK6lkXZrZfZwYre_JUMcPm-ieyUYJNrJIfXtKOE3ozxAN4zq8EcOE13SP-fGLPajdqZhiXcfocWOJ1fUAi_qJfnScaax4zf40-v9SsbE52lzYynQJTCWUHa-kcIs3RjJPLY-GjckX9rusuF67i3d1OeIhVumg2KO5zvNaBJ7VuXT1n8_22nOVxIw26mSD5gNlTDhUCDIkWxH--kWUPKKm9zPlQbovi0unEg5Xgnri28iWd79p5ib2SYmF24iQrQvScDl14e_9w3zyECndtxh_Jzfgj0-Tur-bMuRiRD9adX-KwumDkeRoCECBzrtBPeEf8LDr8a1JgHp7XMRxkKPQQMeMpkzcuOewFCm9eTSiefYh6qFgGQBvn0elJfFP5UWKLtDW1C7QygAi5syS0bBkajdkVkSsAOENzoZUl2Scxz24OGuGd-GMRvAIlCB4pxrWoGq1dKMCNiWLuMdENeCk0B7gbR4aiaGJtcb9icPbWyY4yEq7-bt58k99kIV_yzbXezi8384lyh",
},
"processData": false,
"data": {
    "date": "2018-02-15",
    "location": "Noginsk filial 3",
    "summary": false,
    "sales": [
        {
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "unitInternationalCode": "PCE",
            "sum": "15.00"
        },
        {
            "vendorCode": "rcbo6-1pn-2D-30-ac-av",
            "unitInternationalCode": "PCE",
            "sum": "1000.00"
        }
    ]
}
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.1.6. URL для карточек товаров (product-urls)

Общие положения

API – метод предназначен для выгрузки Партнерами URL для карточек товаров.

  • Имя метода: product-urls.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты

Все атрибуты должны быть переданы в массиве data:

Атрибут Тип значения Описание данных Пример
type Число Тип сегмента:
1 - B2B,
2 - B2C,
3 - оба
3
vendorCode Строка Артикул товара mcb4763-1-01C-pro
url Строка Ссылка на товар https://ekfgroup.com/catalog/avtomaticheskie-vykljuchateli-modulnye-i-dop-ustrojstva/vykljuchateli-avtomaticheskie-serii-av-6

Пример запроса

URL:

https://ekfgroup.com/api/v1/partners/product-urls

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/partners/product-urls",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{
    "data": [
        {
            "type": "2",
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "url": "https:\/\/ekfgroup.com\/this-is-example"
        },
        {
            "type": "1",
            "vendorCode": "apd2-dk20",
            "url": "https:\/\/ekfgroup.com\/this\/is\/example"
        }
    ]
}',
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/partners/product-urls"

payload = {
    "data": [
        {
            "type": "2",
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "url": "https:\/\/ekfgroup.com\/this-is-example"
        },
        {
            "type": "1",
            "vendorCode": "apd2-dk20",
            "url": "https:\/\/ekfgroup.com\/this\/is\/example"
        }
    ]
}
headers = {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz"
}

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/partners/product-urls");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "application/json");
request.AddParameter("undefined", '{
    "data": [
        {
            "type": "2",
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "url": "https:\/\/ekfgroup.com\/this-is-example"
        },
        {
            "type": "1",
            "vendorCode": "apd2-dk20",
            "url": "https:\/\/ekfgroup.com\/this\/is\/example"
        }
    ]
}', ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, '{
    "data": [
        {
            "type": "2",
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "url": "https:\/\/ekfgroup.com\/this-is-example"
        },
        {
            "type": "1",
            "vendorCode": "apd2-dk20",
            "url": "https:\/\/ekfgroup.com\/this\/is\/example"
        }
    ]
}');
Request request = new Request.Builder()
    .url("https://ekfgroup.com/api/v1/partners/product-urls")
    .post(body)
    .addHeader("Accept", "application/json")
    .addHeader("Content-Type", "application/json")
    .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMz")
    .build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/partners/product-urls",
"method": "POST",
"headers": {
  "Accept": "application/json",
  "Content-Type": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU1MzY2OWRjOThhMjAwN2JlNjc3ZDBjYmZhY2I1OTMzMDBkMGE0OGI2OTY1NGNhMTU3MDdlNTQ2MWU5Mjn92LyL1WrsdF92s4ypAilr6hMXaUsyNgzvWs3Xw64EsHVTBUb94spncNKXpjM3ZoGLgQHufNk6sZuujGMkQcwqMvr8ChpdALa6MvxNmp-FjWjXmLwqrK6lkXZrZfZwYre_JUMcPm-ieyUYJNrJIfXtKOE3ozxAN4zq8EcOE13SP-fGLPajdqZhiXcfocWOJ1fUAi_qJfnScaax4zf40-v9SsbE52lzYynQJTCWUHa-kcIs3RjJPLY-GjckX9rusuF67i3d1OeIhVumg2KO5zvNaBJ7VuXT1n8_22nOVxIw26mSD5gNlTDhUCDIkWxH--kWUPKKm9zPlQbovi0unEg5Xgnri28iWd79p5ib2SYmF24iQrQvScDl14e_9w3zyECndtxh_Jzfgj0-Tur-bMuRiRD9adX-KwumDkeRoCECBzrtBPeEf8LDr8a1JgHp7XMRxkKPQQMeMpkzcuOewFCm9eTSiefYh6qFgGQBvn0elJfFP5UWKLtDW1C7QygAi5syS0bBkajdkVkSsAOENzoZUl2Scxz24OGuGd-GMRvAIlCB4pxrWoGq1dKMCNiWLuMdENeCk0B7gbR4aiaGJtcb9icPbWyY4yEq7-bt58k99kIV_yzbXezi8384lyh",
},
"processData": false,
"data": {
    "data": [
        {
            "type": "2",
            "vendorCode": "rcbo6-1pn-63C-30-ac-av56",
            "url": "https:\/\/ekfgroup.com\/this-is-example"
        },
        {
            "type": "1",
            "vendorCode": "apd2-dk20",
            "url": "https:\/\/ekfgroup.com\/this\/is\/example"
        }
    ]
}
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.2.1.1. Товары (products)

Общие положения

API – метод предназначен для предоставления данных Партнерам о товарах торговой марки EKF.

  • Имя метода: products.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты

Все атрибуты в массиве data:

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) mcb4763-1-01C-pro
vendorСode Строка Артикул номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
shortName Строка Краткое наименование номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
name Строка Полное наименование номенклатуры Автоматический выключатель 1P 1А (C) 4,5kA ВА 47-63 EKF PROxima
series Строка Серия номенклатуры PROxima
status Строка Статус номенклатуры Новая
multiplicity Число, точность 2. Разделитель дробной части «.» Кратность упаковки 1.00
productionTime Число Время производства 14 или 125
description Строка Описание номенклатуры Автоматические выключатели дифференциального тока DVA-6 AVERES предназначены для защиты от токов утечки, перегрузки и короткого замыкания. Особая конструкция рычага обеспечивает информативность устройства, указывая на причину срабатывания (опущена только часть рычага – короткое замыкание или перегрузка, опущены обе части рычага – ток утечки). После устранения причины срабатывания для повторного взведения рукоятку устройства нужно сначала опустить вниз до конца, а затем взвести (взведение из положения trip невозможно). Гарантийные обязательства составляют 10 лет.
Объект productGroup (группа товара)
id Строка Уникальный идентификационный номер группы 3cf00bc0-60a3-11e7-80cd-0cc47a0cbffe
name Строка Наименование группы Характеристика D
series Строка Серия группы PROxima
Объект productType (вид номенклатуры)
name Строка Наименование вида номенклатуры Модульный автоматический выключатель
etimClass Строка ETIM Class номенклатуры EC000042
Объект manufacturedBy (страна происхождения товара)
name Строка Страна производства товара Россия
alfa2 Строка Код страны производства товара Общероссийский классификатор стран мира ОК (МК (ИСО3166) 004-97) 025-2001 код Альфа-2 RU
alfa3 Строка Код страны производства товара Общероссийский классификатор стран мира ОК (МК (ИСО3166) 004-97) 025-2001 код Альфа-3 RUS
Объект unitStorage (единица хранения)
internationalCode Строка Кодовое буквенное обозначение (международное) единицы измерения согласно Общероссийскому классификатору единиц измерения ОК 015-94 PCE
name Строка Наименование единицы измерения шт
barcode Строка Штрих-код единицы измерения 4690216154503
coefficient Число, точность 3. Разделитель дробной части «.» Количество единиц хранения в единице измерения номенклатуры 1.000
weight Число, точность 4. Разделитель дробной части «.» Вес единицы измерения в кг 0.1000
height Число, точность 4. Разделитель дробной части «.» Высота единицы измерения в м 0.0800
width Число, точность 4. Разделитель дробной части «.» Ширина единицы измерения в м 0.0180
depth Число, точность 4. Разделитель дробной части «.» Глубина единицы измерения в м 0.0730
volume Число, точность 8. Разделитель дробной части «.» Объем единицы измерения в м3 0.00010512
Объект unitGroupPacking (групповая упаковка)
internationalCode Строка Международный код единицы измерения PCE
name Строка Наименование единицы измерения шт
barcode Строка Штрих-код единицы измерения 4690216154503
coefficient Число, точность 3. Разделитель дробной части «.» Количество единиц хранения в единице измерения номенклатуры 1.000
weight Число, точность 4. Разделитель дробной части «.» Вес единицы измерения в кг 0.1000
height Число, точность 4. Разделитель дробной части «.» Высота единицы измерения в м 0.0800
width Число, точность 4. Разделитель дробной части «.» Ширина единицы измерения в м 0.0180
depth Число, точность 4. Разделитель дробной части «.» Глубина единицы измерения в м 0.0730
volume Число, точность 8. Разделитель дробной части «.» Объем единицы измерения в м3 0.00010512
Объект unitTransportPackaging (транспортная упаковка)
internationalCode Строка Международный код единицы измерения NMP
name Строка Наименование единицы измерения коробка (60 шт)
barcode Строка Штрих-код единицы измерения 4690216154503
coefficient Число, точность 3. Разделитель дробной части «.» Количество единиц хранения в единице измерения номенклатуры 120.000
weight Число, точность 4. Разделитель дробной части «.» Вес единицы измерения в кг 0.1000
height Число, точность 4. Разделитель дробной части «.» Высота единицы измерения в м 0.0800
width Число, точность 4. Разделитель дробной части «.» Ширина единицы измерения в м 0.0180
depth Число, точность 4. Разделитель дробной части «.» Глубина единицы измерения в м 0.0730
volume Число, точность 8. Разделитель дробной части «.» Объем единицы измерения в м3 0.00010512
Объект relatedProducts (покупают с данным товаром)
id Строка Уникальный идентификационный номер элемента (номенклатуры) 72c126f7-04d5-11e7-ab3e-000c29c6d5f2
vendorСode Строка Артикул номенклатуры av-m6-averes
shortName Строка Краткое наименование номенклатуры Привод моторный с режимом автовзвода AV-M6 EKF AVERES
name Строка Полное наименование номенклатуры Привод моторный с режимом автовзвода AV-M6 EKF AVERES
url URL Ссылка на данный товар https://ekfgroup.com/catalog/avtomaticheskie-vykljuchateli-differencialnogo-toka-i-uzo/avtomaticheskie-vykljuchateli-differencialnogo-toka-serii-dva-6/differentsialnyy-avtomat-dva-6-1pn-1a-d-30ma-ac-6ka-ekf-averes

Параметры

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
vendorСode Строка Артикул номенклатуры mcb4763-1-01C-pro
shortName Строка Краткое наименование номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
name Строка Полное наименование номенклатуры Автоматический выключатель 1P 1А (C) 4,5kA ВА 47-63 EKF PROxima
updatedFrom Дата в формате ГГГГ-ММ-ДД Дата обновления (от) 2018-3-12
updatedTo Дата в формате ГГГГ-ММ-ДД Дата обновления (до) 2018-3-15

Пример запроса/ответа

URL:

https://ekfgroup.com/api/v1/ekf/catalog/products?vendorCode=rcbo6-1pn-1D-30-ac-av

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/ekf/catalog/products?vendorCode=rcbo6-1pn-1D-30-ac-av",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/ekf/catalog/products"

payload = {'vendorCode': 'rcbo6-1pn-1D-30-ac-av'}

headers = {
'Accept': 'application/json',
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ'
}

response = requests.request("GET", url, headers=headers, params=payload)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/ekf/catalog/products?vendorCode=rcbo6-1pn-1D-30-ac-av");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0");
request.AddHeader("Accept", "application/json");
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url("https://ekfgroup.com/api/v1/ekf/catalog/products?vendorCode=rcbo6-1pn-1D-30-ac-av")
.get()
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ")
.build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/ekf/catalog/products?vendorCode=rcbo6-1pn-1D-30-ac-av",
"method": "GET",
"headers": {
  "Accept": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
  }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.2.1.2. Файлы продукции (files)

Общие положения

API – метод предназначен для предоставления данных Партнерам о файлах торговой марки EKF.

  • Имя метода: files.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты

Все атрибуты в массиве data:

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
vendorCode Строка Артикул номенклатуры mcb4763-1-01C-pro
shortName Строка Краткое наименование номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
name Строка Полное наименование номенклатуры Автоматический выключатель 1P 1А (C) 4,5kA ВА 47-63 EKF PROxima
Объект files (файлы номенклатуры)
name Строка Наименование файла Дополнительное изображение
В объекте files объект fileType (тип файла)
id Строка Уникальный идентификационный номер типа файла f79f43cf-5fd0-11e6-b98c-000c29c6d5f2
code Строка Уникальный символьный идентификатор типа файла
3dmodel - 3Д - модель
additional_image - Дополнительное изображение
additional_photo - Дополнительное фото
advantages_file - Преимущества
advertisement - Листовка
banner - Баннер
booklet - Буклет
certificate - Сертификат
conditions - Условия
description_features - Описание и особенности
description_features_site - Описание и преимущества Сайт
description_file - Описание
doc - Документация
dwg - Чертеж
group_packing - Макет групповой упаковки
individual_packing - Макет индивидуальной упаковки
logo - Логотип
main_image - Основное изображение
manual - Инструкция
master_catalogue - Мастер-каталог
pac_group - Макет групповой
pac_transp - Макет транспортный
pac_unit - Макет единичный
pasport - Паспорт
promotions - Акции
reference - Референс
shtamp - Печать (штамп)
specifications_dimensions - Технические характеристики
standard_equipment - Типовая комплектация
table - Таблица
to_description - К описанию
transport_packing - Макет транспортной упаковки
usage_file - Применение
video - Видео
additional_image
name Строка Наименование типа файла Дополнительное изображение
file Строка Ссылка на файл https://ekfgroup.com/uploads/products/48048BF119F5F6.jpg

Параметры

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
vendorСode Строка Артикул номенклатуры mcb4763-1-01C-pro
shortName Строка Краткое наименование номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
name Строка Полное наименование номенклатуры Автоматический выключатель 1P 1А (C) 4,5kA ВА 47-63 EKF PROxima

Пример запроса/ответа

URL

https://ekfgroup.com/api/v1/ekf/catalog/files?vendorCode=rcbo6-1pn-1D-30-ac-av

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/ekf/catalog/files?vendorCode=rcbo6-1pn-1D-30-ac-av",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/ekf/catalog/files"

payload = {'vendorCode': 'rcbo6-1pn-1D-30-ac-av'}

headers = {
'Accept': 'application/json',
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ'
}

response = requests.request("GET", url, headers=headers, params=payload)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/ekf/catalog/files?vendorCode=rcbo6-1pn-1D-30-ac-av");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0");
request.AddHeader("Accept", "application/json");
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url("https://ekfgroup.com/api/v1/ekf/catalog/files?vendorCode=rcbo6-1pn-1D-30-ac-av")
.get()
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ")
.build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/ekf/catalog/files?vendorCode=rcbo6-1pn-1D-30-ac-av",
"method": "GET",
"headers": {
  "Accept": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
  }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.2.1.3. Характеристики (свойства) товаров (properties)

Общие положения

API – метод предназначен для предоставления данных Партнерам о характеристиках (свойствах) товаров торговой марки EKF.

  • Имя метода: properties.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты

Все атрибуты в массиве data:

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
vendorCode Строка Артикул номенклатуры mcb4763-1-01C-pro
shortName Строка Краткое наименование номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
name Строка Полное наименование номенклатуры Автоматический выключатель 1P 1А (C) 4,5kA ВА 47-63 EKF PROxima
etimClass Строка etimClass EC000905
Объект properties (свойства номенклатуры)
id Строка Уникальный идентификационный номер свойства 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
name Строка Наименование свойства Номинальный ток
etimFeature Строка ETIM Feature EF000001
value Строка Значение свойства 0,25
unit Строка Единица измерения значения свойства А
etimUnit Строка Код ETIM Unit EU570459

Параметры

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
vendorСode Строка Артикул номенклатуры mcb4763-1-01C-pro
shortName Строка Краткое наименование номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
name Строка Полное наименование номенклатуры Автоматический выключатель 1P 1А (C) 4,5kA ВА 47-63 EKF PROxima
etimClass Строка etimClass EC000905

Пример запроса/ответа

URL:

https://ekfgroup.com/api/v1/ekf/catalog/properties?vendorCode=rcbo6-1pn-1D-30-ac-av

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/ekf/catalog/properties?vendorCode=rcbo6-1pn-1D-30-ac-av",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/ekf/catalog/properties"

payload = {'vendorCode': 'rcbo6-1pn-1D-30-ac-av'}

headers = {
'Accept': 'application/json',
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ'
}

response = requests.request("GET", url, headers=headers, params=payload)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/ekf/catalog/properties?vendorCode=rcbo6-1pn-1D-30-ac-av");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0");
request.AddHeader("Accept", "application/json");
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url("https://ekfgroup.com/api/v1/ekf/catalog/properties?vendorCode=rcbo6-1pn-1D-30-ac-av")
.get()
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ")
.build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/ekf/catalog/properties?vendorCode=rcbo6-1pn-1D-30-ac-av",
"method": "GET",
"headers": {
  "Accept": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
  }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.2.1.4. Цены продукции (prices)

Общие положения

API – метод предназначен для предоставления данных Партнерам о ценах товаров торговой марки EKF.

  • Имя метода: prices.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты

Все атрибуты в массиве data:

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
vendorCode Строка Артикул номенклатуры mcb4763-1-01C-pro
shortName Строка Краткое наименование номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
Объект prices (цены)
id Строка Уникальный идентификационный номер типа цены 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
name Строка Наименование типа цен Базовая цена
currency Строка Валюта цены руб.
price Число, точность 2. Разделитель дробной части «.» Цена продукции 52.00

Параметры

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
vendorСode Строка Артикул номенклатуры mcb4763-1-01C-pro
shortName Строка Краткое наименование номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
name Строка Полное наименование номенклатуры Автоматический выключатель 1P 1А (C) 4,5kA ВА 47-63 EKF PROxima

Пример запроса/ответа

URL:

https://ekfgroup.com/api/v1/ekf/catalog/prices?vendorCode=rcbo6-1pn-1D-30-ac-av

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/ekf/catalog/prices?vendorCode=rcbo6-1pn-1D-30-ac-av",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/ekf/catalog/prices"

payload = {'vendorCode': 'rcbo6-1pn-1D-30-ac-av'}

headers = {
'Accept': 'application/json',
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ'
}

response = requests.request("GET", url, headers=headers, params=payload)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/ekf/catalog/prices?vendorCode=rcbo6-1pn-1D-30-ac-av");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0");
request.AddHeader("Accept", "application/json");
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url("https://ekfgroup.com/api/v1/ekf/catalog/prices?vendorCode=rcbo6-1pn-1D-30-ac-av")
.get()
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ")
.build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/ekf/catalog/prices?vendorCode=rcbo6-1pn-1D-30-ac-av",
"method": "GET",
"headers": {
  "Accept": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
  }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.2.1.5. Группы товаров (product-groups)

Общие положения

API – метод предназначен для предоставления данных Партнерам о группах товаров торговой марки EKF.

  • Имя метода: product-groups.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты

Все атрибуты в массиве data:

Атрибут Тип значения Описание данных Пример
Объект product (товар)
id Строка Уникальный идентификационный номер элемента (номенклатуры) 0624426b-3c5d-11e6-87e5-000c29c6d5f2
parentId Строка Идентификационный номер группы товара e9935bb2-c971-11e4-bfc3-005056b80040
name Строка Наименование номенклатуры 04.01 Выключатели силовые до 1000А AV Power EKF AVERES
hierarchyLevel Число Иерархический уровень товара 2
mainImage Строка Ссылка на изображение товара https://ekfgroup.com/uploads/products/30DA434AB1B7EB485AED319214625A95.jpg

Параметры

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
parentId Строка Идентификационный номер группы товара e9935bb2-c971-11e4-bfc3-005056b80040
name Строка Наименование номенклатуры 04.01 Выключатели силовые до 1000А AV Power EKF AVERES

Пример запроса/ответа

URL:

https://ekfgroup.com/api/v1/ekf/catalog/product-groups?parentId=e9935bb2-c971-11e4-bfc3-005056b80040

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/ekf/catalog/product-groups?parent_id=e9935bb2-c971-11e4-bfc3-005056b80040",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/ekf/catalog/product-groups"

payload = {'parent_id': 'e9935bb2-c971-11e4-bfc3-005056b80040'}

headers = {
'Accept': 'application/json',
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ'
}

response = requests.request("GET", url, headers=headers, params=payload)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/ekf/catalog/product-groups?parent_id=e9935bb2-c971-11e4-bfc3-005056b80040");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0");
request.AddHeader("Accept", "application/json");
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url("https://ekfgroup.com/api/v1/ekf/catalog/product-groups?parent_id=e9935bb2-c971-11e4-bfc3-005056b80040")
.get()
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ")
.build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/ekf/catalog/product-groups?parent_id=e9935bb2-c971-11e4-bfc3-005056b80040",
"method": "GET",
"headers": {
  "Accept": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
  }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.2.2. Остатки (stocks)

Общие положения

API – метод предназначен для предоставления данных Партнерам об остатках товаров торговой марки EKF.

  • Имя метода: stocks.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты

Все атрибуты в массиве data:

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
vendorCode Строка Артикул номенклатуры mcb4763-1-01C-pro
shortName Строка Краткое наименование номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
name Строка Полное наименование номенклатуры Автоматический выключатель 1P 1А (C) 4,5kA ВА 47-63 EKF PROxima
quantity Число, точность 3. Разделитель дробной части «.» Количество остатка товара на складе 1000.000
Объект warehouse (склад)
id Строка Уникальный идентификационный номер свойства 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
name Строка Наименование склада Региональный склад EKF, Новосибирск г
short_name Строка Краткое наименование склада Региональный склад в Новосибирске
location Строка Расположение склада 321232, Новосибирск г, Бирюлева ул, дом № 12

Параметры

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
vendorСode Строка Артикул номенклатуры mcb4763-1-01C-pro
shortName Строка Краткое наименование номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
name Строка Полное наименование номенклатуры Автоматический выключатель 1P 1А (C) 4,5kA ВА 47-63 EKF PROxima
Объект warehouse (склад)
warehouse_id Строка Уникальный идентификационный номер склада 0a83c726-6cc4-11dc-9807-0080484601b3
warehouse_short_name Строка Краткое наименование склада Региональный склад в Новосибирске

Пример запроса/ответа

URL:

https://ekfgroup.com/api/v1/ekf/stocks?vendorCode=rcbo6-1pn-1D-30-ac-av

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/ekf/stocks?vendorCode=rcbo6-1pn-1D-30-ac-av",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/ekf/stocks"

payload = {'vendorCode': 'rcbo6-1pn-1D-30-ac-av'}

headers = {
'Accept': 'application/json',
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ'
}

response = requests.request("GET", url, headers=headers, params=payload)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/ekf/stocks?vendorCode=rcbo6-1pn-1D-30-ac-av");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0");
request.AddHeader("Accept", "application/json");
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url("https://ekfgroup.com/api/v1/ekf/stocks?vendorCode=rcbo6-1pn-1D-30-ac-av")
.get()
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ")
.build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/ekf/stocks?vendorCode=rcbo6-1pn-1D-30-ac-av",
"method": "GET",
"headers": {
  "Accept": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
  }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.2.3. Склады (warehouses)

Общие положения

API – метод предназначен для предоставления данных Партнерам о складах торговой марки EKF.

  • Имя метода: warehouses.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты

Все атрибуты в массиве data:

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер склада 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
name Строка Наименование склада Региональный склад EKF, Новосибирск г
shortName Строка Краткое наименование склада Региональный склад в Новосибирске
location Строка Расположение склада 321232, Новосибирск г, Бирюлева ул, дом № 12

Параметры

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер склада 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
name Строка Наименование склада Региональный склад EKF, Новосибирск г
shortName Строка Краткое наименование склада Региональный склад в Новосибирске
location Строка Расположение склада 321232, Новосибирск г, Бирюлева ул, дом № 12

Пример запроса/ответа

URL:

https://ekfgroup.com/api/v1/ekf/warehouses?id=0a83c726-6cc4-1

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/ekf/warehouses?id=0a83c726-6cc4-1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/ekf/warehouses"

payload = {'id': '0a83c726-6cc4-1'}

headers = {
'Accept': 'application/json',
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ'
}

response = requests.request("GET", url, headers=headers, params=payload)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/ekf/warehouses?id=0a83c726-6cc4-1");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0");
request.AddHeader("Accept", "application/json");
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url("https://ekfgroup.com/api/v1/ekf/warehouses?id=0a83c726-6cc4-1")
.get()
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ")
.build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/ekf/warehouses?id=0a83c726-6cc4-1",
"method": "GET",
"headers": {
  "Accept": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
  }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.2.4. Предполагаемые поступления (receipts)

Общие положения

API – метод предназначен для предоставления данных Партнерам о предполагаемых поступлениях товаров торговой марки EKF.

  • Имя метода: receipts.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты

Все атрибуты в массиве data:

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) mcb4763-1-01C-pro
vendorСode Строка Артикул номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
shortName Строка Краткое наименование номенклатуры Авт. выкл. 1P 1А (C) 4,5kA ВА 47-63 EKF
name Строка Полное наименование номенклатуры Автоматический выключатель 1P 1А (C) 4,5kA ВА 47-63 EKF PROxima
Объект receipt (предполагаемые поступления)
quantity Число, точность 3. Разделитель дробной части «.» Количество остатков товара 592.000
date Дата в формате: ГГГГ-ММ-ДД ЧЧ:ММ:СС Предполагаемая дата поступления 2018-11-09 12:00:00
Объект warehouse (склад)
id Строка Уникальный идентификационный номер склада 0001cc0d-efa2-11e6-bd2e-000c29c6d5f2
name Строка Наименование склада Региональный склад EKF, Новосибирск г
shortName Строка Краткое наименование склада Региональный склад в Новосибирске
location Строка Расположение склада 321232, Новосибирск г, Бирюлева ул, дом № 12

Параметры

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер элемента (номенклатуры) ed8be717-c218-11e2-abc0-005056b80040
vendorCode Строка Артикул номенклатуры mcb4763-2-63D-pro
shortName Строка Краткое наименование номенклатуры Авт. выкл. 2P 63А (D) 4,5kA ВА 47-63 EKF
name Строка Полное наименование номенклатуры Автоматический выключатель 2P 63А (D) 4,5kA ВА 47-63 EKF PROxima

Пример запроса/ответа

URL:

https://ekfgroup.com/api/v1/ekf/receipts?vendorCode=mcb4763-2-63D-pro

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/ekf/receipts?vendorCode=mcb4763-2-63D-pro",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/ekf/receipts"

payload = {'vendorCode': 'mcb4763-2-63D-pro'}

headers = {
'Accept': 'application/json',
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ'
}

response = requests.request("GET", url, headers=headers, params=payload)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/ekf/receipts?vendorCode=mcb4763-2-63D-pro");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0");
request.AddHeader("Accept", "application/json");
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url("https://ekfgroup.com/api/v1/ekf/receipts?vendorCode=mcb4763-2-63D-pro")
.get()
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ")
.build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/ekf/receipts?vendorCode=mcb4763-2-63D-pro",
"method": "GET",
"headers": {
  "Accept": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
  }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

5.2.5. Отправленная информация (sent-data)

Общие положения

API – метод предназначен для получения отправленных данных Партнерами EKF.

  • Имя метода: sent-data.
  • Запрос:
  • Версия: 1.
  • Формат выдачи ответа API: JSON.
Атрибуты

Все атрибуты в элементе массива data:

Атрибут Тип значения Описание данных Пример
id Строка Уникальный идентификационный номер записи 144751
date Дата в формате: ГГГГ-ММ-ДД Дата, указанная при отправке информации 2019-01-01
location Строка Наименование филиала или склада Ногинск
vendorCode Строка Артикул номенклатуры mcb4763-2-63D-pro
unitInternationalCode Строка Кодовое буквенное обозначение (международное) единицы измерения согласно Общероссийскому классификатору единиц измерения ОК 015-94 PCE
quantity Число, точность 3. Разделитель дробной части «.» Количество продаж/остатков товара 3.000
createdAt Дата в формате: ГГГГ-ММ-ДД ЧЧ:ММ:СС Дата и время отправки информации 2019-01-02 08:00:32

Параметры

Атрибут Тип значения Описание данных Пример
methodName Строка Название метода (поддерживаемые названия: sales, stocks, sales-branches) sales
date Дата в формате: ГГГГ-ММ-ДД Дата, указанная при отправке информации 2019-01-01

Пример запроса/ответа

URL:

https://ekfgroup.com/api/v1/ekf/sent-data?methodName=sales&date=2019-01-01

Data:

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://ekfgroup.com/api/v1/ekf/sent-data?methodName=sales",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
import requests

url = "https://ekfgroup.com/api/v1/ekf/sent-data"

payload = {'methodName': 'sales'}

headers = {
'Accept': 'application/json',
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ'
}

response = requests.request("GET", url, headers=headers, params=payload)

print(response.text)
var client = new RestClient("https://ekfgroup.com/api/v1/ekf/sent-data?methodName=sales");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0");
request.AddHeader("Accept", "application/json");
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
.url("https://ekfgroup.com/api/v1/ekf/sent-data?methodName=sales")
.get()
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ")
.build();

Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://ekfgroup.com/api/v1/ekf/sent-data?methodName=sales",
"method": "GET",
"headers": {
  "Accept": "application/json",
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjMzMjY2MzQ5OWQyOTZjZTM1ZjVmNTAwYWU2ZDhjMjEzZjBmYTNiYThkMGJlYTliNzdiYjRkMGY5ZGZlM2U4MzkzN2RkOTNmYTRiMTlmNjEzIn0.eyJhdWQiOiIzIiwianRpIjoiMzMyNjYzNDk5ZDI5NmNlMzVmNWY1MDBhZTZkOGMyMTNmMGZhM2JhOGQwYmVhOWI3N2JiNGQwZjlkZ"
  }
}

$.ajax(settings).done(function (response) {
console.log(response);
});