В PHP дилетант... задача принять вебхук от сервиса и упорядочить данные. Вот что говорит инструкция по Api сервиса: CALL_TRACKING информацию о звонках на номера, подключенные к коллтрекингу Отправляется раз в 8 минут, при наличии новых звонков. Параметры, которые отправляются на ссылку для уведомлений: event – событие (CALL_TRACKING) result - массив tracker - ID трекера (можно узнать на странице установки кода); start - время начала звонка; duration - длительность звонка в секундах; caller_id - номер звонящего; caller_did - номер, на который позвонили; source - название источника посетителя; country - (опционально) страна, из которой был совершен звонок; ga_id - (опционально, если в настройках указан Id Google Analytics) id посетителя в Google Analytics; metrika_id - (опционально, еcли в настройках указан Id Yandex.Metrika) id посетителя в Yandex.Metrika; url - адрес страницы, с которой был звонок; utm_source, utm_medium, utm_campaign, utm_term, utm_content - (опционально, если при переходе на сайт были указаны utm метки) utm метки, по которым посетитель перешел на сайт в последний раз; first_utm - (опционально, если при первом переходе на сайт были указаны utm метки, отличные от тех, по которым произведен переход в последний раз) массив с utm метками указанными выше, по которым посетитель перешел на сайт в первый раз; pbx_call_id - id звонка (кроме Toll Free). вот код, которым я принимаю вебхук Код (Text): <?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); $text_log = print_r($_POST['result'], true); http_response_code(200); exit; ?> вот то, что получаю в результате в переменной $text_log [{"source":"Внешний (offline) источник: ТЕСТОВЫЙ","tracker":"44a59bae22b48d156792c580a6f046c2","start":1664824217,"duration":3,"caller_id":"79277097772","caller_did":"78482944031","country":"RU","pbx_call_id":"in_6ca9853be04b2a5924f34abc77c34206baab1275"}]
Забыл самое главное... в чем вопрос получаемый результат в [] - я так понимаю массив где списком в {} , {} , {} идут значения, которые видимо тоже являются массивом.. Но прочитать массив $_POST['result'] через цикл foreach не получается... как вытащить данные? В идеале хочу чтобы каждый звонок залетал в цикл foreach ($xxx as $value) { $caller_id = $.....; $caller_did = $.....; ...записываю в БД }
https://php.net/json_decode Но дилетанты в PHP не должны лезть в приём веб-хуков. Сначала надо программировать научиться... Если это коммерческая задача, лучше отдайте на фриланс.
Спасибо! Да, я с горем пополам нашел что {} это означало JSON... Решил вопрос Код (Text): // декодировал запрос $in = json_decode($json); // записал массив со звонками $array = $in->result; // выводим все звонки foreach ($array as $v) { echo $v->caller_id; echo '<br />'; } --- Добавлено --- Не прям дилетант знаю чуть чуть, минимум, который был необходим на простейших сайтах