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/brakeryjournal/ с параметром action:add
Пример запроса:

{
"uid":"1",
"key":"0836f438-3a96",
"action": "add",
"rows":
[
[ "04-03-2022 16:55", "Пирожок с капустой", 1, "имеются незначительные отклонения, которые не влияют на качество продукции", 18, "Корректирующие действия", "Примечание", 1, "04-03-2022 17:00", 3, 1, 4, 2],
[ "04-03-2022 16:55", "Пирожок с капустой", 3, 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, 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)
  • 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