структура віджета

Папка, що містить файли локалізацій в форматі ключ: значення. На поточний момент можливе використання тільки двох локалізацій: російської (ru) і англійської (en). Всі переклади будуть доступні як в JS, так і в PHP частини

Як бачите, обов'язковим є лише файл manifest.json

4. Починаємо розробку

Як приклад, ми візьмемо віджет який заснований тільки на JS. Він виводить кнопку в списку контактів, при кліці на яку дані з картки відправляються в зовнішню систему, де для прикладу обробляються php-скриптом заглушкою, яка може бути написана на будь-якій мові.

Це часта завдання, тому що часто потрібно по бізнес процесу передавати дані з amoCRM за дією співробітника у внутрішню систему компанії. Або навпаки виводити додаткові дані із зовнішнього системи в картках amoCRM.

Також, публічні віджети можуть взаємодіяти з функціоналом digital воронок угод і покупців. Детальніше можна дізнатися в розділі віджети в Digital pipeline

Отже, спочатку копіюємо папку з прикладом віджета і називаємо її widget. Це основа нашого майбутнього віджета.

Файл widget.php ми поки використовувати не будемо, тому можете його сміливо видалити. Далі починаємо розбиратися з усіма файлами по черзі.

5. manifest.json

Починаємо редагувати файл, керуючись таблицею опису його параметрів. У значенні ви можете використовувати посилання на мовні повідомлення, якщо потрібно.

Блок містить всі основні налаштування віджета

Назва віджета, в тому числі для відображення в списку віджетів. У прикладі, варто значення widget.name. а це значить, що значення буде взято з відповідного файлу папки i18n, в залежності від локалізації. Якщо ви використовуєте тільки одну мову, то допускається відразу вводити назву.

Короткий опис для виведення в списку віджетів

Те що ви ввели латинськими символами при генерації ключа на сторінці розробника. Ваш код віджету

Секретний ключ віджета, який ви згенерували на сторінці розробника

Версія віджета. Носить тільки інформативне навантаження.

(Int) Версія інтерфейсу (1,2) для якого саме інтерфейсу системи завантажується віджет. За замовчуванням необхідно залишати 2. Інтерфейс 1 - попередня версія інтерфейсу всієї системи amoCRM, без використання AJAX. Реєстрація на стару версію зараз закрита.

Так само необхідно повідомити нашій системі буде віджет використовувати праву колонку для відображення, зробити це можна допісаніем 0 або 1 після вказівки зони

Тобто, якщо вказати "clist-0", віджет инициализируется в даній зоні, але не буде використовувати праву колонку.

Наприклад, панель для WEB-фону знаходиться не в правій колонці віджетів, а внизу в будь-якому інтерфейсі. Тому для всіх місць підключення в настройках віджету має бути написано 0, але при цьому на кожній сторінці він ініціалізується.

Масив налаштувань віджета, доступних користувачеві, тобто поля, які будуть присутні у вікні налаштувань віджета і заповнюватися користувачем. Даний розділ потрібно тільки якщо installation = true, якщо installation = false, то даний розділ не потрібен, тому що у вікні налаштувань буде виводитися тільки опис віджета.Ключем в масиві є код поля FIELD_CODE

true / false обов'язковість заповнення поля користувачем.

Блок настройки віджетів в digital pipeline.
Даний блок необхідно включати в manifest.json, тільки якщо є область видимості digital_pipeline.
З функціоналом digital pipeline можуть працювати тільки публічні віджети, мають файл widget.php, в якому прістуствует endpoint digital_pipeline (докладніше Digital pipeline)

Аналогічний блоку settings, але буде виводиться під час налаштування віджета в digital воронці.

Обов'язкове поле в блоці dp, значення - true / false, визначає, чи може дія віджета розтягуватися на кілька етапів

6. i18n Файли локалізації

Як ви вже могли помітити в прикладі manifest.json використовуються конструкції виду widget.name. Вони необхідні, якщо ваш віджет повинен працювати більше, ніж на одній мові.

ВАЖЛИВО: Якщо використовується 2 локалізації, то необхідно, щоб файли були однаковими за структурою.

i18n / ru.json

"Name". "Demo віджет".

"Short_description". "Віджет для відсилання контакту у внутрішню систему".

"Description". "Віджет, який служить для відправки даних з картки контакту вашого домену # SUBDOMAIN # у внутрішню систему"

Схожі статті