JSONPath

Матеріал з Planfix
Перейти до: навігація, пошук

Для налагодження та усунення помилок парсингу використовуйте спеціальний онлайн сервіс: JSONPath Online Evaluator


Вхідні в Planfix листи по E-mail або вебхуки можна розбирати, використовуючи JSON. JavaScript Object Notation — це формат для зберігання та обміну інформацією, доступною для читання людиною. Є два основні елементи об'єкта JSON: ключі та значення.

Приклад:

{"city":"New York", "country":"United States"}
  • ключі — city і country;
  • значення — New York і United States.

Planfix вміє розбирати листи в такому форматі та додавати потрібні дані в інфоблоки. Для цього використовується бібліотека JsonPath.

Зверніть увагу, якщо при розборі ви використовуєте функцію, необхідно вказувати круглі дужки в кінці, інакше функція працювати не буде:

4xAXkM.png


Приклад № 1

Передаємо в Planfix E-mail з текстом у форматі JSON

  • Для прикладу будемо використовувати такий JSON:

{

"firstName": "Іван",
"lastName": "Іванов",

"address": {

"streetAddress": "Московське ш., 101, кв.101",
"city": "Ленінград",
"postalCode": 101101

},

"phoneNumbers": [

"812 123-1234",
"916 123-4567"

]

}


  • Наприклад, з JSON нам необхідні наступні дані:

{

"firstName": "Іван",
"lastName": "Іванов",

"address": {

"streetAddress": "Московське ш., 101, кв.101",
"city": "Ленінград",
"postalCode": 101101

},

"phoneNumbers": [

"812 123-1234",
"916 123-4567"

]

}


  • Налаштовуємо таке правило для розбору пошти:

Q5pLjT.png


  • Далі створюємо нового клієнта за шаблоном, вказуємо які значення полів з яких інфоблоків встановлювати та додаємо контакт в створене з листа завдання:

tAO0Xf.png


  • В результаті необхідні дані з листа в форматі JSON передані в Planfix:

Cgieo4.png


Приклад № 2

Додаємо параметри JSON в аналітику Planfix

  • Для прикладу будемо використовувати JSON замовлення товарів в інтернет-магазині. Дані, які потрібні для додавання аналітики відзначені червоним кольором:

{

"site": "mysite.shop",
"name": "Єлизавета Бояринцева",
"id": "6598634",
"date": "26.04.2021 09:16:05",
"status": "В роботі",
"email": "liz82@gmail.com",
"phone": "+7 921 625-30-24",
"address": "Павла Усова 23, корпус 1",
"price_total": "13146.00",
"item_order": [

{

"sku": "598623",
"name": "Скріпки, 28 мм, металеві, 100 шт., в картонній коробці",
"barcode": "596325689126",
"price": "14.60",
"quantity": 10

},
{

"sku": "589624",
"name": "Папір офісний CLASSIC, А4, 80 г/м2, 500 л., марка С",
"barcode": "5963256858963",
"price": "250.00",
"quantity": 25

},
{

"sku": "579824",
"name": "Папір офісний LUX, А4, 80 г/м2, 500 л., марка С",
"barcode": "5963256889634",
"price": "270.00",
"quantity": 25

}
]

}


  • Налаштовуємо окреме правило для завдань по пошті. Розбираємо JSON:

DhWeFP.png


  • Створюємо нове завдання та повідомляємо потрібного співробітника про її появу:

BXcJXN.png


  • Додаємо в створене завдання аналітику. Зверніть увагу, в цьому пункті важливо вказати параметр Додати стільки рядків, скільки значень в інфоблоці, щоб в аналітику додались всі значення:

bQngGo.png


  • В результаті в завданні бачимо повідомлення та аналітику:

2VZy47.png

4bhocN.png


Перейти