Все города

Обновление прайс-листов по API

У нас есть API через который возможно обновить отдельные позиции товара на сайте: добавить, удалить, модифицировать. Если вы хотите обновить прайс-лист целиком, следует воспользоваться этой инструкцией

Для отправки запросов на онлайн-обновления требуется настроить учетную систему с вашей стороны. Покажите, пожалуйста, инструкцию вашему техническому специалисту.

Преимущества обновления по API

  1. При продаже товара продавцу нет необходимости удалять товар в прайсе и заливать его заново на обновление, прогоняя весь прайс;
  2. Обновление онлайн любое количество раз без ограничений;
  3. Всегда актуальная информация на сайте.

Описание API

Endpoint: https://www.farpost.ru/good/packet/api/sync

Content-Type: multipart/form-data

Обязательные параметры запроса:

  • packetId - id прайс-листа, в котором нужно обновить товар (значение вида 55359 хранится в ссылке на прайс-лист https://www.farpost.ru/personal/goods/packet/{id}/recurrent-update);
  • auth - должен вычисляться как hash('sha512', X), где X - строка с ключом. Ключ уникален на кабинет, предоставляется по запросу.
    Чтобы получить auth, необходимо рассчитать хэш по алгоритму sha512 от строки с ключом. Расчет можно выполнить с помощью онлайн-сервиса;
  • data - файл или бинарный контент, данные товаров в том же формате, в котором был загружен изменяемый прайс-лист. Размер данных, переданных в этом параметре, не должен превышать 5 МБ.

Ответ при успешной отправке запроса: 200 ОК. 

Пример в виде html-формы:

<form action="http://www.farpost.ru/good/packet/api/sync" enctype="multipart/form-data" method="post">

        <input name="packetId" type="text" value="11111" />

        <input name="auth" type="text" value="fce6b30f476a60731067256780d5092e4cd9f0f6d47f05baf8ea571cf2aeb18733062324b9377e0a79fc6d8ef05e835afd43822b918e688bda1e57262c56b8bc" /> 

        <input name="data" type="file" />

        <input type="submit" />

</form>

Описание передаваемых данных:

  • Файл с изменениями, имеет такой же формат, как и исходный загруженный прайс.
    Если в исходном прайсе первая строка - это заголовок таблицы, то с нее же должны начинаться и все файлы. Смена формата повлечет за собой ошибку при выполнении запроса.
    Допустимые форматы: XLS, CSV, XML. 
    Примечание: при смене форматов с XLS на CSV, обновление пройдет успешно.
  • В минимальном варианте XML-прайс содержит информацию о наименовании, описании, количестве и цене товара: https://www.farpost.ru/help/XmlPriceCreate1
  • Указана колонка, отвечающий за количество. Если товар удаляется, отправлять значение "0". 

Коды ошибок и их описание

  1. ERROR_REASON_PACKET_NOT_FOUND;
    Обратиться к менеджеру для подключения дополнительных настроек;
  2. ERROR_REASON_AUTH_FAILED - неверный хэш
    Проверить расчет хэша (auth). Строку auth необходимо пропустить через алгоритм хэширования sha512;
  3. ERROR_REASON_EMPTY_REQUEST - отсутствует обязательный параметр data или auth;
    Проверить наличие и корректность параметров data или auth.

Обновление

Несмотря на то, что часть товаров автоматически обновляется через API, прайс все равно устаревает со временем. Потому иногда необходимо обновлять его полностью:

  • Для обычных прайсов — раз в месяц; 
  • Для прайсов, которые подключены на сделки или предоставляют скидку — раз в 14 дней;
  • Прайсов на платном размещении это не касается, они не устаревают.
Полезна ли статья?