svhost

Модули импорта товаров / экспорта заказов

Рекомендуемые сообщения

svhost    0

Здравствуйте!

Ищу профессионала, хорошо разбирающегося в OpenCart.

Нужно выполнить для начала 2 задачи:

1) Модуль импорта товаров из XML поставщика

2) Модуль экспорта заказов в процессинг поставщика

 

Исходные данные для реализации задачи:

I

API для получения XML товаров :

Внимание ! Скрипт принимает только данные отправленные методом POST !
url (cp1251): http://www.kitcash.ru/partner_api_products.php
url (utf8): http://www.kitcash.ru/partner_api_products_utf8.php
обязательная переменная key со значением текущего XML ключа
необязательная переменная id : возможные значения - коды товаров разделенные запятой
необязательная переменная category : возможные значения - коды категорий разделенные запятой

api ключ - 85dac13939060a9f229e4de8db184706

 

Импорт должен проходить гладко, без сбоев, можно в фоновом режиме поэтапно, если время исполнения на сервере ограниченное

 

II

API для экспорта заказов в процессинг :

Внимание ! Скрипт принимает только данные отправленные методом POST в кодировке cp1251 !
url : http://www.kitcash.ru/order_partner_create_api.php
обязательная переменная api_key со значением текущего XML ключа
обязательная переменная partner_site со значением УРЛ партнерского магазина (site.ru)
обязательная переменная order_product массив со значениями кодов товаров (kitai_id)
обязательная переменная order_quantity массив со значениями количеств товаров
обязательная переменная order_price массив со значениями цен товаров
обязательная переменная order_urls массив со значениями урлов страниц описаний товаров
обязательная переменная payment_type вид оплаты заказа (Наличные,Наложенный платёж)
обязательная переменная shipping_type способ доставки заказа (Курьер,Самовывоз,ЕМS)
обязательная переменная customer_email email покупателя
обязательная переменная customer_phone номер телефона покупателя
обязательная переменная customer_firstname имя покупателя
обязательная переменная customer_lastname фамилия покупателя (только для заказов с доставкой ЕМS)
обязательная переменная customer_otchestvo отчество покупателя (только для заказов с доставкой ЕМS)
обязательная переменная shipping_city город доставки
обязательная переменная shipping_state область/регион доставки (только для заказов с доставкой ЕМS)
обязательная переменная shipping_zip почтовый индекс доставки (только для заказов с доставкой ЕМS)
обязательная переменная shipping_address улица доставки 
обязательная переменная shipping_dom номер дома доставки (только для заказов с доставкой ЕМS)
обязательная переменная shipping_korpus номер корпуса доставки (только для заказов с доставкой ЕМS)
обязательная переменная shipping_podezd номер подъезда доставки (только для заказов с доставкой ЕМS)
обязательная переменная shipping_kod код домофона доставки (только для заказов с доставкой ЕМS)
обязательная переменная shipping_etaj этаж дома доставки (только для заказов с доставкой ЕМS)
обязательная переменная shipping_kvartira номер квартиры доставки (только для заказов с доставкой ЕМS)
обязательная переменная notify_client со значением "yes" - для оповещения покупателя по email о принятии заказа в обработку
необязательная переменная comment для комментария покупателя к заказу




Пример :

Для экспорта заказа со следующими исходными данными :
ФИО покупателя = Иванов Иван Иванович
Адрес покупателя = Приморский край, г. Владивосток, 690990, ул.Светланская 999, кв.777
Номер телефона = 423-999-88-77
Email = pokupatel@mail.ru
Вид оплаты = Наложенный платёж
Способ доставки = ЕМS
УРЛ партнерского магазина = site.ru
XML ключ = abcdefgh123456789
Заказанные товары : 
Zopo ZP900S Leader - MTK6577 на Android 4.0.4 Черный (kitai_id=510) 2шт по 8990р за единицу,
Карта памяти MicroSD 32GB (kitai_id=321) 3шт по 1990р за единицу

 

Необходимо создать следующий запрос в API :

function http_post ($url, $data) {
    $data_url = http_build_query ($data);
    $data_len = strlen ($data_url);
    return array ('content'=>file_get_contents ($url, false,
                            stream_context_create (array ('http'=>array ('method'=>'POST',
                                                                            'header'=>"Connection: close\r\nContent-Length: $data_len\r\n",
                                                                            'content'=>$data_url))
                                                                )
                                                                ),
                            'headers'=>$http_response_header );
}
 
$order_arr = array();
$order_product = array();
$order_quantity = array();
$order_price = array();
$order_urls = array();
$order_product[]="510";
$order_quantity[]="2";
$order_price[]="8990";
$order_urls[]="www.site.ru/product_510_url.html";
$order_product[]="321";
$order_quantity[]="3";
$order_price[]="1990";
$order_urls[]="www.site.ru/product_321_url.html";
$order_arr["order_product"] = $order_product;
$order_arr["order_quantity"] = $order_quantity;
$order_arr["order_price"] = $order_price;
$order_arr["order_urls"] = $order_urls;
$order_arr["payment_type"] = "Наложенный платёж";
$order_arr["shipping_type"] = "ЕМS";
$order_arr["shipping_city"] = "Владивосток";
$order_arr["shipping_state"] = "Приморский край";
$order_arr["shipping_zip"] = "690990";
$order_arr["shipping_address"] = "Светланская";
$order_arr["shipping_dom"] = "999";
$order_arr["shipping_korpus"] = "";
$order_arr["shipping_podezd"] = "";
$order_arr["shipping_kod"] = "";
$order_arr["shipping_etaj"] = "";
$order_arr["shipping_kvartira"] = "777";
$order_arr["customer_lastname"] = "Иванов";
$order_arr["customer_firstname"] = "Иван";
$order_arr["customer_otchestvo"] = "Иванович";
$order_arr["customer_phone"] = "423-999-88-77";
$order_arr["customer_email"] = "pokupatel@mail.ru";
$order_arr["comment"] = "Тестовый заказ для проверки API";
$order_arr["partner_site"] = $_SERVER["HTTP_HOST"];
$order_arr["api_key"] = "abcdefgh123456789";
$order_arr["notify_client"] = "yes";
 
$url = "http://www.kitcash.ru/order_partner_create_api.php";
$verify = http_post($url,$order_arr);
$kitcash_order_id = substr($verify["content"],14,-2);

Для преобразования массива с данными по заказу из любой кодировки в необходимую, рекомендуем использовать следующую функцию:

function recursive_iconv($in_charset, $out_charset, $arr){ 
    if (!is_array($arr)){ 
        return iconv($in_charset, $out_charset, $arr); 
    } 
    $ret = $arr; 
    function array_iconv(&$val, $key, $userdata){ 
        $val = iconv($userdata[0], $userdata[1], $val); 
    } 
    array_walk_recursive($ret, "array_iconv", array($in_charset, $out_charset)); 
    return $ret; 
} 
$order_cp1251 = recursive_iconv('utf-8','cp1251',$order_arr);

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

Спасибо за отклики!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу