- Payler

advertisement
Использование API
Для вызова функции необходимо отправить POST запрос на адрес
/api/модуль/функция
В body запроса передаётся JSON объект со всеми необходимыми параметрами
Авторизация через cookie [deprecated]
После получения session-id при логине\регистрации - можно проходить авторизацию,
передавая его в cookie с именем u
Авторизация по ключам
В настройках проекта можно получить открытый и закрытый ключ. Ключ является
уникальной авторизацией с привязкой к пользователю и проекту.
В BODY пост запроса передаются те же самые данные что и раньше, но в GET
(адресе) появляются дополнительные параметры
?_open=открытый ключ&_key=base64(sha256("закрытый ключ"+body))
sha256 должен браться в формате binary, а не hex
Как читать документацию
Billingrad API представляет собой единую точку обработки запросов и разделено на
модули.
Каждый модуль имеет в себе некоторый набор методов.
У каждого метода описаны принимаемые на вход параметры.
Если имя параметра написано в [квадратных скобках], то это означает что параметр
является необязательным. Но всё равно стоит прочитать комментарий к нему, в
некоторых случаях параметр может быть необязательным только при соблюдении
определённых условий.
[type=card] - такая запись обозначает что параметр type является необязательным и
его отсутствие равнозначно передаче значения `card`
Готовые обёртки для работы с API
На данный момент имеются готовые обёртки для PHP и Ruby.
Черновые варианты для Python и серверного JavaScript выдаются по запросу в
техподдержку.
Что возвращает API? Обработка ошибок
Billingrad API возвращает ответ в формате json.
Этот объект содержит в себе поле error, которое имеет значение либо true, либо false.
Error = false возможет в следующих случаях:
- Ошибка авторизации. В поле data приходит значение `Security`. Это значит что не
удалась авторизация по подписи и нужно уточнить корректность генерации параметра
_key
- Ошибка прав доступа. Случай когда проект ещё не получил одобрения на
выполнение некоторых действий.
- Ошибка метода. Данные ошибки описаны в документации к самому вызываемому
методу.
YAML! Апи может возвращать объект в формате yaml, если указать параметр
_format=yaml
XML! Апи может возвращать объект в формате xml, если указать параметр
_format=xml
В случае если сервер не отвечает или код ответа не 200 - проведите
запрос повторно через некоторое время. Идеально делать
наращивание интервала проведения запроса в геометрической
прогрессии (секунда, 4 секунды, 16, 64 ...).
Мы постарались выстроить стабильную распределённую
инфраструктуру, но не застрахованы от стихийных бедствий,
проблем с интернетом (обычно со стороны серверов клиента),
физическим выходом из строя 80% серверов одновременно.
Download