VibeFox CTT for WooCommerce — Помощь
Требования
WordPress: 5.8 или новее.
WooCommerce: 7.0 или новее, установлен и активен. Плагин не активируется без него.
PHP: 8.0 или новее.
Учётная запись CTT e-commerce (только для тарифов в реальном времени и пунктов CTT): тарифы в реальном времени и доставка в пункт CTT используют API CTT e-commerce. Вам нужна учётная запись CTT e-commerce на enviosecommerce.ctt.pt (для клиентов с договором CTT Expresso или запросите предложение у CTT). На странице управления ключами этой учётной записи создайте пару открытого и закрытого ключей. App ID (X-APPID) выдаёт CTT для вашей интеграции: уточните его у своего контакта CTT e-commerce. CTT также определяет, какие функции API (оценка стоимости, пункты CTT) может использовать ваш App ID. Наконец, вам нужен Carrier ID CTT в вашей учётной записи. Страница настроек показывает перевозчиков вашей учётной записи после сохранения ключей. Если вы используете только таблицу цен и доставку на дом, API-ключи не нужны.
Лицензионный ключ VibeFox: приобретается на vibefox.net. Один ключ работает на одном домене.
Установка
1. В WordPress перейдите в Plugins > Add New > Upload Plugin, выберите ZIP-файл плагина и нажмите Install Now. Также можно загрузить папку vfd_ctt в /wp-content/plugins/ по FTP.
2. Нажмите Activate.
3. Откройте настройки: WooCommerce > Settings > Shipping > VibeFox CTT или нажмите Settings под названием плагина на странице Plugins.
4. Введите лицензионный ключ VibeFox в блоке лицензии вверху страницы и нажмите Activate.
5. Заполните таблицу цен (как минимум строку Portugal или * Default). При желании укажите ключи API CTT и Carrier ID и включите Live rates (см. Настройки).
6. В WooCommerce > Settings > Shipping > Shipping zones откройте или создайте зону для Португалии и добавьте VibeFox CTT. В настройках способа выберите название и тип доставки. Или включите Ignore shipping zones и выберите страны.
Настройки
Цены, ключи API и условия находятся на одной странице: WooCommerce > Settings > Shipping > VibeFox CTT. Они действуют для всех зон доставки. При добавлении способа в зону в окне зоны есть два поля:
Title (zone): название этого варианта на оформлении заказа в этой зоне. Оставьте пустым, чтобы использовать общее Name.
Delivery: To the customer's address (по умолчанию) или To a CTT point or parcel locker chosen at checkout. Для пункта CTT нужны ключи API CTT и Carrier ID в общих настройках. Добавьте способ в зону дважды, чтобы предлагать доставку на дом и доставку в пункт CTT рядом.
Предупреждения над настройками сообщают об отсутствии цены для Португалии, неполных ключах API, отсутствующем Carrier ID, валюте магазина без курса обмена и неудачном подключении к API CTT. При каждом сохранении настроек кэшированные ответы CTT очищаются.
Общие
Enable/Disable: включает или выключает способ во всех зонах сразу.
Name: название способа доставки, которое видит покупатель при оформлении, например «CTT Expresso». По умолчанию: CTT. Title зоны имеет приоритет над ним.
Tax status: Taxable добавляет налог на доставку WooCommerce (например, IVA) сверху к цене, None означает, что цена окончательная.
API CTT e-commerce (тарифы в реальном времени, пункты CTT) (необязательно; без ключей используется таблица цен)
Public key: открытый ключ со страницы управления ключами вашей учётной записи CTT e-commerce.
Private key: секретный ключ, которым подписывается каждый запрос (HMAC-SHA256). Он никогда не отправляется в CTT и не записывается в журнал.
App ID (X-APPID): ключ приложения, выданный CTT для вашей интеграции.
Carrier ID: ID перевозчика CTT в вашей учётной записи, используется для тарифов в реальном времени и поиска пунктов CTT. После сохранения ключей перевозчики вашей учётной записи выводятся под полем, а поддерживающие пункты CTT отмечены.
Live rates: запрашивает у CTT цену (оценку стоимости), как только покупатель ввёл улицу, почтовый индекс и город. Пока адрес неполный или если CTT не возвращает цену, используется таблица цен. CTT называет эту цену оценкой. По умолчанию: выключено.
Service ID: необязательно. Если CTT возвращает несколько услуг, используется услуга с этим ServiceId. Оставьте пустым, чтобы использовать самую дешёвую.
Exchange rate: цены CTT указаны в евро. Если валюта вашего магазина другая, укажите, сколько единиц валюты магазина равны 1 единице валюты CTT. Без этого тарифы в реальном времени в другой валюте не используются и действует таблица цен.
Default product size (cm): длина x ширина x высота, которые отправляются в CTT для товаров без размеров. По умолчанию: 30x20x15. Товары с размерами используют свои. Размеры переводятся в см, а вес — в граммы из единиц вашего магазина.
Цены (в заголовке раздела указана валюта вашего магазина)
Введите цены по вашему договору с CTT или по публичному прайсу CTT в валюте магазина. Когда тарифы в реальном времени выключены, эта таблица задаёт цену. Когда они включены, она служит запасным вариантом.
Price table: одна строка на направление. Выберите страну, Portugal - Azores (PT-AC), Portugal - Madeira (PT-MA) или * Default (other destinations). В каждой строке есть базовая цена (Price) и необязательные цены для размеров XS (до 1 кг), S (до 2 кг), M (до 3 кг), L (до 5 кг) и XL (свыше 5 кг). Пустая (или 0) цена размера использует базовую цену. Строка, где обе цены пусты, скрывает способ. Строка Азорских островов применяется к португальским почтовым индексам 9500–9999, строка Мадейры (включая Порту-Санту) — к 9000–9499. Без них применяется строка Portugal. Нажмите + Add destination, чтобы добавить строку, и крестик, чтобы удалить. Цены принимают точку или запятую как разделитель. Некорректные строки выводятся при сохранении.
Calculation: как находится цена из таблицы.
Тариф CTT в реальном времени всегда относится ко всему отправлению.
Условия
Min weight (kg): минимальный вес корзины, при котором способ появляется. 0 означает без ограничения.
Max weight (kg): способ скрывается при весе корзины выше этого значения. По умолчанию: 30 (посылки CTT весят до 30 кг). 0 означает без ограничения.
Minimum order amount: показывать способ только когда промежуточная сумма корзины (после скидок, до налогов) достигает этой суммы. Оставьте пустым, чтобы показывать всегда.
Excluded shipping classes: скрывать способ, если какой-либо товар корзины относится к одному из этих классов доставки WooCommerce.
Бесплатная доставка
Free shipping: включает бесплатную доставку CTT от суммы, указанной ниже.
Free shipping from: промежуточная сумма корзины (после скидок, до налогов), начиная с которой этот способ стоит 0. Применяется только там, где у способа есть цена. Используется только когда включена опция Free shipping.
Доступность без зон доставки
Ignore shipping zones: предлагать способ в странах ниже, когда зона покупателя его не содержит.
Countries: страны назначения для этого режима. По умолчанию: Portugal. Оставьте пустым, чтобы использовать все страны, куда вы доставляете. Это поле используется только когда включена опция Ignore shipping zones.
Дополнительно
Debug log: записывает расчёт цен и вызовы API CTT в WooCommerce > Status > Logs, источник vfd-ctt. Ошибки API CTT записываются всегда, даже когда опция выключена. Ключи, токены и адреса покупателей никогда не записываются.
Remove data on uninstall: если включено, удаление плагина удаляет его настройки и способы зон. Деактивация плагина никогда не удаляет данные. Заказы никогда не изменяются.
Как это работает при оформлении заказа
Когда покупатель вводит адрес доставки, WooCommerce запрашивает у плагина цену. Плагин сначала проверяет вес корзины, минимальную сумму заказа и исключённые классы доставки. При включённых Live rates и полном адресе он отправляет в CTT адрес доставки и для каждой позиции корзины количество, вес в граммах и размеры в см, затем показывает возвращённую цену. В противном случае, или если CTT не возвращает цену (ошибка API, таймаут, нет покрытия, функция не включена для вашего App ID), цена берётся из таблицы. Если применяется бесплатная доставка, цена равна 0.
Цена CTT кэшируется на 1 час, чтобы одна и та же корзина не вызывала новый запрос. Неудачный запрос запоминается на 5 минут, чтобы оформление заказа не ждало CTT при каждом обновлении. Тайм-аут API — 12 секунд.
Способ работает в классическом оформлении заказа и в блоках «Корзина» и «Оформление заказа». Он совместим с High-Performance Order Storage (HPOS) WooCommerce.
Если ключи API заполнены, плагин отправляет в CTT адрес доставки, веса и размеры товаров и URL вашего магазина, чтобы получить цену или ближайшие пункты CTT.
Плагин не создаёт отправления, не печатает этикетки, не заказывает забор, не выдаёт трек-номера и не показывает карту пунктов CTT. Для всего магазина есть одна таблица цен и один набор настроек API. Зоны различаются названием и типом доставки.
Пункты выдачи
Для способа зоны с Delivery, установленным на пункт CTT, в оформлении заказа под способом появляются поле поиска и список. Адрес доставки ищется автоматически. Покупатель может искать другие пункты CTT по почтовому индексу или городу и должен выбрать один до оформления заказа. Это также проверяется на сервере. Списки пунктов CTT кэшируются на 6 часов. Если CTT недоступен, покупатель видит сообщение и может попробовать позже или выбрать другой способ доставки.
Выбранный пункт сохраняется в заказе. Он отображается в админке заказа под адресом доставки, на странице полученного заказа, в My account > Orders и в письмах о заказе (HTML и текстовые) как CTT point.
В админке заказа нажмите Change рядом с пунктом CTT, найдите по почтовому индексу или городу и выберите другой пункт. Изменение сохраняется сразу и добавляет примечание к заказу.
Лицензионный ключ
Плагин работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии находится вверху страницы WooCommerce > Settings > Shipping > VibeFox CTT. Вставьте ключ в поле License key и нажмите Activate. В блоке показывается статус, например дата, до которой лицензия активна, и ваш домен. Используйте Check now, чтобы проверить статус ещё раз, Change key, чтобы ввести другой ключ, и Remove key, чтобы удалить его с этого сайта. Ссылка Manage licenses and domains in your account открывает вашу учётную запись vibefox.net.
Один ключ работает на одном домене. Удаление ключа с сайта не освобождает слот домена. Освободите слот в вашей учётной записи vibefox.net.
Без активного ключа CTT не показывается покупателям при оформлении заказа. Вошедшие в систему администраторы и менеджеры магазина видят его, помеченным (unlicensed — visible to admins only), чтобы вы могли настроить и протестировать плагин до покупки ключа. Напоминание появляется на странице Plugins и на страницах WooCommerce. Существующие заказы не затрагиваются.
Когда лицензия истекает, плагин продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется в фоновом режиме.
Устранение неполадок
CTT не появляется при оформлении заказа: проверьте, что лицензия активна, Enable/Disable включено и способ добавлен в зону страны покупателя (или включено Ignore shipping zones и страна разрешена). Проверьте, что для направления есть строка в таблице цен (или строка * Default), что вес корзины в пределах Min weight и Max weight, что достигнута Minimum order amount и что ни один товар не относится к исключённому классу доставки.
Покупатель не может выбрать пункт CTT: селектор появляется только для способа зоны с Delivery, установленным на пункт CTT, и только когда заполнены открытый ключ, закрытый ключ, App ID и Carrier ID. Включите Debug log и проверьте WooCommerce > Status > Logs.
Тарифы в реальном времени не появляются: таблица цен используется, пока покупатель не ввёл улицу, почтовый индекс и город. Проверьте предупреждения над настройками и журнал. Ответ «405» означает, что функция не включена для вашего App ID: уточните у CTT. В магазине не в евро заполните Exchange rate.
Не удалось подключиться к API CTT: предупреждение над настройками показывает ошибку. Проверьте ключи и App ID. Плагин повторяет попытку автоматически через несколько минут.
Цены с НДС или без: при Tax status Taxable WooCommerce добавляет налог на доставку сверху к цене. При None цена окончательная.
Блок лицензии показывает ошибку: следуйте сообщению в блоке. Например, если ключ уже используется на другом домене, освободите слот в вашей учётной записи vibefox.net и нажмите Check now. Если адрес сайта изменился, нажмите Check now, чтобы активировать ключ для нового домена. Если сервер лицензий недоступен, плагин продолжает работать по последнему известному статусу.
Удаление
Деактивация плагина сохраняет все данные. Чтобы удалить его, деактивируйте и удалите на странице Plugins. Лицензионный ключ и статус лицензии этого плагина всегда удаляются, как и кэшированные ответы CTT и токен API. Настройки и способы зон удаляются только если была включена опция Remove data on uninstall. Иначе они сохраняются для повторной установки. Заказы, включая выбранный пункт CTT, никогда не изменяются, а существующие заказы сохраняют свои строки доставки.
CTT — товарный знак его правообладателя. Этот плагин не связан с CTT и не одобрен CTT.
