Структура ответа
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