Это старая версия документа!
Содержание
API ФСМТ Наполеон:
Работа через API
Подключение к серверу происходит по http протоколу через порт сервера.
Заголовки запроса:
Content-Type: application/json
Authorization: Bearer <ПарольAPI>
Пример подключения без пароля
curl -X GET -H “Content-Type: application/json” –H “Authorization: Bearer ”
Стандартный ответ
Ответ сервера содержит массив объектов. Объект содержит имя и массив данных.
Answer = [<StdObject>] StdObject = {«name»:<ObjectName>,«data»:[<DataObject>]}
| ObjectName | Имя объекта |
| DataObject | JSON объект данных |
Поля даты/времени передается в строковом виде 20221113184531
Сервер всегда возвращает объект ServerAnswer
{«response»:<Response>,«message»:<Message>}
| Response | 1 - операция успешна, 0 - ошибка |
| Message | Описание ошибки |
/object/<ObjectName>[?filter] methods GET, DELETE
Запрос объекта или удаление объекта.
Params
| ObjectName | Имя объекта |
| filter | Фильтр для запроса (WHERE для SQL запроса) |
Response
| 200 | Стандартный ответ.ServerAnswer для DELETE ServerAnsert + выбранные объекты для GET |
Examples
| GET /object/Agents |
| GET /object/Agents?«login»='2' and «password»='2' |
/object method PUT
Замена объектов на сервере. Сначала выполняется удаление, согласно фильтру, затем происходит вставка.
Тело запроса
[{«name»:<ObjectName>,«filter»:<fFilter>,«data»:[<DataObject>]}]
| ObjectName | Имя объекта |
| Filter | Фильтр для удаления объектов. Пустой фильтр - удаление всей таблицы. |
| DataObject | JSON объекты данных. Если передается пустой объект, происходит только удаление данных |
Response
| 200 | Стандартный ответ. ServerAnswer |
/object method POST
Вставка объектов без удаления
Тело запроса
[{«name»:<ObjectName>,«data»:[<DataObject>]}]
| ObjectName | Имя объекта |
| DataObject | JSON объекты данных. |
Response
| 200 | Стандартный ответ. ServerAnswer |
/call/<ModuleName> method POST
Исполнение модуля PYTHON. Сервер ищет модуль с именем ModuleName.py и запускает метод run(server)
| ModuleName | Имя модуля |
Параметры запроса
{<DataObject>}
| DataObject | JSON объект с параметрами вызова. |
Response
| 200 | Стандартный ответ.ServerAnswer |
Объекты обмена
Agents — список ТП
Мобильные пользователи (Торговые представители)
Поля
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код ТП |
| name | Varchar | ФИО |
ServerConfig — настройки программы
Настройки работы программ. Настройки для работы берутся по коду торгового представителя, или общие (поле userid пустое). Индивидуальные настройки ТП имеют приоритет над общими.
Поля
| Название | Тип | Описание |
|---|---|---|
| userid | Varchar | Код ТП или пустое значение для общих настроек |
| key | Varchar | Ключ настройки |
| value | Varchar | Значение |
Ключи настроек
| Название | Тип | Описание |
|---|---|---|
| МожноИзменятьЦену | 0;1 | 0 — запрет на изменение вида цены в мобильном приложении; 1 — ТП может изменить вид цены |
| ДатаДоставки | 0;1;2 | Установка даты доставки при создании заказа.0 — дата доставки сегодня; 1 — дата доставки завтра; 2 — дата доставки следующий рабочий день |
Orgs — торговые точки
Торговые точки
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код ТТ. Торговая точка - это адрес доставки когнтрагента, должен содержать уникальный ID, например: <код контрагента>@<код адреса> |
| name | Varchar | Наименование |
| address | Varchar | Адрес |
| contacts | Коллеция | Список контактов торговой точки |
| name | Varchar | ФИО контакта |
| phone | Varchar | телефон |
| dogovors | Коллеция | Список договоров торговой точки |
| name | Varchar | Наименование договора |
| id | Varchar | Код договора |
| orgId | Varchar | Код организации - поставщика |
| priceId | Varchar | Код вида цены |
AgentData — доступные объекты для ТП
Содержит данные по доступным объектам агента из общего списка.
Поля
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код объекта |
| userid | Varchar | Код ТП |
| type | Varchar | Тип объекта; Org – торговые точки; Price — товары; PriceType – виды цен |
AgentStoreData — доступные склады для ТП
Содержит данные по складам для агентов. Порядок следования складов определяется порядком следования складов при записи коллекции.
Поля
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код объекта (склада) |
| userid | Varchar | Код ТП |
Folder — папки товаров
Содержит иерархический список папок товаров
Поля
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код товарной группы (папки товара) |
| name | Varchar | Наименование |
StoreQty — остатки товаров по складам
Содержит список остатки товаров на складах. Запись имеет метку версии. Каждый раз при выгрузке данных версию необходимо изменить, а после выгрузки данных, удалить предыдущие версии данных.
Поля
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код склада |
| IdItem | Varchar | Код товара |
| qty | float | Остаток |
| version | int | версия |
Price — товары
Список товаров
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код товара |
| name | Varchar | Наименование |
| fid | Varchar | Код папки товара |
| weight | float | Вес единицы товара |
| units | Коллеция | Список единиц измерения |
| id | Varchar | Уникальный идентификатор для единицы измерения. Для базовой единицы — пустая строка |
| code | Varchar | ОКЕИ |
| name | Varchar | Наименование |
| inpack | float | Множитель упаковки |
PriceCost — цены на товары
Содержит цены для товаров по разным видам цен. Запись имеет метку версии. Каждый раз при выгрузке данных версию необходимо изменить, а после выгрузки данных, удалить предыдущие версии данных.
Поля
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код вида цены |
| IdItem | Varchar | Код товара |
| cost | float | Цена |
| version | int | версия |
PriceType — виды цен
Список видов цен
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код вида цены |
| name | Varchar | Наименование |
Firm — организации
Список организаций
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код |
| name | Varchar | Наименование |
Balance — долги торговых точек
Список долгов по торговым точкам
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код точки |
| idDog | Varchar | Код договора |
| sum | Varchar | Сумма долга точки, если сумма отрицательная, то переплата. |
| documents | Коллеция | Список документов с ненулевым сальдо |
| date | Date | Дата и время документа |
| uid | Varchar | Уникальный идентификатор документа |
| sum | float | Сумма долга по документу |
| sumDoc | float | Сумма документа |
| payDate | Date | Дата оплаты |
| number | Varchar | Номер документа |
| type | Varchar | Тип документа. Для отгрузок Delivery |
| title | Varchar | Заголовок документа в списке долгов |
Delivery — отгрузки
Список отгрузок по торговым точкам
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код точки |
| idDog | Varchar | Код договора |
| uid | Varchar | Уникальный идентификатор документа |
| date | Date | Дата документа |
| number | Varchar | Номер документа |
| items | Коллеция | Список товаров |
| id | Date | Код товара |
| qty | float | Количество |
| sum | float | Сумма по строке |
NewOrders — список новых заказов
Список заказов. Документ появляется в этом списке если его дата создания не старше 3 дней от текущей даты и его нет в таблице OrderCommitted
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код точки |
| userid | Varchar | Код торгового представителя |
| created | Date | Дата и время создания документа |
| whCode | Varchar | Код склада |
| remark | Varchar | Примечание |
| idDog | Varchar | Код договора |
| date | Date | Дата доставки |
| prcType | Varchar | Код вида цены |
| items | Коллеция | Список товаров |
| id | Date | Код товара |
| qty | float | Количество |
| cost | float | Цена |
NewIncass — список новых инкассаций
Список новый инкассаций. Документ появляется в этом списке если его дата создания не старше 3 дней от текущей даты и его нет в таблице OrderCommitted
| Название | Тип | Описание |
|---|---|---|
| id | Varchar | Код точки |
| userid | Varchar | Код торгового представителя |
| created | Date | Дата и время создания документа |
| remark | Varchar | Примечание |
| sum | float | Введенная сумма (может не совпадать с сумой по строкам). В этом случае часть суммы не разбита по документам |
| idDog | Varchar | Код договора |
| items | Коллеция | Список товаров |
| number | Varchar | Номер отгрузки |
| date | Date | Дата отгрузки |
| sum | float | Введенная сумма |
| uid | Varchar | Уникальный идентификатор отгрузки |
OrderCommitted — информация об обработке документа
Содержит связь между созданным в программе документом и документом в 1с
| Название | Тип | Описание |
|---|---|---|
| created | Date | Дата создания документа |
| userid | Varchar | Код торгового представителя |
| type | Varchar | Тип документа: Order - для заказа; Incass - для инкассации |
| number | Varchar | Номер документа в 1с |
| date | Date | Дата документа в 1с |
OrderProceeded — инофрмация об обработанных документах для торгового представителя
Информация передается в мобильную программу и удаляется из этой таблицы.
| Название | Тип | Описание |
|---|---|---|
| created | Date | Дата создания документа |
| userid | Varchar | Код торгового представителя |
| type | Varchar | Тип документа Order- для заказа; Incass - для инкассации |
| remark | Varchar | Примечание по обработке документа для торгового представителя |
