JSONPath: различия между версиями

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
Нет описания правки
Метка: ручная отмена
 
(не показано 17 промежуточных версий 2 участников)
Строка 2: Строка 2:
|title=JSONPath
|title=JSONPath
|titlemode=append
|titlemode=append
|keywords=планфикс, правила, email, почта, задачи, извлечение данных из письма, JSONPath, JSON
|keywords=планфикс, правила, email, почта, задачи, извлечение данных из письма, JSONPath, JSON, json
|description=JSONPath
|description=JSONPath
}}
}}
<div style="background-color:#ffcaca; border: 1px solid #fd9292;padding:10px;">Для отладки и устранения ошибок парсинга используйте специальный онлайн сервис: [https://jsonpath.com/ JSONPath Online Evaluator]</div>


Приходящие в ПланФикс [[Правило для почты: Извлечение данных | письма по E-mail можно разбирать]], используя '''JSON'''. JavaScript Object Notation — это формат для хранения и обмена информацией, доступной для чтения человеком. Есть два основных элемента объекта JSON: ключи и значения.
 
Приходящие в ПланФикс [[Правило для почты: Извлечение данных | письма по E-mail]] или [[Входящие вебхуки |вебхуки]] можно разбирать, используя '''JSON'''. JavaScript Object Notation — это формат для хранения и обмена информацией, доступной для чтения человеком. Есть два основных элемента объекта JSON: ключи и значения.


Пример:
Пример:
Строка 16: Строка 18:
ПланФикс умеет разбирать письма в таком формате и добавлять нужные данные в инфоблоки. Для этого используется библиотека [https://github.com/json-path/JsonPath JsonPath].
ПланФикс умеет разбирать письма в таком формате и добавлять нужные данные в инфоблоки. Для этого используется библиотека [https://github.com/json-path/JsonPath JsonPath].


Для отладки и устранения ошибок парсинга используйте специальный онлайн сервис: [https://jsonpath.com/ JSONPath Online Evaluator]
Обратите внимание, если при разборе вы используете функцию, необходимо указывать круглые скобки в конце, иначе функция работать не будет:  
 
https://p.pfx.so/pf/2Q/4xAXkM.png




Строка 69: Строка 73:
*Настраиваем такое правило для разбора почты:
*Настраиваем такое правило для разбора почты:


https://p.pfx.so/pf/Km/MlwbbU.png
https://p.pfx.so/pf/hA/Q5pLjT.png




Строка 140: Строка 144:
*Настраиваем отдельное правило для задач по почте. Разбираем JSON:
*Настраиваем отдельное правило для задач по почте. Разбираем JSON:


https://p.pfx.so/pf/BV/7LiNMK.png
https://p.pfx.so/pf/Zu/DhWeFP.png




Строка 155: Строка 159:
*В итоге в задаче видим оповещение и аналитику:
*В итоге в задаче видим оповещение и аналитику:


https://p.pfx.so/pf/Zf/yTELgG.png
https://p.pfx.so/pf/lD/2VZy47.png


https://p.pfx.so/pf/JO/LClN1E.png
https://p.pfx.so/pf/0z/4bhocN.png




Строка 163: Строка 167:
*[[Правило для почты: Извлечение данных]]
*[[Правило для почты: Извлечение данных]]
*[[Создание и редактирование правил]]
*[[Создание и редактирование правил]]
*[[Входящие вебхуки]]

Текущая версия от 08:55, 25 марта 2023

Для отладки и устранения ошибок парсинга используйте специальный онлайн сервис: JSONPath Online Evaluator


Приходящие в ПланФикс письма по E-mail или вебхуки можно разбирать, используя JSON. JavaScript Object Notation — это формат для хранения и обмена информацией, доступной для чтения человеком. Есть два основных элемента объекта JSON: ключи и значения.

Пример:

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

ПланФикс умеет разбирать письма в таком формате и добавлять нужные данные в инфоблоки. Для этого используется библиотека JsonPath.

Обратите внимание, если при разборе вы используете функцию, необходимо указывать круглые скобки в конце, иначе функция работать не будет:

4xAXkM.png


Пример № 1

Передаём в ПланФикс 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 переданы в ПланФикс:

Cgieo4.png


Пример № 2

Добавляем параметры JSON в аналитику ПланФикса

  • Для примера будем использовать 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


Перейти