Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
api [2020/02/05 16:21] timofeev |
api [2024/09/13 09:26] (текущий) timofeev |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== API Водяного ====== | ====== API Водяного ====== | ||
- | ''ip-адрес Водяного:10400/api?token=секретный ключ&action=команда¶m={...}'' | + | <code>ip-адрес Водяного:10400/api?token=секретный_ключ&action=команда¶m={...}</code> |
Здесь команда — команда API;\\ | Здесь команда — команда API;\\ | ||
параметры команды задаются в формате json (имя_параметра:значение параметра разделенные точкой с запятой).\\ | параметры команды задаются в формате json (имя_параметра:значение параметра разделенные точкой с запятой).\\ | ||
token — ключ доступа, задается в поле "пароль" [[параметры_интеграции|справочника интеграций]], например qwerty12345\\ | token — ключ доступа, задается в поле "пароль" [[параметры_интеграции|справочника интеграций]], например qwerty12345\\ | ||
+ | Токен может быть указан как в url запроса, так и в заголовке 'Authorization: Bearer секретный_ключ'.\\ | ||
+ | Примечание: Для работы с API должен быть "проброшен" во внешнюю сеть порт 10400 сервера, где установлена база данных и установлен на этом сервере Водяной в режиме службы.\\ | ||
+ | |||
Все ответы передаются в кодировке UTF-8, запросы ожидаются в той же кодировке.\\ | Все ответы передаются в кодировке UTF-8, запросы ожидаются в той же кодировке.\\ | ||
- | === Загрузка списка товаров (GET) === | + | Ниже приведены описания команд: |
- | Команда zagr_tov\\ | + | |
- | Пример: \\ | + | [[API_spistov|Загрузка списка товаров во внешнюю систему (spistov)]] |
- | '' | + | |
- | ip-адрес Водяного:10400/api?token=qwerty12345&action=zagr_tov | + | [[API_zakaz|Формирование предварительной заявки (zakaz)]] |
- | '' | + | |
+ | [[API_platkart|Платеж картой]] | ||
+ | |||
+ | [[API_statusz|Получение статуса заказа (statusz)]] | ||
- | Пример ответа Водяного (JSON)\\ | + | [[API_otmenaz|Отмена заказа (otmenaz)]] |
- | {{:otvapi1.png|}} | + | |
- | здесь id — артикул товара во внешней системе (поле «Артикул» в справочнике товаров),\\ | + | [[API_posledz|Последние заказы (posledz)]] |
- | при отсутствии артикулов в базе передаются последние 6 цифр кода товара в Водяном;\\ | + | |
- | naim – полное наименование товара в базе, при отсутствии полного — краткое; Если в передаваемом наименовании встречается символ «;», он заменяется на «,».\\ | + | |
- | ost – сводный остаток на всех складах по всем фирмам на конец текущего дня;\\ | + | |
- | cena – розничная цена на дату запроса (тип розничной цены задается в справочнике значений по умолчанию).\\ | + | |
- | tara – артикул тары, указанный в справочнике «тара», при отсутствии артикула — последние 6 цифр кода\\ | + | |
- | cena_tary – цена продажи тары, указанная в справочнике «тара».\\ | + | |
- | === Прием заказа (POST) === | + | [[API_dolg|Получение данных о долге (предоплате)]] |
- | Команда zakaz\\ | + | |
- | Пример: \\ | + | |
- | ''ip-адрес Водяного:10400/api?token=qwerty12345&action=zakaz¶m={nzak:123; opla4en:1; telefon:79991234567; email :info@test123.ru; klient: Сидоров И.П.; nomer_karty:322356; gorod:Ростов-на-Дону; ulica: Научная; dom:36; korpus:0; kv:20; dop_sv:Оставить соседям; vrem:после 12; datasob:04.02.2020; smena:1;frmrastxt:карта Visa,Mastercard,Мир; \\ | + | |
- | sostav={tovar:voda1; kolvo:5; tara=4}; {tovar:stakan; kolvo:100; tara:0}}}'' | + | |
- | здесь | + | [[API_spr|Чтение справочников]] |
- | nzak - номер заказа на сайте/во внешней системе;\\ | + | [[API_doc|Чтение документов]] |
- | opla4en – признак предоплаты заказа во внешней системе (1 — предоплачен картой; 0 — оплата при поставке)\\ | + | |
- | telefon– телефон клиента, например, 79991234567\\ | + | |
- | email — эл. почта клиента, например, test@test.ru. Поле не обязательно.\\ | + | |
- | nomer_karty - номер карты клиента (поле «Карта (или код) клиента»), обычно совпадает с последними значащими цифрами кода; Поле не обязательно;\\ | + | |
- | klient – ФИО/наименование клиента. Поле не обязательно, в случае отсутствия будет составлено из названия улицы, номера дома и квартиры;\\ | + | |
- | gorod - наименование города; Поле не обязательно, в случае отсутствия будет использован город по умолчанию;\\ | + | |
- | ulica – наименование улицы;\\ | + | |
- | dom – номер дома;\\ | + | |
- | korpus – корпус, 0 в случае отсутствия;\\ | + | |
- | kv – номер квартиры, 0 в случае отсутствия номера.\\ | + | |
- | dop_sv — дополнительная информация, комментарий;\\ | + | |
- | vrem - желаемое время доставки (строка). Поле не обязательно.\\ | + | |
- | datasob - дата, на которую клиент делает заказ (в формате дд.мм.гггг). Поле не обязательно.\\ | + | |
- | smena - номер смены, указанный в поле "код во внешней системе" в справочнике смен в Водяном. Поле не обязательно.\\ | + | |
- | frmrastxt - наименование формы расчетов, будет указано как текстовый реквизит в предзаявке. Как правило, должно совпадать с названием одной из форм расчетов в справочнике либо содержать ключевые слова (карта,картой, visa, mastercard, мир). Поле не обязательно.\\ | + | |
- | sostav – состав заказа, массив с элементами, имеющими нижеследующие поля:\\ | ||
- | tovar – артикул товара во внешней системе/сайте (задается в справочнике товаров), например voda1; при отсутствии артикулов в базе проводится поиск по коду товара в Водяном (последние 6 цифр).\\ | ||
- | kolvo – количество товара;\\ | ||
- | prdtkol – количество тары, покупаемой клиентом (для товаров в многооборотной таре);\\ | ||
- | Возможные ответы Водяного\\ | ||
- | 1 в случае приема заказа\\ | ||
- | либо сообщение об ошибке, например: ERROR. There is no tag "sostav"\\ | ||
+ | Кроме описанной версии API, доступен [[rest|REST-вариант]]. | ||
- | === Получение статуса заказа (GET) === | ||
- | ''ip-адрес Водяного:10400/api?token=секретный ключ&action=statusz¶m={...}''\\ | ||
- | параметры: id – номер заказа, под которым он был создан во внешней системе (на сайте) и отправлен в программу\\ | ||
- | ответ: состояние заказа в виде числа\\ | ||
- | возможные варианты:\\ | ||
- | 9999 — заказ отсутствует в системе\\ | ||
- | 0 — записан (пришел с сайта)\\ | ||
- | 1- принят (обработан оператором, создана расходная накладная), но еще не назначен экспедитору/водителю\\ | ||
- | 2 — отправлен экспедитору, но еще не дошел до него, такой статус в нормальной ситуации (при использовании мобильного приложения) может сохраняться не более минуты\\ | ||
- | 3 - у экспедитора (пришел на планшет, телефон)\\ | ||
- | 4 — выполнен\\ | ||
- | 5 - не удалось выполнить\\ | ||
- | 6 - отменен клиентом\\ | ||
- | Пример: ''4.4.4.4:10400/api?token=aaabbb123456&action=statusz¶m={”id”:”12356”}''\\ | ||
- | Ответ: 3\\ | ||
- | (заказ получен экспедитором, выполняется).\\ | ||