Назад

VibeFox EasyPost for WooCommerce — Помощь

Требования

WordPress: 5.8 или новее.

WooCommerce: 7.0 или новее, установлен и активен. Без WooCommerce плагин не активируется.

PHP: 8.0 или новее.

Учётная запись EasyPost (только для актуальных тарифов): создайте учётную запись на сайте EasyPost, подключите аккаунты перевозчиков (USPS, UPS, FedEx и других) в панели EasyPost и скопируйте ключ API из раздела EasyPost Dashboard > Account Settings > API Keys. EasyPost берёт плату за купленные этикетки, а не за запросы тарифов. Если вы используете только резервные цены, учётная запись EasyPost не нужна.

Товары: товарам нужен вес и, желательно, габариты.

Лицензионный ключ VibeFox: покупается на vibefox.net. Один ключ работает на одном домене.

Установка

1. В WordPress откройте Plugins > Add New > Upload Plugin, выберите ZIP-файл плагина и нажмите Install Now. Также можно загрузить папку vfd_easypost в /wp-content/plugins/ по FTP.

2. Нажмите Activate.

3. Откройте настройки: WooCommerce > Settings > Shipping > VibeFox EasyPost или нажмите Settings под названием плагина на странице Plugins.

4. Введите лицензионный ключ VibeFox в блоке лицензии вверху страницы и нажмите Activate.

5. Вставьте ключ API EasyPost и заполните адрес Ship from. Почтовый индекс обязателен для актуальных тарифов.

6. Если валюта вашего магазина не USD, введите USD exchange rate. При желании введите резервные цены (см. Настройка).

7. Добавьте VibeFox EasyPost в зону доставки в WooCommerce > Settings > Shipping > Shipping zones или включите Ignore shipping zones и выберите страны.

Настройка

Все настройки находятся на одной странице: WooCommerce > Settings > Shipping > VibeFox EasyPost. Они действуют во всех зонах доставки. Когда вы добавляете способ в зону, в окне зоны есть только одно поле:

Title (zone): название способа доставки, которое видят покупатели в этой зоне. Оставьте пустым, чтобы использовать общее Name.

Вверху страницы плагин показывает предупреждения, когда актуальные тарифы нельзя использовать: нет ключа API, нет почтового индекса или страны отправки либо валюта магазина не USD и нет курса обмена. Также появляется примечание, если задан тестовый ключ API. Каждый раз при сохранении настроек кэш тарифов EasyPost очищается.

Общие

Enable/Disable: включает или выключает способ во всех зонах сразу. По умолчанию: включено.

Name: название способа доставки, которое показывается в корзине и при оформлении заказа. Зона может заменить его своим Title. По умолчанию: EasyPost Shipping.

Учётная запись EasyPost

API key: ваш ключ API EasyPost из EasyPost Dashboard > Account Settings > API Keys. Рабочий ключ (начинается с EZAK) возвращает реальные тарифы. Тестовый ключ (начинается с EZTK) возвращает тестовые тарифы EasyPost; используйте его только для проверок.

Allowed carriers / services: необязательно, через запятую. Укажите перевозчика (USPS) или перевозчика и службу (USPS:Priority, UPS:Ground) так, как их называет EasyPost. Показывается самый дешёвый разрешённый тариф. Оставьте пустым, чтобы показывать самый дешёвый тариф любого перевозчика.

Отправка из

Адрес, с которого отправляются ваши посылки. Если Country — страна вашего магазина, пустые поля заполняются из адреса магазина в WooCommerce > Settings > General (а имя отправителя — из названия сайта).

Sender name / company: имя отправителя или название компании.

Street address: улица адреса отправки.

City: город отправки.

State: двухбуквенный код штата, например CA или NY.

ZIP code: почтовый индекс отправки. Обязателен для актуальных тарифов.

Country: страна, из которой вы отправляете. По умолчанию: United States.

Тарифы

Parcels: как корзина отправляется в EasyPost.

One parcel per order (the cart is packed into one box): все единицы товара укладываются в одну коробку и рассчитываются один раз. Это значение по умолчанию.
One parcel per item (every unit ships in its own box): каждый товар рассчитывается как отдельная посылка, и тариф начисляется за каждую единицу. Резервные цены тоже начисляются за единицу.

Вес переводится из единицы веса магазина в унции (минимум 1 oz), габариты — в дюймы. Если у какого-либо товара нет габаритов, посылка рассчитывается только по весу.

USD exchange rate: тарифы EasyPost указаны в USD. Введите цену 1 USD в валюте вашего магазина, например 0.92. Без этого значения актуальные тарифы не используются, только резервные цены. Не нужно, если валюта магазина — USD. Магазины в USD и CAD просят EasyPost рассчитывать в их валюте. Разделителем дробной части принимаются и точка, и запятая.

Tax status: Taxable позволяет WooCommerce начислять налог на доставку по вашим налоговым правилам, None — нет. Тарифы EasyPost не включают налог с продаж. По умолчанию: Taxable.

Резервные цены

Используются, когда актуального тарифа нет: нет ключа API, EasyPost недоступен, ключ отклонён или ни у одного перевозчика нет тарифа для адреса. Цены указаны в валюте вашего магазина. Оставьте оба поля пустыми, чтобы в этом случае скрыть способ.

Country prices: одна строка на страну: двухбуквенный код страны, двоеточие и цена, например US:9.99. Строки в другом формате пропускаются и перечисляются в сообщении об ошибке при сохранении.

Other countries: цена для стран, которых нет в списке выше. Оставьте пустым, чтобы скрыть способ для них.

Условия

Free shipping from: сумма корзины, начиная с которой доставка бесплатна. В этом случае запрос в EasyPost не отправляется. Оставьте пустым, чтобы отключить.

Minimum subtotal: показывать способ, только если сумма корзины не меньше этой величины. Оставьте пустым, чтобы показывать всегда.

Minimum weight: скрывать способ, когда корзина весит меньше, в единице веса вашего магазина. 0 означает без ограничения.

Maximum weight: скрывать способ, когда корзина весит больше, в единице веса вашего магазина. 0 означает без ограничения.

Disabled shipping classes: скрывать способ, когда в корзине есть товар из любого из этих классов доставки WooCommerce.

Доступность без зон доставки

Ignore shipping zones: предлагать способ для стран, указанных ниже, независимо от того, добавлен ли он в зону.

Countries: страны назначения для этого режима. Оставьте пустым, чтобы использовать все страны, в которые доставляет ваш магазин. Это поле используется только когда включён Ignore shipping zones.

Дополнительно

Debug log: записывает запросы к EasyPost в WooCommerce > Status > Logs, источник vfd-easypost. Ошибки API записываются всегда, даже когда эта опция выключена. Ключ API и адреса покупателей никогда не записываются в лог.

Remove data on uninstall: если включено, при удалении плагина удаляются его настройки и способы в зонах. Деактивация плагина никогда не удаляет настройки.

Как это работает при оформлении заказа

Когда покупатель вводит адрес доставки, WooCommerce запрашивает у плагина тариф. Плагин сначала проверяет условия: страна доставки, вес корзины, минимальная сумма и отключённые классы доставки. Если действует бесплатная доставка, способ показывается с нулевой ценой и запрос в EasyPost не отправляется.

Иначе плагин отправляет в EasyPost адрес отправки, адрес доставки и посылку, получает тарифы всех ваших аккаунтов перевозчиков, выбирает самый дешёвый разрешённый тариф, пересчитывает его в валюту магазина и показывает под названием вашего способа. Для стран, где нужен почтовый индекс, запрос отправляется только после того, как покупатель его введёт.

Каждый ответ кэшируется на 1 час для того же адреса и той же посылки. Адрес без пригодных тарифов запоминается на 10 минут. После тайм-аута, отклонённого ключа, ограничения частоты запросов (rate limit) или ошибки сервера EasyPost запросы не отправляются в течение 5 минут. Тайм-аут API — 10 секунд. Во всех этих случаях покупатель не видит ошибки: используется резервная цена, или способ скрывается, если резервной цены нет.

Выбранные перевозчик и служба, а в режиме одной посылки — предполагаемые сроки доставки сохраняются в строке доставки заказа. Вы видите их на экране заказа в админке.

Способ работает в классическом оформлении заказа и в блоках «Корзина» и «Оформление заказа». Он совместим с хранилищем заказов высокой производительности (HPOS) WooCommerce.

Плагин только рассчитывает тарифы. Он не покупает этикетки, не отслеживает посылки, не проверяет адреса, не предлагает пункты самовывоза и сдачи посылок, не добавляет страхование или подпись. Показывается один вариант (самый дешёвый разрешённый тариф), а не список служб. Упаковки коробок, кроме размещения товаров в одной посылке, нет, а наценки на тариф и сбора за обработку нет.

Лицензионный ключ

Плагин работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии находится вверху страницы WooCommerce > Settings > Shipping > VibeFox EasyPost. Вставьте ключ в поле License key и нажмите Activate. В блоке показывается статус, например дата, до которой лицензия активна, и ваш домен. Используйте Check now, чтобы снова проверить статус, Change key, чтобы ввести другой ключ, и Remove key, чтобы удалить его с этого сайта. Ссылка Manage licenses and domains in your account открывает вашу учётную запись на vibefox.net.

Один ключ работает на одном домене. Удаление ключа с сайта не освобождает место под домен. Освободите его в своей учётной записи на vibefox.net.

Без активного ключа EasyPost не показывается покупателям при оформлении заказа. Администраторы магазина, вошедшие в систему, видят его с пометкой (unlicensed — visible to admins only), чтобы вы могли настроить и проверить плагин до покупки ключа. Напоминание появляется на странице Plugins и на страницах WooCommerce. Существующие заказы не затрагиваются.

Когда срок лицензии истекает, плагин продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется снова в фоновом режиме.

Устранение неполадок

EasyPost не появляется при оформлении заказа: проверьте, что лицензия активна, что Enable/Disable включено и способ добавлен в зону страны покупателя (или что включён Ignore shipping zones и страна разрешена). Проверьте ограничения по весу, Minimum subtotal и Disabled shipping classes. Без актуального тарифа способу нужна резервная цена для страны или для Other countries.

Актуальные тарифы не появляются: прочитайте предупреждения вверху страницы настроек, затем включите Debug log, обновите оформление заказа и откройте WooCommerce > Status > Logs, источник vfd-easypost. Частые причины: нет ключа API или почтового индекса отправки, магазин не в USD без USD exchange rate, покупатель ещё не ввёл почтовый индекс, ни один перевозчик вашей учётной записи EasyPost не обслуживает адрес, или фильтры Allowed carriers / services отсеивают все тарифы.

Тарифы похожи на тестовые цены: задан тестовый ключ (EZTK...). Используйте рабочий ключ (EZAK...) в действующем магазине.

Тарифы перестали приходить на несколько минут: после тайм-аута, отклонённого ключа или ошибки сервера EasyPost плагин приостанавливает запросы на 5 минут и использует резервные цены. Проверьте ключ API и журнал.

Налог включён? Тарифы EasyPost не включают налог с продаж. При Tax status Taxable WooCommerce начисляет налог на доставку согласно вашим налоговым настройкам.

Тарифы выглядят устаревшими после изменения: сохраните страницу настроек. Это очистит кэш тарифов EasyPost.

Хуки для разработчиков: фильтры vfd_ep_shipment_request (тело запроса), vfd_ep_selected_rate (выбранный тариф), vfd_ep_api_url (базовый URL API) и woocommerce_shipping_vfd_easypost_is_available настраивают плагин.

Блок лицензии показывает ошибку: следуйте сообщению в блоке. Например, если ключ уже используется на другом домене, освободите место в учётной записи на vibefox.net и нажмите Check now. Если адрес сайта изменился, нажмите Check now, чтобы активировать ключ для нового домена. Если сервер лицензий недоступен, плагин продолжает работать по последнему известному статусу.

Удаление

Деактивация плагина сохраняет все настройки и только очищает кэш тарифов. Чтобы удалить плагин, деактивируйте его и удалите на странице Plugins. Лицензионный ключ и статус лицензии этого плагина, кэш тарифов и старые файлы логов удаляются всегда. Настройки и способы в зонах удаляются, только если была включена опция Remove data on uninstall. Иначе они сохраняются для повторной установки. Существующие заказы сохраняют свои строки доставки.

EasyPost — товарный знак его правообладателя. Этот плагин не связан с EasyPost и не одобрен им.