Перейти к содержанию

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

Подключение к API🔗

Параметр Метод Значение Обязательно Тип Описание
action GET device_info да строка Команда запроса
appId GET 38 да число ID приложения
hash GET 00d0f8f01cff64ab2e8f2a4122b318b1 да строка Подпись запроса. md5(все параметры, отсортированные по алфавиту + секретный ключ приложения)
format GET json нет строка Формат ответа сервера

Формат ответа🔗

Параметр Описание
json Возвращает JSON (по умолчанию)
php PHP сериализация
amf AMF3 бинарный формат

Ответ🔗

array (
    'status' => 0,
    'error' => '',
    'result' =>
    array (
    ),
)

Если в ответе параметр status равен 0, то запрос прошел успешно. Если status меньше 0 - произошла ошибка. Текст ошибки будет в параметре error.

Параметр result, при ошибке, будет пустым массивом.

Проверка подписи🔗

Hash вычисляется по следующим правилам. Все параметры GET запроса сортируются по алфавиту (по ключам) и собираются в строчку через http_build_query(). После этого к строке добавляется символ & и секретный ключ приложения. После этого берется MD5 от получившейся строки

Пример🔗

/pub/s2s.php?action=device_info&appId=38&format=json&openUDID=7a094faa0667549d6d39d65b1736d0be064730c4&hash=598b6a8f699da98cf68021c261c21eb2
$GET = array(
    'appId' => 38,
    'action' => 'device_info',
    'format' => 'json',
    'openUDID' => '7a094faa0667549d6d39d65b1736d0be064730c4',
);
ksort($GET);
$GETString = http_build_query($GET); // action=device_info&appId=38&format=json&openUDID=7a094faa0667549d6d39d65b1736d0be064730c4
$hash = md5($GETString.'&'.$server_secret_key); // md5('action=device_info&appId=38&format=json&openUDID=7a094faa0667549d6d39d65b1736d0be064730c4&'.'CeWMmaBX6hIvxxCs2qXlPKwjxl4YscD5') в целях безопасности, секретный ключ был изменен в примере.
Ответ
array (
    'status' => 0,
    'error' => '',
    'result' =>
    array (
    'id' => '7a094faa0667549d6d39d65b1736d0be064730c4',
    'deviceName' => 'iPhone Simulator',
    'country' => 'RU',
    'platform' => 'x86_64',
    'odin1' => 'dfb7f341235ffa1d2b3e13eaa63fb1d658390b0c',
    'displayHeight' => '568',
    'displayWidth' => '320',
    'language' => 'en',
    'localizedModel' => 'iPhone Simulator',
    'memoryMax' => '8192.00',
    'model' => 'iPhone Simulator',
    'systemName' => 'iPhone OS',
    'systemVersion' => '6.0',
    'timeZone' => '+0400',
    'reachability' => '2',
    'carrier' => '',
    'isPayment' => '1',
    'isTest' => '1',
    'ip' => '1599402021',
    'flags' => '1',
    'registerTime' => '1353585172',
    'lastActiveTime' => '1355346237',
    'atime' => '1355346436',
    'location' =>
    array (
        'id' => '7a094faa0667549d6d39d65b1736d0be064730c4',
        'City' => 'Moscow',
        'Country' => 'Russia',
        'CountryCode' => 'RU',
        'Name' => 'Ленинградский проспект 45к5',
        'State' => 'Moscow',
        'Street' => 'Ленинградский проспект 45к5',
        'SubAdministrativeArea' => 'Moscow',
        'SubThoroughfare' => '45к5',
        'Thoroughfare' => 'Ленинградский проспект',
        'ZIP' => '125167',
        'latitude' => '55.79766',
        'longitude' => '37.53194',
        'ctime' => '1355346232',
        'atime' => '1355346436',
    ),
    'applications' =>
    array (
        1 =>
        array (
        'id' => '16',
        'deviceId' => '7a094faa0667549d6d39d65b1736d0be064730c4',
        'applicationId' => '38',
        'applicationVersion' => '1.1',
        'applicationBuild' => '700',
        'country' => 'RU',
        'displayName' => 'MRGServiceExample',
        'identifier' => 'ru.akeb.MRGServiceExample',
        'name' => 'MRGServiceExample',
        'memoryUse' => '24.04',
        'registerTime' => '1353585172',
        'lastActiveTime' => '1355346237',
        'isPayment' => '0',
        'atime' => '1355346436',
        ),
    ),
    'token' =>
    array (
    ),
    ),
)

Коды общих ошибок для всех запросов🔗

Код Описание
0 Нет ошибок
-1 Нет подписи!
-2 Нет приложения!
-3 Нет команды!
-4 Нет такой команды!
-5 Нет такого формата!
-6 Нет такого приложения!
-7 Неправильная подпись!

Последнее обновление: 2025-01-21
Дата создания: 2020-01-16