Руководства разработчика

Описание функций API

Формирование запросов. Общие принципы.

Для подробного описания отдельных функций перейдите на страницу: Описание функций API

  • Для выполнения запросов используется протокол HTTP:
    • Для получения данных используются GET-запросы.
    • Для сохранения данных/выполнения операций используются POST-запросы.
  • Для выполнения большинства запросов потребуется секретный ключ, передаваемый в виде параметра api_key.
    Данный ключ выдаётся разработчику администратором сервера СКАТ и не должен быть доступен третьим лицам.

Пример GET-запроса (получить количество бонусов клиента по номеру телефона):

curl 'http://test.scat.su/api/client/bonus/count/?api_key=16cbaf38-5683-4a11-89dd-b8a1ffd6737f&phone=891112223344'

В результате успешного запроса возвращается JSON вида:

{
        'status': 'DONE' | 'ERROR', /\*
                Обязательное поле.
                Статус выполнения запроса.
                В текущей версии API может принимать два значения:
                'DONE' - запрос выполнен успешно и в ответе содержится
                                 объект 'response' с результатом выполнения,
                'ERROR' - запрос выполнить не удалось и в ответе содержится
                                    объект 'error' с описанием ошибки. \*/
        'debug': { /\*
                Необязательное поле.
                Информация о запросе.
                Возвращается, если в запросе
                присутствует параметр debug\_mode \*/
                'remote\_ip': 'remote\_ip',  /\*
                        Обязательное поле.
                        IP-адрес, с которого пришёл запрос. \*/
        },
        response: { /\*
                Необязательное поле.
                Результат выполнения запроса.
                Содержимое зависит от конкретной API-функции
                Возвращается только при успешном запросе. \*/
        },
        error: { /\*
                Необязательное поле.
                Описание ошибки, возникшей в результате запроса.
                Возвращается, если запрос не удалось выполнить. \*/
                kind: 'ERROR\_KIND', /\*
                        Обязательное поле.
                        Тип ошибки.
                        В текущей версии API может принимать следующие значения:
                        'MISSING\_ARGUMENT' - в запросе отсутствует обязательный параметр,
                        'INVALID\_ARGUMENT' - один или более параметров запроса переданы неверно,
                        'NOT\_IMPLEMENTED' - функция не реализована на текущем сервере,
                        'BAD\_REQUEST' - ошибка в формате запроса,
                        'ACCESS\_DENIED' - недостаточно прав для выполнения запроса,
                        'INTERNAL\_ERROR' - внутренняя ошибка API-функции,
                        'NO\_DATA' - данные по запросу отсутствуют. \*/
                message: 'Description' /\*
                        Необязательное поле.
                        Подробное описание ошибки. \*/
        }
}

Пример ответа (получить количество бонусов клиента по номеру телефона):

{
        "status": "DONE",
        "response":
        {
                "bonus": 0,
                "phone": "891112223344"
        }
}