Как записать ответ API в поле ?

Все вопросы/проблемы по установке и использовании.
Аватара пользователя
SalahievFR
Сообщения: 302
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Как записать ответ API в поле ?

Сообщение SalahievFR »

Здравствуйте, как через автоматизацию заполнять поля по API запросу:
// Входные данные
$url = "https://data.av100.ru/fullapi.ashx";
$request_params = array(
"key" => "b0abcafe-dafa-4a4a-8ce0-f327aceab962",
"vin" => "[245]"
);

$get_params = http_build_query($request_params);

// Запрос к серверу
$response = file_get_contents($url."?".$get_params);
// Преобразование ответа
$result = json_decode($response);

// Запись данных в'поля
db_query("update app_entity_26 set field_246='marka' where id={$item_id}");
Отправляем запрос по вин коду, получаем массив:


Например как дописать скрипт php чтобы в поле заполнить возвращаемый "marka":"FORD" ???
Вложения
Безымянный.jpg
Аватара пользователя
support
Техническая поддержка
Сообщения: 9251
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Как записать ответ API в поле ?

Сообщение support »

выведите значение

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

print_rr($result);
и вы узнаете как получить значения marka
предположительно это будет

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

$result->vininfo->reghistory->marka
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 884
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Re: Как записать ответ API в поле ?

Сообщение Fait »

Могу помочь, если актуально ещё, опыта с разными API у меня много.
Напишите пожалуйста в ЛС.
Аватара пользователя
SalahievFR
Сообщения: 302
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: Как записать ответ API в поле ?

Сообщение SalahievFR »

support писал(а): 17 мар 2023, 20:15 выведите значение

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

print_rr($result);
и вы узнаете как получить значения marka
предположительно это будет

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

$result->vininfo->reghistory->marka
Образец полного кода можете подсказать? Не могу разобраться(
Аватара пользователя
SalahievFR
Сообщения: 302
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: Как записать ответ API в поле ?

Сообщение SalahievFR »

Подскажите пожалуйста. Мне бы хотя бы один пример, чтобы понять в каком направлении двигаться.
SergeyShepelev
Инвестор
Инвестор
Сообщения: 103
Зарегистрирован: 22 янв 2020, 15:01
Имя: Шепелев Сергей Сергеевич
Откуда: Российская Федерация Москва

Re: Как записать ответ API в поле ?

Сообщение SergeyShepelev »

SalahievFR писал(а): 17 мар 2023, 15:57 Здравствуйте, как через автоматизацию заполнять поля по API запросу:
// Входные данные
$url = "https://data.av100.ru/fullapi.ashx";
$request_params = array(
"key" => "b0abcafe-dafa-4a4a-8ce0-f327aceab962",
"vin" => "[245]"
);

$get_params = http_build_query($request_params);

// Запрос к серверу
$response = file_get_contents($url."?".$get_params);
// Преобразование ответа
$result = json_decode($response);

// Запись данных в'поля
db_query("update app_entity_26 set field_246='marka' where id={$item_id}");
Отправляем запрос по вин коду, получаем массив:


Например как дописать скрипт php чтобы в поле заполнить возвращаемый "marka":"FORD" ???
// Преобразование ответа
$result = json_decode($response);
print_r($result);
Аватара пользователя
SalahievFR
Сообщения: 302
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: Как записать ответ API в поле ?

Сообщение SalahievFR »

SergeyShepelev писал(а): 22 мар 2023, 21:18
SalahievFR писал(а): 17 мар 2023, 15:57 Здравствуйте, как через автоматизацию заполнять поля по API запросу:
// Входные данные
$url = "https://data.av100.ru/fullapi.ashx";
$request_params = array(
"key" => "b0abcafe-dafa-4a4a-8ce0-f327aceab962",
"vin" => "[245]"
);

$get_params = http_build_query($request_params);

// Запрос к серверу
$response = file_get_contents($url."?".$get_params);
// Преобразование ответа
$result = json_decode($response);

// Запись данных в'поля
db_query("update app_entity_26 set field_246='marka' where id={$item_id}");
Отправляем запрос по вин коду, получаем массив:


Например как дописать скрипт php чтобы в поле заполнить возвращаемый "marka":"FORD" ???
// Преобразование ответа
$result = json_decode($response);
print_r($result);
А как записать отдельные элементы из json в определенные поля?
SergeyShepelev
Инвестор
Инвестор
Сообщения: 103
Зарегистрирован: 22 янв 2020, 15:01
Имя: Шепелев Сергей Сергеевич
Откуда: Российская Федерация Москва

Re: Как записать ответ API в поле ?

Сообщение SergeyShepelev »

https://qna.habr.com/q/703901 - обращение к JSON
Результат обращения можно положить в переменную
и потом обновить таблицу
вместо echo можно использовать

$element = $result['marka'];
db_query("update app_entity_26 set field_246={$element} where id={$item_id}");
Аватара пользователя
SalahievFR
Сообщения: 302
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: Как записать ответ API в поле ?

Сообщение SalahievFR »

SergeyShepelev писал(а): 22 мар 2023, 22:33 https://qna.habr.com/q/703901 - обращение к JSON
Результат обращения можно положить в переменную
и потом обновить таблицу
вместо echo можно использовать

$element = $result['marka'];
db_query("update app_entity_26 set field_246={$element} where id={$item_id}");
Спасибо. С переменной работать научился. С запросом api и работой с ответом пока не смог разобраться. )
Аватара пользователя
SalahievFR
Сообщения: 302
Зарегистрирован: 22 янв 2023, 10:14
Имя: Фанис Салахиев
Откуда: Россия Казань
Контактная информация:

Re: Как записать ответ API в поле ?

Сообщение SalahievFR »

{"start":"27.03.2023 15:22:45","end":"27.03.2023 15:22:45","vin":"XW8ZZZCKZMG010007","error":false,"result":{"vininfo":{"reghistory":{"ownerShipPeriod":[{"from":"04.12.2020","to":"15.12.2020","ownerType":"Физическое лицо","lastOperation":"прекращение регистрации ","region":null},{"from":"13.02.2021","to":"01.01.0001","ownerType":"Физическое лицо","lastOperation":"ранее зарегистрированных в регистрирующих органах","region":null}],"requestDate":"24.03.2023 13:35:20","marka":"VOLKSWAGEN","markaModel":"VOLKSWAGEN POLO ","year":"2020","bodyNumber":"XW8ZZZCKZMG010007","color":"Белый","engineVolume":"1598.0","enginePower":"110.1","engineNumber":"CWV839589","type":"Легковые автомобили комби (хэтчбек)","pts":null},"dtp":{"accident":[],"requestDate":"24.03.2023 13:35:20","inspectDt":1679664920,"hasDtp":false},"restrict":{"records":[],"requestDate":"24.03.2023 13:35:20","hasRestrict":false},"search":{"records":[],"requestDate":"24.03.2023 13:35:19","isSearch":false},"decoding":{"Идентификационный номер":"XW8ZZZCKZMG010007","Контрольный символ":"не используется","Марка":"VOLKSWAGEN","Страна происхождения":"Russia","Производитель":"ООО ФОЛЬКСВАГЕН Груп Рус (Volkswagen Group Rus) ","Адрес производителя":"248956 Калужская область г. Калуга ул. Автомобильная, д.1 (территория технопарка Грабцево)"},"zalogreestrDate":"24.03.2023","zalogreestr":"В реестре залогов по состоянию на 24.03.2023 запись с VIN XW8ZZZCKZMG010007 не найдена.","osago":""},"recalls":[{"VinformerCampaignID":"RC220011","ManufacturerCampaignID":null,"ProhibitionOfexploitation":false,"Manufacturer":"ООО Фольксваген Груп Рус","Models":[{"Brand":"VOLKSWAGEN","Models":["Polo"]}],"VehiclesToRecall":75396,"CampaignDate":"26.04.2022","Reason":"Причина отзыва транспортных средств: на автомобилях Volkswagen, выпущенных в определённый период, функции мобильных онлайн-служб не всегда могут быть доступны в полном объёме.","WhatNeedToDo":"На автомобилях, на которые распространяется действие сервисного мероприятия, будет обновлено программное обеспечение блока управления модуля аварийного вызова и коммуникационного блока.","CarSystem":[[]],"SourceLink":"https://www.rst.gov.ru//newsRST/redirec ... ":"gost.ru"}],"gibdd":[],"elpts":"","autonumber":[],"offer":[],"eaisto":[]},"times":{"full":"0,2 s","mark":"0,0 s","gibdd":"0,0 s","elpts":"0,0 s","an":"0,0 s","offer":"0,0 s","eaisto":"0,0 s","generateResult":"0,1 s","vinGenerator":{"autoins":"0,0 s","autoinsPolice":"0,0 s","full":"0,1 s","gibddSr":"0,1 s","savevin":"0,0 s","decode":"0,0 s","zalog":"0,0 s"}}}
Вот как из такой строки достать "marka":"VOLKSWAGEN","markaModel":"VOLKSWAGEN POLO автомобиля?
Ответить