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 — параметри передаються у вигляді рядка параметрів 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 | Метод ще не реалізований, але скоро буде доступний |