Міграція даних з amoCRM до Бітрікс24

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Показано 1 з 1 послугУсі 1626 послуг
Міграція даних з amoCRM до Бітрікс24
Середня
~1-2 тижні
Часті питання

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

Етапи розробки

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

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Міграція даних із amoCRM у Бітрікс24

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

Принципові відмінності моделей

Аспект amoCRM Бітрікс24
Центральна сутність Угода (lead) Лід → Контакт + Угода
Контакти Прив'язані до угод Самостійна сутність
Компанії Прив'язані до угод Самостійна сутність
Теги На угодах і контактах UF-поля або категорії
Воронки Кілька, з етапами Воронки (напрямки) зі статусами
Кастомні поля Проста конфігурація UF-поля з типізацією

У amoCRM «угода» (lead) — це і лід, і угода одночасно. При міграції потрібно прийняти рішення: переносити все в угоди Бітрікс24, або розбити на ліди + конвертовані угоди.

Отримання даних із amoCRM

amoCRM надає REST API v4. Аутентифікація через OAuth 2.0. Ліміти API: не більше 7 запитів на секунду — при вивантаженні великої бази обов'язкова затримка між запитами.

Клієнт для посторінкового вивантаження контактів (250 записів за запит):

class AmoCrmClient {
    public function getContacts(int $page = 1): array {
        $url = "https://{$this->domain}.amocrm.ru/api/v4/contacts"
            . "?page={$page}&limit=250&with=leads,companies";
        $http = new \Bitrix\Main\Web\HttpClient();
        $http->setHeader('Authorization', 'Bearer ' . $this->accessToken);
        return json_decode($http->get($url)->getResult(), true);
    }
}

Маппінг воронок і статусів

Воронки amoCRM → напрямки (воронки) Бітрікс24. Створюються заздалегідь через crm.category.add, потім для кожної воронки — статуси через crm.status.add.

Маппінг зберігається у файл або таблицю для використання при перенесенні угод:

$pipelineMapping[$pipeline['id']] = $b24CategoryId;
$statusMapping[$status['id']] = 'STAGE_' . $status['id'];

Кастомні поля: створення в Бітрікс24

У amoCRM кастомні поля створюються довільно. Перед міграцією — створити відповідні UF-поля в Бітрікс24 через crm.contact.userfield.add. Тип поля визначається за field_type з API amoCRM:

  • text → рядок
  • numeric → ціле число
  • date → дата
  • select → список (enumeration)

Перенесення контактів

Кожен контакт amoCRM стає контактом у Бітрікс24. Телефони та email зберігаються в масивах PHONE / EMAIL із кодами WORK і MOBILE. Дата створення переноситься через поле DATE_CREATE.

Після створення контакту — зберігаємо маппінг amo_id → b24_id для прив'язки угод.

Перенесення угод із нотатками

Угоди — центральна частина міграції. Кожна угода amoCRM переноситься в Бітрікс24 через crm.deal.add з прив'язкою до контактів і компаній за маппінгом. Вихідний ID зберігається в користувацькому полі UF_CRM_AMO_ID — для звірення та налагодження.

Нотатки (notes) із amoCRM переносяться як timeline-коментарі через crm.timeline.comment.add. Це зберігає історію переговорів, видиму менеджеру в картці угоди.

Завдання та дзвінки

Завдання з amoCRM переносяться через tasks.task.add. Записи дзвінків (якщо підключена телефонія) — через crm.activity.add з типом CALL. Це цінна історична інформація для відновлення роботи з клієнтом.

Запобігання дублікатам

При повторних запусках скрипту міграції (при помилках і відновленні) потрібна перевірка: не створювати запис, якщо UF_CRM_AMO_ID вже існує в Бітрікс24.

$existing = $b24->call('crm.deal.list', [
    'filter' => ['UF_CRM_AMO_ID' => $amoLead['id']],
    'select' => ['ID'],
]);

if (!empty($existing['result'])) {
    continue; // Вже перенесено
}

Валідація результатів

Метрика Спосіб перевірки
Кількість контактів Порівняння amoCRM count vs Б24 crm.contact.list
Кількість угод Порівняння по воронках
Кастомні поля Вибіркова перевірка 50 записів
Нотатки Хронологія для 10–15 угод

Терміни виконання

Обсяг даних Термін
До 3 000 контактів і угод 1–2 тижні
3 000–20 000 записів + кастомні поля 3–5 тижнів
20 000+ записів + історія дзвінків і завдань 2–3 місяці

Перехід із amoCRM на Бітрікс24 — це зміна парадигми роботи команди. Паралельно з міграцією даних потрібне навчання новим бізнес-процесам — завдання не менш важливе, ніж технічне перенесення.