Як підключити CRM SalesDrive: заявки вебхуком, каталог і залишки з YML

24 хв

Elbuz забирає заявки з CRM SalesDrive у документи продажу, а каталог і залишки — з її YML-експорту, тож продажі, склад і документи сходяться в одному місці без ручного перенесення.

Коли це знадобиться:

  • Менеджери працюють у SalesDrive — нова заявка з'являється в Elbuz за секунди.
  • У CRM накопичилася історія — перше завантаження по API переносить її сторінками, не створюючи дублів.
  • Каталог ведеться в SalesDrive — товари й залишки приходять із фіда, і позиції заявок одразу знаходять свої картки.
  • Статус заявки змінився в CRM — документ оновлює оплату й доставку, а статус менеджера не затирає.

З чого почати: візьміть у SalesDrive посилання на YML-експорт і API-ключ, потім створіть шаблон «CRM SalesDrive».

Що вміє підключення SalesDrive

Підключення працює двома каналами одночасно: заявки приходять вебхуком і по API, каталог — із YML-фіда.

Де це і хто має доступ

Меню
Довідники → Операції → Завантаження даних
Тип шаблону
«CRM SalesDrive»
Право доступу
вікно «Завантаження даних» у «Правах груп»
Підготувати
посилання на YML-експорт, субдомен кабінету й API-ключ SalesDrive

У картці «Підключення» шаблону три поля, і кожне відповідає за свій канал:

ПолеЗа що відповідає
Посилання APIYML-експорт товарів із SalesDrive — каталог і залишки
Кабінет SalesDriveСубдомен вашого кабінету (наприклад mycompany) — потрібен для завантаження замовлень по API
API-ключКлюч для читання заявок — історія замовлень і добір змінених

Окремо у формі є поле з адресою вебхука: Elbuz генерує її сам, вам лишається скопіювати (достатньо клацнути по полю) і вставити в налаштування SalesDrive.

Форма підключення CRM SalesDrive — картка «Підключення»
1Посилання на YML-експорт — каталог і залишки
2Поле «Кабінет SalesDrive» — субдомен
3Поле «API-ключ» — для завантаження замовлень
  1. Посилання на YML-експорт товарів із кабінету SalesDrive використовується для завантаження каталогу і залишків.
  2. У полі «Кабінет SalesDrive» вказується субдомен облікового запису, наприклад mycompany.
  3. API-ключ потрібен для завантаження історії замовлень через API.

Що потрібно від SalesDrive

Де в SalesDriveЩо зробити
«Установки» → «Товари/Послуги» → «Експорт YML»скопіювати посилання на експорт
«Установки» → «Інші сервіси» → «Webhook»вставити адресу вебхука з Elbuz
«Установки» → «Інші сервіси» → «API»створити ключ із правами «Заявки — читання»

Elbuz забирає заявки й нічого не змінює в CRM, тож ключу вистачає прав читання заявок. Не видавайте інтеграції зайвих прав.

Як підключити

  1. Створіть шаблон типу «CRM SalesDrive» і збережіть його — адреса вебхука з'являється саме для збереженого шаблону.
  2. Вставте посилання на YML-експорт, субдомен кабінету й API-ключ.
  3. Скопіюйте адресу вебхука й пропишіть її в налаштуваннях SalesDrive; у картці «Приймання замовлень (Webhook)» поставте галочку «Використовувати вебхуки».
  4. Спершу запустіть завантаження каталогу, щоб товари вже були в Elbuz, і лише потім вмикайте заявки: тоді позиції заявок одразу знаходять свої картки, а не створюють напівпорожні дублікати.
  5. Перевірте перші заявки очима — склад, суму, покупця, службу доставки. Якщо всі документи приїхали з однаковим статусом, заповніть таблиці зіставлення (які саме).

Що переноситься із заявкою

Дані SalesDriveПоле документа в Elbuz
зовнішній номер заявкиНомер документа
дати створення й зміниДата замовлення, дата зміни
ім'я, по батькові, прізвище контактуПІБ покупця
телефон і пошта контактуТелефон, e-mail
сума до сплатиСума документа
коментарОпис замовлення
статус заявкиСтатус документа (через зіставлення)
спосіб оплатиВид оплати (через зіставлення)
служба доставки, статус ТТНВид доставки, статус доставки
номер ТТН, місто, адреса, відділенняДані доставки
позиції: назва, артикул, ціна, кількістьРядки документа

Статуси заявки, види оплат і служби доставки приходять кодами SalesDrive. Зіставте їх зі своїми довідниками кнопками в картці «Пов'язані налаштування» у формі шаблону — це різні таблиці: окремо статуси замовлення, окремо статуси доставки, оплати й види оплат.

Якщо в заявці на позицію задано знижку — у відсотках чи сумою, — Elbuz перераховує ціну рядка одразу, з урахуванням цієї знижки. Тому ціна позиції в Elbuz може відрізнятися від «базової» ціни товару: це та ціна, за якою реально продано.

Покупці й службова категорія

Покупці. Кожна заявка шукає контрагента за поштою, потім за телефоном, потім за ідентифікатором контакту SalesDrive — і заводить нового в групі «Клієнт», якщо нікого не знайшла. Якщо в заявці є контакт SalesDrive, а пошти й телефону немає, програма теж заводить нового контрагента й прив'язує його до ID цього контакту.

Службовому контрагенту «Кінцевий споживач» дістається лише заявка без контакту, пошти й телефону: він створюється один раз і далі приймає всі такі документи. Видалений «Кінцевий споживач» повернеться сам із першою такою заявкою.

Категорія під невідомі позиції. Якщо товар із рядка заявки не знайшовся в каталозі, Elbuz заводить під нього картку й кладе її в службову категорію «Товари - salesdrive - назва вашого шаблону». Вона створюється вимкненою і без участі у вивантаженнях; наступний прогін знаходить її за назвою і кладе картки туди ж.

  • Контрагент після видалення спершу лежить у кошику. Нова заявка з тією ж поштою чи телефоном знову знайде саме його. Повне видалення контрагента документів не ламає: позиції, суми й ім'я покупця в них лишаються, зникає лише посилання на картку.
  • Службову категорію видаляйте лише порожньою — разом із категорією видаляються товари, для яких вона основна. Рядки вже завантажених документів не постраждають: назву, артикул, ціну й кількість документ зберігає власними полями. Порядок розкладання — в огляді завантаження даних.

Як заявки приходять і що повторний прогін робить із правками

Більшість підключень у Elbuz працюють поллінгом — програма періодично питає майданчик, чи є новини. SalesDrive працює вебхуком (так само приймаються замовлення з Shopify і Wix): CRM сама стукає в Elbuz, щойно заявка створена або змінена. Заявка з'являється в Elbuz за секунди, а не за розкладом.

Адреса вебхука містить секретний ключ, який Elbuz генерує при першому відкритті форми шаблону, — саме за ним він розуміє, у який шаблон класти заявку. Тому адресу не публікуйте ніде, крім налаштувань самої CRM.

Обидва канали пишуть заявки з однаковими ознаками джерела, тому заявка, що приїхала й вебхуком, і плановим завантаженням, не подвоюється: Elbuz упізнає її за внутрішнім ID заявки SalesDrive і працює з тим самим документом. Вебхук ловить поточний потік, а планове завантаження добирає загублене (наприклад, поки Elbuz був недоступний) і переносить історію при першому підключенні.

Що Elbuz робить із заявкою, яку надіслав вебхук: ліва гілка — відмова без жодного сліду в журналі, права — новий документ або оновлення наявного
нітакнітакнітакнітактакніSalesDrive надсилає заявку наадресу вебхукаКлюч в адресі збігся, шаблон«Активний», стоїть«Використовувати вебхуки»?Нічого не записано, у журналіпорожньоЦе заявка і в ній є ID?Документ із цим ID заявки вже є?Створюється новий документ ізпокупцем і рядкамиПодія — зміна статусу?Документ не змінюєтьсяДокумент проведений?Оновлюються оплата й доставка.Ваш статус — лише якщо статус уCRM став іншимГотово
  • Початок або кінець
  • Дія або результат
  • Розвилка: далі шлях залежить від відповіді

Що повторний прогін робить із вашими правками

Та сама заявка приїжджає до Elbuz не один раз: спершу вебхуком, потім її може принести планове завантаження, а після зміни в CRM — знову вебхук. Документ при цьому завжди один: програма шукає його за внутрішнім ID заявки SalesDrive разом із кодом джерела salesdrive.

Що в документіЩо робить повторний прогін
Сума, ПІБ покупця, телефон, пошта, коментар, місто, адреса, відділення, номер ТТННе змінює: записуються лише при створенні документа
Склад документа — назви, ціни, кількості в рядкахНе змінює, навіть якщо в CRM їх потім змінили
Спосіб оплати, служба доставки, статус доставкиПриводить до того, що сказала CRM
Статус оплатиНе змінює: заявка SalesDrive його не передає
Ваш статусЗмінює, лише якщо статус у CRM став іншим, ніж минулого разу
Статус самої заявкиЗберігає в колонці «Статус документа (сайт)» списку замовлень
Будь-яке поле проведеного документаНе змінює

Оновлюють наявний документ не всі канали:

  • вебхук про нову заявку лише створює документ, якого ще немає;
  • вебхук про зміну статусу в CRM оновлює документ за таблицею вище;
  • планове завантаження оновлює, коли в блоці «Розширене» вже стоїть дата в полі «Завантаження замовлень починаючи з дати (РРРР-ММ-ДД)»;
  • перше перенесення історії (поля «Розширене» порожні) наявних документів не чіпає — лише додає нові.

Номер ТТН, місто й адреса беруться з заявки лише при створенні документа. Якщо накладну оформлює менеджер CRM уже після того, як заявка приїхала, впишіть номер у документ руками. Те саме з сумою й позиціями: додали товар у заявку на боці SalesDrive — у документі Elbuz нічого не зміниться.

Незіставлений статус нічого не псує. Якщо для статусу замовлення чи оплати в таблиці зіставлення немає рядка, у документі лишається те, що вже стоїть. Вид оплати й вид доставки порожніми не бувають: без рядка зіставлення програма підбирає їх за назвою з CRM, а коли й це не вдалося — ставить значення за замовчуванням.

Таблиця зіставлення статусів працює в момент приймання заявки: заповнили її пізніше — уже завантажені документи не переграються, їм статус міняють руками.

Проведіть документ: у проведеного завантаження не змінює жодного поля. Ознаку видно в колонці «Статус проводки (підписи)». Загальний розбір «хто кого перезаписує» — в огляді імпорту замовлень.

Як завантажити каталог і залишки

Товари з SalesDrive приходять не по API, а звичайним YML-фідом: ви вставляєте посилання на експорт із кабінету, і Elbuz читає його так само, як будь-який інший XML-прайс. Фід можна відкрити в браузері й побачити, що саме віддає CRM.

Головна користь цього каналу — зіставлення позицій. У заявці SalesDrive у кожної позиції є поле «ID товару/послуги», і саме туди потрапляє ідентифікатор із фіда. Коли каталог і заявки приходять з одного джерела, позиції зіставляються з вашими картками автоматично, без здогадок за назвою.

Каталог із фіда лягає в базовий каталог — у вікно «Товари», а не в прайс-листи постачальників. Картка впізнається за ідентифікатором оферу з фіда: збігся — оновлюються залишок, ціна, категорія, артикул, назва й опис; не збігся — заводиться нова картка. Що тягнути з фіда, крім товарів, вмикають галочками в секції «Що завантажувати»: «Завантажувати атрибути», «Завантажувати фото», «Заповнювати довідник виробників».

Один запуск шаблону робить обидві роботи по черзі: спершу читає YML-фід, потім іде по API за заявками. Порожнє поле посилання означає «каталог не вантажити», порожній API-ключ — «заявки не вантажити».

Один запуск шаблону: спершу фід, потім заявки сторінками. Дата в блоці «Розширене» вирішує, чи будуть оновлюватися вже наявні документи
такнінітакнітактак: заявки, змінені післядати, наявні документионовлюютьсяні: усі заявки або знаступного ID, лише новінітактак, пауза 6 секундніЗапуск шаблону — вручну або зарозкладом«Посилання API» заповнене?YML-фід читається в базовийкаталог«API-ключ» заповнений?Кінець прогону«Кабінет SalesDrive» заповнений?Червоний рядок у журналі, прогінзупиненоУ блоці «Розширене» є дата?Запит сторінки на 100 заявокCRM відповіла і сторінказаписалась без помилки?Сторінка записана, поля«Розширене» зсунутоЄ ще сторінки і не натиснутозупинку?
  • Початок або кінець
  • Дія або результат
  • Розвилка: далі шлях залежить від відповіді

На вітрину й майданчики каталог сам не поїде — для цього потрібне окреме «Вивантаження даних» (коли завантажене поїде далі).

Чого не стало у фіді

Позиція зникла з YML-експорту — за замовчуванням її картка лишається в каталозі з останньою ціною й залишком, без рядка в журналі. Змінює це галочка «Видаляти записи в базовому каталозі, яких немає в завантаженому файлі» в секції «Що завантажувати»: для SalesDrive вона справді працює, бо каталог приходить фідом. Як саме вона видаляє — в огляді завантаження даних.

Відбір не звужений до товарів цього джерела: під видалення потрапляє і те, що ви завели руками або завантажили з іншого підключення, а також категорії, яких немає у фіді. Вмикайте її, лише коли фід SalesDrive — єдине наповнення вашого каталогу. Уже завантажені заявки від цього не псуються: рядок документа зберігає назву, артикул, ціну й кількість власними полями.

Оновлення за розкладом і вимкнення

API SalesDrive має жорсткі обмеження: близько 10 запитів на хвилину, 100 на годину і 1000 на добу. Elbuz забирає заявки сторінками по 100 штук з паузою 6 секунд між сторінками, тож масове завантаження історії йде неквапливо. Розклад планового завантаження ставте не частіше ніж раз на 15 хвилин: поточний потік усе одно ловить вебхук.

У шапці картки шаблону є пілюля «Активний» / «Вимкнений», а в секції приймання заявок — галочка «Використовувати вебхуки». Вони вимикають різне.

Шапка форми шаблону «Моя CRM SalesDrive» зі станом «Вимкнений»
1Пілюля стану «Вимкнений»
  1. Пілюля стану: «Вимкнений» знімає шаблон із розкладу й зупиняє приймання вебхука.
Що зробилиЩо перестає працювати
Перевели пілюлю у «Вимкнений»планувальник більше не бере цей шаблон, і вебхук теж перестає прийматися: заявку від SalesDrive Elbuz не запише
Зняли «Використовувати вебхуки»вебхук не приймається, розклад працює як раніше
Прибрали API-ключзаявки по API не тягнуться, каталог із фіда вантажиться
Прибрали посилання на YML-експорткаталог не вантажиться, заявки приймаються

Коли шаблон вимкнений або галочка знята, Elbuz на звернення CRM не відповідає нічим і нічого не пише в журнал: з боку SalesDrive відправка виглядає вдалою, а заявки в Elbuz немає. Тому після вимкнення шаблону дивіться в список замовлень, а не у звіт вебхуків на боці CRM.

Увімкнули назад — ключі, галочки, розклад і адреса вебхука на місці, у CRM нічого переставляти не треба. Заявки, які SalesDrive намагався віддати за час простою, вебхук повторно не пришле, але їх добере завантаження по API: воно бере заявки, змінені після дати в полі «Завантаження замовлень починаючи з дати». Кнопка «Завантажити» працює й на вимкненому шаблоні (вимкнути чи видалити шаблон).

Як перевірити прогін і виправити помилку

Журнал завантаження відкривається в Центрі операцій — правій панелі, яка не блокує роботу: картку шаблону можна закрити, прогін від цього не зупиниться.

Рядок журналуЩо він означає
«SalesDrive: сторінка замовлень 2 із 5, завантажено всього: 200»скільки сторінок API вже прочитано і скільки заявок з них розібрано
«Отримано замовлень: 100»скільки заявок принесла ця сторінка — разом і нових, і вже відомих
«Всього замовлень завантажено: 12»скільки з них стало новими документами; решта вже була в базі. Немає рядка — нового нічого
«Всього товарів завантажено: 3»скільки карток довелося завести під позиції, яких не знайшлося в каталозі
«SalesDrive: помилка API — …»червоний рядок із текстом відмови від CRM; прогін на ньому зупиняється
«Завантаження даних завершено!»кінець прогону, поруч — витрачений час

У списку замовлень приймання підтверджують колонки «Джерело: назва» (назва вашого шаблону) і «Джерело (код)» зі значенням salesdrive. Поруч корисні ще чотири:

  • «№ документа (сайт)» — номер заявки в CRM;
  • «ID документа зовнішній (рядок UUID)» — її внутрішній ідентифікатор, за яким документ впізнається при повторному прогоні;
  • «Дата додавання (джерело)» і «Дата оновлення (джерело)» — дати самої заявки, а не моменту завантаження.

Немає потрібної колонки — увімкніть її в налаштуванні колонок вікна. Заявку, що прийшла вебхуком, шукають там само: картки операції з підсумком вебхук не показує.

Якщо прогін обірвався

Сторінка на 100 заявок читається з API й одразу пишеться в базу, і одразу ж зсувається позначка «докуди дійшли» — поля «Завантаження замовлень починаючи з ID» і «Завантаження замовлень починаючи з дати» в блоці «Розширене» картки шаблону. Тому обрив ділить роботу надвоє: прочитані сторінки вже лежать документами, до решти справа не дійшла.

Розгорнутий блок «Розширене» у формі шаблону «Моя CRM SalesDrive»
1Починаючи з ID
2Починаючи з дати
  1. «Починаючи з ID» — докуди дійшло завантаження заявок.
  2. «Починаючи з дати» — з неї планове завантаження бере змінені заявки.

Повтор безпечний: заявка, яка вже стала документом, упізнається за своїм ID і другого документа не створює. Тож на обрив реагуйте просто — запустіть завантаження ще раз.

  • Програма чекає CRM 30 секунд на з'єднання і до 120 секунд на відповідь. Не дочекалася або отримала відмову — червоний рядок «SalesDrive: помилка API —», і прогін зупиняється; повторних спроб у цього підключення немає.
  • Кнопка зупинки на заявках спрацьовує між сторінками: поточну сторінку програма дочитує й записує, а наступну вже не бере.

Якщо завантажили не те

Найчастіший привід — перший прогін із незаповненими таблицями зіставлення: заявки приїхали, але всі з одним статусом. Лікується це не перезавантаженням, а відбором і видаленням.

  1. У списку замовлень відфільтруйте «Джерело (код)» за значенням salesdrive і додайте відбір за «Дата додавання» — вийде рівно те, що це підключення завело в конкретний день.
  2. Виділіть рядки й видаліть пачкою. Одразу після видалення з'являється повідомлення «Видалено документів: N» із кнопкою «Скасувати», яка повертає всю пачку разом із рядками. Пропустили момент — пачка 30 днів лежить у «Кошику документів» (бургер-меню вікна).
  3. Очистіть у блоці «Розширене» поля «Завантаження замовлень починаючи з ID» і «Завантаження замовлень починаючи з дати», збережіть шаблон і запустіть завантаження заново — заявки приїдуть уже через заповнені таблиці зіставлення. Без цього кроку видалені заявки самі не повернуться: позначка «докуди дійшли» вже зсунута.

Проведені документи пачка не забере: у відповідь прийде «Проведені документи не видалено (N). Спершу скасуйте проведення». Це навмисно — видалення проведеного не відкотило б ні оборот контрагента, ні резерв.

Сценарії

Заявки з CRM — у документи, каталог ведете в Elbuz самі

Заповніть «Кабінет SalesDrive» і «API-ключ», поле «Посилання API» лишіть порожнім, адресу вебхука пропишіть у SalesDrive, а в картці «Приймання замовлень (Webhook)» поставте галочку «Використовувати вебхуки». Запуск шаблону тоді не читає фід, а лише завантажує заявки по API, а нові заявки з вебхука стають документами продажу.

Каталог при цьому не оновлюється. Позицію заявки програма шукає у ваших картках за назвою разом з артикулом, потім за самою назвою; не знайшла — заводить картку у службовій категорії.

Перенести історію заявок при підключенні

Заповніть «Кабінет SalesDrive» і «API-ключ», поля «Завантаження замовлень починаючи з ID» і «Завантаження замовлень починаючи з дати (РРРР-ММ-ДД)» у блоці «Розширене» лишіть порожніми й запустіть шаблон. Заявки приходять сторінками по 100 з паузою 6 секунд, кожна сторінка пишеться в базу до запиту наступної, а поля «Розширене» заповнюються самі. Наявних документів цей прогін не змінює.

Потрібна історія не з початку — впишіть у поле «Завантаження замовлень починаючи з ID» внутрішній ID заявки SalesDrive, до якої включно переносити не треба, а поле дати лишіть порожнім: прогін почне з наступної.

Статуси й оплата з CRM доходять у документ, а менеджер веде свій статус

У картці «Пов'язані налаштування» заповніть таблиці «Статуси замовлення» й «Статуси доставки», увімкніть вебхук і розклад планового завантаження. Коли заявка в CRM змінюється, документ отримує нові оплату й доставку, а ваш статус — лише якщо статус у самій CRM став іншим, ніж минулого разу. Сума, склад, покупець і номер ТТН лишаються такими, якими документ створився; проведених документів оновлення не чіпає.

Каталог Elbuz повністю дзеркалить фід SalesDrive

Вставте посилання на YML-експорт у «Посилання API» і в секції «Що завантажувати» поставте галочку «Видаляти записи в базовому каталозі, яких немає в завантаженому файлі». Товари й категорії, яких немає у фіді, видаляються фізично — зокрема картки, які ви завели руками (чого не стало у фіді). Уже завантажені документи від цього не псуються.

Що робити, коли заявки не приходять

Розбір частих проблем
Що ви бачитеЧому такЩо зробити
Заявка є в SalesDrive, а в Elbuz не з'являється Адресу вебхука скопійовано не повністю або не прописано в SalesDrive; шаблон вимкнений чи знята галочка «Використовувати вебхуки» Скопіюйте адресу разом із ключем на кінці й перевірте стан шаблону (що що вимикає)
«SalesDrive: вкажіть кабінет і API-ключ для завантаження замовлень» Ключ заповнено, а поле «Кабінет SalesDrive» порожнє Впишіть субдомен кабінету (поля підключення)
Прогін зробив лише каталог, про заявки в журналі нічого Поле «API-ключ» порожнє Створіть ключ у SalesDrive і вставте в шаблон (де взяти)
«SalesDrive: помилка API — …» про перевищення лімітів Розклад запускає завантаження надто часто Поставте розклад не частіше ніж раз на 15 хвилин (ліміти)
Позиції заявок не зіставляються з каталогом Каталог в Elbuz прийшов не з того YML-експорту: ідентифікатори різні Завантажте каталог із фіда SalesDrive (каталог і залишки)
Усі заявки приїхали з однаковим статусом Таблиця зіставлення статусів не заповнена Заповніть таблицю й перезалийте період (як)
ТТН, виписаної в CRM, немає в документі ТТН береться лише при створенні документа Впишіть номер руками (що оновлюється)

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

Які права потрібні API-ключу SalesDrive?

Достатньо читання заявок («Заявки — читання»): Elbuz забирає дані й нічого не змінює в CRM. Ключ створюється в «Установки» → «Інші сервіси» → «API».

Навіщо вебхук, якщо є API-ключ?

Вебхук приносить заявки миттєво, а API-ключ переносить історію при першому підключенні й добирає те, що могло не дійти. Та сама заявка при цьому не подвоюється (як працюють канали).

Чому завантаження історії таке повільне?

Через ліміти SalesDrive — близько 10 запитів на хвилину. Elbuz витримує паузи між сторінками, тому велика історія переноситься поступово (ліміти).

Звідки беруться товари — теж по API?

Ні, каталог і залишки приходять з YML-експорту SalesDrive, посилання на який вставляється в поле «Посилання API». Це ж дає точне зіставлення позицій у заявках.

Чи затре повторне завантаження мої правки в заявці?

Ні: сума, покупець, коментар, адреса, ТТН і склад документа лишаються ваші, а ваш статус змінюється лише після зміни статусу в CRM. Проведений документ не змінюється взагалі (таблиця полів).

Помилково завантажив заявки — як прибрати?

Відфільтруйте список замовлень за «Джерело (код)» = salesdrive і видаліть пачкою; кнопка «Скасувати» й «Кошик документів» повертають видалене (покроково).

Суміжні теми

Чи була стаття корисною?