HACCP-ONLINE

Написать нам в WhatsApp
+7 930 035-33-83

API

Сервер Haccp-Online предоставляет возможность получать и передавать информацию посредством файлов формата JSON через протокол HTTP.

По указанным путям надо выполнять POST-запрос с передачей в Content JSON-файла с параметрами запроса. Файлы JSON должны быть в кодировке UTF-8.

Доступные операции:

РАЗДЕЛ "СОТРУДНИКИ"

Для работы сервиса Haccp-Online необходимо, чтобы должности имели минимум 1 уровень вложенности. Пример простейшей струткуры:

  • Руководство
    • Директор
      • ФИО директора
    • Управляющий
      • ФИО управляющего
  • Сотрудники
    • Повар
      • ФИО повара
    • Официант
      • ФИО официанта

Добавление должностей в список сотрудников

Для добавления должностей используется путь https://oldlk.haccp-online.ru/api/position_rubric/ с параметром action:add
Пример запроса:

{
    "uid":"1",
    "key":"0836f438-3a96",
    "action": "add",
    "rows": 
    [
        [ 1, null, "Руководство"], 
        [ 2, null, "Сотрудники"], 
        [ 3, 1, "Директор"],
        [ 4, 1, "Управляющий"],
        [ 5, 2, "Повар"],
        [ 6, 2, "Официант"]
    ]
}
  • uid (number) - идентификатор компании (выдается администратором сервиса Haccp-Online)
  • key (string) - уникальный ключ авторизации (выдается администратором сервиса Haccp-Online)
  • action (string) - название процедуры
  • rows (array) - массив данных о должностях

Массив rows имеет структуру:

"rows": 
    [
        [ id, parent_id, caption]
    ]
  • id (number) - идентификатор должности (не может быть пустым или строкой)
  • parent_id (number) - идентификатор родителя должности (может быть либо числом, либо в значении null - если эта должность корневая)
  • caption (string) - название должности (не может быть пустым)

В результате выполнения запроса будет прислан ответный JSON-файл. Пример ответа:

{
    "error":0,
    "message":
    ["Успешно добавлено должностей: 2"]
}
  • errorCode (number) - признак наличия ошибки (0/1)
  • message (string) - текст ошибки

Возможные значения message:

  • Неверный запрос - ошибка в синтаксисе запроса
  • Неверный action - ошибка в названии процедуры
  • Ошибка авторизации - неверный uid или key
  • Отсутствуют обязательные параметры - в запросе отсутствуют или пустые обязательные параметры: uid, key, action, rows
  • Ошибка в строке n массива rows
  • Для должности '{должность}' не создана родительская рубрика - передается должность с параметром parent_id, которая еще не создана
  • Успешно добавлено должностей: n

Редактирование должностей в списке сотрудников

Для редактирования должностей используется путь https://oldlk.haccp-online.ru/api/position_rubric/ с параметром action:edit
Пример запроса:

{
    "uid":"1",
    "key":"0836f438-3a96",
    "action": "edit",
    "rows": 
    [
        [ 3, 1, "Директор_1"],
        [ 4, 1, "Управляющий_1"]
    ]
}
  • uid (number) - идентификатор компании (выдается администратором сервиса Haccp-Online)
  • key (string) - уникальный ключ авторизации (выдается администратором сервиса Haccp-Online)
  • action (string) - название процедуры
  • rows (array) - массив данных о должностях

Массив rows имеет структуру:

"rows": 
    [
        [ id, parent_id, caption]
    ]
  • id (number) - идентификатор должности (не может быть пустым или строкой)
  • parent_id (number) - идентификатор родителя должности (не может быть пустым или строкой)
  • caption (string) - название должности (не может быть пустым)

В результате выполнения запроса будет прислан ответный JSON-файл. Пример ответа:

{
    "error":0,
    "message":
    ["Успешно отредактировано должностей: 2"]
}
  • errorCode (number) - признак наличия ошибки (0/1)
  • message (string) - текст ошибки

Возможные значения message:

  • Неверный запрос - ошибка в синтаксисе запроса
  • Неверный action - ошибка в названии процедуры
  • Ошибка авторизации - неверный uid или key
  • Отсутствуют обязательные параметры - в запросе отсутствуют или пустые обязательные параметры: uid, key, action, rows
  • Ошибка в строке n массива rows
  • Должность '{должность}' не найдена в списке - попытка отредактировать должность с id, которого нет в списке
  • Для должности '{должность}' не создана родительская рубрика - передается должность с параметром parent_id, которая еще не создана
  • Успешно добавлено должностей: n

Удаление должностей в списке сотрудников

ВНИМАНИЕ!!! Удаление должности приведет к удалению всех поддолжностей, находящихся в этой должности, а также всех сотрудников, находящихся в этой должности и поддолжностях.

Для удаления должностей используется путь https://oldlk.haccp-online.ru/api/position_rubric/ с параметром action:delete
Пример запроса:

{
    "uid":"1",
    "key":"0836f438-3a96",
    "action": "delete",
    "rows": 
    [
        [3],
        [4]
    ]
}
  • uid (number) - идентификатор компании (выдается администратором сервиса Haccp-Online)
  • key (string) - уникальный ключ авторизации (выдается администратором сервиса Haccp-Online)
  • action (string) - название процедуры
  • rows (array) - массив данных о должностях

Массив rows имеет структуру:

"rows": 
    [
        [ id]
    ]
  • id (number) - идентификатор должности (не может быть пустым или строкой)

В результате выполнения запроса будет прислан ответный JSON-файл. Пример ответа:

{
    "error":0,
    "message": "ок"
}
  • errorCode (number) - признак наличия ошибки (0/1)
  • message (string) - текст ошибки

Возможные значения message:

  • Неверный запрос - ошибка в синтаксисе запроса
  • Неверный action - ошибка в названии процедуры
  • Ошибка авторизации - неверный uid или key
  • Отсутствуют обязательные параметры - в запросе отсутствуют или пустые обязательные параметры: uid, key, action, rows
  • Ошибка в строке n массива rows
  • Должность с id='{id_должности}' не найдена в списке - попытка удалить должность с id, которого нет в списке

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

Для добавления сотрудников используется путь https://oldlk.haccp-online.ru/api/position/ с параметром action:add
Пример запроса:

{
    "uid":"1",
    "key":"0836f438-3a96",
    "action": "add",
    "rows": 
    [
        [ 1, 3, "Иванов И.И."], 
        [ 2, 4, "Петров П.П."], 
        [ 3, 5, "Сидоров С.С."],
        [ 4, 5, "Антонов А.А."]
    ]
}
  • uid (number) - идентификатор компании (выдается администратором сервиса Haccp-Online)
  • key (string) - уникальный ключ авторизации (выдается администратором сервиса Haccp-Online)
  • action (string) - название процедуры
  • rows (array) - массив данных о сотрудниках

Массив rows имеет структуру:

"rows": 
    [
        [ id, rubric_id, caption]
    ]
  • id (number) - идентификатор сотрудника (не может быть пустым или строкой)
  • rubric_id (number) - идентификатор должности (не может быть пустым или строкой)
  • caption (string) - ФИО сотрудника (не может быть пустым)

В результате выполнения запроса будет прислан ответный JSON-файл. Пример ответа:

{
    "error":0,
    "message":
    ["Успешно добавлено сотрудников: 2"]
}
  • errorCode (number) - признак наличия ошибки (0/1)
  • message (string) - текст ошибки

Возможные значения message:

  • Неверный запрос - ошибка в синтаксисе запроса
  • Неверный action - ошибка в названии процедуры
  • Ошибка авторизации - неверный uid или key
  • Отсутствуют обязательные параметры - в запросе отсутствуют или пустые обязательные параметры: uid, key, action, rows
  • Ошибка в строке n массива rows
  • Для сотрудника '{сотрудник}' не создана должность - передается сотрудник с параметром rubric_id, должность которого еще не создана
  • Успешно добавлено сотрудников: n

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

Для редактирования сотрудников используется путь https://oldlk.haccp-online.ru/api/position/ с параметром action:edit
Пример запроса:

{
    "uid":"1",
    "key":"0836f438-3a96",
    "action": "edit",
    "rows": 
    [
        [ 1, 3, "Иванов И.И."], 
        [ 2, 4, "Петров П.П."]
    ]
}
  • uid (number) - идентификатор компании (выдается администратором сервиса Haccp-Online)
  • key (string) - уникальный ключ авторизации (выдается администратором сервиса Haccp-Online)
  • action (string) - название процедуры
  • rows (array) - массив данных о сотрудниках

Массив rows имеет структуру:

"rows": 
    [
        [ id, rubric_id, caption]
    ]
  • id (number) - идентификатор сотрудника (не может быть пустым или строкой)
  • rubric_id (number) - идентификатор должности (не может быть пустым или строкой)
  • caption (string) - ФИО сотрудника (не может быть пустым)

В результате выполнения запроса будет прислан ответный JSON-файл. Пример ответа:

{
    "error":0,
    "message":
    ["Успешно отредактировано сотрудников: 2"]
}
  • errorCode (number) - признак наличия ошибки (0/1)
  • message (string) - текст ошибки

Возможные значения message:

  • Неверный запрос - ошибка в синтаксисе запроса
  • Неверный action - ошибка в названии процедуры
  • Ошибка авторизации - неверный uid или key
  • Отсутствуют обязательные параметры - в запросе отсутствуют или пустые обязательные параметры: uid, key, action, rows
  • Ошибка в строке n массива rows
  • Сотрудник '{сотрудник}' не найден в списке - попытка отредактировать сотрудника с id, которого нет в списке
  • Для сотрудника '{сотрудник}' не создана должность - передается сотрудник с параметром rubric_id, должность которого еще не создана
  • Успешно добавлено сотрудников: n

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

ВНИМАНИЕ!!! Удаление сотрудника приведет к удалению его ФИО из всех журналов. Чтобы оставить ФИО сотрудника в журналах, но при этом удалить ФИО из списка сотрудников, воспользуйтесь функцией архивирования.

Для удаления сотрудников используется путь https://oldlk.haccp-online.ru/api/position/ с параметром action:delete
Пример запроса:

{
    "uid":"1",
    "key":"0836f438-3a96",
    "action": "delete",
    "rows": 
    [
        [3],
        [4]
    ]
}
  • uid (number) - идентификатор компании (выдается администратором сервиса Haccp-Online)
  • key (string) - уникальный ключ авторизации (выдается администратором сервиса Haccp-Online)
  • action (string) - название процедуры
  • rows (array) - массив данных о сотрудниках

Массив rows имеет структуру:

"rows": 
    [
        [ id]
    ]
  • id (number) - идентификатор сотрудника (не может быть пустым или строкой)

В результате выполнения запроса будет прислан ответный JSON-файл. Пример ответа:

{
    "error":0,
    "message":
    ["Успешно удалено сотрудников: 2"]
}
  • errorCode (number) - признак наличия ошибки (0/1)
  • message (string) - текст ошибки

Возможные значения message:

  • Неверный запрос - ошибка в синтаксисе запроса
  • Неверный action - ошибка в названии процедуры
  • Ошибка авторизации - неверный uid или key
  • Отсутствуют обязательные параметры - в запросе отсутствуют или пустые обязательные параметры: uid, key, action, rows
  • Ошибка в строке n массива rows
  • Сотрудник с id='{id_сотрудника}' не найден в списке - попытка удалить сотрудника с id, которого нет в списке
  • Успешно удалено сотрудников: n

Перенос сотрудников в архив

Чтобы оставить ФИО сотрудника в журналах, но при этом удалить ФИО из списка сотрудников.

Для переноса сотрудников в архив используется путь https://oldlk.haccp-online.ru/api/position/ с параметром action:archive
Пример запроса:

{
    "uid":"1",
    "key":"0836f438-3a96",
    "action": "archive",
    "rows": 
    [
        [3],
        [4]
    ]
}
  • uid (number) - идентификатор компании (выдается администратором сервиса Haccp-Online)
  • key (string) - уникальный ключ авторизации (выдается администратором сервиса Haccp-Online)
  • action (string) - название процедуры
  • rows (array) - массив данных о сотрудниках

Массив rows имеет структуру:

"rows": 
    [
        [ id]
    ]
  • id (number) - идентификатор сотрудника (не может быть пустым или строкой)

В результате выполнения запроса будет прислан ответный JSON-файл. Пример ответа:

{
    "error":0,
    "message":
    ["Успешно перенесено в архив сотрудников: 2"]
}
  • errorCode (number) - признак наличия ошибки (0/1)
  • message (string) - текст ошибки

Возможные значения message:

  • Неверный запрос - ошибка в синтаксисе запроса
  • Неверный action - ошибка в названии процедуры
  • Ошибка авторизации - неверный uid или key
  • Отсутствуют обязательные параметры - в запросе отсутствуют или пустые обязательные параметры: uid, key, action, rows
  • Ошибка в строке n массива rows
  • Сотрудник с id='{id_сотрудника}' не найден в списке - попытка перенести в архив сотрудника с id, которого нет в списке
  • Успешно перенесено в архив сотрудников: n

ЖУРНАЛ ПРИЕМКИ И ВХОДНОГО КОНТРОЛЯ ПРОДУКЦИИ

Добавление строки в Журнал приемки и входного контроля продукции

Для добавления строки используется путь https://oldlk.haccp-online.ru/api/acceptance1journal/ с параметром action:add
Пример запроса:

{
    "uid":"1",
    "key":"0836f438-3a96",
    "action": "add",
    "rows": 
    [
        [ "04-03-2022", "Хлеб",  "06-03-2022", "ООО \"Агро-Юг\"", "СФ №39689", "30 шт", "3563", null, 1, 1, null, 5, 3], 
        [ "04-03-2022", "Ветчина",  null, "ООО 'Микоян'", "накл. №2675", "10 кг", null, 5, 0, 0, "Возврат", 5, 3],
        [ "04-03-2022", "Сосиски",  "16-03-2022", "ООО 'Микоян'", "накл. №2686", null, null, null, 1, 1, null, null, null]
    ]
}
  • uid (number) - идентификатор компании (выдается администратором сервиса Haccp-Online)
  • key (string) - уникальный ключ авторизации (выдается администратором сервиса Haccp-Online)
  • action (string) - название процедуры
  • rows (array) - массив данных

Массив rows имеет структуру:

"rows": 
    [
        [ date, caption, date_do, supplier, ttn, v_part, num_part, temp, param_0, param_1, comment, position_rubric_id, position_id]
    ]
  • date (date) - дата поставки в формате DD-MM-YYYY (не может быть пустым или строкой)
  • caption (string) - наименование продукции (не может быть пустым)
  • date_do (date) - годен до в формате DD-MM-YYYY (может быть в значении null)
  • supplier (string) - производитель/ поставщик (не может быть пустым)
  • ttn (string) - ТТН, документы соответствия (не может быть пустым)
  • v_part (string) - объем партии (может быть в значении null)
  • num_part (string) - номер партии (может быть в значении null)
  • temp (string) - внутр-яя темп-ра продукта (для скоропортящихся и замороженных продуктов) (может быть в значении null)
  • param_0 (number 0/1) - cоответствие товара сопроводительной документации (принимается значение либо 1 - Да либо 0 - Нет)
  • param_1 (number 0/1) - принять/отклонить (принимается значение либо 1 - Принять либо 0 - Отклонить)
  • comment (string) - корректирующие действия для забракованного товара, заполняется в случае param_1 = 0 (может быть в значении null)
  • position_rubric_id (number) - id должности ответственного, если производилась синхронизация раздела "Сотрудники" (может быть в значении null, в этом случае заполнится значение из последней введеной строки)
  • position_id (number) - id сотрудника - ответственного, если производилась синхронизация раздела "Сотрудники" (может быть в значении null, в этом случае заполнится значение из последней введеной строки)

В результате выполнения запроса будет прислан ответный JSON-файл. Пример ответа:

{
    "error":0,
    "message":
    ["Успешно добавлено строк: 3"]
}
  • errorCode (number) - признак наличия ошибки (0/1)
  • message (string) - текст ошибки

Возможные значения message:

  • Неверный запрос - ошибка в синтаксисе запроса
  • Неверный action - ошибка в названии процедуры
  • Ошибка авторизации - неверный uid или key
  • Отсутствуют обязательные параметры - в запросе отсутствуют или пустые обязательные параметры: uid, key, action, rows
  • Не найдено ни одного открытого Журнала приемки и входного контроля продукции - необходимо создать журнал в кабинете сервиса Haccp-Online
  • Ошибка в строке n массива rows
  • Успешно добавлено строк: n

ЖУРНАЛ ВХОДНОГО КОНТРОЛЯ СЫРЬЯ, ИНГРЕДИЕНТОВ, УПАКОВОЧНЫХ МАТЕРИАЛОВ

Добавление строки в Журнал входного контроля сырья, ингредиентов, упаковочных материалов

Для добавления строки используется путь https://oldlk.haccp-online.ru/api/acceptance2journal/ с параметром action:add
Пример запроса:

{
   "uid":"1",
   "key":"0836f438-3a96",
   "action": "add",
   "rows":
   [
       [ "04-03-2022", "11:00", "Хлеб", "ООО \"Агро-Юг\"", "ИП Иванов И.И.", 1, 1, 1, "14-03-2022", "11:00", "Комментарий", 5, 3],
       [ "04-03-2022", "11:00", "Ветчина", null, "ООО 'Микоян'", 1, 0, 0, "14-03-2022", null, null, 5, 3],
       [ "04-03-2022", "11:00", "Сосиски", null, "ООО 'Микоян'", 0, 0, 0, null, null, null, null, null]
   ]
}
  • uid (number) - идентификатор компании (выдается администратором сервиса Haccp-Online)
  • key (string) - уникальный ключ авторизации (выдается администратором сервиса Haccp-Online)
  • action (string) - название процедуры
  • rows (array) - массив данных

Массив rows имеет структуру:

"rows":
   [
       [ date, time, caption, manufacturer, supplier, param_0, param_1, param_2, date_do, time_do, comment, position_rubric_id, position_id]
   ]
  • date (date) - дата поставки в формате DD-MM-YYYY (не может быть пустым или строкой)
  • time (time) - время поставки в формате HH:MM (не может быть пустым или строкой)
  • caption (string) - наименование сырья (не может быть пустым)
  • date_do (date) - годен до в формате DD-MM-YYYY (может быть в значении null)
  • manufacturer (string) - производитель (может быть в значении null)
  • supplier (string) - поставщик (не может быть пустым)
  • param_0 (number 0/1) - условия транспортировки (принимается значение либо 1 - Удовл. либо 0 - Не удовл.)
  • param_1 (number 0/1) - соответствие упаковки (принимается значение либо 1 - Соотв. либо 0 - Не соотв.)
  • param_2 (number 0/1) - результаты орг. оценки (принимается значение либо 1 - Удовл. либо 0 - Не удовл.)
  • date_do (date) - дата срока годности в формате DD-MM-YYYY (может быть в значении null)
  • time_do (time) - время срока годности в формате HH:MM (может быть в значении null)
  • comment (string) - примечания (может быть в значении null)
  • position_rubric_id (number) - id должности ответственного, если производилась синхронизация раздела "Сотрудники" (может быть в значении null, в этом случае заполнится значение из последней введеной строки)
  • position_id (number) - id сотрудника - ответственного, если производилась синхронизация раздела "Сотрудники" (может быть в значении null, в этом случае заполнится значение из последней введеной строки)

В результате выполнения запроса будет прислан ответный JSON-файл. Пример ответа:

{
   "error":0,
   "message":
   ["Успешно добавлено строк: 3"]
}
  • errorCode (number) - признак наличия ошибки (0/1)
  • message (string) - текст ошибки

Возможные значения message:

  • Неверный запрос - ошибка в синтаксисе запроса
  • Неверный action - ошибка в названии процедуры
  • Ошибка авторизации - неверный uid или key
  • Отсутствуют обязательные параметры - в запросе отсутствуют или пустые обязательные параметры: uid, key, action, rows
  • Не найдено ни одного открытого Журнала входного контроля сырья, ингредиентов, упаковочных материалов - необходимо создать журнал в кабинете сервиса Haccp-Online
  • Ошибка в строке n массива rows
  • Успешно добавлено строк: n

ЖУРНАЛ БРАКЕРАЖА ГОТОВОЙ ПИЩЕВОЙ ПРОДУКЦИИ

Добавление строки в Журнал бракеража готовой пищевой продукции

Для добавления строки используется путь https://oldlk.haccp-online.ru/api/brakeryjournal/ с параметром action:add
Пример запроса:

{
   "uid":"1",
   "key":"0836f438-3a96",
   "action": "add",
   "rows":
   [
       [ "04-03-2022 16:55", "Пирожок с капустой", 1, "имеются незначительные отклонения, которые не влияют на качество продукции", 18, "Корректирующие действия", "Примечание", 0.01, "04-03-2022 17:05", 1, "04-03-2022 17:00", 3, 1, 4, 2],
       [ "04-03-2022 16:55", "Пирожок с капустой", 3, null, null, null, null, null, null, 0, "04-03-2022 17:00", null, null, null, null]
   ]
}
  • uid (number) - идентификатор компании (выдается администратором сервиса Haccp-Online)
  • key (string) - уникальный ключ авторизации (выдается администратором сервиса Haccp-Online)
  • action (string) - название процедуры
  • rows (array) - массив данных

Массив rows имеет структуру:

"rows":
   [
       [ date, caption, rating, rating_text, temp, correct_text, comment, oxygen_level, courier_date, permission, permission_date, position_rubric_id, position_id, dop_position_rubric_id, dop_position_id]
   ]
  • date (date) - дата и время изготовления в формате DD-MM-YYYY HH:MM (не может быть пустым или строкой)
  • caption (string) - наименование блюда (не может быть пустым)
  • rating (number 0/1/2/3) - органолептическая оценка блюда (принимается значение 0 - Отлично, 1 - Хорошо, 2 - Удовлетворительно, 3 - Неудовлетворительно)
  • rating_text (string) - описание органолептической оценки блюда (может быть в значении null, в этом случае заполнится описание по умолчанию, в зависимости от значения параметра rating)
  • temp (number) - Т ºС внутри продукта (может быть в значении null)
  • correct_text (string) - корректирующие действия (может быть в значении null)
  • comment (string) - примечание (может быть в значении null)
  • oxygen_level (decimal) - остаточный уровень кислорода, % об. (может быть в значении null)
  • courier_date (date) - дата и время передачи блюд курьеру (может быть в значении null)
  • permission (number 0/1) - разрешение к реализации (принимается значение 0 - Не допущено, 1 - Допущено)
  • permission_date (date) - дата и время разрешения к реализации в формате DD-MM-YYYY HH:MM (не может быть пустым или строкой)
  • position_rubric_id (number) - id должности ответственного исполнителя, если производилась синхронизация раздела "Сотрудники" (может быть в значении null, в этом случае заполнится значение из последней введеной строки)
  • position_id (number) - id сотрудника - ответственного исполнителя, если производилась синхронизация раздела "Сотрудники" (может быть в значении null, в этом случае заполнится значение из последней введеной строки)
  • dop_position_rubric_id (number) - id должности лица, проводившего бракераж, если производилась синхронизация раздела "Сотрудники" (может быть в значении null, в этом случае заполнится значение из последней введеной строки)
  • dop_position_id (number) - id сотрудника - лица, проводившего бракераж, если производилась синхронизация раздела "Сотрудники" (может быть в значении null, в этом случае заполнится значение из последней введеной строки)

В результате выполнения запроса будет прислан ответный JSON-файл. Пример ответа:

{
    "error":0,
    "message":
    ["Успешно добавлено строк: 2"]
}
  • errorCode (number) - признак наличия ошибки (0/1)
  • message (string) - текст ошибки

Возможные значения message:

  • Неверный запрос - ошибка в синтаксисе запроса
  • Неверный action - ошибка в названии процедуры
  • Ошибка авторизации - неверный uid или key
  • Отсутствуют обязательные параметры - в запросе отсутствуют или пустые обязательные параметры: uid, key, action, rows
  • Не найдено ни одного открытого Журнала бракеража готовой пищевой продукции - необходимо создать журнал в кабинете сервиса Haccp-Online
  • Ошибка в строке n массива rows
  • Должность ответственного исполнителя в строке n массива rows не найдена
  • ФИО ответственного исполнителя в строке n массива rows не найдена
  • Должность лица, проводившего бракераж в строке n массива rows не найдена
  • ФИО лица, проводившего бракераж в строке n массива rows не найдена
  • Успешно добавлено строк: n