5 мин чтения
Как связать Kaspi.kz с 1С: заказы, остатки и дубли клиентов
Как устроена выгрузка заказов с Kaspi в 1С и отправка остатков обратно, где обмен обычно ломается и сколько он стоит.
Содержание
Выгрузку заказов с Kaspi.kz в 1С лучше строить не напрямую, а через небольшой промежуточный сервис. Он забирает новые заказы из Kaspi и создаёт их в 1С, находит покупателя по телефону, чтобы не заводить клиента второй раз, а остатки и цены из 1С отправляет обратно на Kaspi.
Каждый обмен сервис записывает в журнал. Поэтому при сбое заказ не теряется, а при повторной отправке не создаётся дважды. На похожем работающем проекте, где Kaspi связывали с ERP и CRM, новые заказы попадали в CRM примерно за минуту, а остатки на Kaspi обновлялись примерно за 10 минут.
Какие данные передаются между Kaspi и 1С
| Данные | Откуда и куда | Когда |
|---|---|---|
| Новые заказы | из Kaspi в 1С | раз в минуту |
| Клиенты | из заказов Kaspi в 1С и CRM | вместе с заказом |
| Остатки | из 1С на Kaspi | по расписанию и при изменении |
| Цены | из 1С на Kaspi | по расписанию |
Почему не модулем внутри 1С
Модуль или обработка внутри 1С, которая сама ходит в Kaspi, выглядит проще и дешевле. Я бы так не делал, и вот почему:
- 1С бывает занята закрытием периода или обновлением, и обмен в это время молча стоит.
- Если ответ потерялся по дороге, повторный запрос создаёт второй заказ.
- Когда что-то не прошло, трудно понять, что именно и когда.
Промежуточный сервис хранит своё состояние в PostgreSQL: какой заказ уже забран, в каком статусе обмен, какая была ошибка. Если 1С недоступна, заказы ждут в очереди и уходят, когда она вернётся.
Как защитить обмен от повторов, я подробно разбирал в статье «Повторный запрос не должен создавать второй заказ».
Как работает обмен заказами и остатками
- Раз в минуту сервис запрашивает новые заказы через API Kaspi Магазина. Токен для него продавец создаёт в своём кабинете.
- Товары из заказа сопоставляются с номенклатурой 1С по артикулу. Если соответствия нет, сервис не подставляет товар наугад, а отправляет заказ в очередь на ручной разбор.
- Покупатель ищется по телефону. Если он уже есть в 1С или CRM, заказ привязывается к нему, иначе создаётся новый клиент.
- Заказ создаётся в 1С вместе с номером заказа Kaspi. Перед созданием сервис проверяет, нет ли уже заказа с таким номером.
- Остатки и цены из 1С уходят на Kaspi по расписанию и при изменении. Витрина Kaspi обновляется не мгновенно, и для товара, которого осталась одна штука, эту задержку стоит учитывать.
- Сверка по расписанию сравнивает заказы и остатки в обеих системах и показывает расхождения.
Где интеграция Kaspi с 1С обычно ломается
- Артикулы не совпадают. В Kaspi товар заведён под одним артикулом, в 1С под другим. Таблицу соответствий нужно собрать до запуска, иначе часть заказов уйдёт в ручной разбор.
- Один клиент заведён несколько раз. Телефон записан по-разному: через +7, через 8, с пробелами. Перед сравнением номер приводится к одному виду.
- Несколько складов. Заранее решите, остатки каких складов показывать на Kaspi.
- Отмены. Заказ, отменённый на Kaspi, должен снять резерв в 1С. Иначе товар так и висит в резерве под заказ, которого уже нет.
- Тихая остановка. Обмен может встать без единой ошибки на экране. Нужно оповещение, если заказы не приходили дольше обычного.
Оповещение о тихой остановке я бы не откладывал на потом. Без него про остановку узнают от покупателя, который звонит спросить, где его заказ.
Что получилось на реальном проекте
Розничная компания в Казахстане переносила заказы с Kaspi вручную. Менеджеры набирали их в ERP и CRM, остатки на маркетплейсе отставали от склада, и часть заказов приходилось отменять.
Проект связывал Kaspi с ERP и CRM. С 1С схема та же, меняется только способ обращения к учётной системе. После запуска промежуточного сервиса:
| Показатель | Результат |
|---|---|
| Новый заказ в CRM | примерно за 1 минуту |
| Обновление остатков на Kaspi | примерно за 10 минут |
| Время обработки заказа | на 80 % меньше |
| Ошибки и ручная работа операторов | до двух раз меньше |
| Отмены из-за неактуальных остатков | вдвое меньше |
Подробнее в описании проекта «Интеграция Kaspi.kz с ERP и CRM».
Сколько стоит интеграция Kaspi с 1С
Цена зависит от того, сколько данных и в какую сторону нужно передавать. Ориентиры по моим пакетам:
| Пакет | Что входит | Цена |
|---|---|---|
| Базовый | односторонний обмен, например загрузка заказов Kaspi в 1С, журнал обменов | 250 $ |
| Стандартный | двусторонний обмен: заказы в 1С, остатки на Kaspi, повторы при сбоях, объединение дублей | 600 $ |
| Расширенный | всё из стандартного, сверка по расписанию, оповещение при остановке обмена | 1 200 $ |
Цена фиксированная, если объём совпадает с описанием. Срок называю вместе с ценой, когда вижу задачу. Если заказы нужно передавать ещё и в Битрикс24, посмотрите, что влияет на цену обмена 1С и Битрикс24.
Что подготовить до начала
- Доступ к кабинету Kaspi Магазина.
- Название конфигурации 1С и список доработок, если они есть.
- Список складов, остатки которых должны быть на Kaspi.
- Выгрузку артикулов из Kaspi и из 1С, чтобы сверить соответствие.
- Имя сотрудника, который будет разбирать заказы, не прошедшие автоматически.
С этим списком можно написать мне: в ответ пришлю план обмена, главный риск и фиксированную цену.
Частые вопросы
Сколько стоит интеграция Kaspi с 1С?
Односторонний обмен, например загрузка заказов Kaspi в 1С, стоит 250 $. Двусторонний обмен с остатками и объединением дублей стоит 600 $, со сверкой и оповещением об остановке обмена 1 200 $. Цена фиксированная, если объём совпадает с описанием.
Как быстро заказ с Kaspi попадает в 1С?
Сервис запрашивает новые заказы через API Kaspi раз в минуту. На похожем проекте с ERP и CRM заказ доходил до CRM примерно за минуту.
Что будет с заказами, если 1С недоступна?
Они ждут в очереди промежуточного сервиса и уходят в 1С, когда она снова работает. Каждый обмен записан в журнал, поэтому повторная отправка не создаёт второй заказ.
Что делать, если артикулы в Kaspi и 1С не совпадают?
До запуска собрать таблицу соответствий по выгрузкам из обеих систем. Заказ с товаром, которого нет в таблице, сервис не создаёт наугад, а отправляет на ручной разбор.