1b.app
Скопійоване посилання -

Використання ліцензії під час синхронізації через API

Намагаємося синхронізувати сайт із Onebox OS через API. Виявилось, що синхронізація прив'язана до сеансів наших ліцензій. Іноді замість нормальної відповіді з API приходить "errors": "Not enough licenses!".
Виходить, якщо всі співробітники одночасно сидять в адмінці, то синхронізація просто вилітає і може "лежати" годинами, поки хтось не розлогіниться.
На наш погляд синхронізація та кількість ліцензій – це різні речі. Синхронізація за визначенням має бути ізольованою та незалежною, забезпечуючи доступ до даних у реальному часі.
Як можна виправити цей баг?
Оригінальне питання доступне на версії: ru

Відповіді:

Сергій Олександрович,
це спірний момент і не баг.
OneBox OS побудований таким чином, що OneBox OS – це і є API, через яке працює інтерфейс OneBox'a.
Просто ви викликаєте це API через REST, а сам OneBox викликає це саме API через direct call.
Отже, внутрішнє API не розуміє різницю: цей користувач отримав токен через REST API або його справжній людина лазить по боксу.
Нам довелося так зробити з кількох причин:
1. щоб хитрий користувач не міг отримати token через API, а потім підставити його в браузері (через js-login-прошарку) і юзать більше одночасних токенів, ніж йому належить.
2. для хмари запити в API виробляють куди-велике навантаження на інфраструктуру, ніж стандартний користувач, тому я вирішив "нехай API зажирає ліцензії". Це значно краще, ніж тарифікувати запити в API (як роблять 99% всіх хмарних серверів).
Я розумію, що аргумент 2 хороший для хмари, але поганий для коробки.
Якщо накласти на цей момент умову, що компанію OneBox цікавлять більше хмарні користувачі, то технічно нам не вигідно робити одні умови для коробок, а другі для хмари. Простими словами: оскільки код однаковий і розділяти гілки ми не станемо - то на коробці API теж зажиратиме ліцензію.
14.09.2021, 22:28
Как со мной связаться - никак :)
Задавайте вопросы на форуме публично - и я отвечу.
Подробнее - https://1b.app/ru/user/11/
Оригінальний коментар доступний на версії: ru

Максиме,
Я зрозумів, що для вас пріоритетнішою є бізнес-модель з продажу хмарного сервісу. Це ваше право. Але коробкові користувачі залишаються вашими клієнтами, нехай навіть менш коханими.
Суть синхронізації полягає у безперебійному доступі до даних у реальному часі. За такої архітектури навіть якщо ми докупимо ще одну, дві чи кілька ліцензій – може настати момент, коли всі ліцензії будуть зайняті співробітниками. І в такому разі все одно будуть моменти, коли API буде недоступним. Ми не можемо постійно відстежувати, щоби цю ліцензію не займали співробітники. Інакше вийде "автоматизація у ручному режимі".
Поточна ситуація вимагає вирішення, оскільки ми не можемо завершити інтеграцію без безперервного доступу до API. Сенс автоматизації діяльності тоді просто губиться.
Наша пропозиція - створити "некористувацьку" ліцензію та зарезервувати її суто під синхронізацію.
15.09.2021, 12:02
Оригінальний коментар доступний на версії: ru

Сергій Олександрович,
ми не можемо зараз виконати ваше прохання. Просто тому, що наша мета хмара, а на решту ми не розпорошуємося. Так, це жорстко, але такий у мене хід думок: я рухаюся тільки в одну точку, а всі інші можливості чи незручності, які не призводять до руху до цієї точки, мене не цікавлять.
Зараз у вас є два варіанти:
Спосіб 1. Розуміти, що API займає ліцензію і враховувати це (і, як варант, докупити ще одну під цю справу)
Спосіб 2. Використовувати API від імені діючого співробітника, поставивши йому галочку "дозволити роботу з динамічними IP".
15.09.2021, 16:44
Как со мной связаться - никак :)
Задавайте вопросы на форуме публично - и я отвечу.
Подробнее - https://1b.app/ru/user/11/
Оригінальний коментар доступний на версії: ru

Максиме,
Варіанти, які Ви запропонували не підійдуть як вирішення питання. Це напівзаходи. Милиці. А потрібна стабільна робота системи.
Ми зв'язалися із вашим проектом два роки тому. Пройшовши воду, вогонь і мідні труби, вклавши багато грошей і енергії - ми налаштували роботу через вашу програму, яка допомагає нам будувати бізнес. Частина доробок, які ми впроваджували, використовуються у CRM One Box усіма дійсними користувачами.
Стабільний доступ до API це не моя забаганка. Це потреба, яку диктують технології. Нам, як клієнту, все одно в яку точку ви рухаєтеся. Потрібно вирішити проблему, а не скидати її з хворої голови на здорову. Для ваших співробітників вирішення цієї проблеми (у форматі, який я запропонував у попередньому повідомленні) це три рядки коду.
У довгостроковій перспективі вам принесе набагато більшу цінність рішення таких конфузів на користь клієнта. Це окупиться зростанням лояльності та економією на рекламі за рахунок роботи сарафанного радіо. Бізнес-підприємницьке ком'юніті досить тісне. Кожен задоволений клієнт наводить ще п'ять, а то й десять. Кожен незадоволений - відмовляє від продукту таку кількість потенційних клієнтів.
Ми відповідаємо за тих, кого приручили (с). Антуан де Сент-Екзюпері
20.09.2021, 10:45
Оригінальний коментар доступний на версії: ru

Сергій Олександрович,
API OneBox споживає 1 ліцензійний ключ, тому що API це такий самий користувач (login=restapi).
До стабільності доступу до API це не стосується.
Фактично, вся ця тема - це способи змусити мене дати вам (і іншим користувачам) +1 ліцензію безкоштовно, тому що тільки таким способом можна зробити, щоб API не жерло ліцензію.
Бізнес OneBox - це не доопрацювання та підтримка, а заробіток на оренді софту та продажу ліцензій. І я не робитиму щось, що зменшує цей заробіток, навіть ціною негативного чи позитивного відгуку. Це не "неповага до користувачів", це бізнес-модель: якщо вибирати між "зробити погано собі, а комусь добре" – то я на таке не погоджуюсь.
20.09.2021, 20:12
Как со мной связаться - никак :)
Задавайте вопросы на форуме публично - и я отвечу.
Подробнее - https://1b.app/ru/user/11/
Оригінальний коментар доступний на версії: ru

Максиме,
Справа не в купівлі ліцензії: навіть якщо ми докупимо одну, дві, три ліцензії, все одно доведеться моніторити користувачів онлайн вручну. У нас є х ліцензій, але користувачів х+5 (не співробітників, саме користувачів CRM). Коли користувач API в офф-лайн - синхронізація не буде працювати. Сенс у рятуванні від ручної роботи та автоматизації процесів.
Питання стабільності роботи може бути вирішене, якщо "користувач API" буде закріплений он-лайн, щоб його сесія не закінчувалася. Чи це можна реалізувати?
27.09.2021, 16:23
Оригінальний коментар доступний на версії: ru

Максиме, чи можна зробити користувача "невибивним"? тобто щоб він завжди залишався в мережі?
08.10.2021, 16:53
Оригінальний коментар доступний на версії: ru

Дайте відповідь на питання вище
13.10.2021, 15:47
Оригінальний коментар доступний на версії: ru


Кільбурт Сергій Олександрович написав:
Максиме,
Справа не в купівлі ліцензії: навіть якщо ми докупимо одну, дві, три ліцензії, все одно доведеться моніторити користувачів онлайн вручну. У нас є х ліцензій, але користувачів х+5 (не співробітників, саме користувачів CRM). Коли користувач API в офф-лайн - синхронізація не буде працювати. Сенс у рятуванні від ручної роботи та автоматизації процесів.
Питання стабільності роботи може бути вирішене, якщо "користувач API" буде закріплений он-лайн, щоб його сесія не закінчувалася. Чи це можна реалізувати?

можу запропонувати налаштування в restapi, яка дозволить рандомно викинути користувача (або останнього за активністю), а користувач для API стане онлайн і виконає запит
15.10.2021, 17:16
Оригінальний коментар доступний на версії: ru

Sergii Kilburt
Залишіть повідомлення в цій темі і відкриються контакти користувача

можу запропонувати налаштування в restapi, яка дозволить рандомно викинути користувача (або останнього за активністю), а користувач для API стане онлайн і виконає запит

Як зв'язатися з Вами, щоб обговорити реалізацію цієї настройки?
20.12.2023, 10:37
Оригінальний коментар доступний на версії: ru


Sergii Kilburt написав:

можу запропонувати налаштування в restapi, яка дозволить рандомно викинути користувача (або останнього за активністю), а користувач для API стане онлайн і виконає запит

Як з Вами зв'язатись, щоб обговорити реалізацію цієї настройки?

дане налаштування вже є , пошукайте в налаштуваннях програми api v2
20.12.2023, 11:33
Оригінальний коментар доступний на версії: ru

Будь ласка, приєднуйтесь до діалогу. Якщо вам є що сказати – будь ласка, напишіть коментар. Для входу потрібний мобільний телефон та смс-код для ідентифікації. Увійти та написати коментар