REST API MGID для рекламных агентств

Регистрация клиента РА

Метод POST
URL api.mgid.com/v1/clients/

Передаваемые параметры:

Параметр Значение
token token пользователя
email email нового пользователя
phone
телефон нового пользователя в международном формате +38(555)555-55-55 / +7(555)555-55-55. 
skype skype нового пользователя
telegram telegram нового пользователя
name имя нового пользователя
manager Хеш, который указывает, какого куратора проставить по всем направлениям создаваемому клиент

Хеш для регистрации клиентов можно посмотреть в Профиле РА в админке.

Возвращаемый ответ:

{
   "id":"_id_клиента_",
   "email":"_email_клиента_",
   "phone":"_телефон_клиента_",
   "skype":"_skype_клиента_",
   "telegram":"_telegram_клиента_",
   "name":"_имя_клиента_",
   "password":"_password_клиента_",
   "additional":"_id:_идентификатор_учетной_записи_клиента_"
}

Возможные ошибки:

При использовании параметра manager у куратора(РА) должна быть установлена валюта и менеджер сопровождения.

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

Метод POST
URL api.mgid.com/v1/auth/agencies-token

Передаваемые параметры:

Параметр Значение
login Логин, под которым Рекламное агентство зарегистрировано в системе MGID
password Пароль Рекламного агентства, с которым входит в систему

Возвращаемый ответ:

{
"token":"_текущий_токен_", "refreshToken":"_токен_для_обновления_" "idAuth":"_идентификатор_учетной_записи__"
}

_текущий_токен_ используется для идентификации РА; _токен_для_обновления_ - будет использован в последующих версиях для обновления просроченного текущего токена.

Возможные ошибки:

Если такого логина нет в системе, возвращает ошибку "Такого логина в системе нет";

Если введен не верный пароль, возвращает ошибку "Вы ввели неверный пароль."

Получение списка клиентов РА с состоянием счетов

Метод GET
URL api.mgid.com/v1/agencies/{authId}/clients?token={token}

Передаваемые параметры:

Параметр Значение
authId Идентификатор учетной записи Рекламного агенства
token Текущий токен доступа

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

{
   clients:    {
      "id":_идентификатор_учетной_записи_клиента_,
      "email":_email_клиента_,
      "wallet":{
         "balance":_состояние_МГ_кошелька_,
         "credit":_размер_установленного_овердрафта_,
         "income":_общая_сумма_пополнений_кошелька_
      }
   }
}

Все суммы передаются в валюте клиента (РА).

Возможные ошибки:

Если токен, передаваемый РА не действительный, возвращаем ошибку "Токен не действительный".

Получение состояний счетов одного клиента по id

Метод GET
URL api.mgid.com/v1/agencies/{authId}/clients/{client_id}?token={token}

Передаваемые параметры:

Параметр Значение
authId Идентификатор учетной записи  Рекламного агенства
token Текущий токен доступа
client_id id клиента РА

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

{
    "id":_идентификатор_учетной_записи_клиента_,
   "wallet":{
      "balance":_состояние_МГ_кошелька_,
      "credit":_размер_установленного_овердрафта_,
      "income":_общая_сумма_пополнений_кошелька_
   }
}

Все суммы передаются в валюте клиента (РА).

Возможные ошибки:

Если токен, передаваемый РА не действительный, возвращаем ошибку "Токен не действительный";

Если введенный id клиента не существует в системе или не является клиентом этого РА, возвращаем ошибку "Указан неверный id клиента".

Получение информации о состоянии счетов РА

Метод GET
URL api.mgid.com/v1/agencies/{authId}?token={token}

Передаваемые параметры:

Параметр Значение
authId Идентификатор учетной записи Рекламного агенства
token Текущий токен доступа

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

{
    "id":_идентификатор_учетной_записи_РА_,
   "balance":{
      "personal_account":_остаток_на_персональном_счету_,
      "bonus_account":_остаток_на_бонусном_счете_,
      "clients_balance":_сумма_текущего_баланса_клиентов
   }
}

Все суммы передаются в валюте РА.

Возможные ошибки:

Если токен, передаваемый РА не действительный, возвращаем ошибку "Токен не действительный";

Получение данных по тратам клиентов РА за период

Метод GET
URL api.mgid.com/v1/agencies/{authId}/clients-spent-reports?token={token}

Передаваемые параметры:

Параметр Значение
authId Идентификатор учетной записи Рекламного агенства
token Текущий токен доступа
dateStart Дата начала интервала в формате YYYY-MM-DD
dateEnd Дата окончания интервала в формате YYYY-MM-DD
clientsIds значения id клиентов через запятую, не обязательный параметр

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

{
   dateStart:дата начала интервала в формате YYYY-MM-DD,
    dateEnd:дата окончания интервала в формате YYYY-MM-DD,
    clients-spent-reports:[
      {
         "id":_идентификатор_учетной_записи_клиента_,
         "spent":_сумма_трат_по_направлениям_(товары + новости + банерка)
      },
       
   ]
}

Все суммы передаются в валюте РА.

Если параметр clientsIds передан пустым, то выдается отчет по всем клиентам РА.

Возможные ошибки:

Если токен, передаваемый РА не действительный, возвращаем ошибку "Токен не действительный";

Если введенный id клиента не существует в системе или не является клиентом этого РА, возвращаем ошибку "Указан неверный id клиента";

Ошибки правильности формата параметров: даты должны быть в формате YYYY-MM-DD, clientsIds клиентов должны быть через запятую.

Пополнение баланса клиента со счетов РА

Метод POST
URL api.mgid.com/v1/agencies/{authId}/clients/{id клиента}/money-transfers?token={token}&account_type={account_type}&transfer_amount={transfer_amount}

Передаваемые параметры:

Параметр Значение
authId Идентификатор учетной записи Рекламного агенства
token Текущий токен доступа
client_id id клиента РА
account_type Счет, с которого будут списаны деньги, может принимать только одно из значений: personal или bonus
transfer_amount сумма пополнения в валюте РА, число

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

{
    "idAuth":"_идентификатор_учетной_записи__",
       "clientId":"_id_клиента_",
      "status":"success",
     "bonus\personal_account":"_остаток_на_счету_",
   bonus или personal в зависимости от входящих параметров,
      "wallet":{
       "balance":"состояние_МГ_кошелька_клиента",

   }
}

Все суммы передаются в валюте РА.

Возможные ошибки:

1) Если у РА денег на указанном счете не хватает, сумма введенная в переданных данных больше, чем на указанном кошельке, то возвращаем ошибку "Сумма денег на счету меньше, чем вы пытаетесь перевести".

2) Если токен не действителен, возвращаем ошибку "Токен не действительный".

3) Если такого id клиента нет в системе или указанного id куратором стоит не это РА, возвращаем ошибку "Указан не верный id клиента"

4) Если не указан счет, клиенты, сумма переводов, возвращаем ошибку "Не указан(а) счет (клиент, сумма) для перевода денег"