RPC (Remote Procedures Call) - удаленный вызов процедур по HTTP
Программный интерфейс (API) системы ClassCard работает через протокол HTTP POST. В параметрах запроса указывается название функции и ее параметры. По умолчанию используется кодировка UTF-8. Строка запроса выглядит примерно так:
http://server.ru:8888/api?function=Login&login=8006248383&passw=4444
Параметры запроса могут стоять в любом порядке. Некоторые параметры функций являются обязательными, они отмечены подчеркиванием. Часть функций требуют пропуск (token) - это кодовая строка, получаемая при успешной авторизации. Ответ отправляется в формате XML, например:
<response><error>Auth failed</error></response>
Таблица:
<table> <item> <id>1</id> <name>Иван</name> <date>344542.43464</date> <summa>321.78</summa> </item> <item> <id>2</id> <name>Михаил</name> <date>344546.43344</date> <summa>123.45</summa> </item> </table>
Авторизует пользователя в системе, возвращает пропуск (token) или ошибку авторизации.
Параметры:
Проверка токена и URL отправителя. Если URL не указан, то проверяется только токен. Если токен действителен, то возвращается идентификатор пользователя - владельца токена, логин и время логина.
Проверка URL используется при кросс-доменной авторизации, для предотвращения авторизации с неизвестных хостов.
Параметры:
Возвращает данные пользователя по MifareID карты. Вызывается после считывания карты для отображения данных на экране. Исторически была заточена под школы, отсюда названия некоторых параметров.
Параметры:
Возвращает таблицу:
Вызывается сразу после запроса GetAccountByMifare(). Возвращает фотографию пользователя. Нужно указать user_id или mifare_id пользователя. Фотография возвращается в бинарном виде.
Операция упрощенной продажи. Указываются только общие суммы по двум отделам. Суммы указываются даже если они равны нулю.
Параметры:
Возвращает:
Операция продажи товаров. Таблица товаров передается в параметре doc_body формата:
id,goods_id,name,amount,sum,dept@ id - код (не используется) goods_id - код товара name - название товара (без запятых) amount - количество sum - сумма dept - номер отдела @ - конец строки Может быть несколько таких записей подряд, разделенных символом "@"
Возвращает:
Запрос доступных сумм возвратов по отделам, отправляется после запроса GetAccountByMifare() в режиме «Возврат».
Параметры:
Возвращает:
Операция возврата, указываются суммы возврата по первому и второму отделу.
Параметры:
Возвращает:
Запрос данных для X-отчета по продажам
Возвращает таблицу:
Закрытие смены, отчет по смене (Z-отчет)
Возвращает таблицу:
Запрос данных для X-отчета по продажам торгового автомата (раздатчика)
Возвращает таблицу:
Закрытие смены, отчет по смене (Z-отчет) для торгового автомата
Возвращает таблицу:
Запрос видов комплексного питания (завтраки, обеды). Выполняется при начале работы если включен модуль «Групповые заказы».
Возвращает таблицу:
Запрос таблицы заказов комплексного питания по классам/подразделениям. При отображении заказы группируются по классам/подразделениям и по трапезам.
Возвращает таблицу:
Запрос таблицы предопределенных товаров, недоступных для изменения кассиром. Не используется.
Запрос таблицы товаров буфета, которые могут редактироваться кассиром. Выполняется если включен модуль «Товары» при начале работы и при каждом переходе в раздел «Товары».
Возвращает таблицу:
Изменение товара буфета. Выполняется при изменении любого реквизита товара. Из-за особенности реализации в школьной базе, при изменении названия кассирка сперва удаляет товар командой DeleteLocalGoodsItem()
Параметры:
Удаление товара по коду или названию.
Параметры:
Запрос таблицы параметров. Выполняется при начале работы для получения реквизитов для печати чеков. Необязательно, можно использовать параметры в конфиге. Названия параметров:
Возвращает таблицу: