Внедряем модули различных транспортных компаний в плагин электронной торговли Woocommerce.
СДЕК
У компании СДЕК есть свое Api, и у них уже готовые решения для ряда CMS, но WC в их число не входит. Есть готовое решение от стороннего разработчика для версий WC до 3.0. бесплатное, после WC 3.0 платное (в районе 1600 руб) (инфа по нему по той же ссылке).
Демонстрация работы данного модуля по расчету доставки СДЕК.
Подключение СДЕК
- Запрашиваем у менеджера СДЕК API логин и API секретный ключ. API логин выдается компанией СДЭК по вашему запросу. Обязательны для учета индивидуальных тарифов и учета условий доставок по тарифам «посылка». Запрос необходимо отправить на адрес integrator@cdek.ru с указанием номера договора со СДЭК. Важно: Учетная запись для интеграции не совпадает с учетной записью доступа в Личный Кабинет СДЭК. API секретный ключ (пароль) выдаётся компанией СДЭК по вашему запросу. СДЕК присылает два набора: тестовый и боевой.
- Устанавливаем плагин wc-edostavka соответствующий версии WC. Прописываем полученные от СДЭК API логин и API ключ.
- Создаем в зоне доставки метод доставки Edostavka (СДЭК) и самое главное в методе выбираем Разрешенные тарифы.
Доставка через этот модуль осуществляется через платежный адрес (первая группа полей).
Переименование тарифов СДЭК
Переименовать один тариф:
add_filter( 'edostavka_delivery_tariff_name', 'custom_edostavka_delivery_tariff_name', 10, 2 );
function custom_edostavka_delivery_tariff_name( $label, $tariff_id ) {
if( 136 == absint( $tariff_id ) ) {
$label = 'Доставка СДЭК до пункта выдачи';
}
return $label;
}
Переименовать несколько тарифов:
// Переименовываем тарифы СДЭК
add_filter( 'edostavka_delivery_tariff_name', 'custom_edostavka_delivery_tariff_name', 10, 2 );
function custom_edostavka_delivery_tariff_name( $label, $tariff_id ) {
$my_custom_names = array( 136 => 'Доставка СДЭК до пункта выдачи', 137 => 'Доставка СДЭК до двери' ); //В общем создаём массив с вашими названиями тарифов.
if( in_array( $tariff_id, array_keys( $my_custom_names ) ) ) {
$label = $my_custom_names[$tariff_id];
}
return $label;
}
Добавление / удаление тарифов
Фильтр edostavka_delivery_tariffs содержит массив тарифов в виде id => (numeric) label => название тарифа и type => тип тарифа (до двери [door]| до склада [stock])
Тарифы до постоматов уже не актуальны.
Пример добавления нового тарифа:
add_filter( 'edostavka_delivery_tariffs', 'add_my_custom_tariff');
function add_my_custom_tariff( $tariffs ) {
array_push( $tariffs, array( 'id' => 158, 'label' => 'Международный экспресс', 'type' => 'stock'));
return $tariffs;
}
Пример удаления тарифа:
add_filter( 'edostavka_delivery_tariffs', 'remove_tariff');
function remove_tariff( $tariffs ) {
foreach( $tariffs as $index => $tariff ) {
if( 158 == $tariff['id'] ) {
unset( $tariffs[$index] );
}
}
return $tariffs;
}
Деловые линии
У Деловых линий есть Api, они предлагают по нему документацию и я нашел примеры верстки кода. Есть готовые решения всего для 3-х CMS (Bitrix CMS, Amiro CMS, UMI CMS).
DHL
У DHL вроде есть какое-то Api, есть документация. Нет готовых решений и примеров реализации.
Pony Express
Не нашел модуля по интеграции в сайт.
ПЭК
Есть публичный Api, с документацией. Готовый модуль доставки только для Битрикс. Есть возможность установить на сайте трекер отслеживания груза (через iframe). Также на сайт можно поставить информер ПЭК, с просчетом стоимости доставки.
Кит
Вроде как есть информеры и даже Api, но при переходе по ссылкам — 404 ошибки.
Shiptor
Shiptor — агрегатор доставки для интернет-магазинов. Работает с такими сервисами доставки как: Почта России, Shiptor, Boxberry, DPD, СДЭК, IML, PickPoint.
Для Woocommerce есть готовый бесплатный плагин WooCommerce Shiptor.
[site-socialshare]
Автор, информация которую вы описали по плагину СДЭК, отчасти не актуальна. Бесплатная версия плагина не поддерживается уже давно. Версия для WC 3+ имеет два экземпляра — это «Калькулятор» и «Интегратор». Различие между версиями можно почитать тут http://cdek.woodev.ru/chasto-zadavaemye-voprosy.html а стоимость и способы приобретения тут http://cdek.woodev.ru/download
С уважением, автор плагина WC eDostavka Максим Мартиросов