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

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

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

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

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

Перед началом работы с АПИ-интерфейсом необходимо пройти регистрацию на сайте onboard.net.ua/register и отправить заявку на активацию АПИ по адресу [email protected]. Подключение услуги абсолютно бесплатно. Оплата в виде аванса на внутренний счет используется только за фактические размещения.
Далее по тексту будет представлена документация по работе с методами и примеры кода на языке PHP.

Подготовка

Все запросы требуют передачи авторизационных данных в виде логина и пароля от Кабинета на сайте onboard.net.ua для идентификации текущего пользователя. Логин и пароль кодируются алгоритмом 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.onboard.net.ua/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.onboard.net.ua/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.onboard.net.ua/rest/v1/new_adv/
Тип запроса: POST
Используется для занесения нового объявления в систему onboard.net.ua. Плата на данном этапе не взимается. Объявление просто заносится в память системы и может быть передано в размещение позже.
Пример массива данных для отправки POST-запроса на заведение нового объявления:

	$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" => 21,
		"email" => '[email protected]',
		"city" => "Харьков",
		"site" => "http://somesite.ua",
		"phone" => array('+380577860845' , '+380689860845', '7860845'),
		"pic" => array(
			'http://***.jpg',
			'https://***.png',
			'http://***.jpg',
		),
	);

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

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

{
  "succsess": {
    "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": "21",
    "city": "Харьков",
    "code1": "057",
    "tel1": "7860845",
    "code2": "068",
    "tel2": "9860845",
    "email": "[email protected]",
    "site": "somesite.ua",
    "pic1": "http://***-1.jpg",
    "pic2": "http://***-2.jpg",
    "pic3": "http://***-3.jpg"
  },
  "warnings": {
    "phones": {
      "wrong_number": [
        "7860845"
      ]
    },
  },
  "errors": null
}

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

post_adv

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

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

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

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

get_adv_status

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

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

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

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

view_adv

Ссылка: http://api.onboard.net.ua/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": "UAH",
  "period": "2",
  "pic1": "http://***-1.jpg",
  "pic2": "http://***-2.jpg",
  "pic3": "http://***-3.jpg",
  "regemail": "***@***",
  "reglogin": "***",
  "regpwd": "***",
  "username": "Олег",
  "company": "Одежда для всех",
  "region": "4",
  "city": "Днепропетровск",
  "code1": "097",
  "tel1": "1234567",
  "code2": "095",
  "tel2": "1234567",
  "code3": "063",
  "tel3": "1234567",
  "email": "dre****@gmail.com",
  "site": "dre***.com.ua",
}

Поля структуры ответа метода view_adv:
un_id — айди объявления в системе onboard.net.ua;
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 — город объявления;
code1, tel1, … , code3, tel3 — код города/оператора и номер телефона в объявлении;
email — е-мейл заказчика (в объявлении не публикуется, используется для идентификации регистрационных данных);
site — сайт в объявлении.

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

balance

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

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

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

get_fields

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

{
  "skhema": {
    "1": {
      "total": "25",
      "boards": "15",
      "title": "Эконом"
    },
	...
  },
  "ua_regions": {
    "2": "Винницкая область",
    "3": "Волынская область",
    "4": "Днепропетровская область",
	...
  },
  "buysell": {
    "1": "Продам",
    "2": "Куплю",
	...
  },
  "category": {
    "1": "Товары",
    "2": "Услуги",
	...
  },
  "currency": {
    "UAH": "Гривна",
    "EUR": "Евро",
	...
  },
  "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.onboard.net.ua/rest/v1/get_boards/CAT
Тип запроса: GET
Используется для получения списка досок для категории с номером CAT. Номера категорий доступны в методе get_fields.
Формат успешного ответа:

{
  "succsess": {
    "site1.com.ua",
    "site2.com.ua",
	...
    "siten.com.ua"
  }
}

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

Пожалуйста, присылайте ваши вопросы и пожелания на почту [email protected]. Также подписывайтесь на наши новости в соцсетях: Facebook, Вконтакте.