Отделы и сотрудники

В терминологии SailPlay, отдел - это любая составная (или логическая) часть партнера (т.е. вас). Отделом может быть, например, магазин, склад, отдельная касса, мобильное приложение (как тип), либо часть сайта (либо весь сайт). Соответственно, store_department_id - идентификатор (ID) отдела партнера в системе SailPlay.

Сотрудник - это единица отдела, которая может авторизовываться, проводить покупки, выдавать подарки и т.д. Сотрудник может быть как физическим лицом, так и частью системы. Важно, что у каждого сотрудника есть свой личный PIN-код, которым он подписывает все транзакции. Каждый сотрудник может работать в рамках одного отдела. Если сотрудник должен иметь возможность проводить транзакции в рамках другого отдела, его нужно там создать. PIN-коды’ы должны быть уникальными в рамках одного отдела.

Соответственно, вся аналитика дается в разрезе отделов и сотрудников.

API взаимодействия с системой департаментов SailPlay позволяет автоматизировать задачи передачи информации о сотрудниках в систему.

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

  • store_department_id
  • token

Методы:

  • /api/v2/partners/departments/create/ - создать отдел
  • /api/v2/partners/departments/delete - удалить отдел
  • /api/v2/partners/departments/list/ - список отделов
  • /api/v2/partners/units/create - создать подразделение
  • /api/v2/partners/departments/tags/category/create/ - добавить категорию тегов
  • /api/v2/partners/departments/tags/category/delete/ - удалить категорию тегов
  • /api/v2/partners/departments/tags/category/list/ - получить список категорий тегов
  • /api/v2/partners/departments/tags/create/ - добавить тег
  • /api/v2/partners/departments/tags/edit/ - изменить тег
  • /api/v2/partners/departments/tags/delete/ - удалить тег
  • /api/v2/partners/departments/tags/add/ - присвоить отделу тег
  • /api/v2/partners/departments/tags/remove/ - убрать тег отдела
  • /api/v2/partners/managers/create/ - создать сотрудника
  • /api/v2/partners/managers/delete/ - удалить сотрудника
  • /api/v2/partners/managers/edit/ - редактировать данные сотрудника
  • /api/v2/partners/managers/history/ - история действий сотрудника
  • /api/v2/partners/managers/list/ - список сотрудников
  • /api/v2/partners/managers/view/ - информация о сотруднике
  • /api/v2/partners/roles/list - получить список ролей
  • /api/v2/partners/employees/career/add - добавление записи в карьеру сотрудника
  • /api/v2/partners/employees/career/edit - редактирование записи сотрудника
  • /api/v2/partners/employees/career/list - получить список записей сотрудника
  • /api/v2/partners/employees/career/delete - удаление записи о сотруднике
  • /api/v2/partners/positions/add - добавить должность
  • /api/v2/partners/positions/list - получить список должностей

/api/v2/partners/departments/create/ - создание отдела

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
нет unit_id  Идентификатор подразделения. Если не указан - используется  подразделение по умолчанию.
нет name  Наименование отдела.
нет kind  Тип отдела.
нет origin_id  Внешний идентификатор отдела.
нет country  Страна отдела.
нет region_id  Регион отдела.
нет timezone  Часовой пояс.
нет business_hours  График работы.

Обновление

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
нет unit_id  Идентификатор подразделения. Если не указан - используется  подразделение по умолчанию.
нет name  Наименование отдела.
нет kind  Тип отдела.
нет origin_id  Внешний идентификатор отдела.
нет country  Страна отдела.
нет region_id  Регион отдела.
нет timezone  Часовой пояс.
нет business_hours  График работы.

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

http://sailplay.ru/api/v2/partners/departments/create/?name=отдел2&token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "name": "отдел2",
  "country": null,
  "id": 153,
  "unit_id": 35,
  "timezone": null,
  "key": 95547488,
  "kind": "site",
  "points_rate": null,
  "origin_id": null,
  "region_id": null
}

/api/v2/partners/departments/delete - удаление (отключение)

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
нет dep_id  Идентификатор отключаемого отдела.

/api/v2/partners/departments/list - получить список отделов

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
нет unit_id  Идентификатор подразделения. Если не указан - отображается  полный список отделов.
нет page  Страница списка.

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

http://sailplay.ru/api/v2/partners/departments/list/?token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "departments": [
    {
      "id": 64,
      "timezone": "Asia/Irkutsk",
      "region_id": 2,
      "points_rate": null,
      "name": "default_dep",
      "origin_id": ""
    }
  ]
}

/api/v2/partners/departments/info - получить информацию об отделе

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
нет dep_id  Идентификатор отдела.

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

http://sailplay.ru/api/v2/partners/departments/info/?token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&dep_id=6607

/api/v2/partners/units/create - создание подразделения

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да name  Название подразделения.

/api/v2/partners/departments/tags/category/create - добавить категорию тегов

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да name  Название категории тегов.

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

http://sailplay.ru/api/v2/partners/departments/tags/category/create/?store_department_id=64&pin_code=6607&token=73bbab6a2ca7be013fa182dfb8f88483042cf9cb&name=main

Пример ответа

{
  "status": "ok",
  "id": 2,
  "name": "main"
}

/api/v2/partners/departments/tags/category/delete/ - удалить категорию тегов

При удалении категории удаляются все записи тегов этой категории.

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да dep_id  Идентификатор категории.

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

http://sailplay.ru/api/v2/partners/departments/tags/category/delete/?store_department_id=64&pin_code=6607&token=73bbab6a2ca7be013fa182dfb8f88483042cf9cb&dep_id=2

Пример ответа

{
  "status": "ok",
}

/api/v2/partners/departments/tags/category/list/ - получить список категорий тегов

Этот метод не требует параметров кроме обязательных. В ответе будет возвращен список идентификаторов и названий тегов.

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

http://sailplay.ru/api/v2/partners/departments/tags/category/list/?store_department_id=64&pin_code=6607&token=73bbab6a2ca7be013fa182dfb8f88483042cf9cb

Пример ответа

{
  "status": "ok",
  "categories": [
    {
      "tags": [
        {
          "id": 2,
          "name": "tag1"
        }
      ],
      "id": 2,
      "name": "main"
    }
  ]
}

/api/v2/partners/departments/tags/create/ - добавить тег

Метод создает тег, но не привязывает его к конкретному департаменту.

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да name  Название тега.
да tag_id  ID тега.
да category_id  Категория, к которой относится тег.

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

http://sailplay.ru/api/v2/partners/departments/tags/create/?store_department_id=64&pin_code=6607&token=73bbab6a2ca7be013fa182dfb8f88483042cf9cb&name=tag1&category_id=2

Пример ответа

{
  "status": "ok",
  "category_id": 2,
  "id": 2,
  "name": "tag1"
}

/api/v2/partners/departments/tags/edit/ - изменить тег

Метод позволяет обновить название или категорию тега.

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да name  Название тега.
да tag_id  ID тега.
да category_id  Категория, к которой относится тег.

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

http://sailplay.ru/api/v2/partners/departments/tags/edit/?store_department_id=64&pin_code=6607&token=73bbab6a2ca7be013fa182dfb8f88483042cf9cb&name=tag1&category_id=2

Пример ответа

{
  "status": "ok",
  "category_id": 2,
  "id": 2,
  "name": "tag1"
}

/api/v2/partners/departments/tags/delete/ - удалить тег

При удалении тега удаляются все записи этого тега в отделах.

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да tag_id  ID тега.

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

http://sailplay.ru/api/v2/partners/departments/tags/delete/?store_department_id=64&pin_code=6607&token=73bbab6a2ca7be013fa182dfb8f88483042cf9cb&tag_id=2

Пример ответа

{
  "status": "ok"
}

/api/v2/partners/departments/tags/add/ - присвоить отделу тег

Метод позволяет присвоить отделу тот или иной тег. Если на момент вызова метода тег еще не создан - будет возращена ошибка.

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да tag_id  ID тега.
да dep_id  ID департамента.

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

http://sailplay.ru/api/v2/partners/departments/tags/add/?store_department_id=64&pin_code=6607&token=73bbab6a2ca7be013fa182dfb8f88483042cf9cb&tag_id=2&department_id=64

Пример ответа

{
  "status": "ok",
  "created": true
}

/api/v2/partners/departments/tags/remove/ - убрать тег отдела

Метод позволяет присвоить отделу тот или иной тег. Если на момент вызова метода тег еще не создан - будет возращена ошибка.

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да tag_id  ID тега.
да dep_id  ID департамента.

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

http://sailplay.ru/api/v2/partners/departments/tags/remove/?store_department_id=64&pin_code=6607&token=73bbab6a2ca7be013fa182dfb8f88483042cf9cb&tag_id=2&department_id=64

Пример ответа

{
  "status": "ok"
}

/api/v2/partners/employee/create - добавление сотрудника

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да position_id  Должность сотрудника.
нет first_name  Имя сотрудника.
нет last_name  Фамилия сотрудника.
нет middle_name  Отчество сотрудника
нет birth_date  День рождения сотрудника
нет department_id  Департамент, к которому привязан сотрудник.
нет sex  Пол (1- мужской, 2 - женский).
нет role_id  Набор прав сотрудника. При создании клиента ему  автоматически присваивается роль по умолчанию - без прав и  доступа к API.

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

http://sailplay.ru/api/v2/partners/employees/create/?department_id=64&position_id=77&origin_id=102&token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "career": [
    {
      "position_id": 77,
      "id": 6,
      "end_date": "",
      "department_id": 64,
      "start_date": "2015-11-11"
    }
  ],
  "id": 454,
  "pin_code": null,
  "last_name": null,
  "role_id": 5,
  "department_id": 64,
  "email": null,
  "middle_name": null,
  "first_name": null
}

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

/api/v2/partners/employee/edit - редактирование

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да position_id  Должность сотрудника.
нет first_name  Имя сотрудника.
нет last_name  Фамилия сотрудника.
нет middle_name  Отчество сотрудника
нет birth_date  День рождения сотрудника
нет department_id  Департамент, к которому привязан сотрудник.
нет sex  Пол (1- мужской, 2 - женский).
нет role_id  Набор прав сотрудника.

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

http://sailplay.ru/api/v2/partners/employees/edit/?employee_id=453&origin_id=102&first_name=alexander&last_name=jobs&birth_date=1990-01-01&token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "career": [
    {
      "position_id": 77,
      "id": 5,
      "end_date": "",
      "department_id": 64,
      "start_date": "2015-11-11"
    }
  ],
  "id": 453,
  "pin_code": "1605",
  "last_name": "jobs",
  "role_id": 5,
  "department_id": 64,
  "email": "rukovod1@mail.com",
  "middle_name": null,
  "first_name": "alexander"
}

/api/v2/partners/employee/delete - удаление сотрудника

Удаление сотрудника блокирует доступ сотрудника в личный кабинет и прекращает расчет KPI сотрудника.

На уровне базы данных удаление сотрудника реализовано как перенос данных учетной записи в архив.

Для восстановления учетной записи обратитесь к менеджеру SailPlay.

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да employee_id  Идентификатор сотрудника.

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

http://sailplay.ru/api/v2/partners/employees/delete/?employee_id=453&token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "manager": {
    "id": 453
  }
}

/api/v2/partners/employee/list - получение списка сотрудников

API позволяет получить список сотрудников по ID департамента или по ID должности.

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

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
нет department_id  ID департамента, к которому привязан сотрудник.
нет position_id  ID должности сотрудника.
нет page  Номер страницы выдачи.

В ответе на запрос возвращается краткая информация о сотруднике:

Название параметра Описание параметра
id  Идентификатор сотрудника.
first_name  Имя сотрудника.
last_name  Фамилия сотрудника.
position_id  ID должности сотрудника.
department_id  ID департамента, к которому привязан сотрудник.

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

http://sailplay.ru/api/v2/partners/employees/list/?dep_id=64&token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "total_pages": 1,
  "managers": [
    {
      "phone": "",
      "id": 451,
      "position_id": 35,
      "last_name": "shan",
      "role_id": 1,
      "email": null,
      "pin_code": "4971",
      "middle_name": null,
      "department": 64,
      "first_name": "woll"
    },
    {
      "phone": "",
      "id": 452,
      "position_id": 35,
      "last_name": "shan2",
      "role_id": 1,
      "email": null,
      "pin_code": "9871",
      "middle_name": null,
      "department": 64,
      "first_name": "will2"
    }
  ],
  "page": 1
}

/api/v2/partners/employee/view - получение информации о сотруднике

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да employee_id  Идентификатор сотрудника.

В ответе будет возращена вся информацию о клиенте.

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

http://sailplay.ru/api/v2/partners/employees/view/?employee_id=453&token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "id": 453,
  "career": [
    {
      "position_id": 77,
      "id": 5,
      "end_date": "",
      "department_id": 64,
      "start_date": "2015-11-11"
    }
  ],
  "phone": "",
  "birth_date": "1990-01-01",
  "middle_name": null,
  "first_name": "alexander",
  "pin_code": "3180",
  "department_id": 64,
  "last_name": "jobs",
  "role_id": 5,
  "status": "ok",
  "email": "rukovod1@mail.com"
}

/api/v2/partners/roles/list - получить список ролей

Этот метод не требует параметров кроме обязательных.

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

http://sailplay.ru/api/v2/partners/roles/list/?token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "roles": [
    {
      "id": 1,
      "name": "seller",
      "description": ""
    },
    {
      "id": 2,
      "name": "manager",
      "description": ""
    },
    {
      "id": 3,
      "name": "sender_manager",
      "description": ""
    },
    {
      "id": 4,
      "name": "admin",
      "description": ""
    }
  ]
}

/api/v2/partners/employees/career/add - добавление записи в карьеру

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да employee_id  Идентификатор сотрудника.
да position_id  Должность сотрудника.
да dep_id  Идентификатор отдела записи.
да from_date  Дата начала работы.
нет to_date  Дата завершения работы. Если не указан - сотрудник в  должности по сей день..

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

http://sailplay.ru/api/v2/partners/employees/career/add/?employee_id=457&position_id=77&start_date=2014-01-01&department_id=64&token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "end_date": null,
  "position_id": 77,
  "id": 11,
  "department_id": 64,
  "start_date": "2014-01-01T00:00:00"
}

/api/v2/partners/employees/career/edit - редактирование записи

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да employee_id  Идентификатор сотрудника.
нет position_id  Должность сотрудника.
нет dep_id  Идентификатор отдела записи.
нет from_date  Дата начала работы.
нет to_date  Дата завершения работы. Чтобы удалить дату завершения, в  значении нужно передать null.

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

http://sailplay.ru/api/v2/partners/employees/career/edit/?employee_id=457&career_item_id=9&position_id=77&start_date=2012-01-01&end_date=2013-01-01&token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "end_date": "2013-01-01T00:00:00",
  "position_id": 77,
  "id": 9,
  "department_id": 64,
  "start_date": "2012-01-01T00:00:00"
}

/api/v2/partners/employees/career/list - получить список записей

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да employee_id  Идентификатор сотрудника.

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

http://sailplay.ru/api/v2/partners/employees/career/list/?employee_id=457&token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "career": [
    {
      "position_id": 77,
      "id": 11,
      "end_date": "",
      "department_id": 64,
      "start_date": "2014-01-01"
    },
    {
      "position_id": 77,
      "id": 9,
      "end_date": "2013-01-01",
      "department_id": 64,
      "start_date": "2012-01-01"
    }
  ]
}

/api/v2/partners/employees/career/delete - удаление записи

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да employee_id  Идентификатор сотрудника.
да career_enrty_id  Идентификатор записи карьеры.

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

http://sailplay.ru/api/v2/partners/employees/career/list/?employee_id=457&career_item_id=9&token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
}

/api/v2/partners/positions/add - добавить должность

Параметры:

Параметр обязательный? Имя параметра Описание параметра
да token  См. здесь
да store_department_id  См. здесь
да name  Название должности.

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

http://sailplay.ru/api/v2/partners/positions/add/?name=Руководитель отдела продаж&token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "id": 77,
  "name": "Руководитель отдела продаж"
}

/api/v2/partners/positions/list - получить список должностей

Этот метод не требует дополнительных параметров

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

http://sailplay.ru/api/v2/partners/positions/list/?token=c699d95ebbb33a1c35e2f0c8e8a44df3ba55daa7&store_department_id=64&pin_code=6607

Пример ответа

{
  "status": "ok",
  "positions": [
    {
      "is_default": true,
      "id": 35,
      "name": "Default position"
    },
    {
      "is_default": false,
      "id": 77,
      "name": "Руководитель отдела продаж"
    }
  ]
}