WebEffector.ru REST API

Наш API использует REST подход, в основе которого лежит идея сущностей и операций над ними.

Important Для правильного распознавания ваших запросов их содержимое должно быть в кодировке UTF-8. Для POST запросов также обязателен заголовок Content-Type: application/json

Токен

Все операции над сущностями должны производиться только авторизованным пользователем. Для этого вам необходимо получить токен и передавать его при каждом обращении к сервису как часть URL. Если вы забудете передать токен, то сервис вернет HTTP статус 403 Forbidden.

Например, для получения списка кампаний URL должен быть следующим: http://api.webeffector.ru/seo?token=d41d8cd98f00b204e9800998ecf8427e

Баллы

Для уменьшения нагрузки на сервер и защиты от атак введено использование бальной системы. Каждый день вам начисляется определённое количество баллов, оно зависит от вашего дневного расхода и времени пользования системой. При выполнении различных операций с вашего виртуального счета снимаются баллы. Количество снимаемых баллов зависит от того, какая операция была запрошена (см. также таблицу в конце документа). В случае исчерпания доступных баллов сервис будет возвращать HTTP статус 402 Payment Required на все запросы. В этом случае вы можете дождаться следующего дня, либо приобрести платные баллы. Начисление баллов происходит с 10 до 11 утра по Московскому времени. Оставшиеся баллы можно получить в заголовках X-Day-Points и X-Balance-Points отдаваемых при любом запросе.

Пользовательские идентификаторы

В целях вашего удобства сервис не назначает идентификаторов для объектов. Вы сами должны передать любой удобный для вас идентификатор.

Important Идентификатор должен быть уникальным в рамках вашего пользователя. Удалённые идентификаторы недоступны для повторного использования.

Ошибки

  • Ошибка 400 — ваш запрос содержит неверные данные. Если отправленные вами данные не прошли проверку валидации, то сервис возвращает эти данные и добавляет к ним поле errors с описанием ошибок.

  • Ошибка 402 — у вас недостаточно баллов для запросов к API, вам необходимо сделать паузу до следующего дня или приобрести платные баллы.

  • Ошибка 403 — вы указали неверный токен или пытаетесь поставить в очередь слишком много задач.

  • Ошибка 404 — вы указали неверные идентификаторы объектов в URL запроса.

  • Ошибка 5xx — скорее всего, мы выполняем сервисные работы на сервере, и вам нужно просто попробовать выполнить запрос ещё раз через 1 минуту. Мы старались сделать API максимально STATELESS, так что у вас не должно возникнуть никаких проблем.

Important При отправке невалидных данных сервис также списывает с вас баллы.

Начало работы

Для получения тестового доступа к API необходимо письмо с темой "Доступ к АПИ для пользователя username" на help (at) webeffector.ru. Обычно активация доступа к API занимает несколько рабочих дней. Так же можно активировать доступ и задать интересующие вопросы в jabber конференции по адресу xmpp://[email protected]

Аутентификация в системе

Получение токена

Для получения токена необходимо послать POST запрос на URL http://api.webeffector.ru/token, в теле которого передать логин и пароль.

Пример запроса:

{
	"login" : "user",
	"password" : "test"
}

Возвращаемое значение

В случае успеха возвращается HTTP статус 302 Moved Temporarily, который указывает на адрес /token-info с информацией о токене и доступе текущего пользователя:

{
	"token": "afcb768dbac99sanasdn9as8das8das",
	"access": "rwd"
}

Ошибки

  • При неправильном логине или пароле возвращается HTTP статус 400 Bad Request

  • Если логин или пароль не указаны, то возвращается HTTP статус 403 Forbidden

Управление кампаниями и продвижениями

Получение списка кампаний

[{
    "id": "E1",
    "region": "Москва",
    "name": "Продвижение сайта webeffector.ru",
    "url": "http://webeffector.ru/",
    "mode": "DEFAULT",
    "pos": ["yandex_ru", "google_ru"],
    "top": ["yandex_ru"],
    "comment": "123",
    "day_cost": 112,
    "budget": 3500,
    "state": "WORK,SLEEP"
}]

Поле state кампании формируется на основании статусов всех её продвижений.

Получение информации по кампании

{
    "id": "E1",
    "region": "Москва",
    "name": "Продвижение сайта webeffector.ru",
    "url": "http://www.webeffector.ru/",
    "mode": "DEFAULT",
    "pos": ["yandex_ru", "google_ru"],
    "top": ["yandex_ru"],
    "day_cost": 4,
    "budget": 5.0,
    "comment": "123",
    "state": "WORK,SLEEP"
    "success": {
        "yandex_ru": 1.0
    }
    "promos": [{
        "day_cost": 4.01,
        "positions": {
            "yandex_ru": 1,
            "google_ru": 4
        },
        "yesterday_positions": {
            "yandex_ru": 2,
            "google_ru": 4
        },
        "searcher_url": {
            "yandex_ru": "http://www.webeffector.ru/",
            "google_ru": "http://www.webeffector.ru/"
        }
        "id": "P1",
        "hits":1,
        "links_bought": 1,
        "word": "продвижение сайта",
        "url": "http://www.webeffector.ru/",
        "recommended_budget": 10,
        "yandex_geo": "UNKNOWN",
        "position": 5,
        "state": "WORK",
        "budget": 5.0
    }, {
        "day_cost": 0.0,
        "positions": {
            "yandex_ru": 3,
            "google_ru": 7
        },
        "searcher_url": {
            "yandex_ru": "http://www.webeffector.ru/pages/promo",
            "google_ru": "http://www.webeffector.ru/pages/promo"
        },
        "yesterday_positions": {
            "yandex_ru": 3,
            "google_ru": 7
        },
        "id": "P2",
        "hits":1,
        "links_bought": 0,
        "word": "реферальная программа",
        "url": "http://www.webeffector.ru/pages/promo",
        "position": 3,
        "state": "SLEEP",
        "budget": 10.0
    }]
}

Получение информации по продвижению

{
    "id": "P1",
    "word": "деревянные окна",
    "url": "http://okna.ru/",
    "position": 5,
    "budget": 5.0,
    "state": "WORK",
    "day_cost": 4.01,
    "hits": 1,
    "recommended_budget": 10,
    "yandex_geo": "UNKNOWN",
    "positions": {
        "yandex_ru": 1,
        "google_ru": 4
    },
    "yesterday_positions": {
        "yandex_ru": 2,
        "google_ru": 4
    },
    "searcher_url": {
        "yandex_ru": "http://www.webeffector.ru/pages/promo",
        "google_ru": "http://www.webeffector.ru/pages/promo"
    },
    "anchors": [{
        "text": "#a#продвижение сайта#/a#.",
        "count": 1
    }],
    "links": [{
        "id": 1,
        "date": "2012-02-01",
        "url": "http://donor.ru/1.html",
        "text": "#a#продвижение сайта#/a#.",
        "price": 4.01,
        "indexed_by_yandex": true,
        "indexed_by_google": true
    }],
    "trends": {
        "yandex_ru": {
            "2012-04-01": 8,
            "2012-04-02": 17,
            "2012-04-03": 4
        },
        "google_ru": {
            "2012-04-01": 13,
            "2012-04-02": 14,
            "2012-04-03": 1
        }
    }
}
Important Поле anchors может быть пустым сразу после создания продвижения, т.к. генератор анкоров запускается раз в минуту.

Создание или обновление кампании

{

    "name": "№1 webeffector.ru",
    "id": "E1",
    "url": "http://www.webeffector.ru/",
    "mode": "DEFAULT",
    "region": "Смоленск",
    "pos": ["yandex_ru", "google_ru"],
    "top": ["yandex_ru"],
    "promos": [{
        "id": "1",
        "state": "WORK",
        "url": "http://www.webeffector.ru/",
        "word": "сео для домохозяек",
        "budget": 100.0,
        "position": 3,
        "anchors": [{"text": "сео для домохозяек","count": 1 }]
    }]
}
Note Если у продвижения поле anchors содержит пустой массив, то анкоры будут сгенерированы автоматически.
Note Система не позволит вам запустить продвижение, если денег на вашем счету недостаточно для оплаты существующих и новых продвижений на неделю вперёд.

Создание или обновление продвижения

{
    "id": "P1",
    "state": "WORK",
    "url": "http://www.webeffector.ru/",
    "word": "сео для домохозяек",
    "budget": 100.0,
    "position": 3,
    "anchors": [{"text": "сео для домохозяек","count": 1 }],
    "daily_limit": 1
}

Поле daily_limit количество ссылок закупаемых в день на данное продвижение, не участвует в общем лимите для домена. Если значение отрицательное, то ссылки закупаются с обычной скоростью. Значение 0 используется для остановки закупок. Значение -1 для возврата продвижения к обычной закупке.

Note Если у продвижения поле anchors содержит пустой массив, то анкоры будут сгенерированы автоматически.
Note Система не позволит вам запустить продвижение, если денег на вашем счету недостаточно для оплаты существующих и новых продвижений на неделю вперёд.

Удаление кампании в архив

Кампания удаляется в архив, если отсутствуют запросы в статусе WORK и MONITOR, нет купленных вечных ссылок и активных заказов на них, и нет купленных арендных ссылок. В этом случае код ответа 200 (Ok). В противном случае код ответа - 409 (Conflict) и возвращается сообщение об ошибке, например:

{
 "errors":
 {
  "id":
  [
   {
    "message":"active queries",
    "code":"integrityViolation"
   },
   {
    "message":"rent links",
    "code":"integrityViolation"
   }
  ]
 }
}

Список сообщений о причинах отказа при удалении в архив: active queries (есть активные запросы), eternal links (есть вечные ссылки или заказы на них), rent links (есть купленные арендные ссылки).

Восстановление кампании из архива

Кампания восстанавливается из архива в статус WORK. Код ответа 200 (Ok). При некорректном пользовании этим вызовом, например, если кампания уже находится в рабочем статусе - код ответа 400 (Bad request) и возвращается сообщение об ошибке:

{
 "errors":
 {
  "id":
  [
   {
    "message":"The state was not changed",
    "code":"integrityViolation"
   }
  ]
 }
}

Удаление кампании

Происходит безвозвратное удаление кампании без возможности последующего восстановления.

Удаление продвижения

Удаление ссылок

Для удаления ссылки (ссылок) отправьте DELETE запрос на URL http://api.webeffector.ruseo/{projectId}/{promotionId}/{linkIds}, где projectId это идентификатор проекта, promotionId идентификатор продвижения, а linkIds один или более идентификаторов ссылок, разделенных запятыми.

При удалении ссылки могут быть также добавлены в глобальный или проектный черный список. Для этого необходимо передать аргумент gbl или bl в URL. Например:

Поддерживаемые поисковые системы

["yandex_ru", "google_by", "google_ru","google_com", "google_ua"]

Поддерживаемые состояния продвижений

["WORK","SLEEP"]

Поддерживаемые регионы

Ошибки

  • Ошибка 400 — вы указали неверные данные, каждый объект будет дополнен полем errors.

  • Ошибка 404 — вы указали неверные идентификаторы объектов в URL запроса.

Интерфейсные данные

Работа с планами и кампаниями может осуществляться в том же формате, что и в веб интерфейсе.

Создание или обновление плана/кампании

Для создания/обновления необходимо послать POST запрос на URL http://api.webeffector.ru/ifce/plan/{id} (вместо {id} подставьте идентификатор кампании к которой будет привязан план). В теле запроса необходимо передать:

Пример запроса:

{
	"regionId" : 213,
	"url" : "http://www.webeffector.ru/"
}

Возвращаемое значение

Возвращает идентификатор заявки (внутренний id эффектора, который может понадобится в случае ошибки, обычно его можно не сохранять). Код состояния HTTP при этом равен 200 Accepted.

Ошибки

Если переданные данные не прошли валидацию, то код состояния HTTP устанавливается в 400 Bad Request и возвращается JSON-объект с запросом и соответствующими ошибками.

Получение плана кампании

Для получения плана привязанного к кампании необходимо послать GET запрос на URL http://api.webeffector.ru/ifce/plan/{id} (вместо {id} подставьте идентификатор кампании к которой привязан план)

[{
        "url": "http://domain.tld/",
        "google": -1,
        "quality": 0.0,
        "googleUrl": "http://domain.tld/read/1",
        "period": 55.78913834322168,
        "shows": 0,
        "budget": 100.0,
        "word": "4 gb usb stick",
        "yandex": 15
    }, {
        "url": "http://domain.tld/",
        "google": 3,
        "quality": 0.5141897942019212,
        "googleUrl": "http://domain.tld/read/2",
        "period": 57.14860300197054,
        "shows": 688,
        "budget": 613.0,
        "word": "galaxy s iii mini",
        "yandex": -1
    }
]

В заголовках X-State и X-Daily-Limit можно узнать текущее состояние плана и рекомендуемый лимит ссылок в день соответственно.

Создание медиаплана

Создание медиаплана происходит следующим образом:

  • пользователь создаёт заявку. Заявке присваивается статус NEW

  • сервер начинает создание плана. Заявке присваивается статус RUNNING

  • после создания плана статус заявки устанавливается в FINISHED

  • пользователь запрашивает информацию о заявке, в которой содержится информация о медиаплане (поле result)

Для слежения за статусом заявки пользователь может запрашивать информацию о ней, передавая уникальный идентификатор, либо обо всех заявках.

Создание заявки

Для создания заявки необходимо послать POST запрос на URL http://api.webeffector.ru/plans/{id} (вместо {id} подставьте любой уникальный идентификатор). В теле запроса необходимо передать:

  • URL сайта или страницы

  • название региона

Пример запроса:

{
	"url" : "http://example.org",
	"region" : "Москва",
}
Important Одновременно каждый пользователь может иметь не более 2 активных заявок. Иными словами, если у вас есть две заявки в статусе NEW или RUNNING, вы не сможете добавить ещё одну до тех пор, пока количество заявок в очереди не станет меньше разрешенного лимита.

Возвращаемое значение

Возвращает идентификатор заявки (тот же самый, что был передан пользователем). Код состояния HTTP при этом равен 202 Accepted.

Ошибки

Если переданные данные не прошли валидацию, то код состояния HTTP устанавливается в 400 Bad Request и возвращается JSON-объект с запросом и соответствующими ошибками:

{
	"id" : "2",
	"region" : "Антарктика",
	"url" : "http://example.org",
	"errors" : {
		"id" : [
			{
				"message" : "Id already in use",
				"code" : "ValidPlanId"
			}
		],
		"region" : [
			{
				"message" : "Invalid region name",
				"code" : "ValidRegionName"
			}
		]
	}
}

Если количество активных заявок превышает допустимый лимит ответ будет другим:

{
	"code" : "ACCESS_01",
	"message" : "Exceeded max allowed tasks in queue"
}

Просмотр заявок

Для просмотра заявок необходимо послать GET запрос на URL http://api.webeffector.ru/plans

[
	{
		"result" : [
			{
				"phrase" : "тест пример",
				"page" : "/index.php",
				"need_position" : 0,
				"transitions_prediction" : 7,
				"budget" : 100.0,
				"period" : "3.98",
				"deleted" : 0,
				"relevancy_error" : 0
			},
			{
				"phrase" : "example",
				"page" : "/index.php",
				"need_position" : 0,
				"transitions_prediction" : 7,
				"budget" : 100.0,
				"period" : "3.98",
				"deleted" : 0,
				"relevancy_error" : 0
			}
		],
		"status" : "FINISHED",
		"id" : "2",
		"region" : "Москва",
		"url" : "http://example.org"
	}
]

Обратите внимание на массив объектов result, каждый из которых содержит следующие поля:

phrase

ключевое слово

page

релевантная страница (относительная)

need_position

требуемая позиция

transitions_prediction

прогнозируемое количество переходов

budget

бюджет на продвижение

period

период продвижения

deleted

признак удаления страницы (нет страницы, transitions_prediction = 0 или ещё какие-либо причины)

relevancy_error

во время попытки определить страницу произошла ошибка, но слово оставляем

Просмотр информации о заявке

Для просмотра информации о заявке необходимо послать GET запрос на URL http://api.webeffector.ru/plans/{id} (вместо {id} подставьте идентификатор заявки). Формат вывода такой же как и при просмотре всех заявок, с тем лишь исключением, что отображается только одна заявка.

Ошибки

  • При запросе несуществующей заявки возвращается 404 Not Found

Задачи усиления

Все задачи усиления делятся на следующие типы:

  • усиление выдачи

  • усиление ссылок

  • усиление социальной активности

Усиление выдачи

Сводная информация

Сводная информация об активных задачах по усилению выдачи

Пример использования
curl --header "Content-Type: application/json" \
    "http://api.webeffector.ru/amplification/search/{user_project_id}/summary?token={token}"

Список задач

Возвращает список задач по усилению выдачи. Помимо созданных задач усиления список содержит в себе задачи, основанные на списке активных продвижений

Поля ответа
success Флаг успешности выполнения

tasks

Список задач

tasks.id

Идентификатор задачи

tasks.task_state

Состояние задачи

tasks.promo_id

Системный идентификатор продвижения

tasks.yandex_id

Идентификатор региона в яндексе

tasks.word

Поисковая фраза

tasks.budget

Бюджет задачи

tasks.expense

Траты задачи

tasks.target_url

Усиливаемый урл

tasks.yandex_position

Последняя позиция в яндексе

tasks.google_position

Последняя позиция в гугл

tasks.required_position

Требуемая позиция

tasks.recommended_budget

Рекоммендуемый бюджет

tasks.clicks

Количество выполненных переходов

Пример использования
curl --header "Content-Type: application/json" \
        "http://api.webeffector.ru/amplification/search/{user_project_id}?token={token}"
{
    "success":true,
    "tasks":[
        {
           "id":"E31590",
           "task_state":"ACTIVE",
           "promo_id":28370716,
           "yandex_id":2,
           "word":"эффективное изучение английского",
           "budget":21.0,
           "expense":5.4,
           "target_url":"http://oxford-russia.ru/",
           "yandex_position":10000,
           "google_position":26,
           "required_position":10,
           "recommended_budget":77.00,
           "clicks":8
        }]
}

Создание и редактирование задач

Если задача с заданным идентификатором не существует, то будет создана новая. В противном случае задача будет отредактирована. Допустимые значение для статуса задачи:

  • ACTIVE (Активен)

  • STOPPED (Остановлен пользователем)

  • INACTIVE (Остановлен системой)

  • FROZEN (Заморожен)

  • REMOVED (Удален)

Поля запроса
user_project_id Идентификатор проекта

tasks

Список задач для создания/редактирования

tasks.id

Идентификатор задачи

task.task_state

Статус задачи

task.budget

Бюджет задачи

task.promo_id

Системный идентификатор продвижения

Поля ответа
success Флаг успешности выполнения

task_ids

Идентификаторы обработанных задач

balance_lack

Недостаток баланса. Если значение имеет положительное значение, то указывает величину необходимого пополнения баланса для запуска задачи с выполнением на 3 дня

Пример использования
curl --header "Content-Type: application/json" \
   --data '[{"id":"E28309705", "task_state" : "ACTIVE", "budget": 5, "promo_id":28309705}]'
   http://api.webeffector.ru/amplification/search/{user_project_id}?token={token}
{
   "success":true,
   "taskIds":["E204092"],
   "balanceLack":-410.29
}

Усиление ссылок

Сводная информация

Сводная информация об активных задачах по усилению ссылок

Пример использования
curl --header "Content-Type: application/json" \
    "http://api.webeffector.ru/amplification/link/{user_project_id}/summary?token={token}"

Список задач

Возвращает список созданных задач по усилению ссылок, а также задачи, допустимые для усиления.

Поля ответа
success Флаг успешности выполнения

tasks

Список задач

tasks.id

Идентификатор задачи

tasks.task_state

Состояние задачи

tasks.lookup_url

Страница донора

tasks.link_id

Системный идентификатор ссылки

tasks.link_state

Состояние ссылки

tasks.anchor

Название задачи

tasks.budget

Бюджет задачи

tasks.expense

Траты задачи

tasks.target_url

Усиливаемый урл на странице донора

tasks.recommended_budget

Рекоммендуемый бюджет

tasks.clicks

Количество выполненных переходов

Пример использования
curl --header "Content-Type: application/json" \
    "http://api.webeffector.ru/amplification/link/{user_project_id}/summary?token={token}"
{
     "success":true,
     "tasks":[
         {
            "id":"E123456"
            "task_state":null,
            "lookup_url":"http://vospitdom.ru/index.php?option=com_content&view=article&id=55&Itemid=54",
            "link_id":196318020,
            "link_state":"ACTIVE",
            "anchor":"изучение английского языка в Санкт-Петербурге.",
            "budget":0.0,
            "expense":0.0,
            "target_url":"http://oxford-russia.ru/",
            "recommended_budget":162.00,
            "clicks":0,
        }
     ]
}

Создание и редактирование задач

Если задача с заданным идентификатором не существует, то будет создана новая. В противном случае задача будет отредактирована. Допустимые значение для статуса задачи:

  • ACTIVE (Активен)

  • STOPPED (Остановлен пользователем)

  • INACTIVE (Остановлен системой)

  • FROZEN (Заморожен)

  • REMOVED (Удален)

Поля запроса
user_project_id Идентификатор проекта

tasks

Список задач для создания/редактирования

tasks.id

Идентификатор задачи

task.task_state

Статус задачи

task.budget

Бюджет задачи

task.link_id

Системный идентификатор ссылки

Поля ответа
success Флаг успешности выполнения

task_ids

Идентификаторы обработанных задач

balance_lack

Недостаток баланса. Если значение имеет положительное значение, то указывает величину необходимого пополнения баланса для запуска задачи с выполнением на 3 дня

Пример использования
curl --header "Content-Type: application/json" \
    --data '[{"id":"E28309705", "link_id" : 1234567, "task_state" : "ACTIVE", "budget": 5}]'
    http://api.webeffector.ru/amplification/link/{user_project_id}?token={token}
{
   "success":true,
   "taskIds":["E204092"],
   "balanceLack":-410.29
}

Проверка размещения ссылок на странице донора

Метод возвращает внешние ссылки с заданных станиц-доноров, ведущие на продвигаемый сайт.

Поля запроса
user_project_id Идентификатор проекта

pageUrls

Список страниц-доноров для проверки

Поля ответа
success Флаг успешности выполнения

anchors

Найденные ссылки

anchors

anchors.lookupUrl

Проверяемая страница донора

anchors.targetUrl

Найденная внешняя ссылка на продвигаемый сайт

anchors.anchor

Найденный анкор

Пример использования
Запрос:
curl --header "Content-Type: application/json" \
    --data '["http://vospitdom.ru/index.php?option=com_content&view=article&id=55&Itemid=54"]' \
    http://api.webeffector.ru/amplification/link/{user_project_id}/find?token={token}
Ответ:
{
      "anchors":[
          {
              "targetUrl":"http://oxford-russia.ru/",
              "lookupUrl":"http://vospitdom.ru/index.php?option=com_content&view=article&id=55&Itemid=54",
              "anchor":"изучение английского языка в Санкт-Петербурге"
          }
      ],
      "success":true
}

Усиление социальной активности

Сводная информация

Сводная информация об активных задачах по усилению социальной активности

Пример использования
curl --header "Content-Type: application/json" \
    "http://api.webeffector.ru/amplification/like/{user_project_id}/summary?token={token}"

Список задач

Список созданных задач по усилению социальной активности

Поля ответа
success Флаг успешности выполнения

prices

Цены на задачи усиления социальной активности. Ключом является название задачи усиления социальной активности, а значением объект содержащий информацию: идентификатор типа социальной активности, описание, стоимость единичного выполнения, тип активности

tasks

Список задач

tasks.id

Идентификатор задачи

tasks.task_state

Состояние задачи

tasks.network

Название социальной сети

tasks.type

Тип социальной активности. Допустимые значения передаются в параметре prices

tasks.budget

Бюджет задачи

tasks.expense

Траты задачи

tasks.target_url

Усиливаемая страница

tasks.recommended_budget

Рекоммендуемый бюджет

tasks.before_last_likes

Количество лайков за предыдущий день

tasks.last_likes

Количество лайков за вчера

tasks.clicks

Количество выполненных лайков

Пример использования
curl --header "Content-Type: application/json" \
    --data '[{"id":"E28309705", "title":"тестовая задача усиления", "target_url":"http://oxford-russia.ru/", "task_state" : "ACTIVE", "budget": 5, "type":"FACEBOOK_NAZHATIE_KNOPKI__RAZMESHENIE_SSYLKI"}]'
    http://api.webeffector.ru/amplification/like/{user_project_id}?token={token}
{
		"prices":
		    {
		        "TWITTER_RAZMESHENIE_SSYLKI":[143, "Нажатие кнопки (размещение ссылки)", 3.9, "TWEET"],
		        "FACEBOOK_NAZHATIE_KNOPKI__RAZMESHENIE_SSYLKI":[144, "Нажатие кнопки (размещение ссылки)", 3.9, "LIKE"],
		        "VKONTAKTE_RAZMESHENIE_SSYLKI":[145, "Нажатие кнопки (размещение ссылки)", 3.9, "SHARE"],
		        "GOOGLE_RAZMESHENIE_SSYLKI":[146, "Нажатие кнопки (размещение ссылки)", 3.9, "SHARE"]
		    },

		"tasks":[
		    {
		        "id":"E10926",
		        "title":"test-task",
		        "task_state":"ACTIVE",
		        "network":"VKONTAKTE",
		        "type":"VKONTAKTE_RAZMESHENIE_SSYLKI",
		        "budget":41.0,
		        "expense":5.4,
		        "target_url":"http://oxford-russia.ru/obuchenie/dlya-detej",
		        "recommended_budget":117,
		        "before_last_likes":16,
		        "last_likes":16,
		        "clicks":5
		    }
        ],

		"success":true
}

Создание и редактирование задач

Если задача с заданным идентификатором не существует, то будет создана новая. В противном случае задача будет отредактирована. Допустимые значение для статуса задачи:

  • ACTIVE (Активен)

  • STOPPED (Остановлен пользователем)

  • INACTIVE (Остановлен системой)

  • FROZEN (Заморожен)

  • REMOVED (Удален)

Поля запроса
user_project_id Идентификатор проекта

tasks

Список задач для создания/редактирования

tasks.id

Идентификатор задачи

task.task_state

Статус задачи

task.budget

Бюджет задачи

task.target_url

Адрес усиливаемой страницы

task.type

Тип соцальной активности

Поля ответа
success Флаг успешности выполнения

task_ids

Идентификаторы обработанных задач

balance_lack

Недостаток баланса. Если значение имеет положительное значение, то указывает величину необходимого пополнения баланса для запуска задачи с выполнением на 3 дня

Пример использования
curl --header "Content-Type: application/json" \
    --data '[{"id":"E28309705", "title":"тестовая задача усиления", "target_url":"http://oxford-russia.ru/", "task_state" : "ACTIVE", "budget": 5, "type":"FACEBOOK_NAZHATIE_KNOPKI__RAZMESHENIE_SSYLKI"}]' \
    http://api.webeffector.ru/amplification/like/{user_project_id}?token={token}
{
   "success":true,
   "taskIds":["E204092"],
   "balanceLack":-410.29
}

Проверка наличия виджетов на странице

Метод возвращает сводную информацию о задачах усиления социальной активности, доступных для заданной страницы.

Поля запроса
user_project_id Идентификатор проекта

pageUrls

Список страниц для проверки

Поля ответа
success Флаг успешности выполнения

like_tasks

Найденные виджеты

like_tasks.title

Адрес проверяемой страницы

like_tasks.items

Допустимые для запуска задачи

like_tasks.items.network

Название социальной сети

like_tasks.items.description

Описание социальной активности

like_tasks.items.task

Тип задачи для усиления социальной активности

like_tasks.items.default_price

Стоимость единичного выполнения задачи

like_tasks.items.amount

Величина текущей социальной активности на странице

like_tasks.items.amount_prefix

Тип величины для социальной активности

Пример использования
Запрос:
curl --header "Content-Type: application/json" \
    --data '["http://oxford-russia.ru/obuchenie/dlya-detej"]' \
    http://api.webeffector.ru/amplification/like/{user_project_id}/find?token={token}
Ответ:
{
    "success":true,
    "like_tasks":{
        "http://oxford-russia.ru/obuchenie/dlya-detej":{
            "title":"Английский для детей ",
            "items":[
                {
                    "amount":16,
                    "network":"VKONTAKTE",
                    "amountPrefix":"shares",
                    "defaultPrice":3.9,
                    "description" : "Нажатие кнопки (размещение ссылки)",
                    "task":"VKONTAKTE_RAZMESHENIE_SSYLKI"
                },
                {
                    "amount":12,
                    "network":"TWITTER",
                    "amountPrefix":"tweets",
                    "defaultPrice":3.9,
                    "description" : "Нажатие кнопки (размещение ссылки)",
                    "task":"TWITTER_RAZMESHENIE_SSYLKI"
                 },
                 {
                    "amount":8,"network":"GOOGLE",
                    "amountPrefix":"shares",
                    "defaultPrice":3.9,
                    "description" : "Нажатие кнопки (размещение ссылки)",
                    "task":"GOOGLE_RAZMESHENIE_SSYLKI"
                 },
                 {
                    "amount":0,"network":"FACEBOOK",
                    "amountPrefix":"likes",
                    "defaultPrice":3.9,
                    "description" : "Нажатие кнопки (размещение ссылки)",
                    "task":"FACEBOOK_NAZHATIE_KNOPKI__RAZMESHENIE_SSYLKI"
                 }
            ]
        }
    }
}

Проверка доступных задач усиления для социальной страницы

Метод возвращает сводную информацию о доступных задачах усиления социальной активности, доступных для заданной социальной страницы.

Поля запроса
user_project_id Идентификатор проекта

pageUrls

Список страниц для проверки

Поля ответа
success Флаг успешности выполнения

publication_tasks

Ключ - url страницы, значение - найденная информация

publication_tasks.*.title

Название страницы

publication_tasks.*.items

Допустимые для запуска задачи

publication_tasks.*.items.network

Название социальной сети

publication_tasks.*.items.description

Описание социальной активности

publication_tasks.*.items.task

Тип задачи для усиления социальной активности

publication_tasks.*.items.default_price

Стоимость единичного выполнения задачи

publication_tasks.*.items.amount

Величина текущей социальной активности на странице

publication_tasks.*.items.amount_prefix

Тип величины для социальной активности

Пример использования
Запрос:
curl --header "Content-Type: application/json" \
    --data '["http://www.youtube.com/watch?v=issObSz7U0s"]' \
    http://api.webeffector.ru/amplification/publication/{user_project_id}/find?token={token}
Ответ:
{
    "success":true,
    "publication_tasks":{
        "http://www.youtube.com/watch?v=issObSz7U0s":{
            "title":"Оксфорд 2 - YouTube",
            "items":[
                {
                    "amount":1901,
                    "network":"youtube",
                    "task":"YOUTUBE_PROSMOTR_ROLIKA",
                    "description":"Просмотр ролика",
                    "activity_type":"VIEW",
                    "amount_prefix":"view",
                    "default_price":1.9
                },
                {
                    "amount":1901,
                    "network":"youtube",
                    "task":"YOUTUBE_PROSMOTR_ROLIKA_KNOPKA_ODNOKLASSNIKI",
                    "description":"Просмотр ролика и нажатие кнопки Одноклассники",
                    "activity_type":"VIEW",
                    "amount_prefix":"view",
                    "default_price":3.9
                },
                {
                    "amount":1901,
                    "network":"youtube",
                    "task":"YOUTUBE_PROSMOTR_ROLIKA_KNOPKA_VKONTAKTE",
                    "description":"Просмотр ролика и нажатие кнопки ВКонтакте",
                    "activity_type":"VIEW",
                    "amount_prefix":"view",
                    "default_price":3.9
                },
                {
                    "amount":1901,
                    "network":"youtube",
                    "task":"YOUTUBE_PROSMOTR_ROLIKA_KNOPKA_TWITTER",
                    "description":"Просмотр ролика и нажатие кнопки Twitter",
                    "activity_type":"VIEW",
                    "amount_prefix":"view",
                    "default_price":3.9
                },
                {
                    "amount":1901,
                    "network":"youtube",
                    "task":"YOUTUBE_PROSMOTR_ROLIKA_KNOPKA_GOOGLE",
                    "description":"Просмотр ролика и нажатие кнопки Google+",
                    "activity_type":"VIEW",
                    "amount_prefix":"view",
                    "default_price":3.9
                },
                {
                    "amount":1901,
                    "network":"youtube",
                    "task":"YOUTUBE_PROSMOTR_ROLIKA_KNOPKA_FACEBOOK",
                    "description":"Просмотр ролика и нажатие кнопки Facebook",
                    "activity_type":"VIEW",
                    "amount_prefix":"view",
                    "default_price":3.9
                }
            ]
        }
    }
}

Расчет бюджета

Расчет бюджета происходит следующим образом:

  • пользователь создаёт заявку. Заявке присваивается статус NEW

  • сервер начинает расчет бюджета. Заявке присваивается статус RUNNING

  • после вычисления бюджета статус заявки устанавливается в FINISHED

  • пользователь запрашивает информацию о заявке, в которой содержится результат расчетов (поле result)

Для контроля статуса заявки пользователь может запрашивать информацию о ней, передавая уникальный идентификатор, либо обо всех заявках.

Создание заявки

Для создания заявки необходимо послать POST запрос на URL http://api.webeffector.ru/budgets/{id} (вместо {id} подставьте любой уникальный идентификатор). В теле запроса необходимо передать:

  • название домена

  • название региона

  • массив с запросами для расчета бюджета (URL, фраза, желаемая позиция)

Пример запроса:

{
	"domain" : "example.org",
	"region" : "Москва",
	"queries": [
		{
			"url" : "http://example.org",
			"position" : 5,
			"phrase" : "тест"
		}
	]
}
Note Одна заявка может содержать до 50 запросов.
Important Одновременно каждый пользователь может иметь не более 2 активных заявок. Иными словами, если у вас есть две заявки в статусе NEW или RUNNING, вы не сможете добавить ещё одну до тех пор, пока количество заявок в очереди не станет меньше разрешенного лимита.

Возвращаемое значение

Возвращает идентификатор заявки (тот же самый, что был передан пользователем). Код состояния HTTP при этом равен 202 Accepted.

Ошибки

Если переданные данные не прошли валидацию, то код состояния HTTP устанавливается в 400 Bad Request и возвращается JSON-объект с запросом и соответствующими ошибками:

{
	"id" : "33",
		"domain" : "example.org",
		"queries" : [
		{
			"position" : 0,
			"url" : "",
			"errors" : {
				"position" : [
				{
					"message" : "must be between 1 and 10",
					"code" : "Range"
				}
				],
					"phrase" : [
					{
						"message" : "may not be empty",
						"code" : "NotBlank"
					}
				],
					"url" : [
					{
						"message" : "may not be empty",
						"code" : "NotBlank"
					}
				]
			},
			"phrase" : ""
		}
	],
		"region" : "Антарктика",
		"errors" : {
			"region" : [
			{
				"message" : "Invalid region name",
				"code" : "ValidRegionName"
			}
			],
				"id" : [
				{
					"message" : "Id already in use",
					"code" : "ValidBudgetId"
				}
			]
		}
}

Если количество активных заявок превышает допустимый лимит ответ будет другим:

{
	"code" : "ACCESS_01",
	"message" : "Exceeded max allowed tasks in queue"
}

Просмотр заявок

Для просмотра заявок необходимо послать GET запрос на URL http://api.webeffector.ru/budgets

[
	{
		"id": "1",
		"domain": "example.org",
		"result": [
			{
				"phrase": "тест",
				"cost": 500.0,
				"current_position_number": 50.0,
				"current_position_more_than_number": true,
				"is_geo_dependent": false,
				"promotion_term": 3.96,
				"transitions_prediction": 2477
			}
		],
		"status": "FINISHED",
		"queries": [
			{
				"position": 1,
				"url": "http://example.org",
				"phrase": "тест"
			}
		],
		"region": "Новосибирск"
	}
]

Обратите внимание на массив объектов result, каждый из которых содержит следующие поля:

phrase

ключевое слово

cost

прогнозируемая стоимость продвижения, в рублях

current_position_number

текущая позиция продвигаемой страницы

current_position_more_than_number

признак того, что точная позиция получена не была, в этом случае текущая позиция продвигаемой страницы в выдаче будет больше, чем current_position_number. Например, если в системе установлено ограничение на проверку топ-50 позиций, а позиция страницы 5, то current_position_number = 5, current_position_more_than_number = false. Если позиция 55, то current_position_number = 50, current_position_more_than_number = true (т.к. значение > 50)

is_geo_dependent

флаг геозависимости запроса

promotion_term

прогнозируемый срок продвижения, в месяцах

transitions_prediction

прогнозируемое количество переходов

Просмотр информации о заявке

Для просмотра информации о заявке необходимо послать GET запрос на URL http://api.webeffector.ru/budgets/{id} (вместо {id} подставьте идентификатор заявки). Формат вывода такой же как и при просмотре всех заявок, с тем лишь исключением, что отображается только одна заявка.

Ошибки

  • При запросе несуществующей заявки возвращается 404 Not Found

Удаление заявки

Для удаления заявки необходимо послать DELETE запрос на URL http://api.webeffector.ru/budgets/{id} (вместо {id} подставьте идентификатор заявки).

Ошибки

  • При запросе несуществующей заявки возвращается 404 Not Found

  • При попытке удаления заявки в статусе RUNNING возвращается 403 Forbidden

Ограничение трат с помощью бюджетных групп

Пользователь может ограничить траты на продвижение проектов с помощью бюджетных групп. Для проектов, которые включены в бюджетную группу устанавливается лимит на расход средств. Ежедневно лимит уменьшается на величину трат на продвижения за день. Если величина трат превышает текущее значение лимита, то всем продвижениям по проектам, входящим в эту бюджетную группу, присваивается статус SLEEP ("ЗАМОРОЖЕНО"). API для работы с бюджетными группами предоставляет следующие возможности:

  • Пользователь может создать бюджетную группу

  • Пользователь может изменить набор проектов, входящих в бюджетную группу

  • Пользователь может изменить лимит по бюджетной группе, остановить и возобновить контроль списания по бюджетной группе

  • Пользователь может удалить бюджетную группу

  • Пользователь может запрашивать информацию по своим бюджетным группам

Создание бюджетной группы

Для создания бюджетной группы необходимо послать POST запрос на URL http://api.webeffector.ru/budget_group/create/{id}+ (вместо +{id} подставьте любой уникальный идентификатор). В теле запроса необходимо передать:

  • лимит для бюджетной группы

  • массив с пользовательскими идентификаторами проектов

Пример запроса:

{
	"lim" : 1200,
	"project" : ["E602165", "ExampleOfProject"]
}

Возвращаемое значение

Если не было ошибок, возвращается пустое тело {}. Код состояния HTTP при этом равен 201 Created.

Ошибки

Если переданные данные не прошли валидацию, то код состояния HTTP устанавливается в 400 Bad Request и возвращается JSON-объект с описанием ошибки, например:

{
    "errors" : {
        "userKey":[
            {
                "message" : "Group with the same name already exists! - my_first_g1",
                "code" : "wrongValue"
            }
        ]
    }
}

Изменение набора проектов, входящих в бюджетную группу

Для изменение набора проектов, входящих в бюджетную группу, необходимо послать POST запрос на URL http://api.webeffector.ru/budget_group/change_members/{id}?projectMinus=pr1&projectMinus=pr2&projectPlus=pr3&projectPlus=pr4+ , здесь +{id} идентификатор существующей бюджетной группы, а параметры с именем projectMinus перечисляют проекты, которые надо удалить из бюджетной группы, - параметры с именем projectPlus перечисляют проекты, которые надо добавить в бюджетную группу.

Возвращаемое значение

Если не было ошибок, возвращается пустое тело {}. Код состояния HTTP при этом равен 200 Ok.

Ошибки

Если переданные данные не прошли валидацию, то код состояния HTTP устанавливается в 400 Bad Request и возвращается JSON-объект с описанием ошибки.

Изменение лимита бюджетной группы

Для изменение лимита бюджетной группы необходимо послать POST запрос на URL http://api.webeffector.ru/budget_group/set_lim/{id}?lim=12345+ , здесь +{id} идентификатор существующей бюджетной группы, а параметр lim указывает новое значение лимита.

Возвращаемое значение

Если не было ошибок, возвращается пустое тело {}. Код состояния HTTP при этом равен 200 Ok.

Ошибки

Если переданные данные не прошли валидацию, то код состояния HTTP устанавливается в 400 Bad Request и возвращается JSON-объект с описанием ошибки.

Останов контроля списания по бюджетной группе

Для останова контроля списания по бюджетной группе необходимо послать POST запрос на URL http://api.webeffector.ru/budget_group/stop/{id}+ , здесь +{id} идентификатор существующей бюджетной группы. После выполнения этого запроса ежедневные уменьшения лимита на сумму трат по этой бюджетной группе не производятся.

Возвращаемое значение

Если не было ошибок, возвращается пустое тело {}. Код состояния HTTP при этом равен 200 Ok.

Ошибки

Если переданные данные не прошли валидацию, то код состояния HTTP устанавливается в 400 Bad Request и возвращается JSON-объект с описанием ошибки.

Возобновление контроля списания по бюджетной группе

Для возобновления контроля списания по бюджетной группе необходимо послать POST запрос на URL http://api.webeffector.ru/budget_group/start/{id}+ , здесь +{id} идентификатор существующей бюджетной группы. После выполнения этого запроса ежедневные уменьшения лимита на сумму трат по этой бюджетной возобновятся.

Возвращаемое значение

Если не было ошибок, возвращается пустое тело {}. Код состояния HTTP при этом равен 200 Ok.

Ошибки

Если переданные данные не прошли валидацию, то код состояния HTTP устанавливается в 400 Bad Request и возвращается JSON-объект с описанием ошибки.

Удаление бюджетной группы

Для удаления бюджетной группы необходимо послать DELETE запрос на URL http://api.webeffector.ru/budget_group/{id}+ , здесь +{id} идентификатор существующей бюджетной группы. После выполнения этого запроса все сведения о данной бюджетной группы безвозвратно удаляются.

Возвращаемое значение

Если не было ошибок, возвращается пустое тело {}. Код состояния HTTP при этом равен 200 Ok.

Ошибки

Если переданные данные не прошли валидацию, то код состояния HTTP устанавливается в 400 Bad Request и возвращается JSON-объект с описанием ошибки.

Просмотр всех бюджетных групп пользователя

Для просмотра бюджетных групп пользователя необходимо послать GET запрос на URL http://api.webeffector.ru/budget_groups?offset=0&limit=100 , Запрос возвращает список бюджетных групп пользователя, отсортированный по идентификатору бюджетной группы. Параметры offset (смещение) и limit (количество элементов) ограничивают размер списка, который возвращается в ответ на запрос.

Возвращаемое значение

Если не было ошибок, возвращается список бюджетных групп. Код состояния HTTP при этом равен 200 Ok. Например:

[
    {
        "lim" : 20.0,
        "userKey" : "my_first_g1",
        "expense" : 157.42187,
        "enabled" : 1,
        "members" : [
            "E602165"
        ]
    }
]

Ошибки

Если переданные данные не прошли валидацию, то код состояния HTTP устанавливается в 400 Bad Request и возвращается JSON-объект с описанием ошибки.

Просмотр определенных бюджетных групп

Для просмотра определенных бюджетных групп необходимо послать GET запрос на URL http://api.webeffector.ru/budget_groups/{ids}+ , Здесь +{ids} - список запрашиваеьых бюджетных групп через запятую. Запрос возвращает список указанных бюджетных групп пользователя.

Возвращаемое значение

Если не было ошибок, возвращается список бюджетных групп. Код состояния HTTP при этом равен 200 Ok. Например:

[
    {
        "lim" : 20.0,
        "userKey" : "my_first_g1",
        "expense" : 157.42187,
        "enabled" : 1,
        "members" : [
            "E602165"
        ]
    }
]

Ошибки

Если переданные данные не прошли валидацию, то код состояния HTTP устанавливается в 400 Bad Request и возвращается JSON-объект с описанием ошибки.

Вечные ссылки

Создание заявки

Для создания заявки необходимо послать POST запрос на URL http://api.webeffector.ru/miralinks/orders. В теле запроса необходимо передать:

  • список из объектов с идентификатором продвижения и суммами в системах Miralinks и GoGetLinks

  • комментарий (опционально)

Note Сумма продвижения в любой из систем должна быть не менее 600 рублей. Минимальная сумма заказа должна быть не менее 7700 рублей, из которых не менее 6000 рублей должны быть заказаны в Miralinks.
Note Заявки обрабатываются раз в 6 часов.

Пример запроса:

{
	"orders" : [
		{
			"promo_id" : "U1",
			"miralinks_amount" : 8500,
			"gogetlinks_amount" : 2300
		},
		{
			"promo_id" : "E42",
			"miralinks_amount" : 6000,
			"gogetlinks_amount" : 1700
		}
	],
	"comment" : "ваш комментарий"
}

Просмотр заявок

Для просмотра заявок необходимо послать GET запрос на URL http://api.webeffector.ru/miralinks/orders

Для просмотра заявок связанных с определенной кампанией необходимо послать GET запрос на URL http://api.webeffector.ru/miralinks/project_orders?userProjectId=E123 , где E123 - пример пользовательского идентификатора кампании.

[
	{
		"id" : 12,
		"status" : "NEW",
		"project_id" : "E123",
		"created" : "2012-09-25"
	},
	{
		"id" : 13,
		"status" : "DRAFT",
		"project_id" : "E456",
		"created" : "2012-09-20",
		"comment" : "some comments"
	}
]

Просмотр информации о заявке

Для просмотра информации о заявоке необходимо послать GET запрос на URL http://api.webeffector.ru/miralinks/orders/{id}

[
	{
		"anchors" : [
			{
				"budget" : 7142.86,
				"word" : "пример",
				"acceptor" : "http://example.ru/",
				"partner" : "MIRALINKS",
				"urls" : [
					{
						"url" : "http://example.org/",
						"price" : 273.19,
						"buy_date" : "2012-08-21",
						"is_indexed" : true
					}
				]
			},
			{
				"budget" : 3571.43,
				"word" : "пример",
				"acceptor" : "http://example.ru/",
				"partner" : "GOGETLINKS",
				"urls" : [
					{
					}
				]
			}
		],
		"id" : 13,
		"status" : "FINISHED",
		"project_id" : "E456",
		"insurance_expiration_date" : "2013-01-04",
		"insurance_fee" : 1722.14,
		"insurance_state" : "OFFERED",
		"created" : "2012-09-25"
	}
]

Удаление заявки

Для удаления заявки необходимо послать DELETE запрос на URL http://api.webeffector.ru/miralinks/orders/{id} (вместо {id} подставьте идентификатор заявки).

Note Удалить заявку можно только когда она имеет статус DRAFT (назначается при создании).

Работа с черным списком

Черный список состоит из доменов на которых запрещено размещать ссылки. Обычно он наполняется вручную пользователем через веб-интерфейс, либо при удалении ссылок через вызовы API.

Существует два списка: глобальный, распространяющийся на все проекты пользователя, и локальный — для каждого конкретного проекта.

Просмотр глобального черного списка

Отправьте GET запрос на URL http://api.webeffector.ru/blacklist.

Просмотр черного списка проекта

Отправьте GET запрос на URL http://api.webeffector.ru/blacklist/{id} (вместо {id} подставьте идентификатор проекта).

Просмотр информации о пользователе

Отправьте GET запрос на URL http://api.webeffector.ru/user, чтобы получить информацию о текущем пользователе.

Возвращаемое значение

Пример:

{
	"id" : 1,
	"username" : "user",
	"email" : "[email protected]",
	"balance" : 110956.06,
	"accessible_balance" : 2622.44,
	"bonus" : 0.0
}

Поля balance и accessible_balance представляют весь ваш баланс и доступный баланс (без зарезервированных средств).

Просмотр финансовой статистики

Статистика по месяцам

Отправьте GET запрос на URL http://api.webeffector.ru/report/{projectId}+, чтобы получить информацию о затратах текущего пользователя на проект +projectId. Данные сгруппированы по месяцам.

Пример:

[
	{
		"month" : "2012-08",
		"fee" : 10.7559
	},
	{
		"month" : "2012-09",
		"fee" : 23.8761
	}
]

Статистика по дням

Отправьте GET запрос на URL http://api.webeffector.ru/report/daily/{projectId}, чтобы получить информацию о затратах текущего пользователя на проект projectId. Данные сгруппированы по дням. Вы так же можете задать начало и конец интервала указав даты в формате yyyy-MM-dd в переменных from и to. Например http://api.webeffector.ru/report/daily/{projectId}?from=2013-01-01&to=2013-02-01

Пример:

[
	{
		"date" : "2012-08-01",
		"amount" : 10.7559
	},
	{
		"date" : "2012-08-02",
		"amount" : 23.8761
	}
]

Информация о баллах

История действий

Для получения истории выполненных действий, требующих баллов, за последний месяц необходимо послать GET запрос на URL http://api.webeffector.ru/points/history Возвращаемый результат имеет вид:

{
    "2014-08-04 02:00:30":"Получение информации о токене",
    "2014-08-04 02:56:32":"Получение информации по кампании",
    "2014-08-08 01:44:50":"Получение списка кампаний"
}

Покупка баллов

Баллы для пользования апи можно купить за деньги по тарифу 10 баллов - 1 рубль. Средства будут списаны с вашего основного кошелька - списания с прочих кошельков не доступны. Начисленные баллы становятся доступны на все время, то есть не сгорают на следующий день

Для покупки баллов необходимо послать POST запрос на URL http://api.webeffector.ru/points/buy?sum=10, где sum - есть сумма на покупку баллов. Возвращаемый результат имеет вид:

{
    "success":"true"
}

Стоимость запросов

Запрос Стоимость

Создание кампании

5

Обновление кампании

5

Получение списка кампаний

1

Получение информации по кампании

1

Создание продвижения

5

Обновление продвижения

5

Получение информации по продвижению

1

Создание заявки на генерацию анкоров

10

Просмотр заявки на генерацию анкоров

1

Создание медиаплана

100

Получение списка медиапланов

1

Получение информации по медиаплану

1

Создание заявки на расчет бюджета

10

Удаление заявки на расчет бюджета

1

Просмотр заявок на расчет бюджета

1

Просмотр заявки на расчет бюджета

1

Создание заявки на закупку вечных ссылок

10

Удаление заявки на закупку вечных ссылок

1

Просмотр заявок на закупку вечных ссылок

1

Просмотр заявки на закупку вечных ссылок

1

Коды ошибок с описанием

Кампания

Поле Код Описание

id

Size

Длина строки должна быть не более 16 символов

id

ValidProjectId

Идентификатор должен быть уникальным

region

NotBlank

Поле обязательно для заполнения (только при создании)

region

ValidRegionName

Некорректное название региона

name

NotBlank

Поле обязательно для заполнения (только при создании)

name

Size

Длина строки должна быть не более 255 символов

url

NotBlank

Поле обязательно для заполнения (только при создании)

url

Size

Длина строки должна быть не более 255 символов

url

Url

Некорректный URL

comment

Size

Длина строки должна быть не более 255 символов

pos

NotNull

Поле обязательно для заполнения (только при создании)

pos

Size

Должна быть указана как минимум одна поисковая система

top

NotNull

Поле обязательно для заполнения (только при создании)

top

Size

Должна быть указана как минимум одна поисковая система

promos

NotNull

Поле обязательно для заполнения (только при создании)

promos

Size

Должно быть указано как минимум одно продвижение

Продвижение

Поле Код Описание

id

NotBlank

Поле обязательно для заполнения (только при создании)

id

Size

Длина строки должна быть не более 16 символов

id

ValidPromotionId

Идентификатор должен быть уникальным

word

NotBlank

Поле обязательно для заполнения (только при создании)

word

Size

Длина строки должна быть не более 255 символов

url

NotBlank

Поле обязательно для заполнения (только при создании)

url

Size

Длина строки должна быть не более 1024 символов

url

Url

Некорректный URL

budget

NotNull

Поле обязательно для заполнения (только при создании)

budget

Min

Минимальное значение: 1

budget

Max

Максимальное значение: 10 000 000

budget

NoMoney

Недостаточно средств для создания/обновления продвижения

position

NotNull

Поле обязательно для заполнения (только при создании)

position

Range

Минимальное значение: 1, максимальное значение: 10

state

NotNull

Поле обязательно для заполнения (только при создании)

state

NoMoney

Недостаточно средств для запуска продвижения

daily_limit

Max

Максимальное значение: 1 000

Анкор

Поле Код Описание

text

NotNull

Поле обязательно для заполнения

text

Size

Длина строки должна быть не более 100 символов

count

Min

Минимальное значение: 1

Заявка на генерацию анкоров

Поле Код Описание

region

NotBlank

Поле обязательно для заполнения

region

ValidRegionId

Некорректное название региона

queries

NotNull

Поле обязательно для заполнения

queries

Size

Запросов должно быть не менее 1

Коды с ошибками для запросов (queries):

Поле Код Описание

id

NotNull

Поле обязательно для заполнения

url

NotBlank

Поле обязательно для заполнения

url

Url

Некорректный URL

word

NotBlank

Поле обязательно для заполнения

count

NotNull

Поле обязательно для заполнения

count

Min

Минимальное значение: 1

Медиаплан

Поле Код Описание

id

NotBlank

Поле обязательно для заполнения (только при создании)

id

Size

Длина строки должна быть от 1 до 16 символов

id

ValidPlanId

Идентификатор должен быть уникальным

url

NotBlank

Поле обязательно для заполнения (только при создании)

region

NotBlank

Поле обязательно для заполнения (только при создании)

region

ValidRegionId

Некорректное название региона

Бюджет

Поле Код Описание

id

NotBlank

Поле обязательно для заполнения

id

Size

Длина строки должна быть от 1 до 16 символов

id

ValidBudgetId

Идентификатор должен быть уникальным

domain

NotBlank

Поле обязательно для заполнения

region

NotBlank

Поле обязательно для заполнения

region

ValidRegionId

Некорректное название региона

queries

NotNull

Поле обязательно для заполнения

queries

Size

Количество запросов должно быть от 1 до 50

Коды с ошибками для запросов (queries):

Поле Код Описание

url

NotBlank

Поле обязательно для заполнения

phrase

NotBlank

Поле обязательно для заполнения

position

NotNull

Поле обязательно для заполнения

position

Range

Минимальное значение: 1, максимальное значение: 10

Вечные ссылки

Поле Код Описание

orders

NotNull

Поле обязательно для заполнения

orders

Size

Количество заявок должно быть не менее 1

MinPromotionAmount

Сумма продвижения в любой из систем должна быть не менее 650 рублей

Коды с ошибками для заявок (orders):

Поле Код Описание

promo_id

NotNull

Поле обязательно для заполнения

promo_id

ValidPromoId

Продвижение с указанным идентификатором должно существовать

miralinks_amount

NotNull

Поле обязательно для заполнения

gogetlinks_amount

NotNull

Поле обязательно для заполнения

MinOrderPrice

Минимальная сумма заказа должна быть не менее 5200 рублей, из которых не менее 3900 рублей должны быть заказаны в Miralinks

История изменений

Sep 15, 2014

Списание баллов после выполнения метода

Баллы за использование методов апи списываются после удачного выполнения метода. Если при обработке запроса произошла ошибка, то списания не происходит

Sep 09, 2014

Методы для работы с баллами

Добавлены методы для работы с баллами: история использования баллов и покупка дополнительных баллов

Sep 09, 2014

RSS рассылка для изменений в апи

Добавлена rss рассылка http://api.webeffector.ru/doc/rss.xml для изменений в апи