API для производителей

Оглавление

1. Описание

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

3. Как использовать API

3.1 Изменение ETIM-свойств товара

3.2 Классификация товара (изменение ETIM-класса)

3.3 Изменение атрибутов товара

3.4 Изменение/добавление изображения для товара

3.5 Добавление нового товара в БД РАЭК

3.6 Установка/удаление связи между товарами

3.7 Установка/изменение серии товара

3.8 Установка/изменение информации о упаковках товара

3.9 Установка/изменение информации о ценах товара

3.10 Загрузка файлов товара

3.11 Загрузка сертификатов товара

4. Ответы сервера

5. Режим тестирования

6. Схема работы

7. Примеры кода на PHP

8. Примеры кода на 1C

9. Поддержка

1. Описание 

Взаимодействие происходит по протоколу HTTPS. Форматы выдачи ответа API — JSON.

REST API предназначен для добавления/редактирования/удаления свойств товара в базе РАЭК, посредством POST-запросов.

Подключение

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

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

Авторизация запроса происходит по API-KEY, который должен быть указан в HEADER каждого запроса.

Коды состояния ответа сервера

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

3. Как использовать API

Все вызовы методов API — это POST HTTPS-запросы к URL https://catalog.raec.su/api/product/<raecId>

3.1 Изменение ETIM-свойств товара

В запросе должны быть отправлены два параметра featureId и value.

ПараметрОписаниеВозможные значенияПример
featureIdETIM ID свойства stringВсе возможные ID ETIM-свойствEF000007
value

Новое значение свойства, может быть четырех типов

string


Тип A -  выбор из списка (EV000291)
Тип L - логическое значение (true, false)
Тип N - целое число (25, -4)
Тип R - диапазон (2...10, -1.5...5) Разделитель "..."

Служебные значения (с разрешения специалистов РАЭК):

- (минус) - Не определено

* (звездочка) - Данные не найдены

Пустое значение, для удаления значения свойства

EV000291
true, false
25, -4
2...10, -1.5...5


-

*

3.2 Классификация товара (изменение ETIM-класса)

В запросе должен присутствовать параметр classId.

ПараметрОписаниеВозможные значенияПример
classIdETIM ID класса stringВсе возможные ID ETIM-классовEC000001

Важно

У пользователя, делающего запрос на изменение ETIM-класса, должны быть выставлены специальные права. В случае проблем пишите на support@raec.su

3.3 Изменение атрибутов товара

Все параметры должны быть переданы в массиве data. Должен быть передан хотя бы один параметр.

ПараметрОписаниеВозможные значенияПример
supplierIdКод поставщика
3TS31100BP4
supplierAltIdАльтернативный код поставщика

nameНазвание товара

Контактор 3TS AC-3 12A 1НО DC 230V

brandБрендПолное название бренда или его ID в базе РАЭКSiemens
statusСкладской статус поставщика

S - в наличии на складе

Z - поставляется под заказ

D - выведен из ассортимента

D
rusLocalizationЛокализация в России1, 0, -11 - да, 0 - нет, -1 не определено
classId

ETIM-класс, к которому принадлежит товар

Все возможные ID ETIM-классовEC000007
eanШтрих-код EAN

Европейский стандарт штрихкода, предназначенный для кодирования идентификатора товара и производителя

EAN-13 (полный) — кодируется 13 цифр.

4011395994887
replacementCodeКод замены, для снятых с производства товаров

manufacturerLinkСсылка на товар на сайте поставщикаКорректный URL
countryСтрана происхожденияДвухзначный код страны согласно общероссийскому классификатору стран мира

"RU" - Россия

"CN" - Китай

youtubeCodeКод видеоролика на youtube.com
SgfmP5l1cfI
multiplicityКратность заказацелое дробное число (округляется до 6 знаков в дробной части)1.500000
unitЕдиницы измеренияНациональное условное обозначение единицы измерения по классификатору ОКЕИшт
thvedКод ТН ВЭДКод товара по классификатору ТН ВЭД8539100009
thvedDescriptionОписание ТН ВЭД
Лампы накаливания
warrantyГарантия производителя, месяцевцелое число12
netWeightВес нетто единицы, кгдробное число0,0123
descriptionFullПодробное описание товара

deliveryTimeСрок поставки, днейцелое число14
supplierColorОттенок цвета
Сосна
supplierNamingНейминг
"Акация"

Важно

Массив data не должен содержать параметр classId. В противном случае будет произведена только переквалификация товара без изменения остальных параметров.

Приоритетные атрибуты для заполнения

Набор обязательных для заполнения атрибутов и свойств товара зависит от его приоритета (определяется РАЭК). С такими наборами можно ознакомиться по ссылке https://drive.google.com/file/d/1vLlXWl9hfuDUE98arjijH_uFeDoldBgL/view

3.4 Изменение/добавление изображения для товара

Для загрузки главного изображения товара в БД РАЭК необходимо передать файл параметром image.

Для загрузки допускаются изображения в форматах jpeg, gif, png. Минимальный размер изображения 50px x 50px, максимальный 5000px x 5000px. Максимальный размер файла 5Mb.

Пример кода на PHP
// PHP 5 >= 5.5
$filePath = 'path_to/image_name.jpg';
$cfile = curl_file_create($filePath, 'image/jpeg', 'test_name.jpg');
// При использовании класса RestClient из примера, нужно запретить _convertParams
$response = $client->post('product/1', ['image' => $cfile]);

3.5 Добавление нового товара в БД РАЭК

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

ПараметрОписаниеВозможные значенияПример
supplierIdКод поставщика
3TS31100BP4
nameНазвание товара

Контактор 3TS AC-3 12A 1НО DC 230V

brandБрендПолное название бренда или его ID в базе РАЭКSiemens
statusСкладской статус поставщика

S - в наличии на складе

Z - поставляется под заказ

D - выведен из ассортимента

D
classId

ETIM-класс, к которому принадлежит товар

не обязательный

Все возможные ID ETIM-классовEC000007
rusLocalization

Локализация в России

 не обязательный

1, 0, -1

1 - да, 0 - нет, -1 не определено

1
ean

Штрих-код EAN

не обязательный

Европейский стандарт штрихкода, предназначенный для кодирования идентификатора товара и производителя

EAN-13 (полный) — кодируется 13 цифр.

4011395994887
replacementCode

Код замены, для снятых с производства товаров

не обязательный

  
manufacturerLink

Ссылка на товар на сайте поставщика

не обязательный

Корректный URL 
country

Страна происхождения

не обязательный

Двухзначный код страны согласно общероссийскому классификатору стран мира

"RU" - Россия

"CN" - Китай

При успешном добавлении товара в базу сервер вернет RAEC_ID данного товара с кодом состояния 200.

Пример ответа сервера при успешном добавлении товара

{"RAEC_ID":"798541"}

Параметр "rusLocalization" не обязательный, по умолчанию равен 1 (да).


Все параметры должны быть переданы в массиве relate. Должны быть переданы все параметры.

ПараметрОписаниеВозможные значенияПример
childProductIdRAEC_ID привязываемого товара

related_type

Тип связи.

  • '1' - Аксессуар
  • '2' - Комплект
  • '3' - Подходит для
  • '4' - Сопутствующий товар
  • '5' - Аналог
    Пустое значение - удаления связи между товарами

1

Пример кода на PHP
// Продукт c RAEC_ID = 3 явялется аксессуаром для продукта c RAEC_ID = 1
$response = $client->post('product/1', [
    'relate' => [
        'childProductId' => 3,
        'related_type' => 1,
    ]
]);

// Удаление связи между продуктами RAEC_ID = 3 и RAEC_ID = 1
$response = $client->post('product/1', [
    'relate' => [
        'childProductId' => 3,
        'related_type' => '',
    ]
]);


Название серии передается в параметре series

Пример кода на PHP
$response = $client->post('product/1', ['series' => 'Название серии']);


Все параметры должны быть переданы в массиве pack. К обязательным параметрам относится только параметр type

ПараметрОписаниеВозможные значенияПример
type

ID типа упаковки:

  1. Минимальная (внутренняя) упаковка
  2. Транспортная упаковка (коробка)
  3. Палета
число 1,2 или 31
qty

Количество

целое число

100

lengthДлинна, мдробное число1,23
widthШирина, мдробное число0,23
heightВысота, мдробное число0,55
weightВес брутто, кгдробное число0,123
amountОбъем упаковки, м.куб.дробное число0,00555
ean13-значный Штрих-код EAN
4011395994887
Пример кода на PHP
		$response = $client->post('product/1', [
            'pack' => [
                'type' => 3,
                'qty' => 777,
                'length' => 12.34,
                'width' => 56.78,
                'height' => '12,25',
                'weight' => 0.123,
                'amount' => 0.0056,
                'ean' => 1234567890123
            ]
        ]);


Все параметры должны быть переданы в массиве price. К обязательным параметрам относится только параметр date

ПараметрОписаниеВозможные значенияПример
dateдата установки ценыДата в формате 2016-30-12 или 30.12.20162016-30-12
amountцена без НДС (устарело)

дробное число

15,5

vat_amountцена с НДС (устарело)дробное число17,5
mrcМРЦдробное число18,99
tarifТарифная ценадробное число19,99
rrcРазрешенная розничная ценадробное число22,22
rrcimРазрешенная розничная цена интернет магазиновдробное число33,33
distributorДистрибьюторская ценадробное число19,77
currencyБуквенный код валюты по классификатору ОКВ
RUB
Пример кода на PHP
        $response = $client->post('product/1', [
            'price' => [
                'date' => '10.08.2017',
                'mrc' => 18.99,
                'tarif' => 19.99,
                'rrc' => 22.22,
                'rrcim' => 33.33,
                'distributor' => 19.77,
                'currency' => 'RUB',
            ]
        ]);
Пример кода Curl
curl --location --request POST 'https://catalog.raec.su/api/product/1' \
--header 'API-KEY: *******************************' \
--form 'price[date]="10.08.2017"' \
--form 'price[currency]="RUB"' \
--form 'price[mrc]="18.99"' \
--form 'price[distributor]="19.77"' \
--form 'price[tarif]="19,99"' \
--form 'price[rrc]="22.22"' \
--form 'price[rrcim]="33.33"'


Все параметры должны быть переданы в массиве file. К обязательным параметрам относится только параметр type

ПараметрОписаниеВозможные значенияПример
type

Тип файла:

  • FILE001 Инструкция
  • FILE003 Страница в каталоге
  • FILE004 3D-модель
  • FILE005 Паспорт
  • FILE006 Техническая информация
  • FILE007 Листовка
  • FILE008 Фото360

FILE001, FILE003, FILE004, FILE005, FILE006, FILE007, FILE008


FILE006



linkСсылка, по которой можно получить файл.

Для файлов типа FILE008 принимается только zip архив

https://yastatic.net/morda-logo/i/citylogos/yandex_no1-logo-ru.png


Пример кода на PHP
        $response = $client->post('product/1', [
            'file' => [
                'type' => 'FILE006',
                'link' => 'https://yastatic.net/morda-logo/i/citylogos/yandex_no1-logo-ru.png',
            ]
        ]);

Все параметры должны быть переданы в массиве certificate. К обязательным параметрам относятся type, from, link.

ПараметрОписаниеВозможные значенияПример
type

ID типа сертификата по справочнику РАЭК

int

1


number

Номер сертификата. Обязателен для всех типов сертификатов, кроме Отазных писем (ID=2) и Информационных писем (ID=60).

Обратите мнимание

У каждого типа сертифката своя структура номера, и номер должен соотвествовать этой структуре. В номере не должно находится посторонних знаков, например знака "№"

stringТС RU Д-FR.ММ06.В.00400
fromДата начала действия сертификата. Обязательно для заполнения.Дата в формате 2016-30-122020-01-29
toДата окончания действия сертификата. Обязательно для некторых типов сертификатовДата в формате 2016-30-122024-01-30
linkСсылка, по которой можно получить файл. Обязательно для заполнения.

url

https://yastatic.net/morda-logo/i/citylogos/yandex_no1-logo-ru.png


Пример кода на PHP
        $response = $client->post('product/1', [
            'certificate' => [
                'number' => 'ТС RU Д-FR.ММ06.В.00400',
                'type' => 1,
                'from' => '2020-01-29',
                'to' => '2024-01-30',
                'link' => 'http://web.se-ecatalog.ru/certificates/default/download/527'
            ]
        ]);


4. Ответы сервера

JSON (пример ответа)

{"description":"Parameter \"featureId\" is not valid","code":400,"title":"Bad Request","message":"Bad Request"}

Возможные ответы (description)ОписаниеКод состояния

Успешное выполнение операции200

Parameter "featureId" is not valid

Отсутствует или неверный параметр featureId400

Parameter "value" is not valid

Отсутствует или неверный параметр value400
Parameter "classId" is not validОтсутствует или неверный параметр classId400

Product not found


Товар не найден с таким raecId

400
Parameter "supplierId" is not validОтсутствует или неверный параметр supplierId при добавлении товара400
Parameter "status" is not validОтсутствует или неверный параметр status при добавлении товара400
Status not foundСтатус не найден. При добавлении товара400
Parameter "name" is not validОтсутствует или неверный параметр name при добавлении товара400
Parameter "brandId" is not validОтсутствует или неверный параметр brandId при добавлении товара400
Brand not foundБренд не найден. При добавлении товара400

Product with this supplierId already exists. RAEC_ID: current_id

Товар с таким кодом поставщика уже есть в базе. При добавлении товара400

Value already exists

Свойство уже имеет значение value в БД500

Доступ запрещен. Текущий пользователь не может редактировать товар данного бренда403
Feature "FEATURE_ID" is not of class "CLASS_ID"Свойство "FEATURE_ID" существует, но не принадлежит классу "CLASS_ID"400

5. Режим тестирования

Для для использования режима тестирования нужно в хедере запроса передать параметр DEBUG: 1
---------------------------------------------
$httpHeader = ['API-KEY: ' . $this->apiKey];
$httpHeader[] = 'DEBUG: 1';
---------------------------------------------


При таком режиме изменение данных в БД не произойдет. Будет сделана валидация параметров запроса. Если валидация не проходит то вернется ошибка, в противном случае всегда 200 код. В случае добавления товара, вернется RAEC_ID = 9999999

6. Схема работы

7. Примеры кода на PHP


<?php
/**
* Образец клиента для тестирования API
*/

class RestClient
{
    // Сертификат пока не используется
    //const CAINFO = 'path_to/catalog.raec.su.crt';
    
    /**
     * Код состояния ответа сервера
     * @var int
     */
    protected $_httpCode;

    /**
     * 32-значный ключ пользователя API
     * @var string
     */
    protected $apiKey;

    /**
     * Базовый URL API сервера
     * @var string
     */
    protected $urlBase;


    /**
     * @param string $urlBase
     * @param string $apiKey
     */
    public function __construct($urlBase, $apiKey)
    {
        $this->urlBase = $urlBase;
        $this->apiKey = $apiKey;
    }

    /**
     * @param string $url
     * @param array $params
     * @return string|bool
     */
    public function post($url, $params = [])
    {
        return $this->httpRequest($url, $params, 'POST');
    }
    
    protected function _convertParams($params)
    {
        return http_build_query($params);
    }

    public function getHttpCode()
    {
        return $this->_httpCode;
    }

    /**
     * @param string $url
     * @param array $postfields
     * @param string $method
     * @return mixed
     */
    public function httpRequest($url, $postfields = [], $method = "POST")
    {

        foreach ($postfields as $key => $value) {
            if (is_null($value)) {
                unset($postfields[$key]);
            }
        }

        $url = $this->urlBase . $url;

        $ci = curl_init();

        /* Curl settings */
        curl_setopt($ci, CURLOPT_HEADER, false);
        curl_setopt($ci, CURLOPT_RETURNTRANSFER, true);

        $httpHeader = ['API-KEY: ' . $this->apiKey];

        $postfields = $this->_convertParams($postfields);

        switch ($method) {
            case 'POST':
                curl_setopt($ci, CURLOPT_POST, true);
                if (!empty($postfields)) {
                    curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields);
                }
                curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, false);
                // VERIFYHOST временно не используется
                //curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, 2);
                //curl_setopt($ci, CURLOPT_CAINFO, self::CAINFO);

                break;
        }
        curl_setopt($ci, CURLOPT_URL, $url);

        curl_setopt($ci, CURLOPT_HTTPHEADER, $httpHeader);

        $response = curl_exec($ci);

        $this->_httpCode = curl_getinfo($ci, CURLINFO_HTTP_CODE);
        curl_close($ci);

        return $response;
    }
}

/*
* Пример использования клиента 
*/

$client = new RestClient('https://catalog.raec.su/api/', 'f85aa1473448574c45a7094d4ab5bc22'); // используйте ваш ключ

// Изменение свойств для товара с raecID = 1
// test A
$response = $client->post('product/1', ['featureId' => 'EF000007', 'value' => 'EV000291']);

// test N
$response = $client->post('product/1', ['featureId' => 'EF008858', 'value' => 22]);

// test L
$response = $client->post('product/1', ['featureId' => 'EF000025', 'value' => 'false']);

// test R
$response = $client->post('product/1', ['featureId' => 'EF001742', 'value' => '-5.2...10']);

// test удаление значения
$response = $client->post('product/1', ['featureId' => 'EF001742', 'value' => '']);

// test классификация товара
$response = $client->post('product/271910', ['classId' => 'EC000043']);

// test добавление нового товара
$response = $client->post('product/add',
    ['data' => [
        'supplierId' => '3TS31100BP4',
        'name' => 'Контактор 3TS AC-3 12A 1НО DC 230V',
        'brand' => 'Siemens', // or 'brand' => 16
        'status' => 'D'
    ]
]);

// test изменение атрибутов товара
$response = $client->post('product/1',
    ['data' => [
        'supplierId' => '3TS31100BP4',
        'name' => 'Контактор 3TS AC-3 12A 1НО DC 230V',
        'brand' => 'ABB',
        'status' => 'D',
        'ean' => 4521548754211,
        'supplierAltId' => '3TS31100BA4',
        'replacementCode' => 'A234777',
        'manufacturerLink' => 'http://www.site.com/product/54875',
        'country' => 'RU'
    ]
]);

8. Примеры кода на 1С

Пример кода на 1C
	WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
	WinHttp.Option(2,"utf-8");
	
	//Отключаем проверку безопасности
	Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
	Скрипт.language="javascript";
	Скрипт.AddObject("WinHttp",WinHttp);
	Скрипт.Eval("WinHttp.Option(4)=13056");//intSslErrorIgnoreFlags
	Скрипт.Eval("WinHttp.Option(6)=true");//blnEnableRedirects
	Скрипт.Eval("WinHttp.Option(12)=true");//blnEnableHttpsToHttpRedirects<
	
	//ищем RAEC_ID в базе РАЭК по Артикуру + Бренду	
	WinHttp.Open("GET", "http://catalog.raec.su/api/product?filter%5BsupplierId%5D=" + Артикул + "&filter%5BbrandId%5D=" + Бренд, 0);
	WinHttp.SetRequestHeader("API-KEY", APIKEY);
	WinHttp.Send();
	Ответ = WinHttp.ResponseText();
	Найдено = СтрНайти(Ответ, "raecId");
	НачалоЗначения = Найдено + 9; 
	RAEC_ID = Сред(Ответ, НачалоЗначения, СтрНайти(Ответ, """", , НачалоЗначения) - (НачалоЗначения));
			
	//Устанавливаем класс в базе РАЭК
	WinHttp.Open("POST", "https://catalog.raec.su/api/product/" + RAEC_ID, 0);
	WinHttp.SetRequestHeader("API-KEY", APIKEY);
	//WinHttp.SetRequestHeader("DEBUG", 1);//Режим отладки. Изменение объекта в базе РАЭК не происходит.
	WinHttp.SetRequestHeader("Content-Type", "multipart/form-data; boundary=Asrf456BGe4h");	
	POST =
	"--Asrf456BGe4h
	|Content-Disposition: form-data; name=classId
	|
	|" + КлассETIM + "
	|--Asrf456BGe4h
	|";
	WinHttp.Send(POST);
	Если WinHttp.Status <> 200 Тогда //есть ошибки
		//...
	КонецЕсли; 
	
	//Устанавливаем значение характеристики товара в базе РАЭК)
	POST = 	
	"--Asrf456BGe4h
	|Content-Disposition: form-data; name=featureId
	|
	|" + featureId + "
	|--Asrf456BGe4h
	|Content-Disposition: form-data; name=value
	|
	|" + value + "
	|--Asrf456BGe4h--
	|";
	
	WinHttp.Send(POST);
	Если WinHttp.Status <> 200 И WinHttp.Status <> 500 Тогда //не удалось установить характеристику (код 200 - все ОК, код 500 - пытаемся утсановить такое же значение)
		//...
	КонецЕсли;	

Отправка главного изображения товара
Функция ОтправитьИзображениеТовара() 

	АдресФайла = "C:\Picture.jpg";
	КодТовараРАЭК = "123456789";
	КлючПриложения = "123456789";
	
	//////////////////////////////////////////////////
	
	Файл = Новый Файл(АдресФайла);
	
	Если НЕ Файл.Существует() Тогда
		Возврат Неопределено;	
	КонецЕсли;
	
	ТипФайла = СтрЗаменить(Файл.Расширение, ".", "");

	Если Найти("jpeg;gif;png;tiff", ТипФайла) = 0 ИЛИ ТипФайла = "jpg" Тогда
		ТипФайла = "jpeg";	
	КонецЕсли;
		
	Граница = СтрЗаменить(Новый УникальныйИдентификатор(), "-", "");	

	ОбъединяемыеФайлы = Новый Массив;
	
	// Шапка
	ИмяВременногоФайла = ПолучитьимяВременногоФайла("txt");
	ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла, "ISO-8859-1");
	ЗаписьТекста.ЗаписатьСтроку("--" + Граница);
	ЗаписьТекста.ЗаписатьСтроку(СтрШаблон("Content-Disposition: form-data; name=""image""; filename=""%1""", Файл.Имя));
	ЗаписьТекста.ЗаписатьСтроку(СтрШаблон("Content-Type: image/%1", ТипФайла));
	ЗаписьТекста.ЗаписатьСтроку("");	
	ЗаписьТекста.Закрыть();
	
	ОбъединяемыеФайлы.Добавить(ИмяВременногоФайла);
	
	// Файл
	ОбъединяемыеФайлы.Добавить(АдресФайла);
	
	// Подвал
	ИмяВременногоФайла = ПолучитьимяВременногоФайла("txt");
	ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла, "ISO-8859-1");	
	ЗаписьТекста.ЗаписатьСтроку("");
	ЗаписьТекста.ЗаписатьСтроку("--" + Граница + "--");	
	ЗаписьТекста.Закрыть();
	
	ОбъединяемыеФайлы.Добавить(ИмяВременногоФайла);
	
	// Тело запроса
	ФайлТела = ПолучитьИмяВременногоФайла();
	ОбъединитьФайлы(ОбъединяемыеФайлы, ФайлТела);

	Для каждого ИмяВременногоФайла Из ОбъединяемыеФайлы Цикл
		УдалитьФайлы(ИмяВременногоФайла);
	КонецЦикла;
	
	// Запрос
	Файл = Новый Файл(ФайлТела);
	
	Попытка
		ЗаголовкиHTTP = Новый Соответствие;
		ЗаголовкиHTTP.Вставить("API-KEY", КлючПриложения);
		ЗаголовкиHTTP.Вставить("Content-Type", "multipart/form-data, boundary=" + Граница);
		ЗаголовкиHTTP.Вставить("Content-Lenght", XMLСтрока(Файл.Размер()));
		
		HTTPSСоединение = Новый HTTPСоединение("catalog.raec.su", , , , , , Новый ЗащищенноеСоединениеOpenSSL());	
		
		HTTPЗапрос = Новый HTTPЗапрос("api/product/" + КодТовараРАЭК, ЗаголовкиHTTP);
		HTTPЗапрос.УстановитьИмяФайлаТела(ФайлТела);
		HTTPОтвет = HTTPSСоединение.ОтправитьДляОбработки(HTTPЗапрос);
	Исключение
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось отправить запрос к ""catalog.raec.su""" + Символы.ПС + ОписаниеОшибки());
		HTTPЗапрос = Неопределено;
		УдалитьФайлы(ФайлТела);
		Возврат Неопределено;	
	КонецПопытки;
	
	HTTPЗапрос = Неопределено;
	УдалитьФайлы(ФайлТела);

	Возврат HTTPОтвет;
	
КонецФункции

9. Поддержка

По любым вопросам, связанными с API или работой Базы RAEC, вы можете связаться со специалистами по email  support@raec.su