Получить список событий с сервера

С помощью 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);