Получить список событий с сервера
С помощью API Таймпада можно получить публичный список событий любой организации.
Например, мы хотим, используя PHP, получить список событий организации https://demo.timepad.ru/events/ и собрать на его основе массив с фотографией, названием, ссылкой и городом.
Сначала нужно получить id этой организации. Это можно сделать в её настройках — это 1040.
<?php
function genRequest($url, $aQuery) {
$params = [];
foreach ($aQuery as $key => $value) {
$params[$key] = (is_array($value)) ? implode(',', $value) : $value;
}
return $url . '?' . http_build_query($params);
}
$url = 'https://api.timepad.ru/v1/events.json';
$query = [
'organization_ids' => [1040],
'moderation_statuses' =>[
'featured',
'shown',
'not_moderated', // Отображаем в том числе не отмодерированные событие
'hidden'
],
'fields' => [
'ticket_types', // Типы билетов
'location' // Место проведения
]
];
// Преобразуем параметры запроса в ссылку
$urlRequest = genRequest($url, $query);
// Получаем ответ сервера
$jsonResponse = file_get_contents($urlRequest);
// Парсим ответ сервера
$response = json_decode($jsonResponse, true);
$timepadEvent = [];
foreach ($response['values'] as $event) {
$timepadEvent[] = [
'id' => $event['id'],
'name' => $event['name'],
'city' => $event['location']['city'],
'url' => $event['url'],
'image' => $event['poster_image']['default_url']
];
}
print_r($timepadEvent);