Сильга
Автор
30
Просмотров
3.141.14.21
Ваш IP
14 января 2024
Дата создания

Описание api сайта паблишера

Описание api сайта паблишера
версия 24

Для API будет использоваться JSON-RPC версии 2.0 ( http://www.jsonrpc.org/specification ).
JSON-RPC предоставляет возможность передавать параметры как именованные, так и по позициям,
будет использоваться только формат с именованными параметрами.
В качестве транспорта будет использоваться HTTP.
Для запроса будет использоваться метод POST, Content-Type: application/json.
Ответ на валидный запрос всегда будет приводить к ответу с кодом 200, даже если произошла ошибка,
информация о ошибке содержится в объекте error, как описано в спецификации JSON-RPC
В качестве id запроса допустимо всегда указывать одно значение, например 0.


Обозначения

КЧ - клиентская часть
СЧ - серверная часть


Авторизация.

При авторизации пользователя КЧ вызывает метод login, в котором передает логин и пароль пользователя.
Если авторизация прошла успешно, СЧ в ответе возвращает токен авторизации.
Этот токен должен посылаться в каждом запросе api, в параметре auth. В описании методов ниже этот параметр не приводится,
но он обязателен для всех методов, кроме методов signup, login, resetPassword, setPassword

Если в ответе на вызов какого-то метода вернулась ошибка авторизации (код ошибки - 5),
то КЧ показывает страницу логина и предлагает авторизоваться.
КЧ должна сохранить в cookies код авторизации, чтобы пользователь в  разных окнах браузера имел доступ к текущей сессии авторизации.

Общие параметры методов.

При вызове любого метода должен передаваться параметр siteId, уникальный id сайта.
Также, если сайт поддерживает несколько языков, обязательно должен передаваться параметр siteLanguage,
с значением задающим язык сайта выбранный пользователем, например ru.



Загрузка файлов

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

Для загрузки файла КЧ должна отправить http запрос на url для загрузки,
методом POST, Content-Type multipart/form-data
В парамете file передать закачиваемый файл,
в параметре type - тип файла,
в параметре auth - токен авторизации.

Возможные значения типа:
- adImage, картинка для материала
- adVideo, видео для материала
- ticketFile, аттачмент для тикетов
- manualPublication, скриншоты для публикаций сделанных вручную

В ответ на запрос будет отдана строка с id файла для использования в соотвествующих запросах,
либо строка error в случае ошибки
Для скачивания файла следует в url для скачивания файлов (может быть свой для каждого типа файлов) подставить id файла.


Методы.

Авторизация

signup, регистрация нового пользователя
login, авторизация пользователя
tgLogin, авторизация пользователя
logout, завершение сессии авторизации
resetPassword, запустить процедуру восстановления пароля
setPassword, задать новый пароль при восстановлении пароля

Информация о пользователе

getUser, получить информацию о пользователе
saveUser, сохранить информацию о пользователе

Финансы

getBalance , получить данные о балансе пользователя
getPaymentSystemList, получить список платежных систем
getWalletList, получить список кошельков
addWallet, добавить кошелек
addPaymentRequest, добавить запрос выплаты
getPaymentList, получить историю выплат

Статистика

getStat, получить статистику
getStatProductList, получить список продуктов для статистики

Рефералы

getRefUrl, получить реферальскую ссылку
getRefList, получить список рефералов
getRefStat, получить статистику по реферальскому заработку

Папки

getFolderList, получить список папок
addFolder, добавить папку
deleteFolder, удалить папку
renameFolder, переименовать папку

Тикеты

addTicket, добавить тикет
addTicketMessage, добавить сообщение в тикет
closeTicket, закрыть тикет
reopenTicket, открыть тикет
getTicket, получить тикет
getTicketList, получить список тикетов
getTicketCount, получить количество тикетов

Работа с группами

getGroupList, получить список групп
getGroup, получить параметры группы
addGroup, добавление новой группы
updateGroup, обновление параметров группы
deleteGroup, удаление группы
setGroupEnabled, включение или отключение рекламы в группе
checkGroup, проверить возможность публикации в группе
getAccountList, получить список аккаунтов
checkAccount, проверить аккаунт
addAccount, добавить аккаунт
updateAccount, обновить данные аккаунта
deleteAccount, удалить аккаунт
getProxyList, получить список прокси пользователя
addProxy, добавить прокси пользователя
updateProxy, обновить данные прокси пользователя
deleteProxy, удалить прокси пользователя


Расписание группы

getSchedule, получить расписание
saveSchedule, сохранить расписание
addCancelSchedule, добавить пропуск расписания
deleteCancelSchedule, удалить пропуск расписания
getCancelScheduleList, получить список пропусков расписания
addDateSchedule, добавить расписание на конкретную дату
deleteDateSchedule, удалить расписание на конкретную дату
getDateScheduleList, получить список публикаций запланирвоанных на конкретную дату


Параметры выбора материалов для публикаций

setAdMode, задать режим выбора материалов
getProductList, получить список продуктов
getProductListForGroups, получить список продуктов для заданных групп
addProductToBlackList, добавить продукт в черный список
addProductToBlackListForGroups, добавить продукт в черный список для заданных групп
deleteProductFromBlackList, удалить продукт из черного списка
deleteProductFromBlackListForGroups, удалить продукт из черного списка для заданных групп
clearProductBlackList, очистить черный список продуктов
clearProductBlackListForGroups, очистить черный список продуктов для заданных групп
getProductBlackList, получить список продуктов в черном списке
getProductBlackListForGroups, получить список продуктов в черном списке для заданных групп
getCategoryList, получить список категорий
addCategoryToBlackList, добавить категорию в черный список
addCategoryToBlackListForGroups, добавить категорию в черный список для заданных групп
deleteCategoryFromBlackList, удалить категорию из черного списка
deleteCategoryFromBlackListForGroups, удалить категорию из черного списка для заданных групп
clearCategoryBlackList, очистить черный список категорий
clearCategoryBlackListForGroups, очистить черный список категорий для заданных групп
getCategoryBlackList, получить список категорий в черном списке
getCategoryBlackListForGroups, получить список категорий в черном списке для заданных групп
getAdList, получить список материалов для продукта
getHiddenAdList, получить список скрытых материалов
addToHiddenAdList, добавить материал в список скрытых материалов
deleteFromHiddenAdList, удалить материал из списка скрытых материалов
addToAdQueue, добавить материал в очередь
deleteFromAdQueue, удалить материал из очереди
setAdQueueOrder, задать порядок очереди материалов
getAdQueue, получить очередь материалов
createPublicationNow, опубликовать материал
addManualPublication, добавить публикацию, опубликованную паблишером самостоятельно

Создание материалов

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

Аналитика

getAnalytics, получить аналитику для группы


Чат продукта:

addProductChatMessage, добавить сообщение в чат продукта
getProductChatMessageList, получить список сообщений чата продукта
setProductChatRead, отметить прочитанные сообщения чата продукта
getProductChatUnreadCount, получить список непрочитанных сообщений


Описание методов


Метод signup, регистрация нового пользователя

Параметры:
- login, логин пользователя
- password, пароль пользователя
- refId, id пользователя, по ссылке пришел данный паблишер
null если пришел не по реферальской ссылке

Возвращаемое значение:
объект с элементами:
- result, true если регистрация прошла успешно, false если неуспешно
- errorCode, код ошибки при неуспешно регистрации, целое число
возможные значения:
1, неизвестная ошибка СЧ
2, неправильные значения параметров
3, пользователь с таким логином уже зарегестрирован



Метод login, авторизация  пользователя

Параметры:
- login, логин пользователя
- password, пароль пользователя

Возвращаемое значение:
строка с токеном авторизации или null если авторизоваться не удалось

    Метод tgLogin, авторизация  пользователя по email для TG бота

Параметры:
- email, логин пользователя
- token, md5("email:secret:time") (secret запросить у программиста)
- time, текущее время

Возвращаемое значение:
строка с токеном авторизации или null если авторизоваться не удалось


Метод logout, завершение сесии авторизации

Параметры:
нет

Возвращаемое значение:
true , если выполнение прошло успешно



Метод resetPassword, запустить процедуру восстановления пароля

Параметры:
- login, логин пользователя

Возвращаемое значение:
true если запрос принят, false если логин не найден



Метод setPassword, задать новый пароль при восстановлении пароля

Параметры:
- code, код сброса пароля
- password, новый пароль

Возвращаемое значение:
true если пароль изменен, false если восстановление невозможно (неверный код или истекло время на использование кода)



Метод getUser, получить информацию о пользователе

Параметры:
нет

Возвращаемое значение:
объект с элементами:
- login, логин пользователя
- phone
- messengerId, тип мессержера, null если не задан
       возможные значения:
       1 - одноклассники
           2 - вконтакте
           3 - инстаграм
           4 - фейсбук
           5 - телеграм
           6 - ватсап
- messengerAccount
- type, тип пользователя: 1 - обычный, 2 - блоггер, null - тип пользователя не задан
- isModeratorLogin, true если логин был по универсальному паролю, иначе false



Метод saveUser, сохранить информацию о пользователе

Параметры:
- password, новый пароль пользователя
- phone
- messengerId, тип мессержера, null если не задан
           возможные значения:
           1 - одноклассники
               2 - вконтакте
               3 - инстаграм
               4 - фейсбук
               5 - телеграм
               6 - ватсап
    - messengerAccount
- type, тип пользователя: 1 - обычный, 2 - блоггер

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

Возвращаемое значение:
true, если выполнение прошло успешно





Метод getBalance , получить данные о балансе пользователя


Параметры:
нет

Возвращаемое значение:
объект с элементами:
- balance, текущий баланс пользователя, float
- hold, сумма в холде, float
- referal, всего заработано на рефералах, float
- payment, всего выплачено, float

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



Метод getPaymentSystemList, получить список платежных систем

Параметры:
нет

Возвращаемое значение:
массив объектов, каждый из которых описывает одну платежную систему
параметры объекта:
- id, id платежной системы
- name, название платежной системы



Метод getWalletList, получить список кошельков

Параметры:
нет

Возвращаемое значение:
массив объектов, каждый из которых описывает один кошелек пользователя
параметры объекта:
- id , id кошелька
- psId, id платежной системы
- psName. название платежной системы
- wallet, кошелек, строка



Метод addWallet, добавить кошелек

Параметры:
- psId, id платежной системы
- wallet, кошелек, строка

Возвращаемое значение:
true если кошелек добавлен, иначе false



Метод addPaymentRequest, добавить запрос выплаты

Параметры:
- amount, заказываемая сумма
- walletId, id кошелька

Возвращаемое значение:
true если запрос добавлен, иначе false



Метод getPaymentList, получить историю выплат

Параметры:
нет

Возвращаемое значение:
массив объектов, каждый из которых описывает одну выплату
параметры объекта:
- createdAt, время создания выплаты в формате 2015-12-31 23:59:59
- paymentAt, время выплаты в формате 2015-12-31 23:59:59
или null если не выплачено
- amount, сумма выплаты
- psId, id платежной системы
- psName, название платежной системы
- wallet, кошелек, строка
- comment, комментарий к выплате
- status, статус выплаты,
возможные значения:
0 - заказана
1 - выплачена
2 - отклонена
3 - отложена



Метод getStat, получение статистики

Параметры:
group, строка, задает группировку в таблице, возможные значения:
  - date, по дате
  - snId, по соц сети
возможные значения:
1 - однокласники
2 - вконтакте
3 - instagram
  - groupId , по группе
  - productId, по продукту

filter, объект с выбранными фильтрами, с параметрами:
- snId, id социальной сети, null если все
- grouplId, id группы, null если все
- productId, id продукта, null если все
- dateMin, минимальная дата, в формате 2017-12-31
- dateMax, максимальная дата, в формате 2017-12-31

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

массив объектов, каждый из которых соотвествует одному значению параметра группировки
параметры объекта:
- параметр группировки,
может иметь одно из названий описанных выше для параметра group
- publicationCount, количество публикаций
- clickCount, количество кликов
- clickUniqCount, количество уникальных кликов
- orderCount, количество заказов
- saleCount, количество продаж
- declineCount, количество отказов
- orderAmount, сумма заказов
- saleAmount, сумма продаж
- declineAmount, сумма отказов
- viewCount, количество охвата
- subscriberCount, количество подписчиков
- saleAmount, количество продаж на дату публикации
- cpm , сердняя сумма продаж с тысячи охвата



Метод getStatProductList, получить список продуктов для статистики

Параметры:
- dateMin, минимальная дата, в формате 2017-12-31
- dateMax, максимальная дата, в формате 2017-12-31

Возвращаемое значение:
массив объектов, каждый из которых описывает один продукт
параметры объекта:
- id , id продутка
- name, название продукта
- snId, id соц. сети
опциональный параметр , если задан и не null возвращаются только продукты заданной соц. сети


Метод getRefUrl, получить реферальскую ссылку

Параметры:
нет

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


Метод getRefList, получить список рефералов

Параметры:
нет

Возвращаемое значение:
массив объектов, каждый из которых описывает одного реферала
параметры объекта:
- id , id реферала
- login, логин реферала
- createdAt, дата регистрации реферала
- groupCount, количество групп у реферала
- refAmount, заработок реферала
- amount, реферальский заработок текущего пользователя



Метод getRefStat, получить статистику по реферальскому заработку

Параметры:
- dateMin, минимальная дата, в формате 2017-12-31
- dateMax, максимальная дата, в формате 2017-12-31

Возвращаемое значение:
массив объектов, каждый из которых описывает статистику за одну дату
параметры объекта:
- date, дата
- refAmount, заработок реферала
- amount, реферальский заработок текущего пользователя



Метод getFolderList, получить список папок

Параметры:
нет
Возвращаемое значение:
массив объектов, каждый из которых описывает одну папку
параметры объекта:
- id , id папки
- name, название папки

Метод addFolder, добавить папку

Параметры:
- name, название папки

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



Метод deleteFolder, удалить папку

Параметры:
- id, id папки

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



Метод renameFolder, переименовать папку

Параметры:
- id, id папки
- name, название папки

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



Метод addTicket, добавить тикет

Параметры:
- subject, тема тикета
- text, текст сообщения
- files, массив с id добавленных файлов (пустой массив в случае если нет файлов)

Возвращаемое значение:
true в случае успешного выполнения



Метод addTicketMessage, добавить сообщение в тикет

Параметры:
- ticketId, id тикета
- text, текст сообщения
- files, массив id добавленных файлов (пустой массив в случае если нет файлов)


Возвращаемое значение:
true в случае успешного выполнения



Метод closeTicket, закрыть тикет

Параметры:
- id, id тикета

Возвращаемое значение:
true в случае успешного выполнения



Метод reopenTicket, открыть тикет

Параметры:
- id, id тикета

Возвращаемое значение:
true в случае успешного выполнения




Метод getTicket, получить тикет

Параметры:
- id, id тикета

Возвращаемое значение:
объект описывающий тикет, с элементами
- subject, тема тикета
- createdAt, время создания тикета в формате 2015-12-31 23:59:59
- lastMessageAt, время последнего сообщения в формате 2015-12-31 23:59:59
- closed, true если тикет закрыт
- closedAt, время закрытия тикета в формате 2015-12-31 23:59:59, null если не закрыт
- messages, массив объектов , каждый из коорых описывает оно сообщение
с элементами:
- createdAt, время создания сообщения в формате 2015-12-31 23:59:59
- fromUser, true если автор сообщения пользователь, false если служба поддержки
- text
- files, массив id файлов (пустой массив в случае если нет файлов)



Метод getTicketList, получить список тикетов

Параметры:
- filter, объект с критериями выборки
с элементами:
- closed, если не null, то выбираются только открытые тикеты при значении false, или закрытые тикеты - true.


Возвращаемое значение:
массив объектов, каждый из которых описывает один тикет,
с элементами:
- id, id тикета
- subject, тема тикета
- createdAt, время создания тикета в формате 2015-12-31 23:59:59
- lastMessageAt, время последнего сообщения в формате 2015-12-31 23:59:59
- closed, true если тикет закрыт
- closedAt, время закрытия тикета в формате 2015-12-31 23:59:59, null если не закрыт


Метод getTicketCount, получить количество тикетов

Параметры:
- filter, объект с критериями выборки
с элементами:
- closed, если не null, то выбираются только открытые тикеты при значении false, или закрытые тикеты - true.

Возвращаемое значение:
количество тикетов, целое число



Метод getGroupList, получить список групп

Параметры:
нет

Возвращаемое значение:
массив объектов, каждый из которых описывает одну группу
параметры объекта:
- id, id группы
- name, название группы
- snId, id соц. сети
- folderId, id папки, null если папка не задана
- categoryId, id категории группы
- minCpm, минимальный CPM, целое число,  null если без ограничений
- url, url группы
- enabled, true если реклама в группе включена, иначе false
- language, двухбуквенный код языка группы, строка
- adMode, режим выбора материалов
возможные значения:
1 - автоматически
2 - вручную (очередь материалов)
- moderationStatus, статус модерации,
возможные значения:
1 - прошло модерацию
2 - на модерации
9 - отклонено
- declineReason, причина отклонения если не прошло при модерации
- hasActiveAccounts, true если есть хотя бы один активный аккаунт(возможен постинг), false если нет


Метод getGroup, получить параметры группы

Параметры:
- groupId, id группы

Возвращаемое значение:
объект, описывающий группу
параметры объекта:
- id, id группы
- name, название группы
- snId, id соц. сети
- folderId, id папки, null если папка не задана
- categoryId, id категории группы
- minCpm, минимальный CPM, целое число,  null если без ограничений
- url, url группы
- enabled, true если реклама в группе включена, иначе false
- language, двухбуквенный код языка группы, строка
- adMode, режим выбора материалов
возможные значения:
1 - автоматически
2 - вручную (очередь материалов)
- moderationStatus, статус модерации,
возможные значения:
1 - прошло модерацию
2 - на модерации
9 - отклонено
- declineReason, причина отклонения если не прошло при модерации



Метод addGroup, добавление новой группы

Параметры:
- snId, id соц. сети
- url, url группы, может быть null для соц. сетей, где достаточно аккаунта для добавления
- groupId, id группы, только для TG, передается в случае, если url ведет на приватный канал (https://t.me/joinchat/T3788JeOSkB55AL-).
- groupName, название группы, только для TG, передается в случае, если url ведет на приватный канал (https://t.me/joinchat/T3788JeOSkB55AL-).
- account, данные аккаунта для доступа к группе, объект
опциональный параметр, может быть null для тех соц. сетей которые не требуют аккаунта для добавления
параметры объекта:
- login
- password
- proxyId, опциональный параметр, если следует использовать системный прокси - должен быть null

- categoryId, id категории группы
- folderId, id папки, null если папка не задана
- minCpm, минимальный CPM, целое число,  null если без ограничений
- language, двухбуквенный код языка группы, строка

Возвращаемое значение:
объект с параметрами:
- result, true если группа успешно добавлена, иначе false
- errorCode, код ошибки, целое число
возможные значения:
1, неизвестная ошибка СЧ
2, неправильные значения параметров
3, группа не найдена
4, группу невозможно добавить (например приватная группа для Instagram)
5, неправильные данные аккаунта (например невозможно авторизоваться с заданным логином и паролем)
6, группа уже добавлена и принадлежит другим паблишером
- groupId, id добавленной группы, передается только в случае успешного добавления



Метод updateGroup, обновление параметров группы

Все параметры кроме groupId необязательные, следует указывать только параметры которые необходимо обновить.

Параметры:
- groupId, id группы
- categoryId, id категории группы
- folderId, id папки, null если папка не задана
- minCpm, минимальный CPM, целое число,  null если без ограничений

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



Метод deleteGroup, удаление группы

Параметры:
- groupId, id группы

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



Метод setGroupEnabled, включение или отключение рекламы в группе

Параметры:
- groupId, id группы
может быть массив целых чисел - id групп, если требуется включить/отключить рекламу для списка групп
- enabled, true если включить, false - выключить

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


Метод checkGroup, проверить возможность публикации в группе

В настроящий момент следует применять только для соц сети Telegram

Параметры:
- groupId , id группы

Возвращаемое значение:
объект с параметрами:
- result, true если проверка прошла успешно , иначе false
- errorCode, код ошибки, целое число


Метод getAccountList, получить список аккаунтов

Параметры:
- groupId, id группы

Возвращаемое значение:
массив объектов, каждый из которых описывает один аккаунт
параметры объекта:
- id, id аккаунта
- login, логин аккаунта
- name, имя владельца аккаунта (может быть null)
- system, true если аккаунт предоставлен системой, иначе false
- proxyId, id прокси
- status, целое число, состояние аккаунта
возможные значения:
0, аккаунт активен, проблем нет
3, аккаунт отключен или забанен
4, аккаунт заморожен, система сама разморозит аккаунт
5, аккаунт заморожен, паблишер должен разморозить аккаунт
6, невозможно авторизоваться с данными аккаунта
7, аккаунт временно не доступен, система в процессе его восстановления
8, требуется предоставить аккаунту права на постинг в группу
10, прокси аккаунта не работает
99, другая проблема с аккаунтом



Метод checkAccount, проверить аккаунт

Параметры:
- id , id аккаунта
- groupId , id группы

Возвращаемое значение:
объект с параметрами:
- result, true если проверка прошла успешно , иначе false
- errorCode, код ошибки, целое число
передается если в результате проверки выявлены пробелмы с аккаунтом
возможные значения:
1, неизвестная ошибка СЧ
2, для данной соц. сети не поддерживается проверка аккаунта
3, аккаунт отключен или забанен
4, аккаунт заморожен, система сама разморозит аккаунт
5, аккаунт заморожен, паблишер должен разморозить аккаунт
6, невозможно авторизоваться с данными аккаунта
7, аккаунт временно не доступен, система в процессе его восстановления
8, требуется предоставить аккаунту права на постинг в группу
9, аккаунт не найден
10, прокси аккаунта не работает
99, другая проблема с аккаунтом


Метод addAccount, добавить аккаунт

Параметры:
- groupId, id группы для которой добавляется аккаунт
- login
- password
- token, полученный токен соц сети (если не указаны логин и пароль)
- proxyId, опциональный параметр, если следует использовать системный прокси - должен быть null
- system, если параметр задан и значение true - будет добавлен системный аккаунт
в этом случае параметры login, password, proxy необязательны, они не буду использоваться

Возвращаемое значение:
объект с параметрами:
- result, true если добавление прошло успешно , иначе false
- errorCode, код ошибки, целое число
передается при добавлении выявлены проблемы с аккаунтом
коды ошибок такие же как в методе checkAccount
дополнительно возможны следующие коды ошибок:
51, превышен лимит системных аккаунтов
52, нет доступных системных аккаунтов
53, добавление аккаунта для соц. сети не поддерживается



Метод updateAccount, обновить данные аккаунта

Параметры:
- id
- login
- password
- proxyId, если следует использовать системный прокси - должен быть null

Примечание. Параметры опциональны, должны передаваться только те что требуется обновить

Возвращаемое значение:
объект с параметрами:
- result, true если изменение прошло успешно , иначе false
- errorCode, код ошибки, целое число
передается при добавлении выявлены пробелмы с аккаунтом
коды ошибок такие же как в методе checkAccount


Метод deleteAccount, удалить аккаунт

Удаление аккаунта доступно не для всех соц. сетей

Параметры:
- id, id аккаунта
- groupid, id группы

Возвращаемое значение:
true если удаление прошло успешно, false если аккаунт не может быть удален



Метод getProxyList, получить список прокси пользователя

Параметры:
нет

Возвращаемое значение:
массив объектов, каждый из которых описывает один аккаунт
параметры объекта:
- id, id прокси
- ip, IP прокси
- port, порт прокси
- login, логин прокси
- password, пароль прокси



Метод addProxy, добавить прокси пользователя

Параметры:
- ip, IP прокси
- port, порт прокси
- login, логин прокси
- password, пароль прокси

Примечание. Если логин и пароль не используются - следует передавать пустую строку

Возвращаемое значение:
объект с параметрами:
- result, true если добавление прошло успешно , иначе false
- errorCode, код ошибки, целое число
коды ошибок:
1 - неизвестная ошибка СЧ
2 - неверные параметры прокси
3 - прокси не прошел проверку
- proxyId, id добавленного прокси, передается только в случае успешного добавления


Метод updateProxy, обновить данные прокси пользователя

Параметры:
- id, id прокси
- ip, IP прокси
- port, порт прокси
- login, логин прокси
- password, пароль прокси

Примечание. Если логин и пароль не используются - следует передавать пустую строку

Возвращаемое значение:
объект с параметрами:
- result, true если добавление прошло успешно , иначе false
- errorCode, код ошибки, целое число
коды ошибок:
1 - неизвестная ошибка СЧ
2 - неверные параметры прокси
3 - прокси не прошел проверку
- proxyId, id добавленного проксиё
параметр возвращается только в случае успешного добавления


Метод deleteProxy, удалить прокси пользователя

Параметры:
- id, id прокси

Примечание. Если логин и пароль не используются - следует передавать пустую строку

Возвращаемое значение:
объект с параметрами:
- result, true если добавление прошло успешно , иначе false
- errorCode, код ошибки, целое число
коды ошибок:
1 - неизвестная ошибка СЧ
4 - прокси используется в аккаунтах, необходимо сначала сменить прокси



Метод getSchedule, получить расписание

Параметры:
- groupId, id группы

Возвращаемое значение:
массив объектов, каждый из которых описывает одно время в расписании
параметры объекта:
- hour, целое число, час
- minute, целое число, минута
- deleteMinutes, количество минут до удаления, null если не нужно удалять
поддерживается не всеми соцю сетями
- pinMinutes, количество минут на которые следует прикрепить, null если не нужно прикреплять
поддерживается не всеми соц. сетями
- weekdays, массив целых чисел, задает дни недели когда публиковать, 1 - понедельник, 7 - восресенье
null если публиковать в любой день
- type, тип расписания, целое число
возможные значения:
0 - промо
3 - контентное промо
если соц. сеть  не поддерживает разделение на промо и контентное промо следует передавать 0



Метод saveSchedule, сохранить расписание

Параметры:
- groupId, id группы
может быть массив целых чисел - id групп, если требуется задать одинаковое расписание для списка групп
- schedule, массив объектов
структура как описано для возвращаемого значения метода getSchedule
    - adId, id рекламного объявления
        необязательное поле, используется, если нужно опубликовать конкретный пост

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


Метод addCancelSchedule, добавить пропуск расписания

Параметры:
- groupId, id группы
- time, время в формате 2017-12-31 23:59:00, секунды всегда должны быть равны 0

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


Метод deleteCancelSchedule, удалить пропуск расписания

Параметры:
- groupId, id группы
- id, id пропуска

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


Метод getCancelScheduleList, получить список пропусков расписания

Параметры:
- groupId, id группы

Возвращаемое значение:
массив объектов, каждый из которых описывает один пропуск
параметры объекта:
- id, id пропуска
- time, время пропуска


Метод addDateSchedule, добавить расписание на конкретную дату

Параметры:
- groupId, id группы
- time, время публикации
- deleteMinutes, количество минут до удаления, null если не нужно удалять
поддерживается не всеми соц. сетями
- pinMinutes, количество минут на которые следует прикрепить, null если не нужно прикреплять
поддерживается не всеми соц. сетями
- type, тип расписания, целое число
возможные значения:
0 - промо
3 - контентное промо
если соц. сеть  не поддерживает разделение на промо и контентное промо следует передавать 0

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



Метод deleteDateSchedule, удалить расписание на конкретную дату

Параметры:
- groupId, id группы
- id, id расписания

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


Метод getDateScheduleList, получить список публикаций запланирвоанных на конкретную дату


Параметры:
- groupId, id группы

Возвращаемое значение:
массив объектов, каждый из которых описывает одно время в расписании
параметры объекта:
- id, id расписания
- time, время публикации
- deleteMinutes, количество минут до удаления, null если не нужно удалять
поддерживается не всеми соц. сетями
- pinMinutes, количество минут на которые следует прикрепить, null если не нужно прикреплять
поддерживается не всеми соц. сетями
- type, тип расписания, целое число
возможные значения:
0 - промо
3 - контентное промо
если соц. сеть  не поддерживает разделение на промо и контентное промо следует передавать 0



Метод setAdMode, задать режим выбора материалов

Параметры:
- groupId, id группы
- adMode, режим выбора материалов
возможные значения:
1, автоматически
2, вручную

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



Метод getProductList, получить список продуктов

Параметры:
- groupId, id группы
- content, bool, включать ли в список контентные продукты

Возвращаемое значение:
- массив объектов каждый из которых описывает один продукт
параметры объекта:
- id, id продукта
- name, название продукта
- snId, id соц. сети
- categoryId, id категории
- content, true либо false, контентный продукт либо нет
- publication_price, цена публикации
        - price_type, cpa либо cpm


Метод getProductListForGroups, получить список продуктов для заданных групп

Параметры:
- groups, массив id групп
- content, bool, включать ли в список контентные продукты

Возвращаемое значение:
    объект с ключами с id группы и значениями:
- массив объектов каждый из которых описывает один продукт
параметры объекта:
- id, id продукта
- name, название продукта
- snId, id соц. сети
- categoryId, id категории



Метод addProductToBlackList, добавить продукт в черный список

Параметры:
- groupId, id группы
- productId, id продукта

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


Метод addProductToBlackListForGroups, добавить продукт в черный список для заданных групп

Параметры:
- groups, массив id групп
- productId, id продукта

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


Метод deleteProductFromBlackList, удалить продукт из черного списка

Параметры:
- groupId, id группы
- productId, id продукта

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


Метод deleteProductFromBlackListForGroups, удалить продукт из черного списка для заданных групп

Параметры:
- groups, массив id групп
- productId, id продукта

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


Метод clearProductBlackList, очистить черный список продуктов

Параметры:
- groupId, id группы

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


    Метод clearProductBlackList, очистить черный список продуктов для заданных групп

Параметры:
    - groups, массив id групп

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


Метод getProductBlackList, получить список продуктов в черном списке

Параметры:
- groupId, id группы

Возвращаемое значение:
массив объектов, каждый из которых описывает один продукт
параметры объекта:
- id, id продукта
- name, название продукта


Метод getProductBlackListForGroups, получить список продуктов в черном списке для заданных групп

Параметры:
- groups, массив id групп

Возвращаемое значение:
    объект с ключами с id группы и значениями:
        массив объектов, каждый из которых описывает один продукт
        параметры объекта:
        - id, id продукта
        - name, название продукта







Метод getCategoryList, получить список категорий

Параметры:
- groupId, id группы

Возвращаемое значение:
- массив объектов каждый из которых описывает одну категорию
параметры объекта:
- id, id категории
- name, название категории


Метод addCategoryToBlackList, добавить категорию в черный список

Параметры:
- groupId, id группы
- categoryId, id категории

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


Метод addCategoryToBlackListForGroups, добавить категорию в черный список для заданных групп

Параметры:
- groups, массив id групп
- categoryId, id категории

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


Метод deleteCategoryFromBlackList, удалить категорию из черного списка

Параметры:
- groupId, id группы
- categoryId, id категории

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


Метод deleteCategoryFromBlackListForGroups, удалить категорию из черного списка для заданных групп

Параметры:
- groups, массив id групп
- categoryId, id категории

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


Метод clearCategoryBlackList, очистить черный список категорий

Параметры:
- groupId, id группы

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


Метод clearCategoryBlackListForGroups, очистить черный список категорий для заданных групп

Параметры:
- groups, массив id групп

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



Метод getCategoryBlackList, получить список продуктов в черном списке

Параметры:
- groupId, id группы


Возвращаемое значение:
массив объектов, каждый из которых описывает одну категорию
параметры объекта:
- id, id категории
- name, название категории


Метод getCategoryBlackListForGroups, получить список продуктов в черном списке для заданных групп

Параметры:
- groups, массив id групп


Возвращаемое значение:
    объект с ключами с id группы и значениями:
        массив объектов, каждый из которых описывает одну категорию
        параметры объекта:
        - id, id категории
        - name, название категории



Метод getAdList, получить список материалов для продукта

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

Параметры:
- productId
- language, двухбуквенный код языка материала, строка
null если любой язык
- snId, id социальной сети, null если любая

Возвращаемое значение:
массив объектов, каждый из которых описывает один материал
параметры объекта:
- id, id материала
- productId, id продукта
- snId, id социальной сети
- private, true если материал создан вебмастером, иначе false
- adContent, содержимое материала, массив объектов, каждый из которых описывает один элемент материала
у всех объектов обязательно есть параметр type, который задает тип элемента,
набор остальных параметров зависит от типа элемента

Типы элементов и их параметры:
- тип text, элемент  с текстом
параметры:
- text , строка
- тип image, картинка
параметры:
- url, url картинки
- тип video, видео
параметры:
- url , url видео
- тип document, тоже картинка, но другого типа, используется в объявлениях для вконтакте
параметры:
- url , url картинки
- тип poll, опрос
параметры:
- question, вопрос, строка
- answers, массив строк, содержит ответы на вопрос
- multipleAnswers, допустимо ли более одного ответа на вопрос, boolean
- anonymous, анонимный опрос или нет, boolean
- тип link, ссылка
параметры:
- url, url по которому должен быть отправлен пользователь после клика
- direct, boolean, если true , это прямой url, который нельзя оборачивать в другие ссылки,
используется для прямой отправки на другую страницу социальной сети
параметр может быть не указан, значение по умолчанию - false
- prefix, строка которая может быть изображена непосредственно перед ссылкой
- тип detachedLink, ссылка
параметры:
- url, url по которому должен быть отправлен пользователь после клика
- direct, boolean, если true , это прямой url, который нельзя оборачивать в другие ссылки,
используется для прямой отправки на другую страницу социальной сети
параметр может быть не указан, значение по умолчанию - false



Метод getHiddenAdList, получить список скрытых материалов

Параметры:
- groupId, id группы

Возвращаемое значение:
массив id скрытых материалов


Метод addToHiddenAdList, добавить материал в список скрытых материалов

Параметры:
- groupId, id группы
- adId, id материала

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


Метод deleteFromHiddenAdList, удалить материал из списка скрытых материалов

Параметры:
- groupId, id группы
- adId, id материала

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


Метод addToAdQueue, добавить материал в очередь

Параметры:
- groupId, id группы
- productId, id продукта
- adId, id материала

Возвращаемое значение:
true если удалось добавить в очередь, иначе false



Метод deleteFromAdQueue, удалить материал из очереди

Параметры:
- groupId, id группы
- id, id материала в очереди

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


Метод setAdQueueOrder, задать порядок очереди материалов

Параметры:
- groupId, id группы
- queue, массив id материалов в очереди(параметр id метода getAdQueue) в необходимом порядке,
сначала должен идти тот, что будет опубликован первым
обязательно передавать все id, перед отправкой должно быть запрошено текущее состояние очереди

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


Метод getAdQueue, получить очередь материалов

Параметры:
- groupId, id группы

Возвращаемое значение:
массив объектов, каждый из которых описывает один материал
параметры объекта:
- id, id материала в очереди
- adId, id материала
- productId, id продукта
- snId, id соц. сети
- private, true если материал создан вебмастером, иначе false
- adContent, содержимое материала,
формат такой же как в возвращаемом значении метода getAdList
- enabled, true если доступно для публикации, иначе false



Метод createPublicationNow, опубликовать материал

Параметры:
- groupId, id группы
- productId, id продукта
- adId, id материала

Возвращаемое значение:
true если поставлено в очередь на публикацию, false в случае ошибки



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

Параметры:
- groupId, id группы
- productId, id продукта
- adId, id материала
- deleteMinutes, количество минут до удаления, null если не нужно удалять
    поддерживается не всеми соц. сетями

Возвращаемое значение:
- id , id публикации , должно быть использовано в методе addManualPublication,
        null если произошла ошибка
- adContent, рекламный материал для публикации
- viewCount, максимальное количество охвата, которое может быть оплачено, null если неограничено или оплата не за охват
    - errorCode, код ошибки при неуспешной регистрации, целое число
                возможные значения:
                    1, неизвестная ошибка СЧ
                    2, неправильные значения параметров
                    3, публикация с таким url уже добавлена
                    4, неверная группа публикации



Метод addManualPublication, добавить url публикации, опубликованной паблишером самостоятельно

Параметры:
- id, id публикации, возвращенный createManualPublication
- url, url публикации
- screen, код загруженного файла скриншота публикации (см. выше раздел "Загрузка файлов")
- screenStat, код загруженного файла скриншота статистики

Примечание Файлы загружаются с параметром type равным manualPublication

Возвращаемое значение:
- result, true если добавление прошло успешно, false если неуспешно
    - errorCode, код ошибки при неуспешно регистрации, целое число
                возможные значения:
                    1, неизвестная ошибка СЧ
                    2, неправильные значения параметров
                    3, публикация с таким url уже добавлена
                    4, неверная группа публикации
                    5, срок для добавления url публикации истек
                    6, url для данной публикации был уже добавлен ранее


Метод getLastManualPublications, получить список последних публикаций, опубликованных паблишером самостоятельно

Метод возвращает публикации, которые были инициированы методом createManualPublication за последние сутки,
но для которых не был добавлен url методом addManualPublication

Параметры:
- groupId, id группы

Возвращаемое значение:
массив объектов, каждый из которых описывает одну публикацию
параметры объекта:
- id , id публикации , должно быть использовано в методе addManualPublication,
- adId, id материала
- productId, id продукта
- time, время добавления методом createManualPublication
- viewCount, максимальное количество охвата, которое может быть оплачено, null если неограничено или оплата не за охват


Метод getManualPublications, получить список публикаций, опубликованных паблишером самостоятельно

Метод возвращает публикации, для которых был добавлен url методом addManualPublication

Параметры:
- groupId, id группы

Возвращаемое значение:
массив объектов, каждый из которых описывает одну публикацию
параметры объекта:
- id , id публикации , должно быть использовано в методе addManualPublication,
- adId, id материала
- productId, id продукта
- time, время добавления методом createManualPublication
- url, url публикации
- status, статус публикации, одно из значений:
    - 2, на модерации
    - 3, успешно прошло модерацию
    - 4, отклонено
    - 9, ошибка при обработке


Метод getUserAdDescription, получить инструкцию по созданию пользователем материалов для продукта

Параметры:
- productId

Возвращаемое значение:
инструкция, строка или null если иснтрукция не задана



Метод addUserAd, добавить созданный пользователем материал

Параметры:
- productId, id продукта
- snId, id соц. сети
- adContent, содержимое материала,
формат такой же как в возвращаемом значении метода getAdList

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


Метод getUserAdList, получить список созданных пользователем материалов

Параметры:
- productId, id продукта
- status, статус материала
возможные значения:
null - любой
1 - прошло модерацию
2 - на модерации
9 - отклонено

Возвращаемое значение:
массив объектов, каждый из которых описывает один материал
параметры объекта:
- id, id материала
- productId, id продукта
- snId, id соц. сети
- private, true если материал создан вебмастером, иначе false
- adContent, содержимое материала,
формат такой же как в возвращаемом значении метода getAdList
- status, статус объявления
возможные значения:
1 - прошло модерацию
2 - на модерации
9 - отклонено



Метод getAnalytics, получить аналитику для группы

Параметры:
- groupId, id группы
- dateMin, минимальная дата в формате 2017-12-31
- dateMax, максимальная дата в формате 2017-12-31

Возвращаемое значение:
объект описывающий разные метрики аналитики
структура объекта описана в отдельном документе
null если аналитика недоступна


Метод addProductChatMessage, добавить сообщение в чат продукта

Параметры:
- productId , id продукта
- text, текст сообщения

Возвращаемое значение:
true в случае успешного выполнения


Метод getProductChatMessageList, получить список сообщений чата продукта

Параметры:
- productId , id продукта

Возвращаемое значение:
массив объектов , каждый из которых описывает одно сообщение
с элементами:
- id, id сообщения
- createdAt, время
- fromUser, true если автор сообщения пользователь, false если рекламодатель
- text, текст сообщения
- unread, true если непрочитанное, иначе false


Метод setProductChatRead, отметить прочитанные сообщения чата продукта

Параметры:
- productId , id продукта
- maxId, id последнего прочитанного сообщения

Возвращаемое значение:
true в случае успешного выполнения


Метод getProductChatUnreadCount, получить список непрочитанных сообщений

Параметры:
- productId , id продукта

Возвращаемое значение:
количество непрочитанных, целое число


Метод sendGroupToModeration, отправить группу на повторную модерацию

Параметры:
- groupId , id группы

Возвращаемое значение:
true в случае успешного выполнения



Метод setScreenshotGroupUrl, установить ссылку для скриншота приватных каланов

Параметры:
- groupId , id группы
- url, ссылка

Возвращаемое значение:
true в случае успешного выполнения