Перейти к содержимому
2base
Материал 2base

Как интегрировать 2BASE с Битрикс24: обогащение карточек контрагента

Битрикс24 — самая распространённая CRM в российском B2B и SMB-сегменте. Если менеджер вручную ищет реквизиты контрагента на сайте ФНС и переносит их в карточку — это те же 5 минут на лид, что и в любой другой CRM, только помноженные на десятки тысяч компаний, использующих Битрикс24.

Этот гайд — как настроить автообогащение карточек компании/контакта в Битрикс24 через открытый API 2BASE.

Что даст интеграция

Когда в Битрикс24 создаётся новая компания или контакт с заполненным ИНН — вебхук автоматически:

  1. Ищет компанию в 2BASE по ИНН
  2. Получает реквизиты, ОКВЭД, регион, статус
  3. Заполняет соответствующие поля карточки в Битрикс24

Менеджер видит в карточке: полное название, юр.адрес, ОКВЭД, статус (действующая/ликвидирована), регион — без ручного переноса.

Шаг 1: доступ к API 2BASE

API 2BASE — открытый JSON-эндпоинт, отдельного токена получать не нужно:

  • GET /api/v1/search?q={ИНН} — поиск компании по ИНН, возвращает список совпадений со слагом (slug) каждой компании
  • GET /api/v1/companies/{slug} — полная карточка по слагу: название, ОКВЭД, регион, статус, адрес

Лимит — 30 запросов в минуту с одного IP. Контакты (телефон, email) в бесплатном API замаскированы — это платный доступ через сайт, как и для обычных посетителей. Для интеграции CRM обычно достаточно открытых полей (реквизиты, ОКВЭД, статус) — само наличие verified-контрагента в реестре важнее его телефона на этапе заведения карточки.

Шаг 2: исходящий вебхук в Битрикс24

В Битрикс24:

  1. Перейдите: Разработчикам → Другое → Исходящий вебхук
  2. Событие: ONCRMCOMPANYADD (при создании компании) и/или ONCRMCONTACTADD
  3. Укажите URL вашего мидлвара — сервера, который будет дёргать API 2BASE

Для обновления по изменению ИНН — аналогично подписаться на ONCRMCOMPANYUPDATE.

Шаг 3: мидлвар (минимальный код)

Простейший мидлвар на Python (Flask):

from flask import Flask, request, jsonify
import requests

app = Flask(__name__)

BITRIX_WEBHOOK = "https://your-domain.bitrix24.ru/rest/USER_ID/WEBHOOK_CODE"

@app.route('/webhook/company', methods=['POST'])
def company_added():
    data = request.form
    company_id = data.get('data[FIELDS][ID]')
    if not company_id:
        return jsonify({"status": "no_id"})

    # Получаем ИНН из карточки компании в Битрикс24
    b24 = requests.post(f"{BITRIX_WEBHOOK}/crm.company.get.json",
                         json={"id": company_id}, timeout=10).json()
    inn = (b24.get('result') or {}).get('UF_CRM_INN')
    if not inn:
        return jsonify({"status": "no_inn"})

    # Ищем компанию в 2BASE по ИНН
    search = requests.get("https://2base.ru/api/v1/search",
                           params={"q": inn}, timeout=10).json()
    hits = search.get('data') or []
    if not hits:
        return jsonify({"status": "not_found"})

    slug = hits[0]['slug']
    company = requests.get(f"https://2base.ru/api/v1/companies/{slug}", timeout=10).json().get('data', {})

    # Обновляем карточку компании в Битрикс24
    requests.post(f"{BITRIX_WEBHOOK}/crm.company.update.json", json={
        "id": company_id,
        "fields": {
            "TITLE": company.get('name'),
            "ADDRESS": company.get('address'),
            "UF_CRM_OKVED": company.get('okved_name'),
            "UF_CRM_STATUS": company.get('status'),
        }
    })

    return jsonify({"status": "enriched"})

if __name__ == '__main__':
    app.run(port=8080)

~ 40 строк кода. Сервер хостится где угодно — своя VPS, Railway, любой облачный хостинг.

Шаг 4: кастомные поля в Битрикс24

Для обогащения понадобятся пользовательские поля компании (создаются через Разработчикам → Пользовательские поля → Компании):

  • UF_CRM_INN — ИНН (если ещё не заведено стандартное поле)
  • UF_CRM_OKVED — ОКВЭД / вид деятельности
  • UF_CRM_STATUS — статус контрагента (действующая/ликвидирована)

Шаг 5: тестирование

Создайте тестовую компанию в Битрикс24 с заполненным ИНН реальной действующей организации. Вебхук должен сработать в течение нескольких секунд, поля карточки — заполниться.

Если не срабатывает — проверьте:

  • Права исходящего вебхука (нужен доступ crm)
  • Формат ИНН (10 цифр для ЮЛ, 12 — для ИП)
  • Лимит 30 запросов/минуту — при массовом импорте компаний делайте паузы между вызовами

Что ещё можно автоматизировать

Проверка контрагента перед сделкой

При переводе сделки в стадию согласования — мидлвар проверяет актуальный статус контрагента в 2BASE. Если компания «ликвидирована» — уведомление менеджеру до подписания договора.

Массовый импорт свежих лидов

Периодический скрипт: выгрузка новых ИП/ООО по региону и ОКВЭД через конструктор 2BASE → импорт пачкой в Битрикс24 как лиды (crm.lead.add).

FAQ

Нужен ли платный тариф 2BASE для интеграции?

Для базового обогащения (реквизиты, ОКВЭД, статус) — нет, эти поля открыты через API. Телефон и email конкретной компании — платный анлок, как и в веб-интерфейсе.

Работает ли это с коробочной версией Битрикс24 (не облаком)?

Да, REST API идентичен для облака и коробки — отличается только базовый URL вебхука.

А если у меня amoCRM, а не Битрикс24?

Логика та же, отличаются только REST-методы CRM. См. отдельный гайд по интеграции с amoCRM.


Связанные: API 2BASE · Интеграция с amoCRM · Bulk-проверка ИНН

Нужна база компаний?

11 772 841 организаций и ИП с контактами

Открыть конструктор
Онлайн Реестры ФНС от 14.06.2026 · контакты от 17.07.2026
11 772 841 компаний и ИП Источник: ЕГРЮЛ / ЕГРИП