В 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 = $…..;
…записываю в БД
}
json_decode() на полученные эл-ты массива.
Но дилетанты в PHP не должны лезть в приём веб-хуков. Сначала надо программировать научиться… Если это коммерческая задача, лучше отдайте на фриланс.
Спасибо!
Да, я с горем пополам нашел что {} это означало JSON…Решил вопрос
Код (Text):
// декодировал запрос $in = json_decode($json); // записал массив со звонками $array = $in->result; // выводим все звонки foreach ($array as $v) { echo $v->caller_id; echo ‘<br />’; }— Добавлено —
Не прям дилетант знаю чуть чуть, минимум, который был необходим на простейших сайтах
бред это….
фигурные скобки -это объект …. с полями в нем….