Помогите разобраться или сделайте за меня. Оплачу на карту. Был рабочий код: $params["string"] = $INN; $url = "https://zachestnyibiznesapi.ru/v2/data/search?page=1&_format=json"; $params["api_key"] = "ххх"; $params["ip_client"] = $_SERVER["REMOTE_ADDR"]; $opts = array("http" => array("method"=>"POST", "header" => "Content-type: application/x-www-form-urlencoded", "content"=>http_build_query($params),"ignore_errors" => true)); $json = file_get_contents($url, false, stream_context_create($opts)); // Запрос к сайту //var_dump($json); $data = json_decode($json); foreach($data->docs as $v){ if($v->{'Активность'}=='Действующее'){ $_SESSION['spisok'] = $json; $_SESSION['OGRN'] = $v->id; $_SESSION['name'] = $v->{'НаимЮЛСокр'}; $_SESSION['chief'] = $v->{'Руководитель'}; $_SESSION['status'] = $v->{'Активность'}; $result = 0; return $result; } } И приходил такой ответ с сайта: {"total":3,"docs":[ {"id":"1027700070518","ТипДокумента":"ul","НаимЮЛСокр":"ПАО \"ГАЗПРОМ\"","НаимЮЛПолн":"ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО \"ГАЗПРОМ\"","Активность":"Действующее","ИНН":"7736050003","КПП":"772801001","ОбрДата":"25.02.1993","Адрес":"117420, г Москва, улица Намёткина, дом 16","КодОКВЭД":"46.71","НаимОКВЭД":"Торговля оптовая твердым, жидким и газообразным топливом и подобными продуктами","Руководитель":["Миллер Алексей Борисович"]}, {"id":"1027700070518","ТипДокумента":"ul","НаимЮЛСокр":"ПАО \"ГАЗПРОМ\"","НаимЮЛПолн":"ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО \"ГАЗПРОМ\"","Активность":"Действующее","ИНН":"7736050003","КПП":"772801001","ОбрДата":"25.02.1993","Адрес":"117420, г Москва, улица Намёткина, дом 16","КодОКВЭД":"46.71","НаимОКВЭД":"Торговля оптовая твердым, жидким и газообразным топливом и подобными продуктами","Руководитель":["Миллер Алексей Борисович", "Иванов Иван Иванович"]}, {"id":"1061515009555","ТипДокумента":"ul","НаимЮЛСокр":null,"НаимЮЛПолн":"ГАЗПРОМ ОАО","Активность":"Ликвидировано","ИНН":"7736050003","КПП":"151541001","ОбрДата":"02.06.2002","Адрес":"респ Северная Осетия - Алания, город Владикавказ","КодОКВЭД":null,"НаимОКВЭД":null,"Руководитель":null} ]} Версия АПИ изменилась и все перестало работать.Вижу, что добавились поля status и message в начале: string(1231) "{"status":"200","message":"Запрос выполнен успешно","body":{"total":2,"docs":[{"id":"1027700070518","ТипДокумента":"ul","НаимЮЛСокр":"ПАО \"ГАЗПРОМ\"","НаимЮЛПолн":"ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО \"ГАЗПРОМ\"","Активность":"Действующее","ИНН":"7736050003","КПП":"772801001","ОбрДата":"25.02.1993","Адрес":"117420, г Москва, улица Намёткина, дом 16","КодОКВЭД":"46.71","НаимОКВЭД":"торговля оптовая твердым, жидким и газообразным топливом и подобными продуктами","Руководитель":["Миллер Алексей Борисович"]},{"id":"1061515009555","ТипДокумента":"ul","НаимЮЛСокр":null,"НаимЮЛПолн":"ГАЗПРОМ ОАО","Активность":"Ликвидировано","ИНН":"7736050003","КПП":"151541001","ОбрДата":"02.06.2002","Адрес":"респ Северная Осетия - Алания, город Владикавказ","КодОКВЭД":null,"НаимОКВЭД":"","Руководитель":[null]}]}}" Помогите: 1. отсечь эти поля, чтобы просто все заработало. 2. (позже) использовать эти поля, чтобы упростилась программа.
Cпасибо за быстрый ответ! Сразу помогло, пошли отчеты: {"status":"200","message":"Запрос выполнен успешно","body":{"Бухгалтерский баланс":{"Актив":{"I. ВНЕОБОРОТНЫЕ АКТИВЫ":{"Нематериальные актив Но появились другие ошибки, $data = json_decode($JSON); $bbalans = "Бухгалтерский баланс"; $activ = "Актив"; $ACTIV = $data->$bbalans->$activ; $passiv = "Пассив"; $PASSIV = $data->$bbalans->$passiv; Здесь тоже нужно вставить тело body? таких строк сотня... видимо всю программу нужно переделывать теперь. Кто хочет помочь? Сколько будет стоить?
Отчеты идут тоже с дополнительными полями: {"status":"200","message":"Запрос выполнен успешно","body":{"Бухгалтерский баланс":{"Актив":{"I. ВНЕОБОРОТНЫЕ АКТИВЫ":{"Нематериальные активы... Подскажите пожалуйста, как исправить следующий кусок кода? $data = json_decode($JSON); $bbalans = "Бухгалтерский баланс"; $activ = "Актив"; $ACTIV = $data->$bbalans->$activ; $passiv = "Пассив"; $PASSIV = $data->$bbalans->$passiv; $VNEOB = "I. ВНЕОБОРОТНЫЕ АКТИВЫ"; $nemat = "Нематериальные активы"; foreach ($ACTIV->$VNEOB->$nemat as $Year=>$Summa){$A[$Year][1110]=$Summa;}; - Invalid argument supplied for foreach() Я так понимаю, что следуя Вашему совету, нужно скорректировать эти строки: $ACTIV = $data->$bbalans->$activ; $PASSIV = $data->$bbalans->$passiv; Или источник данных: $data = json_decode($JSON); Но как туда вставить body-> ?
Ну так что если структура изменилась, надо под новую структуру заточить... По стоимости думаю пару тысяч
Вопрос закрыт, тема закрыта. Всем спасибо! По поводу переделки программы создам новую тему, когда напишу ТЗ.