Налаштування логування API-запитів Бітрікс24

Чому стандартного журналу подій недостатньо? Інтеграція перестала працювати. Дані не надходять із зовнішньої системи, угоди не оновлюються, вебхук мовчить. Розробник питає: «А запит взагалі дійшов?» — і відповіді немає, тому що логів немає. Без логування API-запитів налагодження інтеграції — це в
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування логування API-запитів Бітрікс24
Простий
~1 день

Наші компетенції:

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

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1461
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    764
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    810
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1166

Чому стандартного журналу подій недостатньо?

Інтеграція перестала працювати. Дані не надходять із зовнішньої системи, угоди не оновлюються, вебхук мовчить. Розробник питає: «А запит взагалі дійшов?» — і відповіді немає, тому що логів немає. Без логування API-запитів налагодження інтеграції — це ворожіння. Ми стикалися з цим десятки разів. Наші інженери пропонують налаштування логування API-запитів під ключ: проксі-логгер, middleware, моніторинг та алерти. Оцінимо проект за 1 день і гарантуємо прозору налагодження. Потрібно бачити: який запит прийшов, з якими параметрами, що повернув Б24, скільки часу зайняла відповідь. Тільки тоді можна зрозуміти, де проблема — на стороні Б24, інтеграції чи мережі. Саме такий підхід дозволяє скоротити час діагностики з годин до хвилин.

Як налаштувати логування, щоб не гадати?

Вбудований Журнал подій (Налаштування → Інструменти → Журнал подій) фіксує системні події: авторизації, зміни налаштувань, помилки модулів. Для API-запитів журнал фіксує:

  • Помилки REST API — QUERY_LIMIT_EXCEEDED, ACCESS_DENIED, INVALID_TOKEN
  • Встановлення та видалення застосунків
  • Спрацювання подій (event handlers)

Обмеження: журнал подій не логує успішні API-виклики — лише помилки та системні події. Для повного логування потрібні додаткові інструменти.

Що робити, якщо вбудований журнал не дає повної картини?

Вебхуки — найпопулярніший спосіб інтеграції, і найскладніший для налагодження. Вхідний вебхук (URL для виклику Б24 ззовні) не логує виклики за замовчуванням. Вихідний вебхук (Б24 викликає зовнішній URL при події) логує результат у журналі бізнес-процесів, якщо вебхук викликається з БП.

Для логування вхідних вебхуків рішення на стороні інтеграції:

  • Проксі-логгер — проміжний сервіс між зовнішньою системою та Б24. Всі запити проходять через проксі, який записує тіло запиту, заголовки, відповідь Б24 та час виконання. Можна реалізувати на nginx (access log + request body logging) або на рівні застосунку. Проксі-логгер дає на 90% більше інформації, ніж журнал подій.
  • Middleware у застосунку — якщо інтеграція написана на PHP/Node.js/Python, додається middleware, який логує кожен вихідний запит до API Б24 у файл або в БД.

Наприклад, на одному з проектів ми виявили, що вебхук не приходив через помилку SSL-сертифіката, яку можна було відловити лише за допомогою проксі-логгера. Це заощадило клієнту дні простою.

Для серверних застосунків (OAuth) у маркетплейсі Б24 є розділ «Розробникам → Журнал викликів REST API» — показує кількість викликів, помилки, статистику по методах. Доступний лише для опублікованих застосунків.

Для власних застосунків (не з маркетплейсу) рекомендується реалізувати логування на рівні HTTP-клієнта:

Що логувати Приклад
Метод API crm.deal.update
Параметри {id: 123, fields: {STAGE_ID: "WON"}}
HTTP-статус відповіді 200, 503
Тіло відповіді {result: true} або {error: "..."}
Час запиту 2023-10-01T12:00:00Z
Тривалість 340 ms

Порівняння способів логування

Спосіб Деталізація Складність Рекомендація
Журнал подій Тільки помилки Низька Для швидкої діагностики
Проксі-логгер Повна Середня Для вхідних вебхуків
Middleware Повна Середня Для серверних застосунків
Журнал викликів REST API Статистика Низька Для застосунків з маркетплейсу

Моніторинг та алерти

Логи корисні, коли їх аналізують. Рекомендації:

  • Лічильник помилок — відстежувати кількість помилок API за останню годину. Зростання помилок QUERY_LIMIT_EXCEEDED — сигнал про перевищення лімітів. Зростання ACCESS_DENIED — можливо, протермінувалися токени.
  • Час відповіді — якщо середній час відповіді API виріс з 200 мс до 2 с — проблема на стороні Б24 (навантаження, обслуговування).
  • Алерти — сповіщення в Telegram/email при: 5+ помилок поспіль, 0 успішних викликів за останні 30 хвилин, добовий ліміт вичерпано на 80%.

Для централізованого збору логів використовується ELK (Elasticsearch + Logstash + Kibana) або Grafana Loki. Логи з middleware відправляються в систему, де будуються дашборди та налаштовуються алерти.

Приклад структури логу
{ "method": "crm.deal.get", "params": {"id": "123"}, "response": {"result": {}}, "time": "2023-10-01T12:00:00Z", "duration_ms": 340 } 

Що входить у роботу

  • Налаштування проксі-логгера для вхідних вебхуків: запис запитів та відповідей
  • Middleware логування для серверних застосунків (PHP/Node.js/Python)
  • Структура логів: метод, параметри, статус, час, тривалість
  • Підключення логів до системи моніторингу (ELK, Loki, Grafana)
  • Алерти на помилки API, перевищення лімітів, тайм-аути
  • Ротація логів та політика зберігання
  • Документація та навчання команди

Наш 10-річний досвід з Бітрікс24 гарантує, що ви отримаєте прозору та підтримувану систему логування. Замовте налаштування — і ви позбавитеся ворожіння при налагодженні інтеграцій. Зв'яжіться з нами, щоб обговорити ваш проект. Отримайте консультацію протягом 24 годин.