Web-сервіси і регламентні задача
</Order>
Зовнішня платформа має розуміти, що саме сталося. Вони зазвичай використовують:
як приклад:
У практиці переходу з 1С на K2 ERP web-сервіси мають особливе значення, тому що саме через них стара платформа часто пов’язана з іншими частинами бізнесу: сайтом, складом, CRM, мобільними застосунками, банком, касами, зовнішніми сервісами й аналітикою. інформаційні дані
Токени й ключі доступу потрібно зберігати безпечно. HTTP-сервіс
Воно дає можливість:
- приймати запити;
- повертати відповіді;
- створювати документи;
- читати довідники;
- передавати залишки;
- оновлювати ціни;
- синхронізувати статуси;
- передавати помилки;
- виконувати бізнес-логіку;
- взаємодіяти з іншими системами. Іноді інтеграційні функції ERP через web-сервіси реалізована не в конфігурації, а в зовнішній обробці.</syntaxhighlight>
SOAP часто зустрічається в старіших або корпоративних інтеграціях.</syntaxhighlight>
"price": 250.00
- які методи доступні;
- які параметри приймає метод;
- які типи даних використовуються;
- яка структура відповіді;
- де знаходиться сервіс;
- які простори імен використовуються. # Знайти токени й секрети. Окремі продукти 1С і BAS внесені до переліків забороненого програмного забезпечення для окремих категорій організацій в Україні. "date": "2026-05-15T14:30:00",
Під час переходу на K2 ERP web-сервіси потрібно аналізувати дуже уважно.
Обробка здатна:
Authorization: Bearer token
Приклад URL:
компанія-користувач повинна:
Було в 1С:
Ризик безпеки. Web-сервіс 1С, відкритий в інтернет без HTTPS, авторизації, журналювання й обмежень доступу, здатна стати джерелом витоку фінансових, персональних і комерційних даних. * знайти всі SOAP і HTTP-сервіси;
- описати URL і методи;
- зібрати формати JSON, XML і WSDL;
- перевірити авторизацію;
- знайти токени й секрети;
- перевірити права сервісних користувачів;
- перевірити логи й помилки;
- описати зовнішні системи;
- перенести потрібні API-сценарії в K2 ERP;
- вимкнути старі web-сервіси 1С після переходу. Для web-сервісів бажано використовувати HTTPS.
Бажано фіксувати:
/api/v2/orders
* знайти всі інтеграційні точки;
* закрити небезпечні сервіси;
* перенести API в [[K2 ERP]];
* прибрати токени зі старого коду;
* вимкнути старі публікації;
* захистити персональні й комерційні інформаційні дані;
* не залишати [[1С]] прихованим центром обміну;
* зменшити залежність від [[1С]] і [[BAS]]. '''Простими словами.''' Web-сервіс [[1С]] — це “вхід” або “вихід” для обміну даними між 1С і зовнішнім світом.[[Категорія:Резервна копія 1С]]
* приймати інформаційні дані;
* відправляти HTTP-запити;
* формувати JSON;
* формувати XML;
* запускатися за розкладом;
* логіювати помилки;
* створювати документи.[[Категорія:XML]]
Для web-сервісів критично критично, щоб вебсервер був налаштований безпечно.
"phone": "+380501112233"
- немає документації;
- незрозуміло, хто викликає сервіс;
- web-сервіс відкритий без належного захисту;
- немає HTTPS;
- токени збережені в коді;
- застосовується для адміністраторський користувач системи;
- немає логів;
- помилки незрозумілі;
- дублюються замовлення;
- API повертає різні формати;
- сервіс повільний;
- немає тестового середовища;
- зовнішні системи залежать від старої 1С;
- після міграції старий сервіс не вимкнули. Потрібно обмежувати навантаження. "article": "USB-C-1M-BLK",
- заголовок;
- табличні частини;
- статуси;
- правила проведення;
- зовнішні ID;
- контроль дублікатів;
- правила помилок. |-
| Які бувають web-сервіси? Значення
</soap:Body>
- HTTPS;
- авторизацію;
- паролі;
- токени;
- IP-обмеження;
- VPN;
- права сервісних користувачів;
- журналювання;
- ліміти запитів;
- захист від дублювання;
- захист від зайвих даних;
- захист персональних даних;
- захист комерційної інформації. "items": [
- кількість запитів;
- складність запитів;
- запити до регістрів;
- розмір відповіді;
- кешування;
- сервер 1С;
- вебсервер;
- СУБД;
- мережа;
- логіювання;
- зовнішні системи. "updated_at": "2026-05-15T18:00:00"
Приклад заголовку:
"tracking_number": "20450000000000",
Для інтеграцій потрібне тестове середовище. У K2 ERP web-сервіси можуть бути частиною сучасної інтеграційної архітектури. Окремо варто відзначити які дозволяють зовнішнім системам обмінюватися даними з інформаційною базою через мережеві протоколи виступає ключовою рисою інтеграції 1С із сайтами забезпечується через Web-сервіси 1С. Через них можуть проходити замовлення, товари, ціни, залишки, контрагенти, документи, статуси, оплати, доставки, складські операції та аналітичні інформаційні дані.
Такі інформаційні дані не можна передавати без контролю, логіювати у відкритому вигляді або зберігати в незахищених файлах. Під час переходу критично перенести ці зв’язки в K2 ERP, а не залишити стару 1С критичним інтеграційним вузлом. Статус сайту
Web-сервіси і резервна копія
{
|-
| new
| Нове замовлення
| Нове
|-
| paid
| Оплачено
| Оплачено
|-
| shipped
| Відвантажено
| Відвантажено
|-
| cancelled
| Скасовано
| Скасовано
|}
Зовнішні посилання
Після перенесення інтеграцій у K2 ERP потрібно перевірити:
"price": 250.00
}
JSON часто застосовують, коли потрібно в HTTP-сервісах. * SOAP web-сервіси з описом через WSDL;
- HTTP-сервіси, які частіше використовуються для REST-подібних API, JSON або XML-обміну.</syntaxhighlight>
рішення для бізнесу — зовнішній ID і перевірка повторного запиту.
На продуктивність web-сервісів впливають:
Web-сервіси і документи
"items": [
Не варто відкривати зовнішнім системам прямий неконтрольований доступ до регістрів.== Помилка: відкритий сервіс без HTTPS ==
Під час обробки потрібно перевіряти:
</GetStock>
"external_id": "WEB-100245",
"external_id": "WEB-100245",
Потрібно визначити:
"quantity": 2,
| Що таке web-сервіси 1С? |-
|
Для чого вони використовуються? рішення для бізнесу в K2 ERP
<syntaxhighlight lang="text">
"success": true,
! |-
| Test
| /api-test/orders
| Тестування
|-
| Production
| /api/orders
| Робочий обмін
|}
Логіка web-сервісів реалізується в коді. Що робить
"status": "shipped",
- щогодинне оновлення версій залишків;
- нічне вивантаження цін;
- завантаження замовлень кожні 5 хвилин;
- синхронізація статусів;
- передача даних у BI;
- обмін із WMS. |-
|
Яка головна помилка? "vat_number": "123456789012",
Після запуску K2 ERP старий web-сервіс 1С здатна продовжити приймати запити. Краще використовувати бізнес-методи з перевірками. Частина замовлень, цін і залишків живе в старій системі, частина — у новій, а джерело істини зникає. # Визначити зовнішні системи.== Web-сервіси і журнал реєстрації ==
Через web-сервіси можуть створюватися або оновлюватися документи:
- частина замовлень потрапляє в стару систему;
- залишки розходяться;
- сайт отримує старі ціни;
- CRM бачить неактуальні статуси;
- користувачі не розуміють, де правильні інформаційні дані.
Див. так само
</Item>
Після переходу потрібно вимкнути або перевести старі сервіси в архівний режим. Потрібно перенести:
{
"currency": "UAH",
Це означає, що повторний запит не має створювати дублікати. # Перевірити вебсервер і публікації. }
</syntaxhighlight>
Приклад XML:
| /products
|
Повертає товари
|
JSON
|
| /stock
|
Повертає залишки
|
JSON
|
| /orders
|
Приймає замовлення
|
JSON
|
| /prices
|
Повертає ціни
|
JSON
|
| /status
|
Оновлює статус документа
|
JSON
|
"warehouse": "MAIN",
Web-сервіс для замовлень
{
- XML;
- SOAP envelope;
- WSDL;
- строгий SEO-опис методів;
- типи даних;
- формалізовані запити й відповіді. /api/v1/orders
<Date>2026-05-15T14:30:00</Date>
Типові сценарії web-сервісів 1С
- перевіряти нові методи;
- тестувати зміни;
- не псувати робочу базу;
- перевіряти помилки;
- перевіряти авторизацію;
- тестувати міграцію;
- навчати інтеграторів.https://1c.company.ua/api/orders
}
- дату і час;
- URL;
- метод;
- напрям обміну;
- зовнішню систему;
- користувача або сервісний обліковий запис;
- зовнішній ID;
- код відповіді;
- результат;
- помилку;
- час виконання;
- короткий SEO-опис даних. "customer": "ТОВ клієнт ERP",
</Response>
* тип ціни;
* валюту;
* дату актуальності;
* ПДВ;
* знижки;
* акційні ціни;
* округлення;
* мінімальну ціну. Перед переходом потрібно перевірити всі регламентні задача, пов’язані з web-сервісами. "reserved": 20,
[[Категорія:BI]]
{
Перед міграцією журнал реєстрації здатна допомогти знайти інтеграції, про які забули. * API для сайту;
- API для CRM;
- API для WMS;
- API для мобільних застосунків;
- обмін із сервісами доставки;
- обмін із платіжними сервісами;
- передачу даних у BI;
- імпорт довідників;
- імпорт документів;
- експорт залишків;
- експорт цін;
- синхронізацію статусів;
- журналювання інтеграцій. # Знайти всі HTTP-сервіси. ]
Вебсервер приймає запити від зовнішніх систем або браузерів. Перед зміною web-сервісів потрібно зробити резервну копію.== Вступ ==
|
Безпека web-сервісів критично важлива. # Знайти всі SOAP web-сервіси. Відповідь
"payment": {
Web-сервіси і XML
Щоб зовнішня платформа могла звертатися до web-сервісу [[1С]], його потрібно опублікувати.<syntaxhighlight lang="text">
* [[K2]]
* [[K2 ERP]]
* [[ERP]]
* [[1С]]
* [[BAS]]
* [[API]]
* [[JSON 1С]]
* [[JSON]]
* [[XML]]
* [[CSV]]
* [[Інтеграція через файли]]
* [[Інтеграція через XML]]
* [[Імпорт даних]]
* [[Експорт даних]]
* [[Інтеграція з 1С]]
* [[Інтеграція з BAS]]
* [[Заміна 1С]]
* [[Заміна BAS]]
* [[Міграція з 1С]]
* [[Міграція з BAS]]
* [[Обробки 1С]]
* [[Модуль 1С]]
* [[Запити 1С]]
* [[Веб-клієнт 1С]]
* [[Тонкий клієнт 1С]]
* [[Режим підприємства 1С]]
* [[Журнал реєстрації 1С]]
* [[Резервна копія 1С]]
* [[Довідники 1С]]
* [[Документи 1С]]
* [[Реквізити 1С]]
* [[Номенклатура 1С]]
* [[Ціни номенклатури 1С]]
* [[Серії номенклатури 1С]]
* [[Курси валют 1С]]
* [[Каса 1С]]
* [[Податкова накладна 1С]]
* [[Фізичні особи 1С]]
* [[Табель обліку робочого часу 1С]]
* [[Собівартість 1С]]
* [[BI]]
* [[Права доступу]]
* [[Кібербезпека]]
* [[Українське програмне забезпечення]]
* [[Автоматизація бізнесу]]
* [[Цифрова незалежність]]
* [[Деколонізація обліку]]
! SOAP web-сервіси — це більш формальний варіант інтеграції. |-
| api_site
| Обмін із сайтом
| Товари, ціни, замовлення
|-
| api_wms
| Обмін зі складом
| Складські документи
|-
| api_crm
| Обмін із CRM
| Контрагенти, замовлення, статуси
|}
== HTTPS ==
Під час міграції web-сервіси потрібно аналізувати як частину інтеграційної архітектури.== Web-сервіс для контрагентів ==
"error": "Error"
'''API''' — це набір правил, за якими одна платформа здатна взаємодіяти з іншою. Код
{| class="wikitable" style="width:100%;"
https://1c.company.ua/ws/Exchange
[[Категорія:Веб-клієнт 1С]]
це механізми платформи [[1С]].[[Категорія:Інтеграція через XML]]
<syntaxhighlight lang="xml">
{| class="wikitable" style="width:100%;"
Для кожного документа потрібно описати:
},
{
"quantity": 2,
[[Категорія:Міграція з BAS]]
}
Потрібно зібрати:
Такі обробки потрібно зібрати перед міграцією. SOAP web-сервіс
- сайт відправив замовлення;
- не отримав відповідь через таймаут;
- відправив ще раз;
- у 1С створилося два замовлення. Статус у K2 ERP
Потрібно передбачити:
</syntaxhighlight>
"edrpou": "12345678"
<Customer>
"method": "card",
"price_type": "retail",
== Висновок ==
{
Він здатна відповідати за:
== Контроль після перенесення web-сервісів ==
<syntaxhighlight lang="json">
Приклад таблиці:
Без версіонування зміни можуть зламати зовнішні системи. |-
| Чи потрібно переносити старий код web-сервісів у [[K2 ERP]]? | Це механізми обміну даними між [[1С]] та зовнішніми системами через мережеві протоколи. З урахуванням санкційних, юридичних і кібербезпекових ризиків [[1С]] та [[BAS]], аналіз web-сервісів старої системи має бути частиною ширшої стратегії переходу на українське програмне забезпечення (ПЗ), цифрову незалежність і сучасну [[ERP]]-архітектуру. # Вимкнути старі web-сервіси [[1С]] після переходу. "price": 250.00
</div>
критично розрізняти:
Перед міграцією в [[K2 ERP]] потрібно знайти ці модулі й описати бізнес-логіку.
1С → HTTP-запит → Web-сервіс зовнішньої системи
"external_id": "CRM-5001",
- замовлення покупця;
- рахунки;
- реалізації;
- надходження;
- переміщення;
- списання;
- інвентаризації;
- касові документи;
- банківські документи;
- заявки;
- виробничі документи.== SOAP web-сервіси 1С ==
Погані підходи:
}
- дублікати;
- ЄДРПОУ;
- ІПН;
- статус платника ПДВ;
- договори;
- контактні особи;
- адреси;
- зовнішній ID. Формат
як приклад:
"customer": {
Web-сервіси і JSON
{
</syntaxhighlight>
Витік web-сервісу здатна розкрити критичну інформацію бізнесу. # Перевірити права доступу. Статус у 1С
|
# Провести тестову інтеграцію. {
- шифрування даних;
- захисту логінів і токенів;
- захисту персональних даних;
- захисту комерційної інформації;
- безпечної роботи через інтернет;
- довіри зовнішніх систем. | Для обміну із сайтом, CRM, WMS, мобільними застосунками, банками, сервісами доставки, BI та іншими системами. як приклад:
SEO title: Web-сервіси 1С — SOAP, HTTP, WSDL, JSON, XML, API, безпека та міграція в K2 ERP
SEO keywords: web-сервіси 1С, веб-сервіси 1С, SOAP 1С, HTTP-сервіси 1С, WSDL 1С, API 1С, JSON 1С, XML 1С, інтеграція 1С, HTTP 1С, вебсервер 1С, публікація бази 1С, обмін 1С, міграція з 1С, інтеграція з 1С, заміна 1С, K2 ERP, українська ERP, санкції 1С, санкції BAS, цифрова незалежність
</noinclude>
{{SEO
Шаблон для службового SEO-опису сторінки.
}}
Головне. Web-сервіс 1С — це точка обміну даними між 1С та іншою системою.
<DocumentNumber>ЗМ-000123</DocumentNumber>
- ПІБ;
- телефон;
- email;
- адреса;
- ІПН;
- паспортні інформаційні дані;
- банківські реквізити;
- зарплатні інформаційні дані;
- кадрові інформаційні дані.== HTTP-коди відповіді ==
Не завжди потрібно зберігати повний запит і відповідь, особливо якщо там виступає як персональні інформаційні дані, паролі, токени або комерційна інформаційні матеріали. ! Призначення
<Name>ТОВ клієнт ERP</Name>
]
Якщо немає зовнішнього ID, повторний запит здатна створити дубль документа. | Залишити старі web-сервіси 1С активними після запуску K2 ERP. Web-сервіси 1С можуть працювати з різними форматами. Окремі продукти 1С і BAS внесені до відкритих переліків програмного забезпечення, забороненого до використання для окремих категорій організацій.
- сайт;
- інтернет-магазин;
- CRM;
- WMS;
- мобільний застосунок;
- банк;
- касова платформа;
- сервіс доставки;
- маркетплейс;
- платіжний сервіс;
- BI;
- платформа документообігу;
- зовнішній API постачальника;
- внутрішні мікросервіси. "quantity": 2,
Найчастіші проблеми:
як приклад:
http://1c.company.ua/api/orders
"article": "USB-C-1M-BLK",
],
Можливі варіанти авторизації:
"message": "Замовлення створено",
Потрібен зовнішній ID:
"updated_at": "2026-05-15T18:10:00"
}
{
},
WSDL — це SEO-опис SOAP web-сервісу.</syntaxhighlight>
Інвентаризація web-сервісів
"name": "ТОВ клієнт ERP",
Що переносити в K2 ERP
"message": "Товар з артикулом USB-C-1M-BLK не знайдено",
|
== Web-сервіси і BI-аналітика ==
},
</syntaxhighlight>
</Customer>
Приклад HTTP-запиту:
<soap:Body>
"price": 250.00
https://1c.company.ua/api/orders
- фактичний залишок;
- резерв;
- доступний залишок;
- залишок по складу;
- залишок по характеристиці;
- залишок по серії;
- залишок на дату. * які методи існують;
- які поля обов’язкові;
- хто викликає сервіс;
- що означають статуси;
- які помилки можливі;
- де зберігаються токени;
- як тестувати інтеграцію;
- що переносити в K2 ERP. {
</syntaxhighlight>
<Quantity>2</Quantity>
- список сервісів;
- URL;
- тип сервісу;
- методи;
- формати;
- авторизацію;
- користувачів;
- зовнішні системи;
- приклади запитів;
- приклади відповідей;
- логи;
- помилки;
- регламентні задача;
- відповідальних;
- бізнес-сценарії.
}
* номенклатура;
* контрагенти;
* склади;
* валюти;
* види цін;
* одиниці виміру;
* серії;
* характеристики;
* договори;
* працівники;
* підрозділи;
* статті витрат. Права
]
[[Категорія:Інтеграція з BAS]]
Щоб ці системи обмінювалися даними, використовують інтеграції. | Так. "customer": {
[[Категорія:Заміна 1С]]
},
Через web-сервіси можуть передаватися персональні інформаційні дані:
"article": "USB-C-1M-BLK",
здатна бути в [[K2 ERP]]:
Краще:
Вони можуть працювати з:
{
Приклад відповіді:
Через web-сервіси можна передавати інформаційні дані в [[BI]]. Ознака
[[Категорія:Документи 1С]]
"article": "USB-C-1M-BLK",
Аналіз web-сервісів [[1С]] — це частина підготовки до виходу зі старої ризикової системи. Метод
* [https://erp.kyiv.ua Сайт K2 ERP]
* [https://wiki.erp.kyiv.ua Wiki K2 ERP]
* [https://cloud.corp2.eu хмарна інфраструктура K2 ERP]
* [https://cip.gov.ua/ua/statics/perelik-zaboronenogo-do-vikoristannya-programnogo-zabezpechennya-ta-komunikaciinogo-merezhevogo-obladnannya Перелік забороненого до використання програмного забезпечення на сайті Держспецзв’язку]
* [https://cip.gov.ua/ua/news/vidpovidi-na-poshireni-zapitannya-shodo-pereliku-zaboronenogo-programnogo-zabezpechennya-ta-obladnannya Роз’яснення Держспецзв’язку щодо переліку забороненого ПЗ]
* [https://www.president.gov.ua/documents/6012024-52009 Указ Президента України №601/2024]
* [https://zakon.rada.gov.ua/go/601/2024 Указ Президента України №601/2024 на сайті Верховної Ради України]
* [https://t.me/+uIdWI1W6vndkMTAy Telegram-канал K2 ERP]
* [https://t.me/+6jFwAZM6TQliNTdi Група обговорення функціоналу та пропозицій]
* [https://www.linkedin.com/company/k2erp/ LinkedIn K2]
{
'''критично про 1С і BAS.''' [[1С]] та частина продуктів [[BAS]] мають санкційні, юридичні й кібербезпекові ризики в Україні.[[Категорія:Інтеграція з 1С]]
! # Перевірити сервісних користувачів. користувач системи
Web-сервіси і продуктивність
"price": 650.00
Навколо [[1С]] часто виступає як багато інших систем:
Приклад створення замовлення:
Web-сервіси [[1С]] — це важливий механізм інтеграції старої облікової системи із зовнішніми сервісами. |}
== Web-сервіс для статусів ==
Зазвичай потрібні:
"items": [
Web-сервіс часто виступає як частиною [[API]]. # Зібрати приклади запитів і відповідей.
|
== Web-сервіси і цифрова незалежність ==
<EDRPOU>12345678</EDRPOU>
Зовнішня платформа → Web-сервіс 1С → Документ або довідник у 1С
HTTP-сервіси 1С
Коротко
"items": [
<Warehouse>MAIN</Warehouse>
Приклад:
У модулях здатна бути:
WSDL}
== Як не треба робити ==
Один із варіантів інтеграції — web-сервіси. Приклад запиту на створення замовлення:
{
* помилки авторизації;
* запуск HTTP-сервісів;
* помилки модулів;
* створення документів;
* відмови доступу;
* технічні помилки;
* проблеми з регламентними завданнями. як приклад:
https://1c.company.ua/hs/stock
<Item>
З web-сервісів [[1С]] не переносять сам старий код механічно.<syntaxhighlight lang="json">
== Помилка: дублікати документів ==
* авторизацію;
* HTTPS;
* створення документів;
* оновлення версій статусів;
* передачу залишків;
* передачу цін;
* дублікати;
* помилки;
* логи;
* продуктивність;
* зовнішні ID;
* тестові й робочі URL;
* права сервісних користувачів;
* контрольні звірки. # Перевірити логи. Сервіс
Бізнес-система рідко функціонує ізольовано. "name": "ТОВ клієнт ERP",
XML часто застосовується для в SOAP-сервісах або старих інтеграціях. ! Або поле у відповіді:
== Web-сервіси і регістри ==
Погано:
* залишки товарів;
* ціни;
* курси валют;
* взаєморозрахунки;
* собівартість;
* резерви;
* статуси обміну. }
== Web-сервіси і зовнішні обробки ==
'''Web-сервіс [[1С]]''' — це програмний інтерфейс, через який зовнішня платформа здатна звернутися до інформаційної бази [[1С]] через мережу. Тип
Через web-сервіси можуть синхронізуватися довідники:
"article": "USB-C-1M-BLK",
[[Категорія:CSV]]
як приклад, якщо сайт двічі відправив одне замовлення з ID `WEB-100245`, платформа не повинна створити два замовлення. Authorization: Bearer eyJhbGciOi... * створення замовлень;
* отримання товарів;
* отримання цін;
* отримання залишків;
* синхронізації контрагентів;
* передачі оплат;
* зміни статусів;
* обміну з доставкою;
* обміну з WMS;
* інтеграції з CRM;
* інтеграції з сайтом;
* передачі даних у BI;
* міграції даних у [[K2 ERP]]. # Перевести зовнішні системи на [[K2 ERP]]. Тому web-сервіси [[1С]] потрібно розглядати як частину інвентаризації старої інтеграційної архітектури перед переходом на українську [[ERP]]-платформу. # Описати бізнес-сценарії. | HTTPS, авторизація, сервісні користувачі, обмеження прав, логіювання, захист токенів і контроль доступу.[[Категорія:Інтеграція через файли]]
![[Категорія:Безпека]]
Погано:
Або навпаки:
Web-сервіси можуть читати або змінювати інформаційні дані регістрів через бізнес-логіку [[1С]].</div>
<OrderId>WEB-100245</OrderId>
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
* відкривати web-сервіси без авторизації;
* не використовувати HTTPS;
* зберігати токени в коді;
* не мати логів;
* не мати зовнішніх ID;
* не документувати API;
* не тестувати помилки;
* не мати тестового середовища;
* не обмежувати права сервісного користувача;
* не перевіряти навантаження;
* залишити старі web-сервіси [[1С]] активними після запуску [[K2 ERP]];
* ігнорувати санкційні й кібербезпекові ризики старої системи. URL
[[Категорія:JSON]]
"article": "CHARGER-20W",
<syntaxhighlight lang="text">
Приклад запиту:
|-
| 200
| Успішно
| інформаційні дані отримано
|-
| 201
| Створено
| Замовлення створено
|-
| 400
| Помилка запиту
| Не заповнене обов’язкове поле
|-
| 401
| Не авторизовано
| Немає токена або неправильний токен
|-
| 403
| Заборонено
| Недостатньо прав
|-
| 404
| Не знайдено
| Метод або об’єкт не знайдено
|-
| 500
| Внутрішня помилка
| Помилка сервера або коду
|}
[[Категорія:Запити 1С]]
}
]
}
Простий приклад:
!== Помилка: старий сервіс залишили активним ==
Приклад умовного SOAP-запиту:
! # Перевірити регламентні задача.== Web-сервіси і K2 ERP ==
"api_version": "1.0",
Приклад:
* ціни;
* знижки;
* собівартість;
* маржа;
* залишки;
* клієнтська база;
* договори;
* банківські операції;
* податкові документи;
* статуси замовлень.== Авторизація web-сервісів ==
Через web-сервіси можуть передаватися:
! Зовнішня платформа
== Вебсервер ==
{
Погано:
Приклад:
== Міграційний приклад API в K2 ERP ==
Приклад:
POST /1c/api/orders
"order_id": "WEB-100245",
Правильний порядок:
Тому бажано мати версіонування. Питання
Якщо документації немає, складно зрозуміти:
== Web-сервіси і комерційна інформаційні матеріали ==
* JSON;
* XML;
* plain text;
* файлами;
* параметрами URL;
* HTTP-заголовками;
* токенами;
* статусами відповіді. {| class="wikitable" style="width:100%;"
Перед міграцією потрібно зрозуміти, яка платформа виступає як джерелом істини для кожного довідника. як приклад, API здатна мати методи:
* не запитувати всі залишки кожні 10 секунд;
* не передавати весь каталог при кожній зміні;
* не створювати документи без черги;
* не запускати важкі обміни в піковий час;
* використовувати сторінки даних;
* використовувати дату останньої зміни;
* передавати тільки зміни. # Описати формати JSON, XML або SOAP. У WSDL описується:
!<syntaxhighlight lang="json">
== Web-сервіси і обмеження навантаження ==
* JSON;
* XML;
* SOAP XML;
* CSV;
* plain text;
* binary files;
* Base64;
* ZIP-архіви.[[Категорія:JSON 1С]]
<Items>
<syntaxhighlight lang="text">
Потрібно:
[[Категорія:K2 ERP]]
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
<Success>true</Success>
{
<Response>
== Формати даних ==
Web-сервіси можуть викликатися автоматизовано. Це особливо небезпечно, якщо передаються:
<syntaxhighlight lang="text">
"success": true,
== Типові проблеми web-сервісів 1С ==
{
Токен = "secret-token-123";
[[Категорія:Імпорт даних]]
Приклад відповіді:
'''Правильний підхід.''' Web-сервіси [[1С]] потрібно розглядати не як окремий технічний код, а як частину інтеграційної архітектури бізнесу: хто з ким обмінюється, які інформаційні дані передає, хто виступає як джерелом істини, як захищений доступ і як це має працювати в [[K2 ERP]]. Потрібно контролювати:
== Web-сервіси і логіювання ==
<Price>250.00</Price>
"edrpou": "12345678",
Порівняння:
"phone": "+380501112233",
Наслідки:
<syntaxhighlight lang="text">
* зберігати секрети в захищених налаштуваннях;
* обмежувати доступ;
* періодично змінювати токени;
* мати окремий токен для кожної системи;
* відкликати токени після міграції;
* не писати токени в логи.== Web-сервіси і довідники ==
* бізнес-сценарії;
* структури даних;
* зовнішні ID;
* правила зіставлення;
* формати відповідей;
* статуси;
* правила помилок;
* авторизацію;
* логи;
* вимоги безпеки;
* інтеграційні маршрути;
* відповідальних;
* контрольні звірки. Журнал реєстрації [[1С]] здатна допомогти знайти події, пов’язані з web-сервісами:
"order_id": "WEB-100245",
<syntaxhighlight lang="text">
}
Вони можуть забезпечувати:
[[Категорія:SOAP]]
== Версіонування web-сервісів ==
"edrpou": "12345678",
|-
| /api/orders
| HTTP JSON
| Замовлення
| Сайт
| Приймати замовлення в K2 ERP
|-
| /api/stock
| HTTP JSON
| Залишки
| Сайт / WMS
| Віддавати залишки з K2 ERP
|-
| ExchangeSOAP
| SOAP XML
| Контрагенти, документи
| CRM
| Замінити сучасним API
|-
| /api/prices
| HTTP JSON
| Ціни
| Інтернет-магазин
| Передавати ціни з K2 ERP
|-
| /api/status
| HTTP JSON
| Статуси
| Доставка
| Синхронізувати статуси в K2 ERP
|}
{
'''[[K2 ERP]]''' у цьому процесі здатна стати новою платформою для контрольованих API, web-сервісів, JSON/XML-обмінів, інтеграцій, довідників, документів, залишків, цін, статусів, [[BI]]-аналітики, журналювання, прав доступу й подальшого розвитку автоматизації бізнесу без залежності від старої екосистеми [[1С]]. # Перевірити авторизацію. "paid": true
* продажі та реалізація;
* залишки;
* ціни;
* замовлення;
* статуси;
* клієнти;
* доставки;
* помилки інтеграцій;
* активність сервісів. "order_id": "WEB-100245",
У [[1С]] під web-сервісами часто мають на увазі два основні підходи:
|
-
|
Чи виступає як санкційні ризики у 1С і BAS? Середовище
</Items>
Приклад відповіді:
- логін і пароль;
- Basic authentication;
- Bearer token;
- API key;
- OAuth;
- IP-фільтрація;
- VPN;
- сертифікати;
- підпис запиту;
- окремий сервісний користувач системи.== Web-сервіси і персональні інформаційні дані ==
</soap:Envelope>
як приклад:
Цифрова незалежність. Web-сервіси 1С часто виступає як невидимими зв’язками старої системи з цифровим середовищем бізнесу. # Спроєктувати API в K2 ERP. Для web-сервісів важлива ідемпотентність. !
Приклад JSON:
Web-сервіси і модулі 1С}
"quantity": 120,
{
| POST /k2/api/v1/orders
|
Але для BI краще використовувати контрольовану модель даних, а не хаотичні запити до старої 1С. |-
|
Що критично для безпеки? "success": false,
|
URL, методи, формати, зовнішні системи, токени, права, логи, помилки, дублікати й регламентні задача.</syntaxhighlight>
"quantity": 2,
</syntaxhighlight>
- оновленням конфігурації;
- зміною API;
- зміною авторизації;
- зміною структури JSON/XML;
- масовим завантаженням даних;
- запуском нової інтеграції;
- міграцією в K2 ERP. * контрагента;
- замовлення покупця;
- рахунок;
- резерв;
- оплату;
- задачу менеджеру;
- запис у журналі інтеграцій. У 1С такий запит здатна створити:
Приклад:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
"items": [
Будь-який web-сервіс має логіювати важливі події.'''Найгірший сценарій.''' компанія-користувач переходить на [[K2 ERP]], але залишає сайт підключеним до старого web-сервісу [[1С]]. як приклад:
<syntaxhighlight lang="json">
[[Категорія:Web-сервіси 1С]]
[[Категорія:Автоматизація бізнесу]]
{
}
"document_number": "ЗМ-000123"
! * отримати список товарів;
* отримати залишки;
* створити замовлення;
* змінити статус замовлення;
* отримати контрагента;
* передати оплату;
* повернути помилку.</div>
[[Категорія:1С]]
Web-сервіс має повертати зрозумілі помилки. }
"field": "items [0].article"
<syntaxhighlight lang="text">
"external_id": "WEB-100245"
Для інтегратора WSDL — це технічна документація, за якою можна підключити зовнішню систему до web-сервісу. Приклад API-методів:
"email": "client@example.ua"
Web-сервіс здатна:
Структура API з часом змінюється. Web-сервіси можуть використовуватися; так само реалізовано інтернет-магазинами, [[CRM]], [[ERP]], [[WMS]], мобільними застосунками, банками, сервісами доставки, маркетплейсами, платіжними сервісами, [[BI]]-системами і іншими програмними продуктами. HTTP-сервіси в [[1С]] часто використовують для сучасніших інтеграцій.== Web-сервіси і безпека ==
<GetStock>
Web-сервіс без HTTPS здатна передавати чутливі інформаційні дані незахищеним каналом. __TOC__
Для HTTP-сервісів критично використовувати зрозумілі коди.== Публікація web-сервісу 1С ==
|
| базовий формат
|
XML
|
JSON, XML або інший формат
|
| SEO-опис інтерфейсу
|
WSDL
|
Документація API
|
| Гнучкість
|
Менша
|
Вища
|
| Типові сценарії
|
Корпоративні інтеграції
|
Сайти, CRM, мобільні застосунки, сучасні API
|
| Простота тестування
|
Потрібні SOAP-інструменти
|
Часто можна тестувати HTTP-клієнтами
|
GET /api/stock?warehouse=MAIN&article=USB-C-1M-BLK
Особливо перед:
"customer": {
- інформаційна база;
- вебсервер;
- сервер 1С, якщо база серверна;
- конфігурація публікації;
- URL;
- права доступу;
- HTTPS;
- авторизація;
- журналювання;
- тестовий контур. !
"name": "ТОВ клієнт ERP",
Content-Type: application/json
}
<Article>USB-C-1M-BLK</Article>
</syntaxhighlight>
Web-сервіси і помилки
}
"price": 250.00
</syntaxhighlight>
{
"available": 100,
Web-сервіси і токени
Потрібно мати таблицю відповідності статусів. Через нього можна передати замовлення, отримати залишки, оновити ціни, створити контрагента, передати статус доставки або синхронізувати документи. | SOAP web-сервіси з WSDL і HTTP-сервіси для JSON, XML або REST-подібного API.
</syntaxhighlight>
Ідемпотентність
"document_id": "1C-000123"
Підхід K2 ERP. Під час переходу з 1С потрібно знайти всі web-сервіси, описати їхні URL, методи, формати даних, авторизацію, зовнішні системи, токени, бізнес-логіку, логи й помилки, а потім перенести потрібні інтеграції в K2 ERP. Приклад
Web-сервіси і міграція в K2 ERP
Помилка: немає документації
Web-сервіс і API
Що таке Web-сервіс 1С
<Article>USB-C-1M-BLK</Article>
Web-сервіси і тестове середовище
Web-сервіс для цін
"article": "USB-C-1M-BLK",
HTTPS потрібен для:
"name": "ТОВ клієнт ERP",
"code": "PRODUCT_NOT_FOUND",
Web-сервіси не повинні бути відкритими без контролю доступу. # Зібрати URL-адреси. "error": {
Content-Type: application/json
|
Потрібно переносити бізнес-сценарії, структури даних, правила обміну й вимоги до API. }
- повільна відповідь;
- таймаути;
- зависання при великому обсязі;
- блокування документів;
- велика кількість одночасних запитів;
- важкі запити до залишків;
- відсутність кешування. * читання JSON;
- читання XML;
- формування відповіді;
- пошук номенклатури;
- створення документа;
- перевірка залишків;
- перевірка прав;
- логіювання;
- обробка помилок;
- виклик зовнішніх API.== Повторні спроби ==
<Order>
</syntaxhighlight>
- сайт надсилає замовлення в 1С;
- 1С повертає сайту залишки товарів;
- CRM запитує заборгованість клієнта;
- WMS отримує задача на відвантаження;
- мобільний застосунок створює заявку;
- банк передає статус платежу;
- K2 ERP приймає інформаційні дані зі старої 1С під час міграції. |-
|
Що перевірити перед міграцією? Призначення
Web-сервіси можуть використовуватися для:
- HTTP/HTTPS;
- сертифікати;
- маршрутизацію;
- обмеження доступу;
- журнали доступу;
- проксі;
- балансування;
- безпечну публікацію сервісів. "success": true
POST /api/orders HTTP/1.1
Web-сервіс для залишків
|
Приклад URL:
Інтеграції можуть повторювати запит при помилці. }
Для інтеграцій бажано створювати окремих сервісних користувачів. }
Приклад запиту:
- логіни;
- паролі;
- токени;
- персональні інформаційні дані;
- замовлення;
- ціни;
- залишки;
- фінансова інформаційні матеріали. Не варто використовувати для інтеграцій обліковий запис адміністратора. ! Тіло запиту:
SOAP чи HTTP-сервіс
Як правильно працювати з web-сервісами перед міграцією
- зовнішній ID;
- статус обробки;
- перевірку дублікатів;
- лог повторних спроб;
- таймаути;
- чергу повідомлень;
- повідомлення відповідальному;
- безпечне повторне виконання. | Ні. # Перевірити дублікати. Краще:
"edrpou": "12345678"
Типові проблеми:
Host: 1c.company.ua
Найпоширеніші:
<syntaxhighlight lang="text">
}
<syntaxhighlight lang="text">
== Сервісні користувачі ==
|
|