BIBLIOCLUB.API

API.BIBLIOCLUB VER.3



1. Общая информация

  • Все текстовые данные передаются и обрабатываются в кодировке UTF-8. В том числе это касается вычисления подписи SIGN на основе публичного ключа;
  • При взаимодействиях используется протокол HTTP. При всех запросах к серверам BIBLIOCLUB.API используются методы GET,POST,PUT,DELETE, поддерживается HTTP 1.1;
  • Дата и время, при отдаче в XML или при передаче на сервер в виде параметров запроса, всегда подразумеваются в формате ISO (2008-10-08 13:29:51) и соответствуют московскому времени;
  • Для всех дробных чисел (к примеру, для цен) в качестве разделителя дробной части используется точка. Число 15,50 является некорректным, а 15.50 и 15.5 являются корректными;
  • Все цены указываются в рублях, любые конвертации при работе партнера с другими валютами должны осуществляться на стороне партнера; предпочтительно по курсу Центробанка РФ с отклонениями в пределах 5%;
  • Основным URI API является api.biblioclub.ru/v3/
  • Все запросы к системе биллинга осуществляются по защищенному протоколу HTTPS

2. Аутентификация

2.1. Ключи приложения

После регистрации приложения в системе доступа к API Вы получаете два уникальных идентификатора-ключа: публичный ключ (Public key) и закрытый ключ (Private key). Ключи выглядят следующим образом:

                Public key: 1176613c0aa6e955ceab55564a66cc30d01670e034b82e79c71af64a539749c0
                Private key: 0c8d29fa5dfaa6bd992d4a8d02e13e47c04dbc88bc311c7af5ac2646127bffb7
                
Private key - ключ, который нельзя передавть никому. Его знает только Ваше приложение и сервер. На основе него формируется цифровая подпись для авторизации. Public key - открытый и доступный любому 3му лицу ключ на основе которого происходит идентификация Вашего приложения.

2.2. Идентификатор приложения

При регистрации Вам выдается идентификатор приложения. Это целое число [int]. Идентификатор приложения также используется для формирования цифровой подписи [SIGN].

2.3. Формирование цифровой подписи

Цифровая подпись необходима для защиты информации на сервере, защиты от различного рода хакерских атак на сервер API. Также некоторые параметры, например пароль и логин пользователя, должны быть зашифрованы прежде чем передавать их на сервер API. Для большинства запросов к серверу API цифровая подпись формируется на основе Private key следующим образом:

                hash-sha256(appid:appname:Private key);
                
На php это может выглядеть слудеющим образом:
$sign = hash("sha256", '6'.':'.'test'.':'.'0c8d29fa5dfaa6bd992d4a8d02e13e47c04dbc88bc311c7af5ac2646127bffb7'); 
Результат:
            7149f1dcaf78283b3a2f92312b43c9a8c0003148ba8e440bf69c40b4641d4ccb
            
Цифровая подпись должна передаваться для каждого запроса к API как отдельный заголовок HTTP запроса Authorization, используя стандартную утилиту CURL это можно описать как:
curl --header "Authorization: 7149f1dcaf78283b3a2f92312b43c9a8c0003148ba8e440bf69c40b4641d4ccb" api.biblioclub.ru/v3/
                

ВАЖНО: Устанавливайте заголовок Authorization цифровой подписи для каждого запроса к API

3. Запросы информации о приложении

3.1. Инфо о приложении /app

Получение информации о Вашем приложении.

Метод
URI HTTP Method Authentication
api.biblioclub.ru/v3/app?api_key={public_key} GET Public-key & Header
Примеры
api.biblioclub.ru/v3/app?api_key=1176613c0aa6e955ceab55564a66cc30d01670e034b82e79c71af64a539749c0