Перейти до вмісту

Інтеграція через JSON

Матеріал з K2 ERP Wiki
Версія від 11:56, 15 травня 2026, створена R (обговорення | внесок) (Створена сторінка: {{DISPLAYTITLE:Інтеграція через JSON}} {{SEO |title=Інтеграція через JSON — API, ERP, 1С, BAS, K2 ERP, приклади запитів і обмін даними |description=Інтеграція через JSON: що це таке, як працює JSON-обмін між ERP, CRM, сайтами, 1С, BAS, K2 ERP, API, REST, Webhook, приклади запитів і відповідей, помилки, безпека,...)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)

! {| class="wikitable" style="width:100%;"

"sku": "SKU-003",

У таких сценаріях JSON-повідомлення кладеться в чергу, а ERP або інтеграційний сервіс поступово його обробляє.

{
== інтеграційні функції ERP 1С/BAS через JSON ==
 "event": "payment.received",
}
== Висновок ==
POST /api/orders
 "name": "Товар Б",
== Логування JSON-обміну ==
!</div>

<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">

 "quantity": 1,

* правильне створення документа;
* повторну відправку того самого документа;
* порожні обов’язкові поля;
* неправильну дату;
* неправильну валюту;
* товар, якого немає в ERP;
* контрагента, який уже існує;
* дублікати;
* велику кількість рядків;
* помилку авторизації;
* недоступність ERP;
* повтор після помилки;
* некоректний JSON;
* перевищення розміру payload;
* логування помилок. | Так. # ERP резервує товар. Сам файл можна передавати:
 "file": {
 "id": 1001,
 "tracking_number": "NP-2040506070",
 "items": [
[[Категорія:Українське програмне забезпечення]]
 "payment_id": "BANK-90001",
 "currency": "UAH",
</div>
== Валідація JSON ==
 ]
== конкурентні переваги інтеграції через JSON ==

{

{

 "external_id": "WEB-2026-0001",
 "price": 850.00
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
<syntaxhighlight lang="json">
 },
 ]
== Типові помилки JSON-інтеграції ==
 "currency": "UAH",
 "name": "Товар Б",
 "type": "email",
 "order_number": "WEB-10025",
 "warehouse": "Відділення №10"
}
 "external_id": "CRM-458",
</div>
'''JSON Schema'''  це формальний SEO-опис того, які поля має містити JSON, які типи даних дозволені, які поля обов’язкові, які значення допустимі. "quantity": 5,

<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
'''Webhook'''  це механізм, коли одна платформа автоматизовано повідомляє іншу систему про подію. "operation": "create_or_update"
Такий запис означає, що передається об’єкт із трьома полями: ідентифікатором, назвою і ознакою активності. Частина

! Для серйозних інтеграцій бажано описувати структуру JSON через схему.<syntaxhighlight lang="json">
{
Найчастіше JSON застосовується для разом з [[API]]. "sku": "SKU-002",
 ]
'''API'''  це інтерфейс, через який одна платформа здатна звертатися до іншої. Бажано завантажувати інформаційні дані в базу, сховище або аналітичний шар. Але успішна інтеграційні функції ERP  це не без зусиль “відправити JSON”. # ERP створює замовлення покупця. |-
| Для чого застосовується для? "sku": "SKU-001",

Для цього використовують:

* правильність синтаксису JSON;
* наявність обов’язкових полів;
* типи даних;
* формат дат;
* формат чисел;
* валюту;
* унікальність ідентифікаторів;
* існування товарів;
* існування контрагентів;
* правильність сум;
* відповідність схемі;
* права доступу;
* цифровий підпис або токен. "phone": "+380501112233",

[[Категорія:Заміна BAS]]

! Помилка
як приклад:
<syntaxhighlight lang="http">
 "purpose": "Оплата за рахунком WEB-10025",
|-
| Ідентифікатор
| Щоб не створити дубль
| order_number, external_id
|-
| Дата
| Для облікового періоду
| order_date
|-
| Контрагент
| інформаційні дані клієнта або постачальника
| customer
|-
| Таблична частина
| Товари, послуги, рядки документа
| items
|-
| Суми
| Загальна сума, ПДВ, знижки
| total, vat, discount
|-
| Валюта
| Валюта документа
| UAH, USD, EUR
|-
| Статус
| Стан документа або події
| new, paid, shipped
|-
| Службові поля
| Джерело, час, реліз системи, підпис
| source, timestamp, version
|}

 "status_name": "Доставлено",

 "phone": "+380501112233",

<syntaxhighlight lang="json">

 "external_id": "WEB-10025",

/api/v2/orders

* external_id;
* order_number;
* uuid;
* source_id;
* document_guid;
* customer_code;
* sku;
* edrpou;
* tax_number.== Приклад інтеграції цін ==
{
 {
 "sku": "SKU-001",
'''критично про [[1С]] та [[BAS]].''' В Україні продукти екосистеми [[1С]] і частина продуктів [[BAS]] пов’язані з санкційними, юридичними, кібербезпековими та репутаційними ризиками. ERP отримує webhook і здатна автоматизовано змінити статус замовлення на “Оплачено”. | Так, але потрібно враховувати технічні обмеження старих конфігурацій і санкційні ризики. ERP повинна не створити друге замовлення, а повернути інформацію, що таке замовлення вже існує. |}

Потрібно використовувати:

'''Проста аналогія.''' JSON  це структурований конверт із даними. {

 "message": "Контрагента з кодом ЄДРПОУ 12345678 не знайдено"

 {
І передати JSON із замовленням:

</syntaxhighlight> конкурентні переваги:

Приклад інтеграції платежів

"version": "1.0",

Це корисно, коли: як приклад, сайт здатна звернутися до ERP: Одна з найважливіших речей в інтеграції — це ідентифікатори.== Санкції та ризики використання 1С/BAS в Україні ==

JSON у міграції з 1С/BAS у K2 ERP

"amount": 5300.00,
"sku": "SKU-002",

|- | order_id | external_id | Унікальний номер замовлення із сайту |- | client_name | customer.name | Назва клієнта |- | product_code | sku | Код товару |- | qty | quantity | Кількість |- | sum | total | Сума документа |}

"payment_date": "2026-05-15",
"contacts": [

! Через JSON можна передавати:

"status": "delivered",
"name": "invoice-1001.pdf",
  • дату й час запиту;
  • джерело;
  • endpoint;
  • method;
  • request_id;
  • external_id;
  • статус обробки;
  • код помилки;
  • короткий SEO-опис помилки;
  • час виконання;
  • користувача або API-ключ;
  • посилання на створений документ;
  • технічний payload за правилами безпеки. JSON зручний як проміжний формат для перенесення довідників, документів, залишків і взаєморозрахунків. Поле ERP

Щоб не зламати старі інтеграції, потрібно використовувати версіонування API. # Сайт показує клієнту підтвердження.

"customer": {
"price": 1200.00
"total": 5300.00,

Перед початком інтеграції потрібно відповісти на практичні питання:

"entity": "settlements",

! Через JSON можна передавати замовлення, контрагентів, товари, залишки, ціни, платежі, документи, статуси, файли, події та аналітичні інформаційні дані. "order_number": "ERP-4587",

Типові помилки при впровадженні JSON-інтеграції

  • контрагентів;
  • договори;
  • товари;
  • склади;
  • залишки;
  • ціни;
  • замовлення;
  • рахунки;
  • акти;
  • накладні;
  • взаєморозрахунки;
  • платежі;
  • працівників;
  • підрозділи;
  • залишки відпусток;
  • документи;
  • файли;
  • аналітичні інформаційні дані. Потрібні правила: структура, унікальні ключі, валідація, безпека, логування, версіонування, обробка помилок і контроль результату. |-

| З чим найчастіше застосовується для?</syntaxhighlight> Його конкурентні переваги:

"payment_id": "pay-7001",

! | З REST API, Webhook, чергами повідомлень, файлами обміну і BI-системами. Для інтеграції сайту з ERP технічне задача має містити:

"balance_date": "2026-05-01",

! Прикладна, 1"

"counterparty_name": "ТОВ Будсервіс",
{
"quantity": 7
"customer": {
"contract": "Договір поставки №15",

Сайт здатна використати ці інформаційні дані, щоб показати, чи виступає як товар у наявності. {

"source": "1C",
"method": "card",

! JSON дає можливість передавати інформаційні дані між сайтом, ERP, CRM, банком, доставкою, маркетплейсом, мобільним додатком, BI-системою або старою обліковою системою. "debt": 40000.00, Типові сценарії: JSON не вирішує всі задачі сам по собі.== Безпека JSON-інтеграції ==

"is_active": true,

/api/v1/orders

Як проєктувати JSON-інтеграцію

{

"items": [
"currency": "UAH"
"amount": 12000.00
"value": "+380501112233"
}
"amount": 5300.00,

Приклад інтеграції статусів доставки

Логи потрібні, щоб відповідати на питання:

"items": [

Такий підхід застосовується для; так само реалізовано CRM, сайтів, інтернет-магазинів, мобільних додатків, банківських сервісів, служб доставки, маркетплейсів, BI-систем, AI-сервісів, , BAS та K2 ERP. "balance_date": "2026-05-01",

}
"quantity": 2,
],
"error_code": "CUSTOMER_NOT_FOUND",

|- | Неправильний синтаксис JSON | Пропущена кома, лапки або дужка | API не приймає запит |- | Немає обов’язкового поля | Не передано order_number або customer | Документ не створюється |- | Неправильний тип даних | Кількість передано як текст | Помилка валідації |- | Неправильний формат дати | 15.05.2026 замість 2026-05-15 | платформа не розпізнає дату |- | Немає унікального ключа | Не передано external_id | Створюються дублікати |- | Неправильна валюта | Передано “грн” замість UAH | Помилка обробки |- | Товар не знайдено | SKU не збігається з ERP | Замовлення не проводиться |- | Контрагент дублюється | Пошук іде тільки по назві, а не по ЄДРПОУ | У довіднику з’являються дублікати |}

[[Категорія:REST API]]

== Типова технічна архітектура JSON-інтеграції ==

* HTTPS;
* токени доступу;
* OAuth2 або інший механізм авторизації;
* обмеження прав API-користувача;
* перевірку IP за потреби;
* цифровий підпис повідомлень;
* журналювання запитів;
* обмеження частоти запитів;
* контроль розміру payload;
* захист від повторної відправки;
* маскування персональних даних у логах. }

== Приклад інтеграції залишків товарів ==
}
 "edrpou": "12345678",

'''JSON'''  це текстовий формат зберігання і передачі структурованих даних. Що передається через JSON

! JSON складається з:

<syntaxhighlight lang="http">
"valid_from": "2026-05-15",

Ціни так само часто передаються через JSON. Що означає Найчастіше JSON застосовується для в REST API. # Сайт формує JSON. "entity": "counterparties",

Реплікатор K2 здатна використовувати JSON як формат для вивантаження, перетворення і завантаження даних. {

"warehouse_id": "MAIN",

Простий приклад JSON: POST /api/customers Приклад відповіді:

},

У та BAS JSON здатна використовуватися для обміну з сайтами, CRM, банками, маркетплейсами, мобільними додатками та іншими системами. Додаються нові поля, нові статуси, нові правила. ! "name": "Товар А",

! Головне. JSON — це один із найпоширеніших форматів для інтеграції сучасних бізнес-систем. це спосіб обміну даними між різними інформаційними системами за допомогою текстового формату JSON виступає ключовою рисою інтеграції ERP забезпечується через інтеграційні функції ERP через JSON.

 "items": [
У сучасній [[ERP]] JSON-інтеграція  це не додаткова опція, а нормальна частина цифрової екосистеми бізнесу. :contentReference [oaicite:0]{index=0}
як приклад, сайт відправив замовлення WEB-10025. '''Перевага K2 ERP.''' JSON добре поєднується з сучасною архітектурою [[K2 ERP]], API, веб-інтерфейсом, [[Python]], [[TypeScript]], [[PostgreSQL]], BI-аналітикою і механізмами міграції зі старих систем. У багатьох випадках JSON-обмін доцільно використовувати як проміжний етап для вивантаження даних, побудови паралельного запуску і поступового переходу на [[K2 ERP]] або іншу безпечну ERP-систему. }
== Див. так само ==
 "items": [
</div>
 "email": "office@example.ua"
 "phone": "+380671112233",
<syntaxhighlight lang="http">
 "debt": 0.00,
{
 }
! Іноді через JSON потрібно передати інформацію про файл. "iban": "UA123456789000000000000000001"

 "related_order": "WEB-10025"

* не забезпечує безпеку без HTTPS і авторизації;
* не гарантує доставку без додаткових механізмів;
* не описує правила бізнес-логіки;
* здатна ставати громіздким для великих файлів;
* потребує валідації;
* потребує погодженої схеми;
* здатна створювати дублікати без унікальних ключів;
* не замінює нормальну архітектуру API. # ERP повертає номер замовлення. * order_number  обов’язковий рядок;
* order_date  дата;
* customer  обов’язковий об’єкт;
* items  масив рядків;
* quantity  число більше нуля;
* total  число;
* currency  рядок із допустимими значеннями UAH, USD, EUR.[[Категорія:Міграція з 1С]]

 "url": "https://example.com/files/invoice-1001.pdf",
</div>
 {
|-
| Що таке інтеграційні функції ERP через JSON? "city": "Київ",

* вивантажити інформаційні дані зі старої 1С/BAS;
* очистити довідники;
* зіставити коди товарів;
* зіставити контрагентів;
* перевірити залишки;
* перевірити взаєморозрахунки;
* підготувати контрольні суми;
* сформувати JSON-файли;
* завантажити інформаційні дані в K2 ERP;
* підготувати інформаційні дані для Power BI. Через збій він відправив його ще раз. Помилка

* об’єктів;
* масивів;
* рядків;
* чисел;
* логічних значень;
* null-значень;
* вкладених структур. ]

 "entity": "order",
 "document": "Банківська виписка №55"
Валідація здатна включати:
 "type": "application/pdf"
{| class="wikitable" style="width:100%;"
 "export_date": "2026-05-15",
Content-Type: application/json
 "address": "м. # JSON передається в ERP через API. "amount": 7500.00
[[Категорія:Реплікатор K2]]
 "updated_at": "2026-05-15T12:00:00+03:00",
 "sku": "B-200",
Перед обробкою JSON потрібно перевірити. "payment": {
Після отримання замовлення платформа здатна повернути JSON-відповідь:

 }

{
== JSON і черги повідомлень ==
<syntaxhighlight lang="json">
{
ERP здатна змінити статус замовлення і повідомити менеджера або клієнта.<syntaxhighlight lang="json">

 },

Приклад запиту на створення контрагента:

{

* продажі та реалізація;
* залишки;
* платежі;
* замовлення;
* статуси;
* витрати;
* зарплатні агрегати;
* KPI;
* план-факт;
* аналітику по клієнтах. },

== Приклад технічного задача на JSON-інтеграцію ==

[[1С]] історично виступає як російською програмною екосистемою. {
 "quantity": 10,
 "sku": "A-100",
'''Ідемпотентність''' — це властивість інтеграції, коли повторна відправка того самого запиту не створює дубль. Поле сайту

* [[JSON]]
* [[API]]
* [[REST API]]
* [[Webhook]]
* [[ERP]]
* [[K2 ERP]]
* [[Реплікатор K2]]
* [[1С]]
* [[BAS]]
* [[BAS ERP]]
* [[Інтеграція 1С]]
* [[Інтеграція BAS]]
* [[Міграція даних з 1С]]
* [[Міграція з BAS]]
* [[Вивантаження даних 1С]]
* [[Зовнішня обробка 1С]]
* [[Зовнішній звіт 1С]]
* [[Взаєморозрахунки 1С]]
* [[Регістр накопичення 1С]]
* [[Регістр відомостей 1С]]
* [[Power BI]]
* [[BI система]]
* [[CRM]]
* [[Інтернет-магазин]]
* [[Маркетплейс]]
* [[Автоматизація бізнесу]]
* [[Українське програмне забезпечення]]
* [[Цифрова незалежність]]

 }

* [https://www.json.org/json-en.html JSON.org]
* [https://www.rfc-editor.org/rfc/rfc8259 RFC 8259 — The JavaScript Object Notation JSON Data Interchange Format]
* [https://json-schema.org JSON Schema]
* [https://www.president.gov.ua/documents/1842020-33629 Указ Президента України №184/2020]
* [https://cip.gov.ua/ua/statics/perelik-zaboronenogo-do-vikoristannya-programnogo-zabezpechennya-ta-komunikaciinogo-merezhevogo-obladnannya Перелік забороненого до використання програмного забезпечення та комунікаційного мережевого обладнання]
* [https://erp.kyiv.ua Сайт K2 ERP]
* [https://wiki.erp.kyiv.ua Wiki K2 ERP]
* [https://cloud.corp2.eu хмарна інфраструктура K2 ERP]

}
}
JSON-документ для інтеграції має бути не випадковим набором полів, а погодженою структурою. Сценарій

} Приклад передачі посилання на файл:

Типова технічна архітектура здатна виглядати так:

"email": "ivan@example.ua"
},

інтеграційні функції ERP через JSON — це один із базових способів з’єднати сучасні бізнес-системи між собою. ! Коментар ! JSON став популярним через простоту. Без карти мапінгу інтеграційні функції ERP оперативно стає незрозумілою: одна платформа називає поле “client”, інша — “customer”, третя — “counterparty”. * яка платформа виступає як джерелом;

  • яка платформа виступає як отримувачем;
  • які об’єкти передаються;
  • які поля обов’язкові;
  • які поля виступає як унікальними ключами;
  • як обробляються дублікати;
  • як передаються помилки;
  • як ведуться логи;
  • як повторювати невдалі запити;
  • як захищені інформаційні дані;
  • хто відповідає за підтримку;
  • як тестувати інтеграцію;
  • як контролювати результат. |-

| Що головне в JSON-інтеграції?</syntaxhighlight>

"is_active": true

}

} JSON — це не інтеграційні функції ERP сам по собі.== Приклад відповіді API == }

JSON зручний тим, що його швидко читати людині, швидко формувати програмно і швидко передавати через API, REST, Webhook, черги повідомлень або файли обміну. А Реплікатор K2 здатна допомогти перетворити ці інформаційні дані на керований бізнес-процес міграції. "value": "office@example.ua" критично. Не можна передавати токени, паролі, персональні інформаційні дані або зарплатну інформацію через незахищені канали чи зберігати їх у відкритих логах. Приклад Або версію в самому JSON:

Міграційна ідея. 1С/BAS здатна вивантажити інформаційні дані у JSON, Реплікатор K2 здатна перевірити, перетворити й завантажити їх у K2 ERP з контролем довідників, залишків і контрольних сум. Роль "name": "ТОВ Ромашка",

Для чого потрібна інтеграційні функції ERP через JSON

{ {

Authorization: Bearer <token> },
"source": "website",

У K2 ERP JSON здатна використовуватися як один із базових форматів обміну даними з іншими системами. "sku": "SKU-001",

"edrpou": "12345678",
"source": "1C",
"price": 2300.00

У старих або сильно змінених конфігураціях 1С інтеграційні функції ERP через JSON здатна бути складнішою через застарілу архітектуру, нестандартні довідники, дублікати, неправильні коди, нестабільні правила проведення документів або відсутність нормального API. | Узгоджена структура, унікальні ключі, валідація, логування, безпека і контроль помилок. Відповідь

},

Добра інтеграційні функції ERP. API має повертати не без зусиль “помилка”, а зрозумілий код, SEO-опис проблеми і бажано підказку, що саме потрібно виправити. Для підтримки інтеграції потрібні логи. }

"type": "legal_entity",
 ],
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
== Де застосовується для JSON-інтеграція ==
 "quantity": 0

Банк або платіжна платформа здатна передавати платежі в ERP. Приклад:
Через JSON можна передавати:
 "name": "ТОВ Ромашка",
{
ERP здатна автоматизовано знайти замовлення за номером WEB-10025 і закрити оплату.== Версіонування JSON API ==

 {

 "quantity": 1,

<syntaxhighlight lang="json">

== JSON і файли ==

JSON-інтеграція застосовується для майже в усіх сучасних бізнес-сценаріях.

JSON і API

Питання
"order_number": "ERP-4587",
"status_date": "2026-05-15T18:45:00+03:00"

інтеграційні функції ERP через JSON і REST API

"payer": {

Приклади: } } Для великих інтеграцій JSON здатна передаватися не напряму через API, а через чергу повідомлень. ERP здатна передавати залишки товарів на сайт або маркетплейс. | K2 ERP здатна використовувати JSON для API, інтеграцій, міграції, Реплікатора K2, BI та зовнішніх сервісів. |-

Чи підходить JSON для міграції? Якщо сталася помилка, відповідь здатна бути такою:
"message": "Замовлення успішно створено"

</syntaxhighlight>

]

Реплікатор K2 і JSON

Перевага схеми. JSON Schema дає можливість виявляти помилки ще до завантаження даних в ERP: порожні поля, неправильні типи, відсутні товари, некоректні суми або неправильну валюту. Як уникнути

інтеграційні функції ERP через JSON потрібна тоді, коли одна платформа має передати інформаційні дані іншій системі. Київ, вул. Держспецзв’язку так само оприлюднила перелік програмного забезпечення та комунікаційного обладнання, забороненого до використання в окремих сферах; у цьому переліку згадується, зокрема, BAS ERP. "document_number": "INV-1001",

Webhook через JSON

"delivery": {
Типові HTTP-методи:

 "type": "phone",
 },
 ]
Типовий сценарій:
|-
| Інтернет-магазин  ERP
| Замовлення, клієнти, товари
| Нове замовлення з сайту потрапляє в [[K2 ERP]]
|-
| ERP  сайт
| Залишки, ціни, статуси
| Сайт отримує актуальні залишки товарів
|-
| CRM  ERP
| Ліди, клієнти, угоди
| Успішна угода перетворюється на замовлення
|-
| Банк  ERP
| Платежі, виписки, статуси оплат
| Платіж автоматизовано закриває рахунок
|-
| ERP  служба доставки
| інформаційні дані відправлення
| ERP створює ТТН через API
|-
| Служба доставки  ERP
| Статуси доставки
| Замовлення отримує статус “Доставлено”
|-
| 1С/BAS  K2 ERP
| Довідники, залишки, документи
| Міграція даних зі старої системи
|-
| ERP  Power BI
| Аналітичні інформаційні дані
| продажі та реалізація, складський облік, фінансовий блок, зарплата
|}

 "success": false,

 {

 "name": "ТОВ Ромашка",

* швидко читається людиною;
* компактніший за XML;
* добре підходить для API;
* підтримується майже всіма мовами програмування;
* зручний для вебу;
* добре функціонує з мобільними додатками;
* дає можливість передавати вкладені структури;
* підходить для REST API;
* швидко логувати;
* інтуїтивно тестувати через Postman, curl або інші інструменти.<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">

як приклад:

}

 "created_at": "2026-05-15T14:30:00+03:00",

!<syntaxhighlight lang="json">

</syntaxhighlight> критично. інтеграційні функції ERP з або BAS не повинна закріплювати залежність бізнесу від ризикової платформи. Наслідок

"entity": "stock_balances",
"source": "online_store",

</syntaxhighlight>

- Чи можна інтегрувати 1С/BAS через JSON?
}

</syntaxhighlight>

}
"currency": "UAH",
|-
| Джерело даних
| платформа, яка створює подію
| Сайт, CRM, банк, 1С/BAS
|-
| JSON payload
| Структуроване повідомлення
| Замовлення, платіж, залишки
|-
| API або черга
| Канал передачі
| REST API, Webhook, message queue
|-
| Інтеграційний шар
| Перевірка, мапінг, логування
| Реплікатор K2 або middleware
|-
| ERP
| Основна платформа обліку
| K2 ERP
|-
| BI
| аналітичні інструменти
| Power BI, дашборди, звіти
|}

 "already_exists": true,

При описі інтеграцій із [[1С]] та [[BAS]] критично враховувати не тільки технічну сторону, а й санкційні та безпекові ризики. Після початку російської агресії проти України питання використання такого програмного забезпечення стало питанням кібербезпеки, комплаєнсу, репутації та цифрової незалежності. Указ Президента України 184/2020 ввів у дію рішення для бізнесу [[РНБО]] від 14 травня 2020 року щодо сценарії використання, скасування і внесення змін до персональних спеціальних економічних та інших обмежувальних заходів. "price": 1500.00

 {
{
 "sku": "SKU-002",
 "name": "ТОВ Ромашка",
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
 {

 "data": {}
== Приклад JSON для взаєморозрахунків ==
{

}

== Структура JSON-документа ==

! Указ Президента України 184/2020 ввів у дію рішення для бізнесу [[РНБО]] щодо санкцій, а в офіційному переліку Держспецзв’язку забороненого програмного забезпечення згадується, зокрема, [[BAS ERP]]. Приклад

Для компаній, які переходять із [[1С]] або [[BAS]] на [[K2 ERP]], JSON здатна бути зручним мостом: через нього можна вивантажити довідники, документи, залишки, взаєморозрахунки, ціни, платежі та аналітичні інформаційні дані. }

 "message": "Замовлення вже було створено раніше"

JSON здатна бути джерелом даних для [[Power BI]] та інших [[BI]]-систем. Служба доставки здатна надсилати статуси. У логах бажано зберігати:
 "sku": "SKU-001",
 "source": "1C",
== Чому JSON став популярним ==
</div>
[[Категорія:K2 ERP]]
 "external_id": "1c-000001",
 "name": "ТОВ Ромашка",
 "contract": "Договір послуг №7",
Authorization: Bearer <token>
[[Категорія:Цифрова незалежність України]]

{{SEO
|title=Інтеграція через JSON  API, ERP, 1С, BAS, K2 ERP, приклади запитів і обмін даними
|description=Інтеграція через JSON: що це таке, як працює JSON-обмін між ERP, CRM, сайтами, 1С, BAS, K2 ERP, API, REST, Webhook, приклади запитів і відповідей, помилки, безпека, логування, міграція даних.
|keywords=інтеграція через JSON, JSON API, REST API, ERP API, інтеграція 1С JSON, інтеграція BAS JSON, K2 ERP API, обмін даними JSON, webhook JSON, інтеграція сайту з ERP, інтеграція CRM з ERP, міграція даних JSON, автоматизація бізнесу, українська ERP
}}

}

Обмеження:

# клієнт ERP оформлює замовлення на сайті. "status": "paid"
 "counterparty_id": "1c-000001",
<syntaxhighlight lang="json">
== Що таке JSON ==

 "document": "Видаткова накладна №100"

[[Категорія:Інтеграція]]

<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">

 "edrpou": "12345678",

* сайт передає замовлення в [[ERP]];
* [[CRM]] передає нового клієнта в бухгалтерську систему;
* [[ERP]] передає залишки товарів в інтернет-магазин;
* банк передає платежі в облікову систему;
* служба доставки передає статус відправлення;
* маркетплейс передає замовлення продавцю;
* мобільний додаток передає заявку в сервісну систему;
* [[BI]]-система отримує інформаційні дані для аналітики;
* [[AI]]-сервіс отримує інформаційні дані для аналізу або підказок. Типова структура інтеграційного JSON:
{
{
Content-Type: application/json

</div>

Потрібно перевірити:

 "edrpou": "12345678",

<syntaxhighlight lang="json">

* багато замовлень;
* виступає як пікові навантаження;
* одна платформа тимчасово недоступна;
* потрібна гарантована доставка;
* потрібно опрацьовувати події асинхронно;
* важливий повтор при помилці. | Обмін структурованими даними між системами у форматі JSON.[[Категорія:Webhook]]

 "name": "Іван Петренко",

{| class="wikitable" style="width:100%;"

== Приклад JSON для міграції залишків ==

* API для сайтів;
* API для CRM;
* API для мобільних додатків;
* інтеграційні функції ERP з маркетплейсами;
* інтеграційні функції ERP з банками;
* інтеграційні функції ERP зі службами доставки;
* вивантаження в BI;
* завантаження даних із 1С/BAS;
* робота [[Реплікатор K2|Реплікатора K2]];
* обмін із зовнішніми сервісами;
* інтеграційні функції ERP з AI-сервісами. "quantity": 25

Приклад webhook-повідомлення про оплату:

 "order_number": "WEB-10025",

</syntaxhighlight>

}

</syntaxhighlight>

"success": true,

як приклад, для замовлення можна визначити:

"counterparty_name": "ТОВ Ромашка",
"data": {

Обмеження JSON

Мапінг даних

"order_date": "2026-05-15",
  • чи прийшло замовлення;
  • чому воно не створилося;
  • чи була повторна відправка;
  • який payload отримала ERP;
  • який документ створено;
  • коли сталася помилка;
  • хто викликав API. * роздрібна;
  • оптова;
  • дилерська;
  • акційна;
  • індивідуальна для клієнта;
  • ціна в іншій валюті. Типові сценарії для K2 ERP:
"success": true,

} </syntaxhighlight> ERP приймає цей JSON, перевіряє інформаційні дані, створює контрагента або знаходить існуючого, створює замовлення і повертає відповідь. Він здатна допомогти:

"advance": 15000.00,
"name": "Товар А",

Мапінг — це відповідність полів між системами. },

"warehouse": "базовий складський облік",
{

Ідентифікатори в JSON-інтеграції

"price": 1200.00
Не погодили структуру JSON Кожна платформа трактує поля по-своєму Зробити специфікацію API
Немає унікальних ключів Створюються дублікати Використовувати external_id, sku, edrpou
Немає логів Неможливо знайти причину помилки Логувати запити, відповіді й коди помилок
Немає ідемпотентності Повторний запит створює дубль Перевіряти external_id
Немає валідації У систему потрапляє сміття Використовувати схеми і правила перевірки
Немає версіонування оновлення версій API ламає інтеграцію Використовувати v1, v2 або version
Немає контролю доступу інформаційні дані доступні зайвим системам Ролі, токени, HTTPS, аудит

Тестування JSON-інтеграції

як приклад:

  • простий формат;
  • зручний для API;
  • добре підходить для вебу;
  • швидко тестується;
  • підтримується багатьма мовами;
  • інтуїтивно логувати;
  • можна передавати складні структури;
  • підходить для ERP, CRM, сайтів і мобільних додатків;
  • зручний для міграції;
  • добре поєднується з K2 ERP. Причина

Практичний сенс. JSON дає можливість системам говорити між собою зрозумілою структурованою мовою, без ручного копіювання даних між Excel, поштою, месенджерами і різними програмами. Приклад

"email": "office@example.ua",
"currency": "UAH",
"status": "paid"
"price_type": "retail",

JSON і Power BI

{

Назва JSON походить від JavaScript Object Notation, але сьогодні цей формат застосовують, коли потрібно не тільки в JavaScript, а майже в усіх мовах програмування: Python, PHP, Java, C#, Go, TypeScript, SQL-середовищах, мобільних додатках, серверних API та інтеграційних платформах. # ERP перевіряє залишки. Якщо він випадково відправить його повторно, ERP повинна зрозуміти, що це те саме замовлення, а не нове. Якість інтеграції залежить від архітектури, правил і контролю.

},

безпеку реалізується засобами JSON сам по собі не. Рівень

JSON Schema

},
 "counterparty_id": "1c-000002",
 "items": [
! "order_id": "7f2a1b90-4b2c-4e9a-9c2d-100000000001",
== Зовнішні посилання ==
 "service": "Нова пошта",
JSON здатна бути зручним проміжним форматом для міграції з [[1С]] або [[BAS]] у [[K2 ERP]].<syntaxhighlight lang="json">

== Приклад JSON для міграції контрагентів ==

* SEO-опис бізнес-процесу;
* список endpoint;
* методи HTTP;
* формати запитів;
* формати відповідей;
* приклади JSON;
* список обов’язкових полів;
* правила валідації;
* правила створення або оновлення версій об’єктів;
* правила пошуку дублів;
* правила авторизації;
* коди помилок;
* правила повторної відправки;
* логування;
* тестові сценарії;
* відповідальних. | Для передачі замовлень, товарів, цін, залишків, платежів, статусів, документів і аналітики. Безпека залежить від API, каналу передачі, авторизації, прав доступу і перевірки даних. Інтеграції змінюються. Інакше інтеграційні функції ERP оперативно створить дублікати контрагентів, товарів або документів. |-
| Як JSON пов’язаний із K2 ERP? Для великих файлів краще не передавати base64 у великому JSON, а використовувати окреме файлове API. Для чого потрібна

 "event_id": "evt-90001",

* клієнт ERP оплатив замовлення;
* статус доставки змінився;
* створено нову заявку;
* змінено залишок товару;
* угода в CRM перейшла в статус “Виграно”. }
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
 "currency": "UAH",
'''Правило.''' У кожній JSON-інтеграції потрібно одразу домовитися, яке поле виступає як унікальним ключем. JSON  це мова, якою інтеграційні функції ERP передає інформаційні дані. Тому інтеграції з такими системами потрібно розглядати так само як частину плану міграції на безпечну українську або міжнародну [[ERP]]-платформу. Приклад

== Ідемпотентність ==
Приклад JSON:

У складніших сценаріях можуть передаватися різні типи цін:

GET Отримати інформаційні дані Отримати список товарів POST Створити новий об’єкт Створити замовлення PUT на 100% оновити об’єкт Оновити картку контрагента PATCH Частково оновити об’єкт Змінити статус замовлення DELETE Видалити або деактивувати об’єкт Деактивувати товар

"advance": 0.00,
"items": [

Приклад інтеграції сайту з ERP через JSON

</syntaxhighlight>

! Наслідок

Тестувати потрібно не тільки “успішний сценарій”. В одному конверті можна передати замовлення з сайту в ERP, статус доставки з логістичної служби, оплату з банку або залишки товарів для маркетплейсу.== Коротко ==

</syntaxhighlight>

{
{

JSON і K2 ERP

</syntaxhighlight> як приклад, сайт передав замовлення WEB-10025.

  • отримання замовлень із сайту;
  • передача залишків на сайт;
  • передача цін;
  • обмін контрагентами;
  • обмін номенклатурою;
  • передача оплат;
  • обмін статусами документів;
  • інтеграційні функції ERP з доставкою;
  • міграція даних у нову ERP. Якщо платформа не має стабільного ідентифікатора, вона здатна створювати дублікати. Але для великих обсягів даних краще не будувати аналітику тільки на сирих JSON-файлах. Метод
  • як посилання;
  • як base64;
  • через окремий endpoint завантаження файлу;
  • через файлове сховище;
  • через електронний документообіг. "order_number": "WEB-10025",

}