Введение в API
Интерфейс прикладного программирования (API) представляет собой набор функций, методов и процедур, что позволяет использовать сторонние приложения для загрузки изображений. Проще говоря, это способ загружать фотографии без захода на непосредственно сайт Uploads.ru.
Возможности:
- Загрузка файлов с компьютера или интернета
- Формат ответа может быть JSON(P), XML, RAW TEXT или REDIRECT
- Работает с POST и GET
- Возвращает подробные описания и коды состояний для отладки
API вызовы
Параметры, которые можно использовать в вызове API:
upload
URL или изображение, закодированное в base64. Система автоматически определяет, что вы загружаете. Обратите внимание, что изображение base64 должно передаваться только POST-методом.
resize_width
Если вы установите этот параметр, то размер изображения будет изменен.
format
Желаемый формат вывода, значения могут быть json xml txt или redirect. Если вам нужно JSONP, включите в запрос callback вместе с параметром format=json.
callback
Обратный вызов для формата JSONP, чаще всего используется в качестве callback=? в JQuery.
Методы
Все параметры рассматриваются как REQUEST, поэтому вы можете использовать как POST так и GET методы, чтобы сделать вызов.
Простой пример вызова
Самый простой пример вызова. Скопируйте этот URL и откройте в вашем браузере.
http://uploads.ru/api?upload=http://www.google.com/images/srpr/nav_logo66.png
Так что, если мы хотим добавить больше параметров, это будет выглядеть следующим образом:
http://uploads.ru/api?upload=http://www.google.com/images/srpr/nav_logo66.png&resize_width=100&format=xml
API ответы
Речь идет о выходных данных вызовов API. В JSON и XML-ответах возвращаются подробные данные и они точно такие же, но в разных форматах. Ответные значения будут варьироваться в зависимости от статуса процесса.
Успешный ответ
| status_code | 200 | |
| status_txt | OK | |
| data | img_name | Имя файла |
| img_path | Абсолютный путь к изображению | |
| img_url | URL изображения | |
| img_width | Ширина изображения в пикселях | |
| img_height | Высота изображения в пикселях | |
| img_attr | HTML ширина и высота (аттрибуты) | |
| img_size | Дружественный размер изображения | |
| img_bytes | Размер изображения в байтах | |
| thumb_url | URL файла превью | |
| thumb_width | Ширина превью в пикселях | |
| thumb_height | Высота превью в пикселях | |
| source | Источник изображения | |
| resized | Сообщает, был ли изменен размер изображения (0, 1) |
Успешный ответ выведет data с информацией о загруженном изображении.
Ошибочный ответ
| status_code | 403 |
| status_txt | _ERROR_MSG__ |
Ошибочный ответ будет выводить только status_code и status_txt соответствующее сообщение об ошибке.
Форматы ответа
По-умолчанию, данные возвращаются в JSON. Выходные данные контролируются параметром format={FORMAT}. Рассмотрим форматы выходных данных:
JSON(P)
format=json (или пустой format) вернет данные в JSON формате. Если вы добавите callback=? параметр, выходные данные будут в JSONP формате:
({"status_code":200,"status_txt":"OK","data":{"img_name":"demo.png","img_path":"\/images\/demo.png","img_url":"http:\/\/uploads.ru\/images\/demo.png","img_width":167,"img_height":288,"img_attr":"width=\"167\" height=\"288\"","img_size":"36.1 KB","img_bytes":37002,"thumb_url":"http:\/\/uploads.ru\/images\/thumbs\/demo.png","thumb_width":100,"thumb_height":90,"source":"http:\/\/www.google.com\/images\/srpr\/nav_logo66.png","resized":"0"}});XML
format=xml вернет данные в XML формате:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<status_code>200</status_code>
<status_txt>OK</status_txt>
<data>
<img_name>demo.png</img_name>
<img_path>/images/demo.png</img_path>
<img_url>http://uploads.ru/images/demo.png</img_url>
<img_width>167</img_width>
<img_height>288</img_height>
<img_attr>width="167" height="288"</img_attr>
<img_size>36.1 KB</img_size>
<img_bytes>37002</img_bytes>
<thumb_url>http://uploads.ru/images/thumbs/demo.png</thumb_url>
<thumb_width>100</thumb_width>
<thumb_height>90</thumb_height>
<source>http://www.google.com/images/srpr/nav_logo66.png</source>
<resized>0</resized>
</data>
</response>RAW TEXT
format=txt вернет URL изображения.
REDIRECT
format=redirect произведет переадресацию на просмотр изображения.
