Справка » Партнерская программа » Интернет-магазин, поисковая система » Программные интерфейсы (API)

 

 

Программные интерфейсы (API)

 

Коды партнерской программы

 

Код Описание
1 обычный пользователь
2

партнер, размещающий ссылки на своем сайте только на www.books.ru

3

партнер, размещающий ссылки на своем сайте не только на www.books.ru

4 поисковая система (доступен обычный каталог)
5 интернет-магазин (доступен обычный каталог)
6 издательство/производитель (доступен обычный каталог)
7 бронзовый партнер (доступны: обычный каталог, каталог с расширенными описаниями)
8 серебряный партнер (доступны: обычный каталог, каталог с категориями)
9 золотой партнер (доступны: обычный каталог, каталог с категориями и с расширенными описаниями)

 

 

Доступные API-интерфейсы

 

Коды
программы
Интерфейс Описание
любой search Получение данных о товаре.
4-9

cart

Загрузка корзины позволяет передать сразу несколько товаров в корзину books.ru.
5,7,8,9

regions

Получение списка регионов.
5,7,8,9 region_delivery Получение списка доступных способов доставки для региона.
5,7,8,9 order_interface

Создание заказа. Сначала необходимо получить список регионов и при создании заказа запросить список доступных способов доставки для конкретного региона.

5,7,8,9 order_interface_nal Создание заказа с оплатой наличными.
5,7,8,9 order_status Проверка статуса заказа.
5,7,8,9 order_cancel Отмена заказа.

 

 

Описание интерфейсов

search (интерфейс для получения данных о товарах по запросу)

Назначение: после того, как данные о товарах получены в каталоге XML, данный запрос можно использовать для получения обновленной информации о конкретных товарах (аннотация, цена и т.п.)

Расположение: https://www.books.ru/interface/search/search.php

 

Для получения необходимых данных о товаре или товарах, необходимо отправить на интерфейс запрос в определенном виде. В качестве ответа предоставляется список книг, соответствующий этому запросу в XML виде. Запросы могут быть как общими (в качестве ответа партнер получает список книг), так и персонализированными, в которых поиск производится по идентификатору, и в качестве ответа на такой запрос будет выдаваться лишь одна книга.

 

Скрипт принимает от пользователя запрос со следующими параметрами:

 

username – имя пользователя

password – пароль

query – текст запроса

start – номер записи, с которой будет начинаться вывод итогов поиска. Т.е. есть, если в этом поле стоит например 2, то вывод начнется с 3 записи, поскольку отсчет начинается с 0.

count – количество выводимых записей.

type – поле выполняет фильтрацию по типу товара(книги, файлы, электроника и т.д.)

category – фильтрация по категориям. Если задать только категорию без текста запроса, то будет выборка полной категории.

sort - тип сортировки, цифра (1 - по торговому рейтингу, 2 - по оценке посетителей, 3 - по цене от дешевых к дорогим, 4 - по цене от дорогих к дешевым, 5 - по дате выхода, сначала новинки, 7 - по доступности, 8 - по названию а-я, 9 - по названию я-а, 10 - по автору а-я, 11 - по автору я-а)

id – данное поле позволяет найти 1 товар по его идентификатору. Выдается расширенная информация о товаре, включая полную аннотацию

 

Пример формы для отправки поискового запроса:

<form action="https://www.books.ru/interface/search/search.php" method="post">

<input name="username" type="text" value="[email protected]"/>

<input name="password" type="text" value="123"/>

<p><b>Запрос :</b></p>

<input name="query" type="text"/><br/>

<input name="start" type="text"/><br/>

<input name="count" type="text"/><br/>

<input name="type" type="text"/><br/>

<input name="category" type="text"/><br/>

<p><b>или</b></p>

<input name="id" type="text"/><br/>

<p>

<input type="submit" value="Отправить">

</p>

</form>

Входные данные для запроса query = «php», start = 0 (отсчет элементов начинается с 0), count = 3.

<data>

<main>

<matching>66</matching>

<start>0</start>

<returned>3</returned>

</main>

<items>

<item>

<id>566746</id>

<name>Изучаем PHP и MySQL, 2-е издание</name>

<released>2008</released>

<info>

Совместное применение PHP и MySQL становится стандартом разработки динамических веб-сайтов на основе баз данных. Для начинающих пр

</info>

<price>189</price>

<authors>Дэвис М., Филлипс Д.</authors>

<type>books</type>

<maker>Символ-Плюс</maker>

</item>

<item>

<id>377120</id>

<name>PHP 5. Профессиональное программирование</name>

<released>2006</released>

<info>

Каким бы большим и сложным ни был ваш программный проект, вы сможете сделать его более мощным и совершенным, прочитав это подробно

</info>

<price>90</price>

<authors>Гутманс Э., Баккен С., Ретанс Д.</authors>

<type>books</type>

<maker>Символ-Плюс</maker>

</item>

<item>

<id>429052</id>

<name>AJAX и PHP. Разработка динамических веб-приложений</name>

<released>2006</released>

<info>

Книга "AJAX и PHP: разработка динамических веб-приложений" - самый удобный и полезный ресурс, который поможет вам войти в захватыв

</info>

<price>350</price>

<authors>Дари К., Бринзаре Б., Черчез-Тоза Ф., Бусика М.</authors>

<type>books</type>

<maker>Символ-Плюс</maker>

</item>

</items>

</data>

 

 

cart (интерфейс передачи данных для заполнения корзины)

Назначение: Передача заполненной корзины

Расположение: https://www.books.ru/interface/cart/fill_cart.php

 

Интерфейс представляет собой скрипт, получающий в качестве параметров массив идентификаторов (item[0], item[1], item[2] и т.д.) товаров и партнерский идентификатор (поле partner) посредством POST или GET запросов. После получения этих данных, скрипт должен будет заполнить корзину товарами, и перенаправить пользователя на страницу с содержимым корзины.

 

Пример формы отправки данных (массив элементов):

<form action="https://www.books.ru /interface/cart/fill_cart.php" method="post">

<input name="item[88888]" type="text" value="1"/><br/>

<input name="item[557232]" type="text" value="3"/><br/>

<input name="partner" type="text"/><br/>

<p><input type="submit" value="Отправить"></p>

</form>

 

 

Пример GET-запроса:

https://www.books.ru/interface/cart/fill_cart.php?item[613852]=2&item[816603]=2&partner=1

 

 

regions (интерфейс для получение списка доступных регионов)

Назначение: Получение списка доступных регионов доставки для вывода их на своем сайте.

Расположение: https://www.books.ru/interface/regions/regions.php

 

 

Скрипт принимает в качестве параметров данные партнера.

 

 

Пример формы отправки данных(массив элементов):

<form action="https://www.books.ru/interface/regions/regions.php" method="post">

<input name="username" type="text" value="[email protected]"/><br/>

<input name="password" type="text" value="123"/><br/>

<p><input type="submit" value="Отправить"></p>

</form>

 

 

Пример GET-запроса:

https://www.books.ru/interface/regions/[email protected]&password=123

 

 

Пример ответа:

<?xml version="1.0" encoding="utf-8"?>
<data>
        <region id='271'>Москва (внутри МКАД)</region>
        <region id='1003'>Москва (за МКАД)</region>
</data>

 


 

region_delivery (интерфейс для получение списка доступных способов доставки для регионов)

Назначение: Получение списка доступных способов доставки регионов доставки для вывода их на своем сайте.

Расположение: https://www.books.ru/interface/region_delivery/region_delivery.php

 

 

Скрипт принимает в качестве параметров данные партнера и ID необходимого региона.

 

 

Пример формы отправки данных(массив элементов):

<form action="https://www.books.ru/interface/region_delivery/region_delivery.php" method="post">

<input name="username" type="text" value="[email protected]"/><br/>

<input name="password" type="text" value="123"/><br/>

<input name="id_region" type="text" value="304"/><br/>

<p><input type="submit" value="Отправить"></p>

</form>

 

Пример GET-запроса:

https://www.books.ru/interface/region_delivery/[email protected]&password=123&id_region=304

 

 

Пример ответа:

<?xml version="1.0" encoding="utf-8"?>
<data>
        <delivery id='19'>самовывоз (м.Василеостровская)</delivery>
        <delivery id='14'>самовывоз (м.Садовая/Сенная)</delivery>
        <delivery id='11'>доставка курьером по Петербургу</delivery>
        <delivery id='15'>доставка курьером за КАД</delivery>
        <delivery id='3'>почта (Россия)</delivery>
</data>

 


 

order_interface (интерфейс создания заказа)

Назначение: Создание заказа от имени партнера, но с адресом доставки, указанным клиентом партнера.

Расположение: https://www.books.ru/interface/order/order_dep.php

 

 

Скрипт принимает в качестве параметра xml-документ в кодировке UTF-8, пример документа приведен ниже. Поля login и  password должны содержать логин и пароль партнера

zip – почтовый индекс получателя

city, address, name, middlename, family – город, адрес, ФИО

email – электронная почта получателя

region – номер региона (нужно получить через API для получения регионов)

delivery – номер способа доставки (нужно получить через API для получения способов доставки)

cart – узел, содержащий список заказаных элементов(тег item,  свойство count указывает на количество экземпляров элемента)

 

Данные отправляются посредством POST или GET запросов в виде xml-структуры в параметре "query", исходя из полученных данных формируется заказ. В качестве способа оплаты будет автоматически указываться оплата из свободных средств, которые партнер заблаговременно внес на личный счет. Как результат, в случае успешного формирования заказа, партнер получает номер созданного заказа.  Если в ходе заказа произошли какие-либо ошибки, в качестве ответа партнеру передается код и описание ошибки.

 

 

Пример xml документа, передаваемого скрипту, создающему заказ:

 

<data>

<login>ivan@mail.ru</login>

<password>1</password>

<zip>123453</zip>

<city>СПб</city>

<address>Ул. Ленина Дом ильича</address>

<name>Name</name>

<middlename>Mid</middlename>

<family>Family</family>

<email>[email protected]</email>

<region>45</region>

<delivery>1</delivery>

<cart>

<item count="1">565791</item>

</cart>

</data>

 

 

order_interface_nal (интерфейс создания заказа с оплатой наличными)

Назначение: Создание заказа от имени партнера, но с адресом доставки, указанным клиентом партнера, с оплатой наличными при получении заказа.

Расположение: https://www.books.ru/interface/order/order.php

 

Скрипт принимает в качестве параметра xml документ в кодировке UTF-8, пример документа приведен ниже. Поля login и  password должны содержать логин и пароль партнера

zip – почтовый индекс получателя

city, address, name, middlename, family – город, адрес, ФИО

email – электронная почта получателя

phone – телефон получателя

region – номер региона (нужно получить через API для получения регионов)

delivery – номер способа доставки (нужно получить через API для получения способов доставки)

payment – номер способа оплаты наличными (таблицу соответствий смотрите ниже).

cart – узел, содержащий список заказаных элементов (тег item,  свойство count указывает на количество экземпляров элемента)

 

Данные отправляются посредством POST или GET запросов в виде xml-структуры в параметре "query", исходя из полученных данных формируется заказ. Как результат, в случае успешного формирования заказа, партнер будет получать номер созданного заказа.  Если в ходе заказа произошли какие-либо ошибки, в качестве ответа партнеру будет отправлен код и описание ошибки.

 

 

Таблица соответствий способов оплат наличными и способов доставки

 

Способ доставки

Способ оплаты наличными

2 - доставка курьером по Москве

4 - наличными курьеру

3 - почта (Россия)

6 - наложенный платеж

8 - доставка курьером за МКАД

4 - наличными курьеру

9 - самовывоз (м.Динамо/Беговая)

5 - наличными

11 - доставка курьером по Петербургу

4 - наличными курьеру

12 - самовывоз (м.Арбатская)

5 - наличными

14 - самовывоз (м.Садовая/Сенная)

5 - наличными

15 - доставка курьером за КАД

4 - наличными курьеру

19 - самовывоз (м.Василеостровская)

5 - наличными

 

 

 

Пример xml документа, передаваемого скрипту, создающему заказ.

 

<data>

<login>ivan@mail.ru</login>

<password>1</password>

<zip>123453</zip>

<city>СПб</city>

<address>Ул. Ленина Дом ильича</address>

<name>Name</name>

<middlename>Mid</middlename>

<family>Family</family>

<email>[email protected]</email>

<region>304</region>

<delivery>3</delivery>

<payment>6</ payment >

<cart>

<item count="1">565791</item>

</cart>

</data>

 


 

 

order_status (интерфейс для проверки статуса заказа)

Назначение: Проверка текущего статуса заказа, созданного от имени партнера.

Расположение: https://www.books.ru/interface/order/status.php

 

Скрипт принимает в качестве параметра xml документ в кодировке UTF-8, пример документа приведен ниже. Поля login и password должны содержать логин и пароль партнера

id – номер заказа

 

 

Пример xml документа, передаваемого скрипту:

 

<data>

<login>ivan@mail.ru</login>

<password>1</password>

<id>123453</id>

</data>

 

 

Пример ответа:

 

<data>

<orderid>123453</orderid>

<status>принят к исполнению</status>

</data>

 


 

 

order_cancel (интерфейс для отмены заказа)

Назначение: Отмена заказа, созданного от имени партнера.

Расположение: https://www.books.ru/interface/order/cancel.php

 

Скрипт принимает в качестве параметра xml документ в кодировке UTF-8, пример документа приведен ниже. Поля login и password должны содержать логин и пароль партнера

id – номер заказа

 

Заказ можно отменить, если он ещё не отправлен!

 

 

Пример xml документа, передаваемого скрипту:

 

<data>

<login>ivan@mail.ru</login>

<password>1</password>

<id>123453</id>

</data>

 

 

Пример ответа:

 

<data>

<orderid>123453</orderid>

<status>заказ отменен</status>

</data>