Корзина (0)
Сегодня 23:31
{{::message}}

API сайта

Загрузка остатков через API

Дилеры могут автоматизировать загрузку остатков продукции на сайт keaz.ru, настроив ее через API.

Подробную инструкцию можно скачать по этой ссылке: https://keaz.ru/f/8563/instrukciya-po-zagruzke-ostatkov-cherez-api.pdf

Для работы с данными из ЛК необходимо получить API ключ, он доступен в информации о компании пользователям с ролью "Администратор дилера".

Общий вид запросов

url: /restapi/ресурс.дейстие.тип
Ресурс - объект над которым будут производится действия
Действие - стандартный набор функций: add, update, delete, list
Тип - возвращаемый тип данных: json, xml. По умолчанию тип данных json
Данные для обработки передаются POST запросом либо в формате JSON. Обязательным параметром является hash - api ключ.

Общий вид ответов

xml

<?xml version="1.0" encoding="UTF-8"?> <response> <warehouses> <item> <code>3</code> <contacts>3</contacts> <address>Курск, ул. Луначарского, 8</address> </item> <item> <code>111111</code> <contacts>test</contacts> <address>Курск</address> </item> </warehouses> <status> <code>ok</code> <messages> <item>Склад `111111` уже существует!</item> </messages> </status> </response>

json

{
"warehouses": [
    {
      "code": "3",
      "contacts": "3",
      "address": "\u041a\u0443\u0440\u0441\u043a, \u0443\u043b. \u041b\u0443\u043d\u0430\u0447\u0430\u0440\u0441\u043a\u043e\u0433\u043e 8"
    },
    {
      "code": "111111",
      "contacts": "test",
      "address": "\u041a\u0443\u0440\u0441\u043a"
    }
  ],
"status": {
    "code": "error",
    "messages": [
      "Не корректные данные склада в строке `0`: `{"contacts":"test","address":"\u041a\u0443\u0440\u0441\u043a"}`"
    ]
  }
}

Работа со складами контрагентов

Добавление склада

Url: /restapi/warehouse.add.[xml|json]
Параметры для передачи:
hash - api ключ для доступа
warehouses - массив складов состоящий из

  • code - код склада контрагента
  • contacts - контактные данные
  • address - адрес склада, на основе этого адреса вычисляются координаты для показа ближайших к пользователю складов

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

hash = 11111111111111111111111111 warehouse[0][code] = 3 warehouse[0][contacts] = test@mail.ru warehouse[0][address] = Курск

Пример ответа

xml

<?xml version="1.0" encoding="UTF-8"?> <response> <status> <code>ok</code> <messages> <item>Склад `111111` добавлен</item> </messages> </status> </response>

json

{
  "status": {
    "code": "ok",
    "messages": [
      "Склад `111111` добавлен"
    ]
  }
}

Редактирование склада

Url: /restapi/warehouse.update.[xml|json]
Параметры для передачи:
hash - api ключ для доступа
warehouses - массив складов состоящий из

  • code - код склада контрагента
  • contacts - контактные данные
  • address - адрес склада, на основе этого адреса вычисляются координаты для показа ближайших к пользователю складов

Структура данных аналогична добавлению склада.

Удаление склада

Url: /restapi/warehouse.delete.[xml|json]
Параметры для передачи:
hash - api ключ для доступа
warehouses - массив складов состоящий из

  • code - код склада контрагента

Для удаления склада достаточно передать только его код.

Получение списка складов

Url: /restapi/warehouse.list.[xml|json]
Параметры для передачи:
hash - api ключ для доступа

Пример ответа

xml

<?xml version="1.0" encoding="UTF-8"?> <response> <warehouses> <item> <code>3</code> <contacts>3</contacts> <address>Курск, ул. Луначарского 8</address> </item> <item> <code>111111</code> <contacts>test</contacts> <address>Курск</address> </item> </warehouses> <status> <code>ok</code> </status> </response>

json

{
  "warehouses": [
    {
      "code": "3",
      "contacts": "3",
      "address": "\u041a\u0443\u0440\u0441\u043a, \u0443\u043b. \u041b\u0443\u043d\u0430\u0447\u0430\u0440\u0441\u043a\u043e\u0433\u043e 8"
    },
    {
      "code": "111111",
      "contacts": "test",
      "address": "\u041a\u0443\u0440\u0441\u043a"
    }
  ],
  "status": {
    "code": "ok"
  }
}

Работа с остатками на складах контрагентов

Добавление остатков

Url: /restapi/remains.add.[xml|json] Параметры для передачи: hash - api ключ для доступа code - код склада контрагента products - массив остатков состоящий из article - код продукции quantity - остаток на складе При вызове данного метода происходит очистка остатков по коду склада.

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

hash = 111111111111111111111111 code = test products[0][article] = 100000 products[0][quantity] = 5

Пример ответа

xml

<?xml version="1.0" encoding="UTF-8"?> <response> <status> <code>ok</code> <messages> <item>Сохранено 1 элементов</item> </messages> </status> </response>

json

{ "status": { "code": "ok", "messages": [ "\u041e\u0441\u0442\u0430\u0442\u043a\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u044b", "\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043e 1 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432" ] } }

Удаление остатков

Url: /restapi/remains.delete.[xml|json]
Параметры для передачи:
hash - api ключ для доступа
code - код склада контрагента

Пример ответа

xml

<?xml version="1.0" encoding="UTF-8"?> <response> <status> <code>ok</code> </status> </response>

json

{ "status": { "code": "ok" } }

Загрузка остатков через email

Дилеры могут загружать остатки продукции, отправляя на электронную почту КЭАЗ табличный документ. Для этого следует выслать на адрес api@keaz.ru файл с любым названием обязательно в формате csv.

Чтобы система приняла документ, дилер должен выполнить ряд требований:

Склады - в теме письма пишется warehouses, в теле письма только API ключ. К самому сообщению нужно прикрепить csv-файл.

Файл должен содержать три столбца:
| Адрес | Контакты | Код склада |

Код склада - уникальный идентификатор, отображенный в файле остатков в столбце код склада https://keaz.ru/office/keaz-warehouse-remains-example.xls. Он нужен для того, чтобы определить какой продукт к какому конкретно складу дилера относится. Указывается любой буквенно-цифровой набор (шифр). Напр.: D4R7WE.

Остатки - в теме письма пишется remains, в теле письма API ключ, прикрепленные файлы с остатками должны быть в формате csv с любыми именами, но в каждом файле должны быть остатки только по 1 складу. Остатки по складу сбрасываются при начале импорта из файла.

После обработки сообщения на email отправителя уходит письмо с отчетом об обработке файлов.

Сам файл должен содержать три столбца:
| Код склада | Артикул | Остаток |

Пример файла доступен по ссылке https://keaz.ru/office/keaz-warehouse-remains-example.xls

API ключ можно скопировать с сайта КЭАЗ, перейдя в раздел «Информация о компании».

API ключ можно обновить, нажав на соответствующую кнопку. Чтобы протестировать функционал следует выставить галочку «Режим разработки». Окончив тестирование, галочку необходимо снять.

Технические детали

Формат писем

Тема сообщения: Название метода (например warehouse)

Тело сообщения: API ключ

Вложения: Файлы в формате csv

Получение API ключа

API ключ выдается на контрагента, право на просмотр и получение ключа имеет пользователь с правами "Администратор дилера" и "Загрузка остатков"

Отправка отчета об обработке

Отчет формируется на каждое письмо, отправка происходит в том случае если пользовательские данные для авторизации прошли проверку, иначе сайт "молчит"

Обновление складов контрагента

Тема сообщения: warehouses

Логика работы

Проверка валидности пользователя и API ключа в теле сообщения, отправителем может быть только подключенный к контрагенту пользователь с ролью "Загрузка остатков". Для включения данной обратитесь к Вашему менеджеру в Управлении обслуживания покупателей КЭАЗ.

Проверка типа фала, разрешены только csv:

  • text/comma-separated-values,
  • text/csv,
  • application/csv,
  • application/excel,
  • application/vnd.ms-excel,
  • application/vnd.msexcel,
  • text/anytext,
  • application/octet-stream

Проверка количества и именования столбцов.

Обработка строк, если склад с кодом из строки найден, то происходит обновление, иначе добавление. Если после обработки файла остались склады которые есть в базе данных, но их нет в файле, то происходит удаление "лишних" складов из бд.

Обновление остатков на складах контрагентов

Тема письма: remains

Логика работы

Получение списка разрешенной к загрузке продукции.

Проверка валидности пользователя и API ключа в теле сообщения, отправителем может быть только подключенный к контрагенту пользователь с ролью "Загрузка остатков".

Проверка типа фала, разрешены только csv.

  • text/comma-separated-values,
  • text/csv,
  • application/csv,
  • application/excel,
  • application/vnd.ms-excel,
  • application/vnd.msexcel,
  • text/anytext,
  • application/octet-stream

Проверка количества и именования столбцов.

Разбор строк. Если это первая итерация, то происходит очистка остатков на складах. Добавление продукции происходит только из разрешенных к показу на сайте категорий.

Disqus