Интеграция AMOCRM > Baselinker
144 USDТехническое задание
1. Цель и общая схема интеграции
Цель: Автоматическая передача заказов (сделок) из amoCRM в систему BaseLinker для дальнейшей обработки, логистики и хранения информации о заказах.
Схема: При создании/изменении сделки в amoCRM (например, при переходе на нужную стадию воронки) данные по заказу отправляются в BaseLinker через API BaseLinker. В результате в BaseLinker формируется новый заказ или обновляется существующий.
2. Область применения
- amoCRM выступает в роли CRM, где менеджеры обрабатывают и ведут сделки.
- BaseLinker — система, через которую идёт работа с фулфилмент-партнёром, логистика и учёт статусов отгрузки и доставки.
3. Источник данных (amoCRM)
amoCRM
- Необходимо настроить (или использовать уже имеющиеся) вебхуки / ботов / сервис-соединение, чтобы при достижении определённых условий (например, «Сделка перешла на стадию Заказ подтверждён») автоматически вызывалась интеграция, которая отправляет данные в BaseLinker.
- Можно также организовать отправку при создании сделки, при изменении полей сделки, при закрытии сделки и т.д. — в зависимости от бизнес-логики.
Данные, которые передаются из amoCRM:
- Номер сделки / ID
- Дата создания сделки (или дата конвертации в заказ)
- Клиент (контакт):
- Имя
- Телефон
- E-mail (если есть)
- Адрес (если есть в полях сделки/контакта)
- Товары (продукты в сделке):
- Название товара
- Количество
- Цена (за единицу)
- Сумма сделки
- Комментарий (примечание менеджера / комментарий покупателя)
- Способ оплаты (при наличии, например, наложенный платёж, предоплата, оплата картой и т.д.)
- Способ доставки или дополнительные поля (город, отделение почты и т. п.), если эти данные хранятся в amoCRM.
(Список может быть расширен исходя из того, какие поля реально есть и нужны в BaseLinker.)
4. Приёмник данных (BaseLinker)
BaseLinker
- Данные передаются через метод
addOrder
(либо другой соответствующий метод, см. документацию). - При передаче создаётся новый заказ в BaseLinker.
- Опционально можно добавлять информацию об источнике («amoCRM deal #...») в поля комментария к заказу, чтобы менеджеры видели, откуда пришла информация.
- Данные передаются через метод
Требования к формированию запроса:
- Метод:
POST
(илиGET
, согласно документации, но обычноPOST
) - Адрес:
https://api.baselinker.com/connector.php
(или иной, в зависимости от инструкции) - Параметры:
token
(токен API BaseLinker, выданный в ЛК)method=addOrder
- Остальные параметры согласно документации
addOrder
(например,order_status_id
,shipping_fullname
,products[]
, и т.д.).
- Если нужно, чтобы заказ попадал в определённый статус или определённый магазин внутри BaseLinker, указываем
order_status_id
,shop_id
и т.п.
- Метод:
Пример структуры данных для addOrder (с учётом того, что часть полей будет подставляться из amoCRM):
jsonКопироватьРедактировать
{
"method": "addOrder",
"parameters": {
"order_status_id": 1234,
"date_add": 1678345200, // UNIX timestamp, дата создания
"phone": "******",
"email": "****",
"user_comments": "Комментарий из amoCRM",
"admin_comments": "Сделка #123, менеджер: Иванов",
"delivery_method": "Курьер",
"payment_method": "Карта",
"products": [
{
"storage": "catalog",
"product_id": 100500,
"name": "Название товара",
"quantity": 2,
"price_brutto": 199.99
},
{
"storage": "manual",
"name": "Еще один товар",
"quantity": 1,
"price_brutto": 99.90
}
]
}
}
(Это только пример — конечный формат зависит от того, как именно вы храните товары.)
5. Логика интеграции (шаги)
Отслеживание события в amoCRM
- Использовать встроенный функционал вебхуков/робота/сценария — при выполнении условия (например, «Сделка → Стадия: Оформлен заказ»).
- Как только сделка достигает данной стадии, amoCRM отправляет (через webhook или сервисный аккаунт) данные сделки на ваш сервер/скрипт (или напрямую в BaseLinker, но обычно рекомендуется иметь промежуточный скрипт).
Обработка данных (промежуточный слой или сервис-коннектор)
- Получаем структуру данных из amoCRM (JSON с информацией о сделке, контакте, товарах).
- Преобразуем в формат, который ожидает BaseLinker API (
addOrder
). - Вставляем обязательные поля (token, method и т.д.).
Отправка в BaseLinker
- Выполняем
POST
-запрос на URL API BaseLinker. - Обрабатываем ответ (проверяем, что
status
= «SUCCESS»). - Логируем результат (успех/ошибка).
- Выполняем
Обработка ошибок
- Если BaseLinker вернул ошибку (например, неверный токен, недостаточно данных, неверный формат), необходимо:
- Логировать ошибку.
- (Опционально) уведомлять ответственного менеджера/разработчика или записывать комментарий в amoCRM.
- Если BaseLinker вернул ошибку (например, неверный токен, недостаточно данных, неверный формат), необходимо:
Дополнительная логика (по желанию):
- Обновление статуса сделки в amoCRM при успешном добавлении в BaseLinker.
- Двусторонняя интеграция (например, при смене статуса в BaseLinker – обновлять стадию в amoCRM). Для этого потребуется настраивать вебхуки со стороны BaseLinker + API amoCRM.
- Передача трек-номера (если логистика формируется в BaseLinker, а трек нужно отобразить в amoCRM).
6. Технические детали
Способ реализации:
- Можно написать собственный скрипт на PHP/Python/Node.js, размещённый на вашем сервере, который принимает вебхук от amoCRM и отправляет заказ в BaseLinker.
- Либо использовать готовые сервисы-коннекторы (Make, Albato, ApiX-Drive и т.п.), если это подходит по бюджету и функционалу.
Авторизация:
- amoCRM: потребуется создать интеграцию (OAuth) или использовать вебхук, который генерируется в разделе «Интеграции».
- BaseLinker: нужен API token (сгенерировать в личном кабинете BaseLinker).
Хранение ключей:
- Токен amoCRM и API token BaseLinker необходимо хранить в конфигурационных файлах на сервере, с ограниченным доступом.
Логирование:
- Создать логи запросов и ответов (минимум: статус ответа, тело запроса, время отправки).
- При возникновении ошибок — сохранять информацию об ошибках.
Тестирование:
- Создать тестовую сделку в amoCRM, выполнить все триггеры. Проверить, что заказ корректно появился в BaseLinker.
- Проверить корректность отображения товаров, цен, контактов, статусов и полей комментария.
7. Сроки и результаты
- Сроки разработки: определить конкретно (например, 5-7 рабочих дней).
- Результат:
- Рабочий скрипт/интеграция, которая корректно передаёт заказы из amoCRM в BaseLinker по описанному событию (изменение стадии).
- Документация по настройке и запуску (чтобы в будущем можно было модифицировать).
- Инструкции для менеджеров, как использовать (на какую стадию переводить сделку, какие данные обязательны для ввода и т.д.).
8. Контроль выполнения и приёмка
- Тестирование:
- Будут выполнены тестовые сделки в amoCRM с разными наборами данных.
- Проверяется, что в BaseLinker создаются заказы с корректными полями.
- Фиксация ошибок:
- Все найденные баги описываются, разработчик исправляет их до окончательной приёмки.
- Окончательное утверждение:
- После успешного теста и подтверждения функционала — интеграция считается внедрённой.
Примечания
- Если в будущем потребуется обратная синхронизация (например, когда заказ меняет статус в BaseLinker, а в amoCRM нужно автоматически менять стадию сделки), то нужно будет добавить аналогичные вызовы (webhook из BaseLinker → API amoCRM).
- В рамках данного ТЗ основная задача — однонаправленно передавать заказы из amoCRM в BaseLinker.
- Настраивайте соответствие полей amoCRM и BaseLinker заранее, чтобы избежать несоответствий (например, чтобы не потерять адрес доставки или телефон клиента).
Client's feedback on cooperation with Daria Verkhovetska
Интеграция AMOCRM > BaselinkerHello, the contractor has disappeared.
-
197 3 2 Hello!
I have experience working with CRM system integration and APIs. I will implement the transfer of orders from amoCRM to BaseLinker according to your specifications. I will set up automatic data transfer when the deal stage changes, ensuring correct creation and updating of orders in BaseLinker.
I guarantee quality work, error handling setup, and integration testing. I am always available for clarifying details. I look forward to collaborating!
Привіт!
Маю досвід роботи з інтеграцією CRM-систем та API. Реалізую передачу замовлень із amoCRM у BaseLinker відповідно до вашого ТЗ. Налаштую автоматичну передачу даних при зміні стадії угоди, забезпечу коректне створення та оновлення замовлень у BaseLinker.
Гарантую якісну роботу, налаштування обробки помилок і тестування інтеграції. Завжди на зв’язку для уточнення деталей. Буду рада співпраці!