Страница 1 из 1

API (прайс поставщиков)

Добавлено: 25 сен 2020, 16:17
imamverdiyeveldar
Добрый день. Нужна помощь программистов. Сначала это было задачей коммерческой, потом клиент отказался, но мне самому интересно как это сделать.
Есть задача: построить таблицу проценку . где можно указать номер/артикул детали и получить в ответе цену, наличие, адрес склада/магазина... Возьмем 1 пример http://api.autokontinent.ru/ эта фирма дает такую возможность. а у Руководителя есть такая возможность работать по апи. и есть я - который не понимает как это построить и как это вообще устроено.

вот например:
перейдя по ссылке: http://api.autokontinent.ru/v1/search/p ... ode=ph5822 (после ввода логина и пароля) я получаю вот такой ответ: [{"part_id":"13151369","part_code":"PH5822","brand_name":"Fram","part_descr":"Фильтр масляный"}]

и как это прикрутить? как вообще это происходит ? где я должен писать номер детали (ph5822) чтобы эти данные с ответа сели по нужным полям в определенную сущность? Вся прелесть в том что я вообще не понимаю куда надо прописать текст который показан в документации

Код: Выделить всё

<?php

$items = array();
$items[] = array(
  'field_338' => 'Заявка Тест', //338 - ID текстового поля
  'field_426' => '2017-12-29', //426 - ID поля типа "Дата с календарем"
  'field_429' => '166,167', //429 - ID поля типа "Выпадающий список с выбором нескольких значений"
);

$params = array(
  'key' => 'XgDXFsTbNRkMpRq81bBrmRAf56i5oS0oN9bp4jLH', //API ключ  
  'username' => 'admin', //Имя пользователя
  'password' => 'admin', //Пароль
  'action' => 'insert', //действие
  'entity_id' => 34, //ID сущности, в которую будет добавлена запись
  'items' => $items, //массив записей
);
 						                                    
$ch = curl_init('http://localhost/rukovoditel/api/rest.php'); //API Url
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);			
$result = curl_exec($ch);
curl_close($ch);

if($result)
{
  $result = json_decode($result,true);
  
  print_r($result);
}
Прошу не ругаться и не смеяться. В программировании не силен. Но есть желание понять как это работает и попытаться хотя бы.

Re: API (прайс поставщиков)

Добавлено: 28 сен 2020, 09:31
HakimzyanovA
Наверное можно использовать Ajax запрос на форме, https://docs.rukovoditel.net.ru/index.php?p=99, т.е. вводите руками part_id и далее через API нужной системы в Интернет получаете ответ в JSON, разбираете его и раскладываете данные в нужные поля part_code, brand_name и тд.
Либо написать отдельный плагин, как сделано для системы dadata.ru в Руковдитель.

Re: API (прайс поставщиков)

Добавлено: 28 сен 2020, 16:20
imamverdiyeveldar
HakimzyanovA писал(а): 28 сен 2020, 09:31 Наверное можно использовать Ajax запрос на форме, https://docs.rukovoditel.net.ru/index.php?p=99, т.е. вводите руками part_id и далее через API нужной системы в Интернет получаете ответ в JSON, разбираете его и раскладываете данные в нужные поля part_code, brand_name и тд.
Либо написать отдельный плагин, как сделано для системы dadata.ru в Руковдитель.
первый вариант кажется более легким. а можете более развернуто объяснить? не судите строго, у меня только желание. навыков к сожалению нет.

Re: API (прайс поставщиков)

Добавлено: 28 сен 2020, 16:23
support
Без навыков тут никак. Это не тривиальная задача. Она не сложная, но для решения потребуется время.

Re: API (прайс поставщиков)

Добавлено: 28 сен 2020, 20:21
helgsoft
может создать отдельный тип поля - связь по API ?) так как обычно проценка происходит по данным из нескольких сервисов если применительно к этой задачи. но и других задачах, где необходимо было бы получать данные по api в таблицу было бы тоде не плохо.

Re: API (прайс поставщиков)

Добавлено: 28 сен 2020, 21:35
imamverdiyeveldar
helgsoft писал(а): 28 сен 2020, 20:21 может создать отдельный тип поля - связь по API ?) так как обычно проценка происходит по данным из нескольких сервисов если применительно к этой задачи. но и других задачах, где необходимо было бы получать данные по api в таблицу было бы тоде не плохо.
Совершенно верно заметили. В данном случае (автосфера) Проценка проходит по нескольким поставщикам 5-8. Собственно вся суть и в этом. Где дешевле и быстрее. Почти все поставщики предлагают по апи искать, выбирать, заказывать у них по API

Re: API (прайс поставщиков)

Добавлено: 29 сен 2020, 06:51
HakimzyanovA
а можете более развернуто объяснить?
Боюсь, без знания php это невозможно
helgsoft писал(а): 28 сен 2020, 20:21 может создать отдельный тип поля - связь по API ?)
API у всех поставщиков разный, как Вы предполагаете это унифицировать?