Интеграция c внешними системами
API интерфейс используется для предоставления данных сервиса Инноват внешним системам. Работает по протоколу HTTPS и представляет собой набор методов, с помощью которых совершаются запросы и возвращаются ответы. Использование методов ограничено HTTP Basic Authentication и заранее определенным списком IP адресов. Ограничение на количество запросов не предусмотрено. Кроссдоменные запросы запрещены. Параметры GET запросов передаются в query компоненте URI. Параметры POST запросов передаются в body JSON структурах. Все ответы приходят в виде JSON структур.
Запрос данных пользователя
GET
https://api0.sms-dnevnik.com/integrations/data/users
Query Parameters
phone
string
номер телефона пользователя
rfid
string
RFID идентификатор пользователя
snils
string
СНИЛС (в формате 111-111-111 11)
details
string
0 - минимальный набор данных 1.0 1 - расширенный набор данных
2 - минимальный набор данных 2.0
значение по умолчанию - 0
Минимальный 1.0 набор данных пользователя:
roles - набор ролей: PARENT - родитель; STUDENT - учащийся; EMPLOYEE - сотрудник password - статус пароля: NONE - отсутствует - пользователь не активирован; TEMP - временный - пароль сгенерирован системой PERM - постоянный - пароль установлен пользователем subscriptions - текущие подписки: DIARY - ключ - идентификатор услуги; expired_at - время окончания действия.
Расширенный набор включает минимальный и дополнительно:
activity - дата последней активности пользователя DIARY - ключ - идентификатор услуги last_name, first_name, middle_name - ФИО phone - номер телефона birthdate - дата рождения country, city, district, school - страна, город, район города, школа school_class, school_status - класс и статус учащегося
Минимальный 2.0 набор данных пользователя:
аккаунт id и ФИО детей, если это родитель.
Запрос данных учащегося
GET
https://api0.sms-dnevnik.com/integrations/data/students
Query Parameters
phone
string
номер телефона пользователя
rfid
string
RFID идентификатор пользователя
snils
string
СНИЛС (в формате 111-111-111 11)
Запрос данных учащихся по родителю
GET
https://api0.sms-dnevnik.com/integrations/data/parents
Query Parameters
phone
string
номер телефона пользователя
rfid
string
RFID идентификатор пользователя
snils
string
СНИЛС (в формате 111-111-111 11)
Запрос списка школ
GET
https://api0.sms-dnevnik.com/integrations/data/schools
Возвращает список доступных школ
Query Parameters
offset
string
limit
string
лимит
Обновление телефона
POST
https://api0.sms-dnevnik.com/integrations/change/phone
Request Body
new_phone
string
новый номер тефона
old_phone
string
старый номер телефона
Обновление пароля
POST
https://api0.sms-dnevnik.com/integrations/change/password
Пользователю отправляется SMS с новым паролем.
Request Body
phone
string
Номер телефона пользователя.
Обновление подписки
POST
https://api0.sms-dnevnik.com/integrations/change/subscription
Request Body
expired_at
string
Время до которого будет создана подписка формат: YYYY-MM-DDThh:mm:ssZ
to_date
string
Дата до которой будет создана подписка формат: YYYY-MM-DD
change
string
Идентификатор изменения. Возможные значения: CREATE, REMOVE
service
string
Идентификатор услуги. Возможные значения: DIARY
phone
string
Номер телефона пользователя.
Корректировка баланса для питания
POST
https://api0.sms-dnevnik.com/integrations/change/cafeteria_balance
Request Body
account_number*
String
Номер лицевого счета
value*
Float
Сумма изменения (положительная или отрицательная)
comment
String
Комментарий
camp_school_id
Int
ID учебного заведения, в котором существует пришкольный лагерь, в этом случае будет пополнен баланс питания за лагерь
Выгрузка пользователей (два варианта)
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Возможные типы отчетов:
1. Выгрузка пользователей. Вариант 1.
a8c78e0c-2690-4870-a4a9-3b03485aa793
Выгрузка пользователей телеком оператора:
[
{
"roles": [ "STUDENT" ],
"first_name": "Иван",
"middle_name": "Иванович",
"last_name": "Иванов",
"birthdate": "2008-12-12",
"phone": "+996702123456",
"city": "Бишкек",
"activity": { "DIARY": "2020-11-01" }
"subscriptions": { "DIARY": { "expired_at": null } }
}
]
Примеры запросов:
1.1 выгрузка всех пользователей телеком оператора:
POST <host>/integrations/data/reports
{ "kind": "a8c78e0c-2690-4870-a4a9-3b03485aa793" }
1.2 выгрузка всех пользователей телеком оператора, добавить в ответ данные о подписках:
POST <host>/integrations/data/reports
{ "kind": "a8c78e0c-2690-4870-a4a9-3b03485aa793", "include": ["SUBSCRIPTIONS"] }
1.3 выгрузка пользователей телеком оператора с активностью 17.09.2020:
POST <host>/integrations/data/reports
{ "kind": "a8c78e0c-2690-4870-a4a9-3b03485aa793",
"activity_from_date": "2020-09-17", "activity_to_date": "2020-09-17" }
2. Выгрузка пользователей. Вариант 2.
1548fbae-520c-429b-bb43-1bf5299357a9
Выгрузка пользователей:
[
{
"account_id": 12345,
"account_number": "12345",
"account_role": "STUDENT",
"first_name": "Иван",
"middle_name": "Иванович",
"last_name": "Иванов",
"birthdate": null,
"city": "Саратов",
"city_id": 12345,
"school": "Лицей 15",
"school_id": 12345,
"school_class": "5А",
"school_class_id": 12345,
"school_class_date": "2020-09-01",
"school_class_shift": "1",
"school_status": "Выбыл",
"snils": "123-456-789-01",
"cafeteria_rejected": false,
"parents": [
{
"account_id": 6277,
"parent_role": "Мама",
"first_name": "Ирина",
"middle_name": "Борисовна",
"last_name": "Иванова",
"phone": "+798712345"
},
]
"identifiers": [
{
"number": "AABBCCDDEEFF"
}
],
"subsidy_orders": [
{
"scope": "Индивидуальная",
"allowance": "Малоимущая семья",
"status": "Текущая",
"accrual": "Комплекты",
"sum": "0.0",
"complexes": [
{
"title": "Вечерний3"
}
],
"from": "2021-09-01",
"to": "2022-09-01"
}
"camps": [
{
"school_id": 587,
"school": "Лицей 15",
"balance": 92.8,
"groups": [
{
"id": 65,
"title": "Весна 1",
"invite_date": "2023-05-01",
"expulsion_date": "2023-05-16",
"food_mode": "Двухразовое питание"
// режим питания
},
{
"id": 66,
"title": "Лето 1",
"invite_date": "2023-05-11",
"expulsion_date": "2023-05-20",
"food_mode": "Не указано"
// режим питания
}
]
}
]
]
],
}
]
Примеры запросов:
2.1 выгрузка всех пользователей указанных школ:
POST <host>/integrations/data/reports
{ "kind": "1548fbae-520c-429b-bb43-1bf5299357a9", "schools": [1,2,3] }
Request Body
schools
array
фильтр - список идентификаторов школ
include
array
дополнительные блоки вложенных данных, где SUBSCRIPTIONS - подписки SNILS - номер СНИЛС IDENTIFIERS - идентификаторы SUBSIDY_ORDERS - справки о льготах
CAMPS - информация о пришкольных лагерях
kind
string
Тип отчета: USERS - выгрузка пользователей
activity_from_date
string
фильтр - период активности, дата начала
activity_to_data
string
фильтр - период активности, дата окончания
Выгрузка финансовых операций
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Финансовые операции по счету за питание (пополнения и списания) на выбранную дату
Path Parameters
date*
string
дата
kind*
string
885199c4-e33d-42dc-97d3-1422956d9dc7
schools*
array
фильтр - список идентификаторов школ
include*
array
массив строк с нужными типами операций
WRITE_OFFS - списания
PAYMENTS - пополнения
CORRECTIONS - корректирующие пополнения
account_type
string
SCHOOL - операции по счету за школьное питание (по умолчанию)
CAMP - операции по счету за питание в пришкольных лагерях
Выгрузка фактического питания и дотаций
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Сумма продаж и дотаций по доступным поставщикам питания на выбранную дату
Path Parameters
kind*
string
ea78c447-4199-47ec-9f41-eda193f40327
date*
string
дата
account_type
string
SCHOOL - операции по счету за школьное питание (по умолчанию)
CAMP - операции по счету за питание в пришкольных лагерях
Выгрузка фактического питания и дотаций (по всем пользователям)
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Сумма продаж и дотаций по всем пользователям на выбранную дату
Path Parameters
account_type
String
SCHOOL - операции по счету за школьное питание (по умолчанию)
CAMP - операции по счету за питание в пришкольных лагерях
Request Body
kind *
String
08d2f70d-1ea6-4fb5-91d1-5ab7ff09e0c4
date*
String
дата
Продажи по способу расчета
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Сумма продаж, сгруппированная по способу расчет за выбранный период
Request Body
kind *
String
82de40c7-c18b-42d0-ae01-80e31321b99e
from_date*
String
дата начала периода
to_date*
String
дата окончания периода
details*
Boolean
флаг детализации
Выгрузка продаж с группировкой по продукции и комплектам
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Request Body
kind *
String
d5d34cf1-a3ad-41ea-b127-e459401364b8
date*
Date
дата
school_id*
Integer
id школы
Выгрузка сумм платежей
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Сумма платежей за выбранный период с разделением по источникам и датам. Если в запросе не указана конкретная школа, то данные детализируются по всем доступным школам. В противном случае, данные детализируются по классам и сотрудникам.
Request Body
to_date*
string
до
from_date*
string
от
year_id
integer
учебный год
school_id
integer
школа
kind*
string
65004e9a-617b-4f94-a0af-140ea0c7a143
Выгрузка реестров получателей горячего питания
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Ресстры получателей горячего питания по дням и школам.
Request Body
from_date*
date
дата начала периода выборки
to_date*
date
дата окончания периода выборки
school_id*
integer
идентификатор школы
kind*
string
64a94d31-e7d3-4d8b-a473-e55ddbca5241
Выгрузка посещаемости столовой
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Посещаемость столовой с разделением по классам, датам и режимам питания
Request Body
to_date
string
до
from_date
string
от
year_id
integer
учебный год
school_id
integer
школа
kind
string
ae4cf67b-8b7d-435e-8399-534e9a4b92bf
Выгрузка посещаемости столовой и суммы продаж
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Request Body
kind*
String
2d2f00b2-91ec-43b8-96d8-7d0d2477f259
date*
String
дата
Выгрузка мониторинга заявок
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Request Body
date*
дата
kind*
String
d4ec7094-4ab0-4204-830e-d614673098d5
Выгрузка сводной информации по проходной и столовой
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Request Body
kind*
String
3f1050b0-7a89-42bb-891f-ab7da2cb11ed
date*
String
дата
Выгрузка карт Сбербанка
POST
https://api0.sms-dnevnik.com/integrations/data/reports
Request Body
kind
String
3378e35a-903f-49ab-bfbf-912a467b8fca
Запрос состояния выгрузки
GET
https://api0.sms-dnevnik.com/integrations/data/reports/<id>
Используется для получения прогресса формирования отчета
Query Parameters
id
integer
идентификатор отчета
Запрос данных выгрузки
GET
https://api0.sms-dnevnik.com/integrations/data/reports/<id>/data
После того как прогресс достигнет 100 можно запросить сформированные данные
Query Parameters
id
integer
идентификатор отчета
Запрос данных проходов
GET
https://api0.sms-dnevnik.com/integrations/data/passages
Возвращает список связанных с пользователем проходов
Query Parameters
offset
number
смещение
limit
number
лимит
from_date
string
дата начала периода выборки
to_date
string
дата окончания периода выборки
phone
string
номер телефона пользователя
rfid
string
RFID идентификатор пользователя
account_id
integer
идентификатор пользователя учащегося
Запрос количества проходов
GET
https://api0.sms-dnevnik.com/integrations/data/passages_count
Возвращает количество проходов по каждому классу выбранного учебного года, а также сотрудников. За каждый день выбранного периода.
Path Parameters
year_id
integer
id учебного года
from_date
string
дата начала периода выборки
to_date
string
дата окончания периода выборки
school_id
integer
id школы
Запрос заявок по столовой
GET
https://api0.sms-dnevnik.com/integrations/data/cafeteria/orders
Возвращает перечень заявок и их содержимое на выбранную дату.
Path Parameters
date
string
school_id
integer
Запрос поставщиков питания
GET
https://api0.sms-dnevnik.com/integrations/data/cafeteria/food_suppliers
Возвращает список поставщиков питания, по которым доступны операции
Path Parameters
string
Запрос продукции поставщика питания
GET
https://api0.sms-dnevnik.com/integrations/data/cafeteria/items
Возвращает список блюд поставщика питания
Path Parameters
food_supplier_id
integer
id поставщика питания
Запрос типов продукции поставщика питания
GET
https://api0.sms-dnevnik.com/integrations/data/cafeteria/production_types
Возвращает список типов продукции поставщика питания
Path Parameters
food_supplier_id
integer
id поставщика питания
Запрос комплектов
GET
https://api0.sms-dnevnik.com/integrations/data/cafeteria/complexes
Возвращает список комплектов с составом на выбранную дату, по выбранным школам
Query Parameters
date
String
Дата (по умолчанию текущая)
school_ids[]
Набор параметров с id школ
(в виде school_ids[]=1&school_ids[]=2&...),
по умолчанию все доступные
Запрос добавления/изменения блюда поставщика питания
POST
https://api0.sms-dnevnik.com/integrations/data/cafeteria/item
Добавление/изменения блюда.
Request Body
options
object
дополнительные параметры:
all_schools
- сохранить во всех школах поставщика
all_menu_single
- сохранить в меню, применяя к продукции
all_menu_complex
- сохранить в меню, применяя к комплектам
пример:
{
"all_schools": true,
"all_menu_single": true,
"all_menu_complex": true
}
item
object
id
- используется для синхронизации с базой блюд, имеющейся на сервере (блюдо с заданным id будет обновлено)
nomenclature
- используется для синхронизации с базой блюд внешней системы (блюдо с заданным nomenclature будет обновлено)
production_type
- принимает значение own
(Собственное производство) или imported
(Привозная продукция)
пример:
{
"id": 1,
"title": "Булка",
"cost": 10,
"portion": "2",
"nomenclature": "12356",
"production_type": 1
}
food_supplier_id
integer
id поставщика питания
Запрос изменения комплекта
PUT
https://api0.sms-dnevnik.com/integrations/data/cafeteria/complexes/:id
Изменение стоимости и/или состава комплекта на выбранную дату
Path Parameters
id*
integer
id комплекта
Request Body
school_id*
integer
id школы
items
array
массив объектов блюд
id
- блюдо
cost
- стоимость
portion
- порция
пример:
[
{
"id": 1,
"cost": 20,
"portion": "1 шт."
}
]
date*
date
дата
cost
float
стоимость, для комплектов с фиксированной стоимостью
grocery_set_price
float
стоимость продуктового набора
Импорт квитанций
POST
https://api0.sms-dnevnik.com/integrations/data/jobs
Создание задачи импорта квитанций:
POST <host>/integrations/data/jobs
{
"kind": "d490cb45-8145-43cc-97a1-868d443bbfd3",
"data": [
{
"account_number": "1234567890",
"order_school_id": 587,
"order_number": "20210809",
"order_amount": "100.0",
"order_kind": "SCHOOL"
}
]
}
data
содержит список объектов
account_number
- номер ЛС
order_number
- номер квитанции
order_amount
- сумма квитанции
order_kind
- тип квитанции: SCHOOL
или CAMP
order_school_id
- идентификатор школы (требуется для типа CAMP
)
Получение результата:
GET /integrations/data/jobs/<id>/data
200 OK
[
{
"account_number": "1234567890",
"order_school_id": 587,
"order_number": "20210809",
"order_amount": "100.0",
"order_kind": "CAMP",
"order_status": "CREATED",
"order_error": null,
"order_id": 123
},
{
"account_number": "1234567890",
"order_number": "20210809",
"order_amount": "100.0",
"order_kind": "SCHOOL",
"order_status": "ERROR",
"order_error": "ACCOUNT_NOT_FOUND",
"order_id": null
}
]
order_status
- статус обработки квитанции: CREATED
, UPDATED
или ERROR
order_error
- идентификатор ошибки: ACCOUNT_NOT_FOUND
, SCHOOL_ID_REQUIRED
, INVALID_NUMBER
или EXCEPTION
order_id
- идентификатор квитанции
Request Body
data
object
набор входящих данных
kind
string
d490cb45-8145-43cc-97a1-868d443bbfd3
Запрос состояния фоновой задачи по импорту квитанций
GET
https://api0.sms-dnevnik.com/integrations/data/jobs/<id>
Path Parameters
id
integer
идентификатор задачи
Запрос данных фоновой задачи по импорту квитанций
GET
https://api0.sms-dnevnik.com/integrations/data/jobs/<id>/data
Path Parameters
id
integer
идентификатор задачи
ЭДС
GET
https://api0.sms-dnevnik.com/integrations/data/cafeteria/e_money
Query Parameters
date*
2022-07-26
Дата
Остаток средств
GET
https://api0.sms-dnevnik.com/integrations/data/cafeteria/balance
Принимает номер л/с, идентификатор или СНИЛС пользователя. Возвращает баланс л/с на текущий момент или переданную дату.
Query Parameters
account_number
String
номер л/с
date
Date
дата
account_id
Integer
идентификатор пользователя
snils
string
СНИЛС
Запрос получения списка заявок на вывод компенсаций
GET
https://api0.sms-dnevnik.com/integrations/data/compensation_withdraw_orders
Принимает ID поставщика питания, опционально - даты начала и окончания периоды выборки, лимит и оффсет. Возвращает количество и список заявок.
Query Parameters
food_supplier_id
Integer
ID поставщика питания
date_from
Date
дата начала, опционально
date_to
Date
дата окончания, опционально
limit
Integer
кол-во записей на странице, опционально, не более 1000, по умолчанию - 100
offset
Integer
номер первой записи, начинается с 0, опционально, по умолчанию - 0
Статусы заявок:
0 - Черновик
1 - На рассмотрении
2 - В обработке
3 - Проведена
4 - Отказано
5 - Удалена
6 - Проведение отменено
Запрос обновления статуса заявки на вывод компенсации
POST
https://api0.sms-dnevnik.com/integrations/data/compensation_withdraw_order_update
Принимает JSON. Возвращает результат операции.
Статусы заявок:
0 - Черновик
1 - На рассмотрении
2 - В обработке
3 - Проведена
4 - Отказано
5 - Удалена
6 - Проведение отменено
Возможные последовательности смены статусов:
На рассмотрении -> В обработке
В обработке -> Проведена
На рассмотрении -> Отказано
В обработке -> Отказано
Проведена -> Проведение отменено
Результаты:
Идентификаторы
GET
https://api0.sms-dnevnik.com/integrations/data/identifiers
Фактическое питание и проходы по учащемуся
GET
https://api0.sms-dnevnik.com/integrations/data/student/factual
В качестве идентификатора учащегося принимаются: идентификатор пользователя, номер л/с, номер телефона или номер карты. Период выборки будет включать переданные даты и не должен превышать 7 дней.
Query Parameters
account_id
integer
идентификатор пользователя учащегося
account_number
String
номер л/с учащегося
phone
String
номер телефона учащегося
rfid
String
номер карты учащегося
from*
Date
дана начала периода выборки данных
to*
дата окончания периода выборки данных
snils
String
снилс
image
String
URL фотографии продуции или комплекта
Last updated
Was this helpful?