Главная

Уважаемый посетитель!

На этой странице описаны методы работы с интерфейсом АПИ Сервиса Интернет Объявлений версии 1.0. Используя АПИ, вы можете организовать полноценную работу с Сервисом на уровне “сырых” данных.

В частности, данный АПИ позволяет:

  • подавать объявления (методы new_adv и post_adv);
  • просматривать содержимое поданных объявлений (метод view_adv);
  • получать статус объявления и прямые ссылки (метод get_adv_status);
  • запрашивать баланс учетной записи (метод balance);
  • получать справочники городов, схем размещения, доступных полей и т.д. (метод get_fields).

Все обращения к методам осуществляются по ссылке http://api.onboard24.ru/rest/v1/METHOD/{ID}, где METHOD– название метода, {ID} – уникальный номер объявления (для некоторых методов не используется).

Перед началом работы с АПИ-интерфейсом необходимо пройти регистрацию на сайте onboard24.ru/register и отправить заявку на активацию АПИ по адресу info@onboard24.ru. Подключение услуги абсолютно бесплатно. Оплата в виде аванса на внутренний счет используется только за фактические размещения.
Далее по тексту будет представлена документация по работе с методами и примеры кода на языке PHP.

Подготовка

Все запросы требуют передачи авторизационных данных в виде логина и пароля от Кабинета на сайте onboard24.ru для идентификации текущего пользователя. Логин и пароль кодируются алгоритмом base64 и передаются в заголовке запроса.
Например, если ваш логин и пароль равны myLogin и myPassword, то авторизационный заголовок будет получен так:


<?php
	$headers = array (
		'Authorization: Basic ' . base64_encode( 'myLogin' . ':' . 'myPassword' ),
	);
?>

Теперь, получив заголовок с данными авторизации, можно записать код, через который осуществляются запросы.
Для GET-запросов:


<?php
	$headers = array (
		'Authorization: Basic ' . base64_encode( 'myLogin' . ':' . 'myPassword' ),
	);
	$api_url = 'http://api.onboard24.ru/rest/v1/';
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $api_url . $method . '/' . $id);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
	$server_output = curl_exec ($ch);
	curl_close ($ch);
?>

Для POST-запросов:


<?php
	$headers = array (
		'Authorization: Basic ' . base64_encode( 'myLogin' . ':' . 'myPassword' ),
	);
	$api_url = 'http://api.onboard24.ru/rest/v1/';
	$post_vars = array(
		'param1' => 'value1',
		...
	);
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $api_url . $method . '/' . $id);
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_vars));
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
	$server_output = curl_exec ($ch);
	curl_close ($ch);
?>

где $api_url – адрес шлюза (API-интерфейса), $method – имя метода, $id – айди объявления, $post_vars – массив параметром, передаваемых в POST-запросе.
Формат возвращаемых данных – JSON.
Далее рассматривается работа с каждым из доступных методов.

Методы

new_adv

Ссылка: http://api.onboard24.ru/rest/v1/new_adv/
Тип запроса: POST
Используется для занесения нового объявления в систему onboard24.ru. Плата на данном этапе не взимается. Объявление просто заносится в память системы и может быть передано в размещение позже.
Пример массива данных для отправки POST-запроса на заведение нового объявления:


<?php
	$post_vars = array(
		"skhema" => '5',
		"ishop" => 1,
		"ishop_regions" => array(2,12,20),
		"category" => 2,
		"buysell" => 3,
		"advhead" => "Оцифровка аудиокассет и видеокассет в Москве",
		"advtext" => "Производим оцифровку аудиокассет с последующей записью на диск или флешку. 
Переписываем содержимое видеокассет формата VHS, VHS-C на DVD. 
Предлагаем разработку фирменной обложки с вашими фотографиями. 
По желанию заказчика можем выгрузить видео на или файловый архив YouTube и скрыть от посторонних. Таким образом только вы и те, кому вы сообщили ссылку, смогут посмотреть это видео в любой точке мира.",
		"price" => 90,
		"username" => "Александр",
		"region" => 77,
		"email" => 'info@onboard24.ru',
		"city" => "Москва",
		"site" => "http://somesite.ru",
		"phone" => array('+79523806548' , '809212345678', '97860845'),
		"pic" => array(
			'http://***.jpg',
			'https://***.png',
			'http://***.jpg',
		),
	);
?>

Полный список возможных параметров, используемых при заведении объявления в систему onboard24.ru, можно получить из метода get_fields.

Формат успешного ответа:


{
  "success": {
    "un_id": "14611690346",
    "boards": "100",
    "ishop": 1,
    "ishop_regions": "[\"2\",\"12\",\"20\"]",
    "category": "1",
    "buysell": "3",
    "advhead": "Оцифровка аудиокассет и видеокассет в Москве",
    "advtext": "Производим оцифровку аудиокассет с последующей записью на диск или флешку. \r\nПереписываем содержимое видеокассет формата VHS, VHS-C на DVD. \r\nПредлагаем разработку фирменной обложки с вашими фотографиями. \r\nПо желанию заказчика можем выгрузить видео на или файловый архив YouTube и скрыть от посторонних. Таким образом только вы и те, кому вы сообщили ссылку, смогут посмотреть это видео в любой точке мира.",
    "price": "90",
    "username": "Александр",
    "region": "77",
    "city": "Москва",
    "tel1": "+79523806548",
    "tel2": "809212345678",
    "email": "admin@onboard24.ru",
    "site": "somesite.ru",
    "pic1": "http://***-1.jpg",
    "pic2": "http://***-2.jpg",
    "pic3": "http://***-3.jpg"
  },
  "warnings": {
    "phones": {
      "wrong_number": [
        "97860845"
      ]
    },
  },
  "errors": null
}

Поля структуры ответа метода new_adv:
В поле success выводятся результаты в случае успешного добавления объявления. Помимо переданных в самом теле объявления параметров, в поле success возвращается un_id – внутренний уникальный идентификатор объявления. Значение un_id необходимо сохранить в вашей системе для дальнейшей работы с данным объявлением.
boards – количество досок объявлений, на которые будет происходить размещение. Зависит от выбранной схемы размещения (skhema в методе get_fields).
В полях warnings и errors выводятся предупреждения и ошибки, которые могут возникнут при подаче объявления.

post_adv

Ссылка: http://api.onboard24.ru/rest/v1/post_adv/
Тип запроса: POST
Используется для передачи объявления в размещение через отправку в запросе un_id = ID. Внимание! При использовании метода post_adv происходит снятие средств с вашего баланса в Кабинете onboard24.ru, равное величине стоимости размещения объявления за вычетом скидки (если такая установлена Администрацией).
ID – уникальный идентификатор объявления в системе onboard24.ru, полученный в методе new_adv.

Формат успешного ответа:


{
  "success": {
    "balance_before": 1323.11,
    "cost": 155,
    "balance_after": 1168.11
  },
  "warnings": null,
  "errors": null
}

Поля структуры ответа метода post_adv:
balance_before, balance_after – баланс в Кабинете на сайте onboard24.ru до и после оплаты.
cost – стоимость размещения объявления в зависимости от выбранной схемы и скидки (если установлена Администратором). Величину вашей скидки вы можете узнать в методе balance.
При передаче объявления в размещение для него автоматически создается почтовый ящик на одном из наших поддоменов. Данный почтовый ящик используется для всех необходимых действий, проводимых с объявлением во время размещения (подтверждения подачи, авторизации и т.д.). Получить доступ к ящику можно с помощью метода view_adv после оплаты размещения. Ящик создается один с привязкой к е-мейлу или телефонному номеру (если е-мейл не передан). Вход в ящик осуществляется через mail.yandex.ru.

get_adv_status

Ссылка: http://api.onboard24.ru/rest/v1/get_adv_status/ID
Тип запроса: GET
Используется для получения статуса объявления в системе, количества размещенных досок и ссылок на сайты с уже размещенным объявлением.
Применяется только для оплаченных объявлений.

Формат успешного ответа:


{
  "status": "in_process",
  "count": 47,
  "total": 50,
  "links": [
    {
      "boardname": "someboard.ru",
      "linkurl": "http://***.html"
    },
	...
  ]
}

Поля структуры ответа метода get_adv_status:
status – текущий статус объявления. Может принимать значения: new (размещение еще не начиналось), in_process (объявление размещается), ready (объявление размещено на требуемом количестве досок), unpayed (объявление не оплачено);
count – количество размещенных объявлений;
total – требуемое количество размещений;
links – массив, содержащий название доски и прямую ссылку на объявление.

view_adv

Ссылка: http://api.onboard24.ru/rest/v1/view_adv/ID
Тип запроса: GET
Используется для получения информации по объявлению с айди ID.
Формат успешного ответа:


{
  "un_id": "13740377023",
  "data_adv": "2016-07-17",
  "total": "99",
  "your_total": "79.2",
  "boards": "50",
  "ishop": "1",
  "ishop_regions": "[\"15\",\"16\",\"22\"]",
  "category": "1",
  "buysell": "1",
  "advhead": "Сарафаны и туники. Коллекция жаркого лета",
  "advtext": "За окном жаркое лето, а значит, самое время для легких, струящихся нарядов. Наша компания презентует коллекцию жаркого лета – летних женских сарафанов и туник. Качественные ткани, изящество силуэтов и стильные образы – это основа женской одежды от производителя. \r\nЧтобы приобрести сарафан или тунику из модной коллекции женской одежды, достаточно просмотреть каталог женской летней одежды и заказать понравившийся вариант. Для тех, кто желает купить женскую одежду оптом, в каталоге имеется оптовая цена.",
  "price": "210",
  "currency": "RUB",
  "period": "2",
  "pic1": "http://***-1.jpg",
  "pic2": "http://***-2.jpg",
  "pic3": "http://***-3.jpg",
  "regemail": "***@***",
  "reglogin": "***",
  "regpwd": "***",
  "username": "Олег",
  "company": "Одежда для всех",
  "region": "77",
  "city": "Москва",
  "tel1": "1234567",
  "tel2": "1234567",
  "tel3": "1234567",
  "email": "dre****@gmail.com",
  "site": "dre***.ru",
}

Поля структуры ответа метода view_adv:
un_id – айди объявления в системе onboard24.ru;
data_adv – дата занесения объявления в систему;
total – полная стоимость размещения объявления (берется из skhema в методе get_fields);
your_total – стоимость размещения объявления с учетом вашей скидки (если задана Администрацией);
boards – количество досок, на которое будет произведено размещение (берется из skhema в методе get_fields);
ishop – признак того, что производится размещение по регионам Украины;
ishop_regions – массив регионов Украины, по которым производится размещение;
category – категория объявления (см. метод get_fields );
buysell – тип объявления (см. метод get_fields );
advhead – заголовок объявления;
advtext – текст объявления;
price – цена в объявлении;
currency – валюта объявления (см. метод get_fields );
period – период размещения объявления (см. метод get_fields );
pic1, pic2, pic3 – ссылки на изображения;
regemail, reglogin, regpwd – е-мейл, логин и пароль, используемые при размещении (отображаются только у оплаченных объявлений);
username – имя в объявлении;
company – название компании;
region – основной регион объявления (область Украины);
city – город объявления;
tel1, … , tel3 – код города/оператора и номер телефона в объявлении;
email – е-мейл заказчика (в объявлении не публикуется, используется для идентификации регистрационных данных);
site – сайт в объявлении.

В данном примере показаны поля для типового объявления раздела “Товары”. Список всех возможных полей доступен в методе get_fields.

balance

Ссылка: http://api.onboard24.ru/rest/v1/balance/
Тип запроса: GET
Используется для получения текущего баланса на счете на сайте onboard24.ru.
Формат успешного ответа:


{
  "success": {
    "balance": 5268.11,
    "credit": "-100",
    "discount": 0.15,
    "api": "1"
  }
}

Поля структуры ответа метода balance:
balance – сумма на текущем счете сайта onboard24.ru;
credit – кредитный лимит (допустимая сумма долга на текущем счете);
discount – величина скидки в системе;
api – признак того, что работа с АПИ-интерфейсом активна.

get_fields

Ссылка: http://api.onboard24.ru/rest/v1/get_fields/
Тип запроса: GET
Используется для получения справочников, используемых при подаче объявлений.
Формат успешного ответа:


{
  "skhema": {
    "1": {
      "total": "155",
      "boards": "15",
      "title": "Эконом"
    },
	...
  },
  "ru_regions": {
    "1": "Адыгея",
    "2": "Башкортостан",
    "3": "Бурятия",
	...
  },
  "buysell": {
    "1": {
      "1": "Продам",
      "2": "Куплю"
    },
	...
  },
  "category": {
    "1": "Товары",
    "2": "Услуги",
	...
  },
  "currency": {
    "RUB": "Рубль",
	...
  },
  "period": {
    "1": "Неделя",
    "2": "Месяц",
	...
  },
  "fields": {
    "advhead": "Заголовок",
    "advtext": "Текст объявления",
    "price": "Цена",
	...
  },
  "required_fields": [
    "buysell",
    "advhead",
    "advtext",
	...
  ]
}

Поля структуры ответа метода balance:
skhema – доступные схемы размещений (total – стоимость, boards – количество досок в схеме, title – название схемы);
buysell – тип объявления;
category – категория объявления;
currency – валюта в стоимости объявления;
period – срок размещения;
fields – все допустимые поля при подаче или при просмотре содержимого объявления;
required_fields – обязательные поля при подаче объявления.

get_boards

Ссылка: http://api.onboard24.ru/rest/v1/get_boards/CAT
Тип запроса: GET
Используется для получения списка досок для категории с номером CAT. Номера категорий доступны в методе get_fields.
Формат успешного ответа:


{
  "success": {
    "site1.ru",
    "site2.ru",
	...
    "siten.ru"
  }
}

Поля структуры ответа метода balance:
site1.ru, site2.ru, … , siten.ru – адреса досок объявлений для выбранной категории CAT.

Пожалуйста, присылайте ваши вопросы и пожелания на почту info@onboard24.ru.