Як зробити в таблиці кнопку: вебхук, посилання, вікно чи сценарій

5 хв

Elbuz додає в таблицю колонку-кнопку: з рядка замовлення чи товару вона відкриває посилання, надсилає дані на ваш сервер чи в API служби доставки, відкриває вікно або запускає сценарій Flow.

Коли це знадобиться:

  • Треба відстежити посилку за ТТН — кнопка відкриває сторінку перевізника з номером із рядка.
  • Дані замовлення мають піти на ваш сервер — вебхук надсилає їх одним натисканням.
  • Накладну треба створити без програмування — запит іде в API служби доставки, а номер із відповіді пишеться в поле замовлення.
  • Кнопка потрібна не всім рядкам — умова ховає її або робить неактивною.

З чого почати: список документів → бургер → «Налаштувати сітку» → «Додати нове поле» → «Кнопка».

Що вміє кнопка в таблиці

Де це і хто має доступ

Додати кнопку
сітка таблиці → бургер → «Налаштувати сітку» → «Додати нове поле» → «Кнопка»
Змінити дію
шестерня «Налаштувати дію кнопки» в рядку поля
Підготувати
для вебхука — адресу й формат запиту вашого сервера чи API служби

Кнопку додають не в «Налаштуваннях таблиць», а в самій сітці, де вона потрібна. Як і «Індикатор виконання», це віртуальне поле: колонки в базі воно не створює, і за ним не фільтрують, не сортують і не вивантажують.

Як додати кнопку в таблицю

Для таблиці замовлень: список документів → бургер → «Налаштувати сітку» → «Додати нове поле» → тип «Кнопка» → «Назва кнопки». Одразу після створення відкривається вікно «Дія кнопки»; пізніше його відкриває шестерня «Налаштувати дію кнопки» в рядку цього поля в тому ж вікні налаштування сітки.

Як налаштувати дію кнопки

У вікні пʼять кроків:

  1. «Що робить кнопка» — «Відкрити посилання», «Надіслати HTTP-запит (вебхук)», «Відкрити вікно Elbuz» або «Запустити сценарій Flow».
  2. «Параметри дії». Для вебхука — «Адреса (URL)», «Метод», «Тип тіла», «Тіло запиту», «Заголовки» (по одному в рядку, «Імʼя: значення») і «Підключення з доступами»: логін, пароль і токен беруться з довідника зовнішніх підключень, у кнопці вони не зберігаються. Дані рядка підставляються макросами і в адресу, і в тіло: оберіть поле у списку «Поля рядка» й натисніть «+» біля потрібного поля вводу. Для JSON значення екрануються автоматично.
  3. «Як виглядає кнопка» — напис (теж з макросами), значок, колір.
  4. «Коли кнопка активна» — умова на рядок: порожня — кнопка активна завжди; для інших рядків її можна показувати неактивною або сховати.
  5. «Підтвердження та відповідь» — «Питати підтвердження» з текстом запитання, а також «Шлях до значення у відповіді» (наприклад data.tracking_url) і «Зберегти в поле»: значення з відповіді вашого сервера запишеться в поле цього запису.

Куди можна надсилати запит і скільки разів

  • Адреса. Запит іде з сервера Elbuz, а не з браузера, тому адреса має починатися з http:// або https:// і вести в інтернет. localhost, адреси локальної мережі та імʼя, яке не вдалося знайти, програма відхиляє з повідомленням «Адресу запиту відхилено:».
  • Ліміт. Один користувач може натиснути кнопки-запити не більше 30 разів за хвилину — далі «Забагато натискань поспіль, зачекайте хвилину».
  • Журнал. Натискання вебхука й сценарію Flow записуються в «Журнал операцій» (Кабінет → Журнал операцій), а не в історію картки документа. Не записуються «Відкрити посилання», «Відкрити вікно» і натискання, які програма відхилила лімітом, правами чи умовою кнопки.

Як перевірити кнопку, нічого не зламавши

Кнопка «Перевірити» спершу зберігає налаштування, а потім надсилає справжній запит — з даними найновішого запису таблиці, що підходить під умову кнопки.

Ваш сервер отримає його як звичайний, натискання запишеться в журнал і зарахується в ліміт 30 на хвилину, а якщо задано «Зберегти в поле», значення з відповіді запишеться в цей реальний запис. Перевіряйте на тестовій адресі або тоді, коли такий запит нічого не зламає.

У яких таблицях працює вебхук і Flow

Вебхук і Flow доступні в сітках товарів каталогу, товарів прайс-листів, контрагентів, документів, рядків документів, категорій, виробників і статей. В інших сітках вікно покаже «Для цієї сітки доступні лише дії, які виконує браузер: відкрити посилання та відкрити вікно».

Якщо дані треба надсилати самі, без натискання, — це автоматичне правило з командою HTTP-запиту.

Сценарії

Кнопка відстеження посилки за ТТН

Що зробити. У сітці замовлень додайте поле типу «Кнопка», назва — «Трекінг». У «Що робить кнопка» виберіть «Відкрити посилання». У «Адреса (URL)» вставте адресу сторінки відстеження вашої служби доставки, а на місце номера — макрос поля з номером ТТН: виберіть поле у списку «Поля рядка» й натисніть «+».

Що вийде. Значення підставиться з рядка, на якому натиснули кнопку, і закодується для адреси автоматично. Щоб кнопку було видно лише там, де ТТН заповнено, задайте умову в кроці «Коли кнопка активна».

Надіслати замовлення на свій сервер

Що зробити. У вікні «Дія кнопки» оберіть «Надіслати HTTP-запит (вебхук)», вкажіть «Адреса (URL)», метод і в «Тіло запиту» вставте макроси потрібних полів замовлення зі списку «Поля рядка». Натисніть «Зберегти».

Що вийде. Кнопка з'явиться колонкою в сітці замовлень і надсилатиме дані того рядка, на якому її натиснули. Натискання записується в «Журнал операцій».

Створити накладну в API служби доставки й зберегти номер

Типовий приклад — інтеграція зі службою доставки без програмування: кнопка в сітці замовлень надсилає дані замовлення в API Нової пошти чи іншого перевізника, щоб створити накладну (ТТН), а номер накладної або посилання для відстеження з відповіді записує в поле замовлення.

Формат тіла запиту задаєте самі за документацією служби — автоматизація тут повністю у вашому розпорядженні, готових шаблонів під перевізників у вікні немає.

Що зробити. Оберіть «Надіслати HTTP-запит (вебхук)», вкажіть адресу API служби, «Метод» і «Тіло запиту» з макросами полів замовлення. Ключ доступу виберіть у «Підключення з доступами». У кроці «Підтвердження та відповідь» впишіть «Шлях до значення у відповіді», наприклад data.tracking_url, і в «Зберегти в поле» — поле замовлення.

Що вийде. Після натискання значення з відповіді запишеться в цей запис. Номер накладної зберігають так само: шлях до нього у відповіді й окреме поле замовлення під номер ТТН.

Що робити, коли кнопка не спрацювала

Що ви бачитеЧому такЩо зробити
«Адресу запиту відхилено:»адреса веде на localhost, у локальну мережу або імʼя не знайденовказати адресу сервера в інтернеті з http:// або https:// (обмеження)
«Забагато натискань поспіль, зачекайте хвилину»більше 30 натискань кнопок-запитів за хвилинузачекати до хвилини й натиснути знову
«Для цієї сітки доступні лише дії, які виконує браузер: відкрити посилання та відкрити вікно»вебхук і Flow працюють не в усіх сіткахперевірити список таблиць або зробити запит автоматичним правилом
Кнопка в рядку неактивна або її немаєрядок не підходить під умову з кроку «Коли кнопка активна»змінити умову або заповнити потрібне поле в рядку

Часті запитання

Кнопка-вебхук пише «Забагато натискань поспіль, зачекайте хвилину». Який ліміт?

30 натискань кнопок-вебхуків і сценаріїв Flow за хвилину на користувача, разом із «Перевірити». Лічильник обнуляється з наступною хвилиною. «Відкрити посилання» й «Відкрити вікно Elbuz» ліміт не рахує.

Чи можна надсилати дані на сервер без натискання кнопки?

Так, але це не кнопка, а автоматичне правило з командою HTTP-запиту: воно спрацьовує на подію саме.

Де видно, хто й коли натискав кнопку?

У «Журналі операцій» (Кабінет → Журнал операцій) — для вебхуків і сценаріїв Flow. В історію картки документа натискання не пишуться.

Чи зберігає кнопка пароль чи токен до API?

Ні. Логін, пароль і токен беруться з довідника зовнішніх підключень через «Підключення з доступами», у самій кнопці вони не зберігаються.

Чи є готові налаштування для Нової пошти чи інших перевізників?

Ні, готових шаблонів під перевізників у вікні немає. Формат тіла запиту задаєте самі за документацією служби доставки.

Суміжні теми

Чи була стаття корисною?