API Документация для разработчиков

На нашем сервисе также существует API для загрузки изображений.

Сервис в настоящее время поддерживает форматы JPEG, JPG, GIF, PNG размером до 10 мегабайт.

API позволяет загружать изображения, как для гостей, так и для зарегистрированных пользователей. Работа с API осуществляется при помощи отправки HTTP-запросов (метод POST) по адресу:

https://api.imageban.ru/v1

Сервер отвечает в формате JSON.

Для доступа к API вам необходимо получить ключи Client ID и Secret Key. Чтобы получить данные ключи перейдите в ваш профиль на сайте


(Скриншот) Пример:



Client ID - обязательный ключ для доступа к API. Позволяет загружать изображения в режиме незарегистрированного пользователя.
Secret Key - ключ для доступа к API с возможностью загрузки изображений в ваш аккаунт. (не публикуйте ваш секретный ключ)

Авторизация:
Для авторизации доступа к API необходимо отправить заголовок:
Authorization: TOKEN _ВАШ_CLIENT_KEY_

POST параметр для авторизации:
ПараметрНеобходимостьОписание
secret_key Опционально Ваш Secret key необходим для загрузки изображений в ваш аккаунт на сайте


POST параметр для загрузки c URL:
ПараметрНеобходимостьОписание
url Обязательно URL изображения


POST параметры для загрузки файла изображения:
ПараметрНеобходимостьОписание
image Обязательно Двоичный файл или данные в base64
name Опционально Имя файла

В случае успешной загрузки вы получите ответ в формате JSON:

Пример ответа:
{
"data":{
 "date":"2016.11.22",
 "name":"f15f1afd0e36ba9b18abb006fd6ae76a.png",
 "server":"i5.imageban.ru",
 "img_name":"logo.png",
 "size":"11795",
 "res":"210x88",
 "link":"http:\/\/i5.imageban.ru\/out\/2016\/11\/22\/f15f1afd0e36ba9b18abb006fd6ae76a.png",
 "short_link":"http:\/\/ibn.im\/MT1rbzsPum"
},
"success":true,
"status":200
}
    
Возвращаемые данные:
КлючОписание
date Дата загрузки
name Имя загруженного файла на сервер
server Имя сервера где расположено загруженное изображение
img_name Оригинальное имя файла
size Размер изображения в байтах
res Разрешение изображения
link Прямая ссылка на изображение
short_link Короткая ссылка на страницу с изображением

В случае ошибки вы получите ответ в формате JSON:

{
"error":{
 "code":"105",
 "message":"Invalid secret key"
}
}
    
Возвращаемые данные:
КлючОписание
code Код ошибки
message Текст ошибки

Возвращаемые ошибки:
Код ошибкиТекст ошибкиОписание
100 Invalid client key Неверный Client Key
101 Image is larger Размер файла превышает максимально допустимый размер
102 No image data Нет данных изображения
103 Invalid image type Файл не является изображением
104 Image failed to upload Ошибка загрузки изображения
105 Invalid secret key Неверный Secret key
106 Wrong URL Неверный URL изображения
107 File reception error Ошибка при загрузки файла с URL

Пример загрузки файла изображения посредством cURL:
curl -H "Authorization: TOKEN _ВАШ_CLIENT_KEY_" -F "image=@/tmp/server.png" https://api.imageban.ru/v1

Пример загрузки файла изображения в свой аккаунт посрдеством cURL:
curl -H "Authorization: _ВАШ_CLIENT_KEY_" -F "image=@/tmp/server.png" -F secret_key=_ВАШ_SECRET_KEY_ https://api.imageban.ru/v1

Пример загрузки изображения с URL в свой аккаунт посрдеством cURL:
curl -H "Authorization: TOKEN _ВАШ_CLIENT_KEY_" -F "url=http://imageban.ru/template/img/logo.png" -F secret_key=_ВАШ_SECRET_KEY_ https://api.imageban.ru/v1


Пример #1 на PHP загрузка изображения с использованием base64 (server.php):
<?php
$filename = $_FILES['img']['tmp_name'];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
$client_key="_ВАШ_CLIENT_KEY_";
$pvars = array('name' => 'имя_файла.jpg', 'secret_key' => '_ВАШ_SECRET_KEY_', 'image' => base64_encode($data));
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.imageban.ru/v1');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: TOKEN ' . $client_key));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
$result = json_decode($result ,true);
var_dump($result);
?>
HTML форма для загрузки:
<html>
 <head>
  <meta charset="utf-8">
 </head>
 <body>
  <form action="http://_ВАШ_ХОСТ_/server.php" enctype="multipart/form-data" method="post">
   <p><input type="file" name="img">
   <input type="submit" value="Отправить"></p>
  </form>
 </body>
</html>
    

Пример #2 загрузка файла изображения посредством cURL:
<?php
$file = realpath('/tmp/server.png');
$client_key="_ВАШ_CLIENT_KEY_";
$pvars = array('name' => 'имя_файла.png', 'secret_key' => '_ВАШ_SECRET_KEY_', 'image' => '@'.$file);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.imageban.ru/v1');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: TOKEN ' . $client_key));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
$result = json_decode($result ,true);
var_dump($result);
?>
    

Пример #3 загрузка изображения c URL:
<?php
$client_key="_ВАШ_CLIENT_KEY_";
$pvars = array('secret_key' => '_ВАШ_SECRET_KEY_', 'url' => 'http://imageban.ru/template/img/logo.png');
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.imageban.ru/v1');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: TOKEN ' . $client_key));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
$result = json_decode($result ,true);
var_dump($result);
?>
    


Пример #3 загрузка на HTML + JavaScript:
<!DOCTYPE html>
<meta charset="utf8">
<title>Uploader</title>
<div>Переместите<br><button onclick="document.querySelector('input').click()">Или выберите файл</button></div>
<input style="visibility: collapse; width: 0px;" type="file" onchange="upload(this.files[0])">
<script>
    window.ondragover = function(e) {e.preventDefault()}
    window.ondrop = function(e) {e.preventDefault(); upload(e.dataTransfer.files[0]); }
    function upload(file) {
        if (!file || !file.type.match(/image.*/)) return;
        document.body.className = "uploading";
        var fd = new FormData();
        fd.append("image", file);
        var xhr = new XMLHttpRequest();
        xhr.open("POST", "https://api.imageban.ru/v1");
        xhr.onload = function() {
            document.querySelector("#link").href = JSON.parse(xhr.responseText).data.link;
            document.body.className = "uploaded";
        }
        xhr.setRequestHeader('Authorization', 'TOKEN _ВАШ_CLIENT_KEY_');
        xhr.send(fd);
    }
</script>


<style>
    body {text-align: center; padding-top: 100px;}
    div { border: 1px solid black; text-align: center; line-height: 200px; width: 300px; margin: auto; font-size: 40px; display: inline-block;}
    #link, p , div {display: none}
    div {display: inline-block;}
    .uploading div {display: none}
    .uploaded div {display: none}
    .uploading p {display: inline}
    .uploaded #link {display: inline}
    em {position: absolute; bottom: 0; right: 0}
</style>

<p>Загрузка...</p>
<a id="link">Ваша ссылка</a>
         
Старая версия API доступна по ссылке http://imageban.ru/oldapi


ImageBan.ru бесплатный сервис для публикации изображений на сайтах и форумах © 2009-2017 ImageBan Network. Связь

Оказывается рассчитать кредит на авто - это довольно просто. | Скачать фильм восхождение юпитер.





Изображений: 10551745    Пользователей: 10574    Загружено изображений сегодня: 3528    Альбомов пользователей: 23485




Get it on Google Play Яндекс цитирования