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

простое подключение 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

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

Принудительный вывод 404 или редирект на 404 Opencart

Допустим, при каком то условии Вам нужно вывести 404 страницу в Opencart, для это используете такой код в контроллере: //отправляем заголовок 404 $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . '/1.1 404 Not Found'); //перенаправляем на страницу 404  return $this->forward('error/not_found');

Подсветка статусов заказа в opencart

Подсветка статусов заказа в opencart