К основному контенту

простое подключение SOAP клиента partmaster.com.ua

Простое подключение веб-сервиса от partmaster.com.ua на свой интернет магазин

Благодарности принимаются сюда 41001157807902 ЯД

Результат работы  веб-сервиса авто запчастей от Partmaster вы можете посмотреть на 

Для подключения нужно иметь логин и пароль оптового клиента на partmaster.com.ua




Для начала надо получить структуру SOAP, для этого используем такой код:
$client = new SoapClient("http://partmaster.com.ua/service.wsdl");
Далее надо пройти авторизацию, которая будет действовать пока используется переменная $client
$client->Auth('login','password');
Теперь можно получить цены по определенному товару зная его код. Например, для запроса цен по коду oc90 используем:
$client->GetPrice('oc90','');
Результатом выше указанной функции будет:
stdClass Object
(
    [GetPriceResult] => Array
        (
            [0] => stdClass Object
                (
                    [item_code] => MH_OC90
                    [brand] => Mahle
                    [code] => OC90
                    [price] => 5.822
                    [name] => OIL FILTER- OPEL 
                    [name_ru] =>  
                    [provider_region] => ME1
                    [weight] => 0.295
                )

            [1] => stdClass Object
                (
                    [item_code] => KH_OC90
                    [brand] => Knecht
                    [code] => OC90
                    [price] => 5.6628
                    [name] =>  
                    [name_ru] => KNECHT ФИЛЬТР МАСЛА OPEL БЕНЗ. 85- SAAB 900 (2,5-V6 7/93-) 9000 (3,0-V6 11/94- OE 94797406 Фильтр масляный
                    [provider_region] => ua
                    [weight] => 0
                )

            [2] => stdClass Object
                (
                    [item_code] => KH_OC90
                    [brand] => Knecht
                    [code] => OC90
                    [price] => 5.8149
                    [name] =>  
                    [name_ru] => Фильтр масл. (пр-во Knecht-Mahle) Фильтр масляный
                    [provider_region] => ua
                    [weight] => 0
                )


        )

)
Если нужно получить данные по коду и бренду, то используем следующее (пример для бренда Mahle):
$client->GetPrice('oc90','Mahle');
Если нужно получить данные с кроссами
$client->GetPriceWithCross('oc90','');
Если нужно получить данные с кроссами
Полученные данные вы можете использовать для своего сайта, например, сохранить в прайс-листы и отображать своим клиентам. Для разных сайтов, это будет индивидуальный код, который должны составить Ваши программисты.
----------------------------------------------------------------------------------------------------------------------------------
Пример кода формы поиска, ее стиля и получения цен.

<!---Код стиля для формы поиска----!>
<style>
body1 {
background: #fff;
color: #666;
font: 85%/140% Arial, Helvetica, sans-serif;
width: 800px;
max-width: 96%;
margin: 0 auto;
}
a {
color: #69C;
text-decoration: none;
}
a:hover {
color: #F60;
}
h1 {
font: 1.7em;
line-height: 110%;
color: #000;
}
p {
margin: 0 0 20px;
}

/* Сброс стилей для поля ввода в браузерах webkit */
input {
outline: none;
}
input[type=search] {
-webkit-appearance: textfield;
-webkit-box-sizing: content-box;
font-family: inherit;
font-size: 100%;
}
input::-webkit-search-decoration,
input::-webkit-search-cancel-button {
display: none; /* Удаляем иконку поиска и сброса */
}

/* Поле ввода строки поиска */
input[type=search] {
background: #ededed url(img/search-icon.png) no-repeat 9px center;
border: solid 1px #ccc;
padding: 9px 10px 9px 32px;
width: 150px;
-webkit-border-radius: 10em;
-moz-border-radius: 10em;
border-radius: 10em;
-webkit-transition: all .5s;
-moz-transition: all .5s;
transition: all .5s;
}
input[type=search]:focus {
width: 400px;
background-color: #fff;
border-color: #6dcff6;
-webkit-box-shadow: 0 0 5px rgba(109,207,246,.5);
-moz-box-shadow: 0 0 5px rgba(109,207,246,.5);
box-shadow: 0 0 5px rgba(109,207,246,.5);
}

/* Заполнитель */
input:-moz-placeholder {
color: #999;
}
input::-webkit-input-placeholder {
color: #999;
}
</style>

<!----Код формы поиска----!>
<body1>
<table align="center" border="0">
<tr>
<td>
<form method="POST" >
<input type="search" placeholder="Поиск по номеру запчасти" name="parts_number" />
</form>
</td>
</tr>
</table>

</body1>

<!---- PHP код для обработки массива от Partmaster.com.ua----!>
<?php 
$var = strip_tags($_POST['parts_number']);
$var = htmlspecialchars($var);
$var = mysql_escape_string($var);
$client = new SoapClient("http://partmaster.com.ua/service.wsdl");
$client->Auth('Ваш логин на сайте','пароль');
$data=$client->GetPrice($var,'');
?>
<?foreach ($data as $value):?>
<?if((count($value)==1)):?>
<h2>Результат поска по номеру <?=$var;?></h2><hr />
<div class="CSSTableGenerator" >
<table width="100%" border="1">
<tr>
<td>
Код
</td>
<td>
Производитель
</td>
<td>
Наименование
</td>
<td>
Регион поставки
</td>
<td>
Цена
</td>
</tr>
<tr>
<td>
<?=$value->code;?>
</td>
<td>
<?=$value->brand;?>
</td>
<td>
<?=$value->name;?><?=$value->name_ru;?>
</td>
<td>
<?=$value->provider_region;?>
</td>
<td>
$<?=$value->price;?>
</td>
</tr>
</table>
</div>
<?else:?>
<h2>Результат поска по номеру <?=$var;?></h2><hr />
<div class="CSSTableGenerator" >
<table width="100%" border="1">
<tr>
<td>
Код
</td>
<td>
Производитель
</td>
<td>
Наименование
</td>
<td>
Регион поставки
</td>
<td>
Цена
</td>
</tr>
<?foreach ($data as $value):?>
<?foreach ($value as $v):?>
<tr>
<td>
<?=$v->code;?>
</td>
<td>
<?=$v->brand;?>
</td>
<td>
<?=$v->name;?> <?=$v->name_ru;?>
</td>
<td>
<?=$v->provider_region;?>
</td>
<td>
$<?=$v->price;?>
</td>
</tr>
<?endforeach;?>
<?endforeach;?>
</table>
</div>
<?endif;?>
<?endforeach;?>

Комментарии

  1. Можно ли это осуществить в интернет магазине на скрипте ShopCMS

    ОтветитьУдалить
    Ответы
    1. Можно на любом движке, только нужно знать что и куда прописовать

      Удалить
    2. http://sergey-rasputniy.blogspot.com/2013/01/opencart-1551-autoxcatalogcom.html
      Позже выложу код, по примеру сможете и сами подключить.

      Удалить

Отправить комментарий

Популярные сообщения из этого блога

Товар которого нет в наличии делаем в конце opencart

Товар которого нет в наличии делаем в конце 

Как заменить “сломанное” изображение?

Как заменить “сломанное” изображение? Случается так, что на странице по различного рода причинам могут не загрузиться те или иные изображения. Это негативно сказывается на восприятии контента. Средствами JavaScript мы можем заменить такие изображения, какими-то заглушками. Напишем функцию обработчик события  onError : function imgError(image) { image.onerror = ""; image.src = "/images/noimage.gif"; return true; } Воспользуемся нашей функцией, указав её в атрибуте onerror элементов img. <img src="image.png" onerror="imgError(this);"/> Или вариант без использования целой функции: <img src="image.png" onError="this.onerror=null;this.src='/images/noimage.gif';" />

Редактирование заказа opencart 1.5.1.3 часть 2

Редактирование заказа opencart 1.5.1.3 часть 2 Как и обещал по поводу доработок , сегодня добавил редактирование колличества в заказе, сумма при этом пересчитывается автоматом , только итоговая сумма не пересчитывается .