WhoCPA API документация
Внимание: API находится в активной разработке. Вскоре он будет дополнен множеством новых методов, однако подлежит изменению в существующих методах . Мы сообщим вам о важных изменениях, оставайтесь на связи
Начало работы
В этом документе описывается интерфейс программирования службы WhoCPA (далее «API»). Через API внешние приложения добавляют и редактируют предложения, цели, рекламные материалы, получают списки предложений, потенциальных клиентов и все виды статистики.
Предполагается, что читатель знает терминологию и понимает принципы сетей CPA. Эта информация содержится в помощь пользователю.
Случаи использования
API предоставляет различные уровни доступа к системным объектам; эти уровни соответствуют типам счетов. Без авторизации доступен уровень «Гость», с помощью которого можно получить информацию, также доступную без регистрации на сайте: список доступных предложений, их цели, новости и т. Д. Уровни «Веб-мастер» и «Рекламодатель» соответствуют на функционал подобных аккаунтов на сайте.
Доступ
Публичная информация, такая как список предложений, их цели, категории и т. Д. Доступна без разрешения.
Чтобы использовать функциональность вашей учетной записи, с каждым запросом вы должны передавать параметр api_key
, который можно получить на странице профиля или вверху этой страницы.
REST
API построен по принципу REST. Чтобы получить доступ к любому ресурсу, просто сделайте обычный HTTP-запрос.
В общем, URL ресурса выглядит так: /api/<resource_name>
, Могут быть методы взаимодействия с ресурсом
Метод | Запрос | Встреча |
---|---|---|
list | GET /api/resource/ |
Получить список объектов по заданным параметрам. Он используется в основном для полной выгрузки информации, а также может быть использован для поиска.
Список объектов можно найти в поле ответа
Чаще всего метод
Если для метода
|
view | GET /api/resource/id |
Получить один объект с заданным идентификатором. Обычно содержит более полную информацию, чем в списке действий.
Возвращенный объект будет в поле ответа |
update | POST /api/resource/id |
Редактировать объект с заданным идентификатором. В теле запроса необходимо передать поля объекта, которые должны быть изменены, и их новые значения.
В случае успеха поле ответа |
create | POST /api/resource/ |
Создать новый объект. В теле запроса необходимо передать поля нового объекта и их значения.
В случае успеха поле ответа
Кроме того, код состояния ответа для этого запроса в случае успеха будет |
delete |
DELETE /api/resource/id или POST /api/resource/del/id |
Удалить объект. Для совместимости с некоторыми типами прокси-серверов поддерживается альтернативный URL с методом POST.
В случае успеха поле ответа |
Очевидно, что не каждый ресурс поддерживает все 5 методов взаимодействия. Полный список доступных методов для каждого типа учетной записи можно увидеть в меню «Ресурсы и методы» слева.
Параметры запроса
Используется базовый метод передачи данных по HTTP. В случае запросов GET & mdash; параметры передаются в виде строки параметров URL, в случае POST, PUT, DELETE & mdash; в теле запроса.
Дополнительная сериализация запроса не требуется, однако обратите внимание, что в некоторых случаях необходимо использоватьКодировка URL.
Ответы и ошибки сервера
Формат данных ответа - всегда json. В таблице выше вы можете увидеть, какие поля следует ожидать в ответе в случае успешного запроса. В случае ошибки в ответе будет стерто только поле error
.
Общее правило таково: если в ответе отсутствует поле error
, то запрос выполнен успешно, а в ответе нужно искать поле, соответствующее запросу (см. Таблицу методов) .
Поле error
содержит наиболее подробное описание ошибки. Это поле может содержать строку или более сложную структуру данных, например:
GET /api/geo?api_key=wrongkey
{ "error": "Unauthorized" }
GET /api/goal/?offer_id=-123
{ "error": { "offer_id": ["Offers not found"] } }
Помимо описания ошибки в поле error
, общая информация об ответе (включая ошибку) передается в коде состояния HTTP. Список используемых кодов:
Код | Дешифрование | Используется для |
---|---|---|
200 | OK | Запрос успешно выполнен |
201 | Created | Объект создан |
400 | Bad Request | Ошибка в параметрах запроса |
401 | Unauthorized | Ошибка авторизации (ключ API недействителен) |
403 | Forbidden | У вас нет разрешения на выполнение этого метода на этом ресурсе |
404 | Not found | Объект не найден |
405 | Method not allowed | Этот ресурс не поддерживает требуемый метод. |
500 | Internal server error | Ошибка с нашей стороны |
501 | Not implemented | Метод еще не реализован, но скоро будет доступен |