Содержание
- Интеграция с YCP
- Настройка типа заказа
- Настройки оплат
- Настройки статусов заказа
- Настройки статусов товарных позиций
- Проверка корзины и остатков
- Создание и подтверждение заказа
- Отмена и завершение заказа
- Особенности работы
Интеграция с YCP
Сервис Yandex Checkout подключает RetailCRM к чекауту по протоколу YCP (Yandex Commercial Protocol).
Покупатель оформляет заказ во внешнем источнике, а сервис передает данные этого заказа в RetailCRM и поддерживает дальнейший обмен статусами.
Для этого сервис:
- проверяет товары, цены и остатки в RetailCRM по запросам со стороны чекаута;
- обрабатывает запросы на получение складов и точек самовывоза из RetailCRM;
- создает заказ в RetailCRM при старте оформления в чекауте;
- передает в RetailCRM данные заказа и последующие изменения: доставку, оплату, статусы заказа и товарных позиций согласно настройкам сопоставления.
Важно!
Сервис не является платежным шлюзом и не принимает деньги самостоятельно. Он получает сведения о способе оплаты при подтверждении заказа и создает оплату в заказе RetailCRM согласно настройкам сопоставления.
Подключение сервиса в RetailCRM
Для подключения модуля выполните несколько шагов.
Активируйте модуль
Перейдите в Настройки → Маркетплейс → CMS.
Найдите модуль YCP и нажмите Подключить.
При подключении модуль проверяет наличие типа заказа «Yandex Checkout» с символьным кодом ycp-order. Если такого типа нет, он создаётся автоматически и сразу активируется. Тип используется для явного определения заказов YCP.
Важно!
Если тип «Yandex Checkout» уже существует, но деактивирован, модуль не активирует его автоматически и подключение завершится ошибкой. В этом случае перейдите в раздел Настройки → Заказы → Типы заказов, активируйте тип «Yandex Checkout» и повторите подключение модуля.
При подключении RetailCRM передает сервису нужные права доступа к API (Application Programming Interface). Отдельно создавать API-ключ в RetailCRM не требуется.
После успешной активации перейдите в Настройки → Заказы. Внизу списка появится пункт меню «YCP». На этой странице добавляются и настраиваются подключения магазинов RetailCRM к чекауту.
Добавьте аккаунт YCP
Откройте страницу «Аккаунты YCP» и нажмите Добавить.
В форме добавления отображаются:
- «Адрес подключения» — базовый адрес YCP API сервиса;
- «Токен YCP» — токен для авторизации запросов от чекаута;
- «Магазин RetailCRM» — магазин, к которому будет привязан аккаунт.
Выберите магазин RetailCRM и нажмите Сохранить.
Важно!
Один аккаунт YCP можно привязать только к одному магазину RetailCRM. Если магазин уже используется в другом аккаунте YCP, он не будет доступен для выбора при добавлении нового аккаунта.
Если нужно подключить несколько магазинов, создайте отдельный аккаунт YCP для каждого магазина.
Регистрация в Яндекс Товарах
Для настройки YCP нужен аккаунт в сервисе Яндекс Товары.
Если у вас уже есть аккаунт в Яндекс Товарах, войдите в него под Яндекс ID, который используется для управления магазином.
Если аккаунта еще нет, зарегистрируйтесь в Яндекс Товарах и добавьте сайт магазина. При добавлении сайта Яндекс попросит подтвердить права на него.
После регистрации магазина и подтверждения прав добавьте в Яндекс Товары каталог из RetailCRM.
Создайте каталог для Яндекс Товаров
В настройках аккаунта YCP можно сформировать каталог товаров выбранного магазина RetailCRM в формате YML. Сервис размещает каталог по постоянной ссылке, которую нужно добавить в кабинет Яндекс Товаров.
Перед генерацией проверьте:
- в настройках магазина RetailCRM заполнены поля «URL» и «Юридическое лицо»;
- у торговых предложений добавлены изображения — предложения без изображений не попадут в фид;
- длина значений, которые будут переданы в теги YML, не превышает ограничения Яндекс Товаров.
Чтобы сформировать и подключить каталог:
- Откройте настройки аккаунта YCP и разверните блок «Аккаунт».
- Под полем «Магазин RetailCRM» нажмите Генерация каталога.
- Дождитесь, когда в строке «Статус генерации» появится значение «Успешно».
- Скопируйте адрес из строки «Ссылка на фид».
- Добавьте эту ссылку в кабинете Яндекс Товаров.
После первого запуска каталог обновляется автоматически раз в 4 часа. Ссылка на фид при этом не меняется.
Укажите данные подключения в YCP
Скопируйте «Адрес подключения» и «Токен YCP» из настроек аккаунта.
В личном кабинете YCP-чекаута укажите:
- адрес подключения, например
https://example.com; - токен YCP.
В блоке «URL для API и токен доступа» нажмите на иконку карандаша, чтобы открыть редактирование URL и токена доступа.
Важно!
Значение
Token API YCPв личном кабинете настроек чекаута в данной интеграции не используется, поэтому менять его не нужно.
После этого чекаут сможет обращаться к методам сервиса: проверять корзину, получать склады, создавать и обновлять заказы.
Если после сохранения данных в кабинете чекаута проверочный запрос не проходит, сначала проверьте, что токен и адрес подключения скопированы полностью из настроек аккаунта.
Настройки аккаунта
В блоке «Аккаунт» отображаются основные параметры подключения.
Адрес подключения
Адрес подключения формируется сервисом автоматически. Его нужно скопировать и вставить в кабинет чекаута.
В интерфейсе отображается адрес, который нужно передать в YCP без ручного изменения.
Токен YCP
Токен используется для авторизации всех запросов от чекаута.
Если токен нужно заменить, нажмите Перегенерировать, затем сохраните изменения.
Важно!
Новый токен начнет действовать только после сохранения аккаунта. После сохранения старый токен перестанет авторизовывать запросы чекаута.
Магазин RetailCRM
Магазин определяет, в каком магазине RetailCRM будут создаваться заказы и выполняться поиск товаров, а также из каких справочников будут загружаться настройки.
Если в RetailCRM несколько магазинов, для каждого магазина нужно создать отдельный аккаунт YCP.
После смены магазина сохраните аккаунт и проверьте сопоставления оплат, доставок и статусов: справочники могут отличаться для разных магазинов и настроек CRM.
Активность аккаунта
На странице списка аккаунтов можно включить или выключить аккаунт.
Если аккаунт выключен, запросы YCP с его токеном не принимаются. Это удобно, когда нужно временно остановить обмен для конкретного магазина, не отключая весь модуль.
Настройка типа заказа
После подключения модуля в блоке «Тип заказа» выберите тип заказа RetailCRM, который будет назначаться заказам, созданным через YCP. По умолчанию используется созданный при подключении тип «Yandex Checkout», но для аккаунта можно выбрать другой активный тип. Настройка задаётся отдельно для каждого аккаунта YCP.
В списке доступны только активные типы заказов RetailCRM. Если сохранённый тип был деактивирован, выберите другой активный тип и нажмите Сохранить.
Настройки оплат
В блоке «Оплаты» задается сопоставление способов оплаты чекаута с типами оплат RetailCRM.
Доступные способы оплаты, которые могут быть выбраны на стороне чекаута:
- «Оплата при доставке»;
- «Карта»;
- «СБП»;
- «Сплит»;
- «Сплит + СБП».
Для каждого способа оплаты выберите тип оплаты RetailCRM.
Все способы оплаты со стороны чекаута, кроме «Оплата при доставке», подразумевают, что заказ уже оплачен. Для них дополнительно выбирается статус оплаты RetailCRM. Список статусов зависит от выбранного типа оплаты: доступны только статусы, разрешенные для этого типа оплаты в RetailCRM.
Важно!
Для онлайн-заказа сервис создает оплату только после подтверждения заказа. Если для способа онлайн-оплаты не выбран тип оплаты RetailCRM или статус оплаты, подтверждение заказа не будет обработано корректно.
Для «Оплаты при доставке» статус оплаты не применяется.
Пример: если в чекауте был выбран способ оплаты «Карта», ему в настройках сервиса были сопоставлены тип оплаты RetailCRM «Банковская карта» и статус оплаты «Оплачен», то после подтверждения онлайн-заказа сервис создаст в заказе RetailCRM оплату с этими значениями.
Настройки доставок
В блоке «Доставки» задается сопоставление типов доставки чекаута с типами доставки RetailCRM.
Доступные варианты доставки:
- «Яндекс Доставка»;
- «CDEK»;
- «ПЭК»;
- «Почта России»;
- «Dalli»;
- «Самовывоз»;
- «Доставка продавца»;
- «YCP».
Для каждого варианта выберите отдельный тип доставки RetailCRM, который должен попасть в заказ.
Один тип доставки RetailCRM нельзя использовать для нескольких типов доставки чекаута.
Если вы не знаете заранее, какие варианты доставки будет передавать чекаут, заполните сопоставление для всех вариантов из списка. Так заказ не остановится из-за отсутствующей настройки.
Если заказ приходит с типом доставки, для которого не задано сопоставление, сервис не сможет создать заказ в RetailCRM.
Интервалы курьерской доставки
Покупатель может выбрать время курьерской доставки при оформлении заказа. Доступные интервалы задаются в настройках типа доставки RetailCRM, сопоставленного с аккаунтом YCP.
Важно!
Настройка доступна только для неинтеграционных типов доставки — без подключения к службе доставки. Получение интервалов от интеграционных служб доставки сейчас не поддерживается. Название типа доставки не определяет наличие интеграции.
Чтобы настроить интервалы:
- Откройте настройки аккаунта YCP и разверните блок «Доставки». Для варианта «YCP» или «Доставка продавца» выберите нужный неинтеграционный тип доставки RetailCRM и сохраните настройки. Тип должен быть активен и доступен для магазина, к которому привязан аккаунт.
- Перейдите в Настройки → Заказы → Типы доставок. Откройте выбранный тип доставки и перейдите на вкладку «Стоимость».
- В поле «Стоимость» укажите цену доставки, например 500 ₽.
- Выберите тип расчёта «Динамический» и включите параметр «Зависит от времени и дня недели».
- В блоке «Наценка по времени и дням недели» добавьте условия: укажите время начала и окончания каждого интервала и дни недели, когда он доступен. Для каждого интервала нужна отдельная строка. Если дни недели не указаны, модуль применяет условие ежедневно. Значения наценок для этого сценария оставьте равными нулю.
- Сохраните изменения. При оформлении заказа выберите курьерскую доставку и укажите адрес, чтобы проверить доступные интервалы и стоимость.
Настройка стоимости доставки и зависимости от времени и дня недели:
Например, для доставки стоимостью 500 ₽ можно добавить 12 часовых интервалов: 08:00–09:00, 09:00–10:00 и далее до 19:00–20:00. Каждый доступный интервал будет предложен покупателю отдельно по цене 500 ₽.
Пример двенадцати часовых интервалов с нулевыми наценками:
Как выбираются дата и время
Сервис учитывает часовой пояс RetailCRM. Уже начавшиеся интервалы не предлагаются, даже если время их окончания ещё не наступило. Начало и конец интервала сохраняются такими, как они заданы в RetailCRM. Например, в 12:05 или 12:40 интервал 12:00–13:00 уже недоступен; первым будет предложен 13:00–14:00, если он настроен.
Если на сегодня доступных интервалов не осталось, сервис предлагает интервалы на завтра с учётом настроенных дней недели. Если подходящих интервалов нет и завтра, курьерская доставка недоступна. Более поздние даты сервис не подбирает.
Сервис обновляет часовой пояс автоматически каждый день в 00:00 по московскому времени. Если часовой пояс изменён в RetailCRM, новое значение начнёт использоваться после следующего успешного ночного обновления. До этого применяется ранее сохранённый пояс.
После первого подключения курьерские интервалы станут доступны после получения часового пояса при ночном обновлении. Если обновление временно не удалось, сервис продолжает использовать последнее сохранённое значение.
Стоимость доставки
Для всех интервалов используется сумма из поля «Стоимость» выбранного типа доставки RetailCRM. Наценки по времени и дням недели, а также условия по региону, весу и сумме заказа при получении вариантов доставки через YCP сейчас не учитываются.
Важно!
Модуль использует время из блока «Наценка по времени и дням недели» для выбора доступных интервалов в YCP. Эта настройка не ограничивает время доставки в других сценариях работы RetailCRM.
Настройки статусов заказа
В блоке «Статусы заказа» задается сопоставление статусов чекаута со статусами RetailCRM.
Доступные статусы:
- «Создание заказа» — используется при первичном создании заказа в RetailCRM;
- «Оформление заказа» — устанавливается после подтверждения заказа в YCP;
- «Отмена заказа» — устанавливается при отмене оформления или отмене уже созданного заказа;
- «Завершение заказа» — устанавливается после передачи информации о доставленном заказе.
Каждый статус чекаута нужно сопоставить с отдельным статусом RetailCRM.
Например, «Создание заказа» можно сопоставить со статусом RetailCRM «Новый», «Оформление заказа» — со статусом «Оформлен», а «Отмена заказа» — со статусом «Отменен». Конкретные значения зависят от воронки заказов в RetailCRM.
Важно!
Если не заполнить обязательное сопоставление статусов, соответствующий этап обмена не сможет обновить заказ в RetailCRM.
Настройки статусов товарных позиций
В блоке «Статусы товарных позиций» задается сопоставление результатов выкупа с товарными статусами RetailCRM.
Доступные значения:
- «Позиция выкуплена полностью»;
- «Позиция выкуплена частично»;
- «Позиция возвращена».
Эти настройки используются, когда чекаут сообщает, какие товары были выкуплены после доставки.
Сервис сравнивает количество выкупленных товаров с количеством в заказе:
- если выкуплено все количество, устанавливается статус «Позиция выкуплена полностью»;
- если выкуплена часть количества, устанавливается статус «Позиция выкуплена частично»;
- если количество выкупа равно нулю, устанавливается статус «Позиция возвращена».
Склады и самовывоз
В блоке «Склады» выберите склады RetailCRM, которые будут передаваться в YCP и использоваться при проверке остатков и создании заказов. Настройка задаётся отдельно для каждого аккаунта YCP.
Правила выбора складов:
- до первого сохранения используются все активные склады RetailCRM;
- после сохранения используются только выбранные и активные склады;
- новые склады RetailCRM после сохранения не подключаются автоматически — их нужно выбрать вручную;
- должен быть выбран хотя бы один активный склад;
- невыбранные и деактивированные склады не передаются в YCP, их остатки и пункты самовывоза не учитываются, а создать заказ на таком складе нельзя.
Важно!
Деактивированный склад исключается из обмена сразу и отображается серым с пометкой «Деактивирован в RetailCRM». Такой склад нельзя выбрать, но если он был выбран ранее, его можно убрать из настройки.
Если ранее выбранный склад снова активировать в RetailCRM и не убирать из настройки, он автоматически вернётся в обмен.
Список и активность складов загружаются из RetailCRM при каждом открытии страницы настроек и не кешируются. Активность также проверяется при каждом обращении YCP.
Для передачи склада используются его код, название, адрес, телефон, описание и настройки самовывоза. Заполните эти поля в RetailCRM для каждого используемого склада.
Точка самовывоза доступна, только если склад активен и для него заполнено рабочее время. Для самовывоза используется часовой пояс +3 — учитывайте это при настройке графика работы.
Пункты выдачи и оплата при получении
Склады RetailCRM используются для передачи собственных пунктов выдачи в Яндекс. Для каждого такого склада заполните адрес, координаты и график работы, убедитесь, что склад активен, и выберите его в блоке «Склады» нужного аккаунта YCP.
Важно!
В карточке склада необходимо указать корректные координаты — широту и долготу фактического места выдачи заказа. Одного текстового адреса недостаточно: модуль передаёт координаты из RetailCRM и не определяет их самостоятельно. При отсутствующих или неверных координатах пункт может не отображаться в нужном месте или быть недоступен покупателю.
После выбора склада появляется блок «Оплата при получении». Включите способы, которыми покупатель действительно может оплатить заказ в этом пункте выдачи:
- Наличными — если пункт принимает наличные.
- Картой — если в пункте можно оплатить заказ банковской картой.
Настройки задаются отдельно для каждого склада и аккаунта YCP. После изменения нажмите «Сохранить».
Настройки оплаты при получении отображаются у выбранных складов:
Эти сведения сообщают Яндексу, какие способы оплаты доступны при получении заказа в пункте выдачи. Если онлайн-оплата не подключена и используется оплата при получении, необходимо включить хотя бы один доступный способ — наличными или картой. Корректные координаты, график работы и остальные настройки пункта также должны быть заполнены.
Проверка корзины и остатков
Чекаут вызывает проверку корзины при каждом изменении состава корзины.
Сервис проверяет:
- наличие товаров или торговых предложений в RetailCRM;
- актуальные цены;
- остатки по выбранным активным складам;
- изображения, ссылки, характеристики и варианты товаров.
Если цена или остаток изменились в системе, в ответе чекауту будут возвращены актуальные данные. Заказ создается только при совпадении цены и наличии нужного количества товара на выбранном активном складе.
Создание и подтверждение заказа
При вызове создания заказа сервис:
- повторно проверяет цены и остатки на выбранном активном складе;
- находит или создает покупателя в RetailCRM;
- создает заказ в RetailCRM со статусом, выбранным для «Создание заказа».
Если склад не выбран или деактивирован в RetailCRM, сервис не создает покупателя и заказ.
После подтверждения заказа на стороне чекаута сервис:
- переводит заказ в статус, выбранный для «Оформление заказа»;
- создает оплату с типом оплаты из блока «Оплаты»;
- для онлайн-оплаты устанавливает выбранный статус оплаты.
Если чекаут передает свой внутренний номер заказа, сервис заменит им существующий в системе номер заказа при обновлении заказа.
Отмена и завершение заказа
При отмене оформления или отмене заказа сервис переводит заказ в статус, выбранный для «Отмена заказа».
При завершении заказа сервис:
- переводит заказ в статус, выбранный для «Завершение заказа»;
- обновляет статусы товарных позиций по фактически выкупленному количеству.
Особенности работы
- Справочники RetailCRM в настройках модуля, кроме списка складов, кешируются до 10 минут. Если новый тип оплаты, доставки или статус не появился сразу, подождите и обновите страницу настроек позже.
- В настройках оплат, доставок, статусов заказа и статусов товарных позиций одно и то же значение из справочника RetailCRM нельзя использовать для нескольких значений чекаута.
- Если подключение модуля в RetailCRM выключено или заморожено, сервис отклоняет запросы от чекаута.
- Если аккаунт YCP выключен, сервис отклоняет запросы с его токеном.
- Все запросы YCP должны укладываться в ограничения протокола по времени ответа. Если RetailCRM временно недоступна, чекаут может получить ошибку обработки запроса.
После заполнения всех блоков настроек обмен между Yandex Checkout и RetailCRM готов к работе.