Pyiiko package

Submodules

Pyiiko.biz module

class Pyiiko.biz.IikoBiz(login, password)
Базовые классы: object
all_orders(token, **kwargs)
cities(token, org)

Список городов

cities_list(token, org)

возвращает список всех городов заданной организации

courier(token, org)
customer_history(token, org, customer)
events(token, timeout=None)

Получить стоп-лист по сети ресторанов

events_meta(token, body, timeout=None)

Получить мета информацию журнала событий (описание возвращаемых данных)

events_session(token, body, timeout=None)

Получить информацию о кассовых сменах

nomenclature(token, org)

Получить дерево номенклатуры

orders_courier(token, org, courier)
organization(token)
stop_list(token, org)

Получить стоп-лист по сети ресторанов

streets(token, org, citi_id)

возвращает список улиц города заданной организации

token()

Pyiiko.card5 module

class Pyiiko.card5.Card5(login, password)
Базовые классы: object
add_card(token, customer_id, org, card)

Создать новую карту и выдать ее гостю организации

add_category_customer(token, customer_id, **kwargs)

Добавить новую категорию гостю организации

add_to_nutrition_organization(token, customer_id, **kwargs)

Включить конкретного гостя в конкретную программу корпоративного питания конкретной организации

calculate_checkin_result(token, orders)

Рассчитать программу лояльности для заказа

check_and_get_combo_price(token, combo)

Проверить комбо-блюдо и рассчитать его стоимость

corporate_nutrition_report(token, org, **kwargs)

Получает отчет по заказам гостей указанной программы корпоративного питания за указанный период

corporate_nutritions(token, org)

Получить список активных программ корпоративного питания для организации

create_customer(token, customer)

Создать гостя или обновить информацию о госте

delete_card(token, customer_id, **kwargs)

Удалить карту с заданным трэком у гостя организации

get_balances_by_guests(token, users, **kwargs)

Получить балансы гостей для запрошенных гостей и конкретного счета программы

get_categories_by_guests(token, users, **kwargs)

Получить категории гостей для запрошенных гостей.

get_combos_info(token, org)

Получить описание всех комбо и категорий комбо для организации

get_counters_by_guests(token, users, **kwargs)

Получить метрики гостей для запрошенных гостей, типов метрик и периодов

get_customer_by_card(token, **kwargs)

Получить данные гостя организации по его номеру карты

get_customer_by_id(token, **kwargs)

Получить данные гостя по его идентификатору

get_customer_by_phone(token, **kwargs)

Получить данные гостя по его номеру телефона

get_customers_by_organization_and_by_period(token, **kwargs)

Получает отчет по заказам гостей указанной программы корпоративного питания за указанный период

get_manual_condition_infos(token, org)

Получить ручные условия

organization(token)
remove_category_customer(token, customer_id, **kwargs)

Удалить категорию у гостя организации

send_sms(token, org, **kwargs)

отправить смс

token()
transactions_report(token, org, **kwargs)

Получает отчет по транзакциям гостей организации за указанный период

Pyiiko.frontWeb module

class Pyiiko.frontWeb.FrontWebAPI(url, moduleid, content_type)
Базовые классы: object
deliveries(token)

Доставки

kitchen(token)

Кухонные заказы

orders(token)

Заказы

product_groups(token)

Иерархическое меню

products(token)

Продукты

quick_menu(token)

Быстрое меню для стола по умолчанию

quit(token)

Уничтожение токена

sections(token)

Отделения

tables(token)

Столы

token()
users(token)

Пользователи

Pyiiko.server module

class Pyiiko.server.IikoServer(ip=None, login=None, password=None, token=None)
Базовые классы: object

Класс отвечающий за работы с iikoSeverApi

close_session(dateFrom=None, dateTo=None)

Список кассовых смен

Параметры:
  • dateFrom – (DD.MM.YYYY) Начальная дата.
  • dateTo – (DD.MM.YYYY) Конечная дата.
Результат:

Список всех кассовых смен в заданном интервале. В формате CloseSessionDto.

departments()

Иерархия подразделений

Типы подразделений
Код Наименование
CORPORATION Корпорация
JURPERSON Юридическое лицо
ORGDEVELOPMENT Структурное подразделение
DEPARTMENT Торговое предприятие
MANUFACTURE Производство
CENTRALSTORE Центральный склад
CENTRALOFFICE Центральный офис
SALEPOINT Точка продаж
STORE Склад
departments_find(code)

Поиск подразделения.

Параметры:name – (optional) Код торгового предприятия. Значение элемента <code> из структуры corporateItemDto Регулярное выражение. Если задать просто строку, то ищет любое вхождение этой строки в код ТП с учетом регистра
Результат:Структура corporateItemDto, если существует подразделение с данным кодом. Поиск торгового предприятия по коду. Имеет смысл только для подразделений с типом DEPARTMENT и в основном только в iikoChain, т.к. в рамках iikoRMS только одна сущность с таким типом
edi(edi, gln=None, inn=None, kpp=None, name=None)

Список заказов для участника EDI senderId и поставщика seller

Параметры:
  • ediSystem (GUID) – Идентификатор участника EDI, подключенной к нашему REST API. Каждый участник EDI должен получить свой собственный GUID ключ - идентификатор системы EDI (EdiSystem) для подключения к REST API электронного документооборота iiko. См. «Обмен данными/Системы EDI» в iikoOffce..
  • gln (String) – (optional) GLN поставщика . Может отсутствовать, но тогда параметр inn должен быть заполнен.
  • inn (String) – (optional) ИНН (идентификационный номер налогоплательщика). Может отсутствовать, но тогда параметр gln должен быть заполнен.
  • kpp (String) – (optional) КПП (код причины постановки).
  • name (String) – (optional) Имя поставщика
Результат:

Высылает список заказов EDI для зарегистрированного в системе iiko участника ediSystem и указанного поставщика. В списке присутствуют также те отмененные на стороне iiko заказы, получение которых участник подтвердил ранее. Получение как отправленных, так и отмененных заказов требуется подтверждать, см. метод edi/{ediSystem}/orders/ack

employees()

Работники

events(**kwargs)

Список событий.

Параметры:
  • from_time – (yyyy-MM-ddTHH:mm:ss.SSS) - (optional) Время с которого запрашиваются события, в формате ISO: yyyy-MM-ddTHH:mm:ss.SSS, по-умолчанию – начало текущих суток.
  • to_time – (yyyy-MM-ddTHH:mm:ss.SSS) - (optional) Время по которое (не включительно) запрашиваются события в формате ISO: yyyy-MM-ddTHH:mm:ss.SSS,, по-умолчанию граница не установлена.
  • from_rev – (int) - (optional) Ревизия, с которой запрашиваются события, число. Каждый ответ содержит тэг revision, значение которого соответствует ревизии, по которую включительно отданы события; при новых запросах следует использовать revision + 1 (revision из предыдущего ответа) для получения только новых событий. В штатном режиме одно и тоже событие повторно с разными ревизиями не приходит, однако такой гарантии не даётся. ID (UUID) события уникален, может использоваться в качестве ключа.
Результат:

Список событий в формате eventsList (см. XSD Список событий)

events_filter(body)

Список событий по фильтру событий и номеру заказа.

Параметры:body – Список id событий, по которым производится фильтрация (application/xml).

Пример body

<eventsRequestData>
    <events>
        <event>orderCancelPrecheque</event>
        <event>orderPaid</event>
    </events>
    <orderNums>
        <orderNum>175658</orderNum>
    </orderNums>
</eventsRequestData>
Результат:Дерево событий в формате groupsList (см. XSD Дерево событий).
events_meta()

Дерево событий.

get_token()

Метод получает новый токен .. note:

при авторизации вы занимаете один слот лицензии. Token,
который вы получаете при авторизации, можно использовать до того момента,
 пока он не протухнет ( не перестанет работать). И если у вас только одна
 лицензия сервера, а вы уже получили token, следующее обращение к серверу за
 token-ом вызовет ошибку. Если вам негде хранить token при работе с сервером API,
 рекомендуем вам разлогиниться, что приводит к отпусканию лицензии.
groups()

Список групп и отделений

Результат:Все группы отделений, отделения и точки продаж ТП в виде структуры groupDto. В группе отделений может быть несколько точек продаж, но главная касса (свойство groupDto/pointOfSaleDtoes/pointOfSaleDto/main=true) может быть подключена только к одной из них. В iikoChain информация о кассе точки продаж (groupDto/pointOfSaleDtoes/pointOfSaleDto/cashRegisterInfo) может отсутствовать.

Поиск групп отделений.

Параметры:
  • name (regex) – Название группы.
  • departmentId (string) – ID подразделения
ingredient_entry(departament, includeSubtree=False, **kwargs)

Отчет о вхождении товара в блюдо

Параметры:
  • department – (GUID) Подразделение
  • dateFrom – (DD.MM.YYYY) Начальная дата.
  • dateTo – (DD.MM.YYYY) Конечная дата.
  • productArticle – (string) Артикул продукта (приоритет поиска:productArticle, product)
  • includeSubtree – (bool) - (optional) Включать ли в отчет строки поддеревьев (по умолчанию false)
Результат:

Структура budgetPlanItemDtoes (см. XSD План по выручке за день)

invoice_in(**kwargs)

Выгрузка приходных накладных

Параметры:
  • from (YYYY-MM-DD) – начальная дата (входит в интервал).
  • to (YYYY-MM-DD) – конечная дата (входит в интервал, время не учитывается).
  • supplierId (GUID) – Id поставщика.
Result:

XSD Приходная накладная

invoice_number_in(current_year=True, **kwargs)

Выгрузка приходной накладной по ее номеру

Параметры:
  • number (string) – номер документа.
  • from (YYYY-MM-DD) – (optional) начальная дата (входит в интервал).
  • to (YYYY-MM-DD) – (optional) конечная дата (входит в интервал, время не учитывается).
  • currentYear – только за текущий год (по умолчанию True).

Примечание

При currentYear = true, вернет документы с указанным номером документа только за текущий год. Параметры from и to должны отсутствовать.

При currentYear = false параметры from и to должны быть указаны.

invoice_number_out(current_year=True, **kwargs)

Выгрузка расходной накладной по ее номеру.

Параметры:
  • number (string) – номер документа.
  • from (YYYY-MM-DD) – (optional) начальная дата (входит в интервал).
  • to (YYYY-MM-DD) – (optional) конечная дата (входит в интервал, время не учитывается).
  • currentYear – только за текущий год (по умолчанию True).

Примечание

При currentYear = true, вернет документы с указанным номером документа только за текущий год. Параметры from и to должны отсутствовать.

При currentYear = false параметры from и to должны быть указаны.

invoice_out(**kwargs)

Выгрузка расходных накладных

Параметры:
  • from (YYYY-MM-DD) – начальная дата (входит в интервал).
  • to (YYYY-MM-DD) – конечная дата (входит в интервал, время не учитывается).
  • supplierId ((optional) GUID) – Id поставщика.

При запросе без постащиков возвращает все расходные накладные, попавшие в интервал.

Result:XSD Приходная накладная
mounthly_plan(departament, **kwargs)

План по выручке за день

Параметры:
  • department – (GUID) Подразделение
  • dateFrom – (DD.MM.YYYY) Начальная дата.
  • dateTo – (DD.MM.YYYY) Конечная дата.
Результат:

Структура budgetPlanItemDtoes (см. XSD План по выручке за день)

olap(report=None, data_from=None, data_to=None, **kwargs)

OLAP-отчет

Параметры:
  • report – (Тип отчета) | SALES - По продажам. | TRANSACTIONS - По транзакциям. | DELIVERIES - По доставкам. | STOCK - Контролю хранения.
  • groupRow

    (Поля группировки) например: groupRow=WaiterName&groupRow=OpenTime.

    Для определения списка доступных полей см.
    • Описание полей OLAP отчета по продажам.
    • Описание полей OLAP отчета по проводкам.
    • Описание полей OLAP отчета по доставкам.

    По полю можно проводить группировку, если значение в колонке Grouping для поля равно true.

  • groupCol

    Поля для выделения значений по колонкам.

    Для определения списка доступных полей см.
    • Описание полей OLAP отчета по продажам.
    • Описание полей OLAP отчета по проводкам.
    • Описание полей OLAP отчета по доставкам.

    По полю можно проводить группировку, если значение в колонке Grouping для поля равно true.

  • agr

    Поля агрегации, например: agr=DishDiscountSum&agr=VoucherNum

    Для определения списка доступных полей см.
    • Описание полей OLAP отчета по продажам.
    • Описание полей OLAP отчета по проводкам.
    • Описание полей OLAP отчета по доставкам.

    По полю можно проводить группировку, если значение в колонке Grouping для поля равно true.

Результат:

Структура report

olap2(body)

Поля OLAP-отчета

Параметры:
  • reportType – (Тип отчета) | SALES - По продажам. | TRANSACTIONS - По транзакциям. | DELIVERIES - По доставкам.
  • json (json) – (optional) Json с полями
{
   "FieldName":{
     "name":"StringValue",
     "type":"StringValue",
     "aggregationAllowed":"booleanValue",
     "groupingAllowed":"booleanValue",
     "filteringAllowed":"booleanValue",
     "tags":[
       "StringValue1",
       "StringValue2",
       "...",
       "StringValueN"
     ]
   }
 }
Параметры:
  • FieldName (string) – Название колонки отчета. Именно это название используется для получения данных отчета
  • name (string) – Название колонки отчета в iikoOffice. Справочная информация.
  • type (string) – Тип поля. Возможны следующие значения:
ENUM - Перечислимые значения
STRING - Строка
ID - Внутренний идентификатор объекта в iiko (начиная с 5.0).
DATETIME - Дата и время
INTEGER - Целое
PERCENT - Процент (от 0 до 1)
DURATION_IN_SECONDS - Длительность в секундах
AMOUNT - Количество
MONEY - Денежная сумма
Параметры:
  • aggregationAllowed (bool) – (optional) Если true, то по данной колонке можно агрегировать данные
  • groupingAllowed (bool) – (optional) Если true, то по данной колонке можно группировать данные. По умолчанию false.
  • filteringAllowed (bool) – (optional) Если true, то по данной колонке можно фильтровать данные. По умолчанию false.
  • tags – (optional) Список категорий отчета, к которому относится данное поле. Справочная информация. Соответствует списку в верхнем правом углу конструктора отчета в iikoOffice.
Результат:

Json структура списка полей с информацией по возможностям фильтрации, агрегации и группировки.Устаревшие поля (deprecated) не выводятся.

product_expense(departament, **kwargs)

Расход продуктов по продажам

Параметры:
  • department – (GUID) Подразделение
  • dateFrom – (DD.MM.YYYY) Начальная дата.
  • dateTo – (DD.MM.YYYY) Конечная дата.
  • hourFrom – (hh) Час начала интервала выборки в сутках (по умолчанию -1, все время), по умолчанию -1.
  • hourTo – (hh) Час окончания интервала выборки в сутках (по умолчанию -1, все время), по умолчанию -1.
Результат:

Структура dayDishValue (см. XSD Расход продуктов по продажам)

production_doc(xml)

Загрузка акта приготовления

products(includeDeleted=True)

Номенклатура.

Тип элемента номенклатуры
Код Наименование
GOODS Товар
DISH Блюдо
PREPARED Заготовка
SERVICE Услуга
MODIFIER Модификатор
OUTER Внешние товары
PETROL Топливо
RATE Тариф
Типы групп продукта
Код Наименование Комментарий
PRODUCTS Продукт  
MODIFIERS Модификатор Используется только в номенклатуре, которая загружается / и выгружается в/из RKeeper/StoreHouse
Параметры:includeDeleted – (bool) - (optional) Включать ли удаленные элементы номенклатуры в результат. По умолчанию false. Реализовано в 5.0 и новее.
products_find(**kwargs)

Поиск номенклатуры

Параметры:
  • includeDeleted – (bool) Включать ли удаленные элементы номенклатуры в результат. По умолчанию false. Реализовано в 5.0 и новее.
  • name – (regex) - (optional) Название.
  • code – (regex) - (optional) Код быстрого набора в IikoFront.
  • mainUnit – (regex) - (optional) Базовая единица измерения.
  • num – (regex) - (optional) Артикул.
  • cookingPlaceType – (regex) - (optional) Тип места приготовления.
  • productGroupType – (regex) - (optional) Тип родительской группы.
  • productType – (regex) - (optional) Тип номенклатуры.

Выгрузка и поиск идет по всем неудаленным элементам номенклатуры. Включая товары поставщика. Т.к. сейчас нет возможности удалить товар поставщика, то выгрузка потянет все товары поставщика, даже те, которые реально не используются и не участвуют ни в одной связке товар у нас - товар поставщика.

quit_token()

Уничтожение токена

reports_balance(timestamp, account=None, counteragent=None, department=None)

Балансы по счетам, контрагентам и подразделениям

Параметры:
  • timestamp (string) – учетная-дата время отчета в формате yyyy-MM-dd’T’HH:mm:ss.
  • account – (optional) id счета для фильтрации (можно указать несколько).
  • counteragent – (optional) id контрагента для фильтрации (необязательный, можно указать несколько).
Department:

(optional) id подразделения для фильтрации (необязательный, можно указать несколько).

Результат:

Возвращает количественные (amount) и денежные (sum) остатки товаров (product) на складах (store) на заданную учетную дату-время.

См. ниже пример результата.

sales(departament, dishDetails=False, allRevenue=True, **kwargs)

Отчет по выручке

Параметры:
  • department – (GUID) Подразделение
  • dateFrom – (DD.MM.YYYY) Начальная дата.
  • dateTo – (DD.MM.YYYY) Конечная дата.
  • hourFrom – (hh) Час начала интервала выборки в сутках (по умолчанию -1, все время), по умолчанию -1.
  • hourTo – (hh) Час окончания интервала выборки в сутках (по умолчанию -1, все время), по умолчанию -1.
  • dishDetails – (boolean) Включать ли разбивку по блюдам (true/false), по умолчанию false.
  • allRevenue – (boolean) Фильтрация по типам оплат (true - все типы, false - только выручка), по умолчанию true.
Результат:

Структура dayDishValue (см. XSD Отчет по выручке)

server_info()

Вовращает json файл с информацией о сервере и статусе лицензии

Результат:Информация о сервере в формате json
session(from_time=None, to_time=None)

Информация о кассовых сменах

Параметры:
  • from_time – Время с которого запрашиваются данные по кассовым сменам, в формате ISO.
  • to_time – Время по которое (не включительно) запрашиваются данные по кассовым сменам в формате ISO.
Результат:

Информация о кассовых сменах

store_operation(stores=None, documentTypes=None, productDetalization=True, showCostCorrections=True, presetId=None)

Отчет по складским операциям

Параметры:
  • dateFrom – (DD.MM.YYYY) Начальная дата.
  • dateTo – (DD.MM.YYYY) Конечная дата.
  • stores – (GUID) - (optional) Список складов, по которым строится отчет. Если null или empty, строится по всем складам.
  • documentTypes – () - (optional) Типы документов, которые следует включать. Если null или пуст, включаются все документы.
  • productDetalization – (boolean) - (по умолчанию true) Если истина, отчет включает информацию по товарам, но не включает дату. Если ложь - отчет включает каждый документ одной строкой и заполняет суммы документов.
  • showCostCorrections – (boolean) - Включать ли коррекции себестоимости. Данная опция учитывается только если задан фильтр по типам документов. В противном случае коррекции включаются.
  • presetId – (GUID) - (optional) Id преднастроенного отчета. Если указан, то все настройки, кроме дат, игнорируются.
Результат:

Структура storeReportPresets (см. XSD Пресеты отчетов по складским операциям).

store_presets()

Пресеты отчетов по складским операциям

Результат:Структура storeReportPresets (см. XSD Пресеты отчетов по складским операциям).
stores()

Список складов

Результат:Все склады ТП в виде структуры corporateItemDto
stores_find(code)

Список складов.

Параметры:code ([storeCode]) – Код склада - регулярное выражение. Если задать просто строку, то ищет любое вхождение этой строки в код склада с учетом регистра.
Результат:corporateItemDto, если существует склад с данным кодом. Поиск склада по коду. Для работы этого метода необходимо, чтобы коды складов в ТП были заполнены (данное поле является необязательным и по умолчанию пусто
suppliers()

Список всех поставщиков

Результат:Список всех поставщиков. Структура employees
suppliers_find(name='', code='')

Поиск поставщика

Параметры:
  • name – (regex) - (optional) регулярное выражение имени поставщика.
  • code – (regex) - (optional) регулярное выражение кода поставщика.
Результат:

Список найденных поставщиков. Структура employees (см. XSD Сотрудники)

suppliers_price(code, date=None)

Поиск поставщика

Параметры:code – (date - DD.MM.YYYY) - (optional) Дата начала действия прайс-листа, необязательный. Если параметр не указан, возвращается последний прайс-лист.
terminals()

Список терминалов.

Результат:Все терминалы ТП в виде структуры terminalDto. Как правило, интересны только фронтовые терминалы, см. поиск терминалов /corporation/terminal/search

Поиск терминала.

Параметры:
  • anonymous – (bool) Фронты имеют anonymous=false, бекофисы и системные терминалы — true.
  • name – (regex) - (optional) Имя терминала в том виде, как он отображается в бекофисе.
  • computerName – (regex) - (optional) Имя компьютера
Результат:

Список terminalDto, если существуют подходящие терминалы

token()
version()

Позволяет узнать версию iiko

Результат:Версия iiko в формате string

Module contents