JSONPath
Прибутні в Planfix листи по E-mail або вебхуки можна розбирати, використовуючи JSON. JavaScript Object Notation — це формат для збереження та обміну інформацією, доступною для читання людиною. Є два основні елементи об'єкта JSON: ключі та значення.
Приклад:
{"city":"New York", "country":"United States"}
- ключі — city і country;
- значення — New York і United States.
Planfix вміє розбирати листи в такому форматі і додавати потрібні дані в інфоблоки. Для цього використовується бібліотека JsonPath.
Зверніть увагу, якщо при розборі ви використовуєте функцію, необхідно вказувати круглі дужки в кінці, інакше функція працювати не буде:
Приклад № 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"
]
}
- Налаштовуємо таке правило для розбору пошти:
- Далі створюємо нового контрагента за шаблоном, вказуємо які значення полів з яких інфоблоків встановлювати і додаємо контакт до створеного з листа завдання:
- У підсумку потрібні дані з листа у форматі JSON передані в Planfix:
Приклад № 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:
- Створюємо нове завдання і сповіщаємо потрібного співробітника про його появу:
- Додаємо в створене завдання Аналітику. Зверніть увагу: в цьому пункті важливо вказати параметр Додати стільки рядків, скільки значень в інфоблоці, щоб в аналітику додалися всі значення:
- У підсумку в завданні бачимо оповіщення і аналітику: