Структура ответа

Timepad API возвращает результат в виде JSON или HTML документа (если результат был запрошен браузером), формат ответа зависит от отправленных при запросе Accept-заголовков. Также API может возвращать результат в формате JSONP, для этого нужно в запросе указать GET переменную jsonp с нужным названием функции коллбэка (например https://api.timepad.ru/v1/events.json?jsonp=test). Ответ придёт обёрным в эту функцию.

Возможные ошибки

При выдаче ошибок API выдаёт соответствующий этой ошибке код статуса HTTP.

Используются следующие коды:

400 - ошибка в запросе (например, в числовом поле указана строка).
403 - для этого запроса требуется аутентификация, либо указанной аутентификации нет.
404 - запрос на неправильный URL. Проверьте правильность запроса.
429 - слишком много запросов. Попробуйте через несколько секунд.
500 - внутренняя ошибка сервера. Повторите запрос позднее.

В случае ошибки 400 выдаётся объект следующего вида:

    {"ResponseStatus":{
        "ErrorCode":"",
        "Message":"",
        "Errors":[
            {
                "ErrorCode":"",
                "FieldName":"",
                "Message":""
            }
        ]

    }}

В поле errorCode указан код ошибки, совпадающий с http-кодом.
В поле message указана ошибка на русском языке.
В массиве errors указаны ошибки каждого поля, в котором есть ошибка.

Работа с изображениями

Все картинки в API предлагаются в двух форматах: стандартном и UploadCare. Например, картинка события:

"poster_image": {
  "default_url":"https://ucare.timepad.ru/f39aec42-bb15-4c02-8f2e-2be584aa779f/-/preview/100x100/",
  "uploadcare_url":"//ucare.timepad.ru/f39aec42-bb15-4c02-8f2e-2be584aa779f/"
}

Стандартный формат — это то, как картинка используется в Таймпаде, обрезанная и подготовленная (например, здесь — превьюшка события для списка), формат UploadCare — полная картинка в том размере, в котором её загрузили на сервер.

Модифицируя ссылку в формате UploadCare, можно получить картинку в том формате, в котором она вам нужна. Например:

uploadcare_url + '-/preview/500x500/' — фотография, умещающаяся в формат 500х500
uploadcare_url + '-/resize/500x/' — фотография шириной в 500 пикселей
uploadcare_url + '-/preview/500x500/-/format/png/' — фотография в формате png, умещающаяся в формат 500х500

Полный список возможных модификация смотрите на сайте UploadCare: https://uploadcare.com/documentation/cdn/#image-operations