Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
rest_s [2022/10/17 15:38] timofeev |
rest_s [2022/12/14 13:06] timofeev |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ===Работа со справочниками через REST API=== | ||
В запросах чтения можно использовать отборы:\\ | В запросах чтения можно использовать отборы:\\ | ||
offset (int) - сдвиг\\ | offset (int) - сдвиг\\ | ||
Строка 10: | Строка 11: | ||
roditel - Код группы- родителя, если задан, то возвращаются только записи, входящие в указанную группу.\\ | roditel - Код группы- родителя, если задан, то возвращаются только записи, входящие в указанную группу.\\ | ||
- | ===Клиенты и адреса=== | + | [[rest_cl|Работа с контрагентами - получение записи или списка, создание и правка]] |
- | ==- получить список клиентов== | + | |
- | Пример запроса (записи не более 2 клиентов, созданных или обновленных после 1 января 2020 г.): | + | |
- | <code> | + | |
- | GET http://127.0.0.1:10400/api/clients?updated_gte="01.01.2020"&limit=2 | + | |
- | </code> | + | |
- | Ответ: | + | [[rest_adr|Работа с адресами]] |
- | <code> | + | |
- | { | + | |
- | "result": [ | + | |
- | { | + | |
- | "ID": "1000000000001", | + | |
- | "NAIMENOVANIE": "Буняковский Виктор Яковлевич ИП", | + | |
- | "TELEFON": "71112223311", | + | |
- | "DSZD": "24.03.2019 9:39:30", | + | |
- | "DATAIZM": "12.01.2020 14:16:25", | + | |
- | "DISP": "1000000000010" | + | |
- | }, | + | |
- | { | + | |
- | "ID": "1000000000002", | + | |
- | "NAIMENOVANIE": "Андрей - Научная ул,24, кв.41", | + | |
- | "TELEFON": "78881112233", | + | |
- | "DSZD": "24.03.2019 9:40:45", | + | |
- | "DATAIZM": "02.03.2020 14:54:11", | + | |
- | "DISP": "1000000000010" | + | |
- | } | + | |
- | ], | + | |
- | "limit": 2, | + | |
- | "total": 2 | + | |
- | } | + | |
- | </code> | + | |
- | Поля: | + | |
- | ID - Уникальный идентификатор (код записи)\\ | + | |
- | NAIMENOVANIE - Имя/Наименование клиента\\ | + | |
- | TELEFON - Номер телефона (общий по клиенту)\\ | + | |
- | DOP_SC - Дополнительные сведения (комментарий по клиенту)\\ | + | |
- | EMAIL - Электронная почта\\ | + | |
- | DSZD - Дата создания\\ | + | |
- | DATAIZM - Дата последнего обновления \\ | + | |
- | DISP - ответственный за клиента (код из справочника сотрудников)\\ | + | |
- | Состав полей может отличаться от приведенного, пустые значения не передаются.\\ | + | |
- | ==Получить реквизиты контрагента по его коду== | ||
- | GET /clients/:id | ||
- | Пример | ||
- | <code> | ||
- | GET http://127.0.0.1:10400/api/clients/1000000000048 | ||
- | </code> | ||
- | Ответ | ||
- | <code> | ||
- | { "result": {"ID": "1000000000048", | ||
- | "NAIMENOVANIE": "339-й Стрелковой Дивизии ул,123, кв.33", | ||
- | "TELEFON": "78124243353", | ||
- | "DSZD": "30.11.2019 11:30:19", | ||
- | "DATAIZM": "21.01.2020 7:27:43", | ||
- | "DISP": "1000000000001"}} | ||
- | </code> | ||
- | |||
- | ==Получить задолженность контрагента== | ||
- | |||
- | GET /clients/:id/balance | ||
- | Пример | ||
- | <code> | ||
- | GET http://127.0.0.1:10400/api/clients/1000000000048/balance | ||
- | </code> | ||
- | Ответ | ||
- | <code> | ||
- | {"result": 100.00} | ||
- | </code> | ||
- | Возвращаемое значение - ДОЛГ клиента на утро текущего дня (без учета отгрузок и платежей, проведенных текущим днем). Отрицательное значение возвращается, если есть предоплата. | ||
- | |||
- | ==Получить данные контрагента по номеру телефона== | ||
- | GET /clients?tel=номер | ||
- | Пример | ||
- | <code> | ||
- | http://127.0.0.1:10400/api/clients?tel=71112794311 | ||
- | </code> | ||
- | Ответ | ||
- | <code> | ||
- | "result": { | ||
- | "id": "1000000000001", | ||
- | "naimenovanie": "Буняковский Виктор Яковлевич ИП", | ||
- | "vidpom": "1000000000001", | ||
- | "pod": "55", | ||
- | "kodpod": "111", | ||
- | "et": "0", | ||
- | "telefon": "71112794311", | ||
- | "dsvpln": "Не привезли 11.03.2022 0x*Вода 19 литров", | ||
- | "fam": "Буняковский", | ||
- | "imja": "Виктор", | ||
- | "otchestvo": "Яковлевич", | ||
- | "chast": "5", | ||
- | "posldst": "23.01.2022", | ||
- | "pslknt": "07.11.2021", | ||
- | "katdst": "1000000000001", | ||
- | "klvof": "0", | ||
- | "ochered": "1", | ||
- | "shirota": "47.236136", | ||
- | "dolgota": "39.833379", | ||
- | "poslnakl": "11.02.2022", | ||
- | "pervnakl": "30.05.2019", | ||
- | "adrsvodnakl": "0", | ||
- | "autor": "1000000000001", | ||
- | "dszd": "24.03.2019 9:39:30", | ||
- | "redakt": "1000000000002", | ||
- | "dataizm": "08.09.2021 9:57:31", | ||
- | "eto_gruppa": "0", | ||
- | "vidkontr": "1000000000001", | ||
- | "disp": "1000000000010", | ||
- | "tipcen": "1000000000001", | ||
- | "rekkam": "1000000000004", | ||
- | "frmras": "1000000000001", | ||
- | "firma": "1000000000001", | ||
- | "polnoenaimenovanie": "Буняковский Виктор Яковлевич ИП", | ||
- | "adresur": "Краеведческая ул,51, кв.150", | ||
- | "adresfakt": "Краеведческая ул,51, кв.150", | ||
- | "nomer_karty": "1", | ||
- | "idu4sed": "1000000000001", | ||
- | "datapech": "24.03.2019", | ||
- | "osnt12": "основной договор", | ||
- | "pchtkubut": "0", | ||
- | "katptrb": "1000000000001", | ||
- | "segmentptr": "1000000000001", | ||
- | "statuskl": "1000000000004", | ||
- | "pchtupdbezprosl": "0" | ||
- | } | ||
- | } | ||
- | </code> | ||
- | Возвращаемое значение - данные контрагента и того адреса доставки (кроме кода) , к которому относится телефон.\\ | ||
- | |||
- | ==Получить данные контрагента по паролю или контрольной сумме во внешнем приложении== | ||
- | GET /clients?psw=пароль | ||
- | Пример | ||
- | <code> | ||
- | http://127.0.0.1:10400/api/clients?psw=VGhlIHF1aWNrIGJyb3duI | ||
- | </code> | ||
- | |||
- | Если клиент найден, возвращаются его данные | ||
- | |||
- | <code> | ||
- | { "result": {"ID": "1000000000048", | ||
- | "NAIMENOVANIE": "339-й Стрелковой Дивизии ул,123, кв.33", | ||
- | "TELEFON": "78124243353", | ||
- | "DSZD": "30.11.2019 11:30:19", | ||
- | "DATAIZM": "21.01.2020 7:27:43", | ||
- | "DISP": "1000000000001"}} | ||
- | </code> | ||
- | |||
- | |||
- | Если подходящего клиента нет, возвращается 404 и пустая запись. | ||
- | <code> | ||
- | { "result": {}} | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | ==Создать контрагента и основной адрес== | ||
- | <code> | ||
- | POST http://127.0.0.1:10400/api/clients | ||
- | </code> | ||
- | |||
- | тело запроса (JSON): | ||
- | <code> | ||
- | {"naimenovanie":"Иванов Иван Иванович", | ||
- | "dop_sv":"один хороший человек", | ||
- | "telefon":"78632171717 Иван Иванович, 79182323121 Елена Петровна", | ||
- | "ulica":1000000000011, | ||
- | "dom":"22Б стр.3", | ||
- | "korpus":"1", | ||
- | "kv":"1", | ||
- | "email":"ivanov@test.tt", | ||
- | "etoof":0, | ||
- | "commvod":"зеленые ворота у 'А&Б'", | ||
- | "commdisp":"звонить строго до 21-00!!!", | ||
- | "psw": "VGhlIHF1aWNrIGJyb3duI" | ||
- | } | ||
- | </code> | ||
- | |||
- | |||
- | ответ | ||
- | <code> | ||
- | {"result": 1000000000092,"adr": 1000000000084} | ||
- | </code> | ||
- | Здесь 1000000000092 - код нового контрагента, 1000000000084 - код его основного адреса \\ | ||
- | Если передан параметр psw, будет сохранен хэш от этого значения для поиска клиента при вызове метода /api/clients?psw\\ | ||
- | |||
- | |||
- | ==Создать дополнительный адрес== | ||
- | |||
- | <code> | ||
- | POST http://127.0.0.1:10400/api/addresses/ | ||
- | </code> | ||
- | тело запроса (JSON): | ||
- | <code> | ||
- | {"kontragent":1000000000061, | ||
- | "telefon":"7123456789 Маша, 79181231231 Ира", | ||
- | "ulica":1000000000042, | ||
- | "dom":"55", | ||
- | "kv":"2", | ||
- | "etoof":1, | ||
- | "commvod":"ПРОПУСК!!!", | ||
- | "commdisp":"Если не отвечают, везти без звонка" | ||
- | } | ||
- | </code> | ||
- | Примечание: kontragent - ссылка на клиента, которому следует добавить адрес | ||
- | |||
- | ответ | ||
- | <code> | ||
- | {"result": 1000000000085} | ||
- | </code> | ||
- | |||
- | Здесь 1000000000085 - код нового адреса. | ||
- | |||
- | ==Изменить реквизиты клиента== | ||
- | PATCH /clients/:id | ||
- | Пример | ||
- | <code> | ||
- | http://127.0.0.1:10400/api/clients/1000000000060 | ||
- | </code> | ||
- | Тело запроса (JSON, содержащий измененные поля; служебные поля будут проигнорированы). | ||
- | <code> | ||
- | {"naimenovanie":"Торговый дом 'Сидоров и сыновья'", "dop_sv":"Проверка API", "NEVYGRV1C":"1} | ||
- | </code> | ||
- | ответ | ||
- | <code> | ||
- | OK | ||
- | </code> | ||
- | |||
- | ==Изменить реквизиты адреса== | ||
- | PATCH /adresses/:id | ||
- | Пример | ||
- | <code> | ||
- | http://127.0.0.1:10400/api/addresses/1000000000086 | ||
- | </code> | ||
- | Тело запроса (JSON, содержащий измененные поля; служебные поля будут проигнорированы). | ||
- | <code> | ||
- | {"telefon":"7123456799 Маша, 79181231222 Ира", | ||
- | "ulica":1000000000033,"dom":"1","kv":"2","etoof":1, | ||
- | "commdisp":"Пропуск накануне!"} | ||
- | </code> | ||
- | ответ | ||
- | <code> | ||
- | OK | ||
- | </code> | ||
- | ==Получить запись адреса по коду== | ||
- | GET /addresses/:id | ||
- | Пример | ||
- | <code> | ||
- | GET http://127.0.0.1:10400/api/addresses/1000000000086 | ||
- | </code> | ||
- | ответ | ||
- | <code> | ||
- | { | ||
- | "result": { | ||
- | "ID": "1000000000086", | ||
- | "OSNTABL_ID": "1000000000055", | ||
- | "NAIMENOVANIE": "12-я линия ул,1, оф.2", | ||
- | "GOROD": "1000000000004", | ||
- | "ULICA": "1000000000033", | ||
- | "DOM": "1", | ||
- | "KV": "2", | ||
- | "ET": "0", | ||
- | "TELEFON": "7123456799 Маша", | ||
- | "COMMENT": "Пропуск накануне!", | ||
- | "DOP_SV": "Если не отвечают, внутренний 2-15 ", | ||
- | "DSZD": "23.03.2020 11:13:17", | ||
- | "DATAIZM": "23.03.2020 16:00:58" | ||
- | } | ||
- | } | ||
- | </code> | ||
- | |||
- | |||
- | ==Получить запись адреса по номеру телефона== | ||
- | GET /addresses/?tel=номер | ||
- | Пример | ||
- | <code> | ||
- | GET http://127.0.0.1:10400/api/addresses?tel=7123456799 | ||
- | </code> | ||
- | ответ | ||
- | <code> | ||
- | { | ||
- | "result": { | ||
- | "ID": "1000000000086", | ||
- | "OSNTABL_ID": "1000000000055", | ||
- | "NAIMENOVANIE": "12-я линия ул,1, оф.2", | ||
- | "GOROD": "1000000000004", | ||
- | "ULICA": "1000000000033", | ||
- | "DOM": "1", | ||
- | "KV": "2", | ||
- | "ET": "0", | ||
- | "TELEFON": "7123456799 Маша", | ||
- | "COMMENT": "Пропуск накануне!", | ||
- | "DOP_SV": "Если не отвечают, внутренний 2-15 ", | ||
- | "DSZD": "23.03.2020 11:13:17", | ||
- | "DATAIZM": "23.03.2020 16:00:58" | ||
- | } | ||
- | } | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | ==Получить массив адресов по коду клиента== | ||
- | GET /addresses?kontr=1000000000125 | ||
- | Пример | ||
- | <code> | ||
- | GET http://127.0.0.1:10400/api/addresses/1000000000055 | ||
- | </code> | ||
- | ответ | ||
- | <code> | ||
- | { | ||
- | "result": [ | ||
- | { | ||
- | "id": "1000000000134", | ||
- | "osntabl_id": "1000000000125", | ||
- | "naimenovanie": "1-й Газонный пер, 2", | ||
- | "gorod": "1000000000004", | ||
- | "ulica": "1000000001587", | ||
- | "dom": "2", | ||
- | "korpus": "null", | ||
- | "kv": "null", | ||
- | "et": "null", | ||
- | "pod": "null", | ||
- | "telefon": "null", | ||
- | "comment": "null", | ||
- | "dop_sv": "null", | ||
- | "shirota": "47.326330", | ||
- | "dolgota": "39.748235", | ||
- | "dszd": "19.04.2021 13:03:52", | ||
- | "dataizm": "null", | ||
- | "smena": "null", | ||
- | "vrem": "null", | ||
- | "vrem_okon": "null" | ||
- | }, | ||
- | { | ||
- | "id": "1000000000116", | ||
- | "osntabl_id": "1000000000125", | ||
- | "naimenovanie": "Красных Партизан ул,17 корп.2, оф.33", | ||
- | "gorod": "1000000000006", | ||
- | "ulica": "1000000005283", | ||
- | "dom": "17", | ||
- | "korpus": "2", | ||
- | "kv": "33", | ||
- | "et": "0", | ||
- | "pod": "", | ||
- | "telefon": "22122", | ||
- | "comment": "null", | ||
- | "dop_sv": "null", | ||
- | "shirota": "44.493984", | ||
- | "dolgota": "34.137527", | ||
- | "dszd": "26.01.2021 11:30:39", | ||
- | "dataizm": "null", | ||
- | "smena": "null", | ||
- | "vrem": "0:00:00", | ||
- | "vrem_okon": "14:30:00" | ||
- | } | ||
- | ], | ||
- | "total": 2 | ||
- | } | ||
- | </code> | ||
===Вспомогательные справочники=== | ===Вспомогательные справочники=== |