HelpDeskEddy API V2

Обзор

HOST: https://домен_системы/api/v2

Авторизация

Авторизация производиться при помощи Basic Authorization, в качестве параметров необходимо передавать э-почту пользователя и API ключ. API ключ администратора системы можно найти в Управление->Глобальные настройки->Система, ключи других пользователей можно найти в карточке пользователя, ключи видны только главному администратору.

Ключ в заголовке “Authorization: Basic”- это комбинация email:api_key закодированной с помощью base64 (т.е. base64(email:api_key))

Пример заголовка авторизации:

Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=

Права доступа

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

Ограничения скорости

API ограничено по скорост, лимит API по умолчанию составляет 300 запросов в минуту (RPM). В случае превышения лимита доступ будет автоматически заблокирован на 20 минут.

Департаменты

Департаменты

Cписок департаментов
GET/departments/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/departments/"

Пример URI

GET https://домен_системы/api/v2/departments/
Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
    "data": [
        {
            "id":1,
            "name":{
                "ru":"Департамент поддержки",
                "en":"Support Department",
                "ua":"Департамент поддержки"
            }
        },{
            "id":2,
            "name":{
                "ru":"Тестивый департамент",
                "en":"Test department",
                "ua":"Тестивый департамент"
        }
    ]
}

Работа с заявками

Заявки

Получить заявки
GET/tickets/{?page,search,user_list,owner_list,status_list,priority_list,type_list,freeze,deleted,from_date_created,to_date_created,from_date_updated,to_date_updated,order_by}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/tickets/?page=1&search=John"

Пример URI

GET https://домен_системы/api/v2/tickets/?page=2&search=John&user_list=1,14,22&owner_list=1,44,21&status_list=open,closed&priority_list=1,3&type_list=0,1&freeze=0&deleted=0&from_date_created=2017-12-31 00:00:00&to_date_created=2017-12-31 00:00:00&from_date_updated=2017-12-31 00:00:00&to_date_updated=2017-12-31 00:00:00&order_by=
Параметры
СпрятатьПоказать
page
число (необязательный) Пример: 2

Номер страницы

search
строка (необязательный) Пример: John

Поиск по заявкам

user_list
строка (необязательный) Пример: 1,14,22

Поиск заявок по ID владельца, через запятую

owner_list
строка (необязательный) Пример: 1,44,21

Поиск заявок по ID исполнителя заявки, через запятую

status_list
строка (необязательный) Пример: open,closed

Поиск заявок по ID статуса заявки, через запятую

priority_list
строка (необязательный) Пример: 1,3

Поиск заявок по ID приоритета заявки, через запятую

type_list
строка (необязательный) Пример: 0,1

Поиск заявок по ID типа заявки, через запятую

freeze
число (необязательный) Пример: 0

Фильтр по замороженным заявкам. Значение 0 - только активные заявки, значение 1 - только замороженные заявки. По умолчанию в списке все заявки.

deleted
число (необязательный) Пример: 0

Фильтр по удалённым заявкам. Значение 0 - только активные заявки, значение 1 - только удалённые заявки. Значение по умолчанию 0.

from_date_created
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата создания от

to_date_created
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата создания до

from_date_updated
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата изменения от

to_date_updated
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата изменения до

order_by
строка (необязательный) 

Сортировка заявок, можно указать через запятую. Заявки можно сортировать по параметрам: date_created, date_updated, viewed_by_staff, viewed_by_client. Порядок сортировки {asc} (по возрастанию) и {desc} (по убыванию). Значение по умолчанию: date_created{desc}

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
    "data": {
        "10": {
            "id":10,
            "unique_id":"YWP-43009",
            "date_created":"2017-01-13 12:36:58",
            "date_updated":"2017-01-17 13:36:46",
            "title":"New ticket",
            "source": "email",
            "status_id":"open",
            "priority_id":2,
            "type_id":0,
            "department_id":2,
            "department_name":"\u041e\u0442\u0434\u0435\u043b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438",
            "owner_id":1,
            "owner_name":"Ivan",
            "owner_lastname":"Petrov",
            "owner_email":"ivan.petrov@example.com",
            "user_id":41,
            "user_name":"John",
            "user_lastname":"Doe",
            "user_email":"john.doe@example.com",
            "cc": [],
            "bcc": [],
            "followers": [],
            "ticket_lock":0,
            "sla_date":"13.01.2017 12:36",
            "freeze_date":"null",
            "freeze":0,
            "deleted":0,
            "viewed_by_staff":1,
            "viewed_by_client":1,
            "rate": "like",
            "rate_comment": "Nice",
            "rate_date": "2017-01-17 13:33:30",
            "custom_fields":[
                {
                    "id":3,
                    "field_type":"textarea",
                    "field_value":"4345"
                },{
                    "id":4,
                    "field_type":"checkbox",
                    "field_value":1
                }
            ]
        },
        "9": {
            "id":9,
            "unique_id":"IQV-84397",
            "date_created":"2016-08-15 17:05:19",
            "date_updated":"2017-01-18 11:44:13",
            "title":"Test ticket",
            "source": "email",
            "status_id":"process",
            "priority_id":3,
            "type_id":1,
            "department_id":2,
            "department_name":"\u041e\u0442\u0434\u0435\u043b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438",
            "owner_id":1,
            "owner_name":"Ivan",
            "owner_lastname":"Petrov",
            "owner_email":"ivan.petrov@example.com",
            "user_id":41,
            "user_name":"John",
            "user_lastname":"Doe",
            "user_email":"john.doe@example.com",
            "cc": [],
            "bcc": [],
            "followers": [],
            "ticket_lock":0,
            "sla_date":"17.01.2017 16:00",
            "freeze_date":"null",
            "freeze":0,
            "deleted":0,
            "viewed_by_staff":1,
            "viewed_by_client":1,
            "rate": "",
            "rate_comment": "",
            "rate_date": "",
            "custom_fields":[
                {
                    "id":3,
                    "field_type":"textarea",
                    "field_value":"4345"
                },{
                    "id":4,
                    "field_type":"checkbox",
                    "field_value":1
                }
            ]
        },
    }, "pagination": {
        "total":"2",
        "per_page":30,
        "current_page":1,
        "total_pages":1
    }
}

Получить заявку
GET/tickets/{id}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/tickets/9"

Пример URI

GET https://домен_системы/api/v2/tickets/9
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 9

ID заявки

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "id": 9,
    "unique_id": "IQV-84397",
    "date_created": "2016-08-15 17:05:19",
    "date_updated": "2017-01-18 11:44:13",
    "title": "Test ticket",
    "source": "email",
    "status_id": "process",
    "priority_id": 3,
    "type_id": 1,
    "department_id": 2,
    "department_name": "Отдел поддержки",
    "owner_id": 1,
    "owner_name": "Ivan",
    "owner_lastname": "Petrov",
    "owner_email": "ivan.petrov@example.com",
    "user_id": 41,
    "user_name": "John",
    "user_lastname": "Doe",
    "user_email": "john.doe@example.com",
    "cc": [],
    "bcc": [],
    "followers": [],
    "ticket_lock": 0,
    "sla_date": "17.01.2017 16:00",
    "freeze_date": "null",
    "freeze": 0,
    "deleted": 0,
    "viewed_by_staff": 1,
    "viewed_by_client": 1,
    "rate": "",
    "rate_comment": "",
    "rate_date": "",
    "custom_fields": [
      {
        "id": 3,
        "field_type": "textarea",
        "field_value": "4345"
      },
      {
        "id": 4,
        "field_type": "checkbox",
        "field_value": 1
      }
    ]
  }
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Ticket with id {9} does not exist"
    }
  ]
}

Создать заявку
POST/tickets/

Пример CURL

curl -X POST -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'title=Problem%20with%20email&description=Problem%20with%20email%20info%40example.com&custom_fields%5B6%5D=field%20value&custom_fields%5B2%5D=4' "https://домен_системы/api/v2/tickets/"

Пример URI

POST https://домен_системы/api/v2/tickets/
Параметры
СпрятатьПоказать
title
строка (обязательный) Пример: Problem with email

Название заявки

description
строка (обязательный) Пример: <p>Problem with email info@example.com</p>

Текст заявки

sla_date
дата (необязательный) Пример: 01.01.1970 00:00

Дата и время SLA

freeze_date
дата (необязательный) Пример: 01.01.1970 00:00

Заморозка заявки до даты и времени

status_id
строка (необязательный) Пример: process

Статус заявки

priority_id
число (необязательный) Пример: 1

ID приоритета

type_id
число (необязательный) Пример: 2

ID типа

department_id
число (необязательный) Пример: 1

ID департамента

ticket_lock
булево (необязательный) Пример: false

Блокировка заявки. true - блокировать заявку. false - разблокировать заявку.

owner_id
число (необязательный) Пример: 1

ID исполнителя

user_id
число (необязательный) Пример: 2

ID владельца заявки

user_email
число (необязательный) Пример: email@example.com

Если не задан ID владельца заявки, то для создания заявки будет использоваться э-почта пользователя, если пользователь не существует, то он будет автоматически создан

cc
массив почтовых ящиков (необязательный) 

Копия письма

bcc
массив почтовых ящиков (необязательный) 

Скрытая копия письма

followers
массив user_id (необязательный) 

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

create_from_user
число (необязательный) Пример: 1

Первый ответ в заявке от имени сотрудника – 0, от имени пользователя 1, по умолчанию 1

custom_fields
массив (необязательный) Пример: [1 => 3, 2 => 0]

Массив индивидуальных полей заявки, пример: custom_fields[field_id] = value, в случае иерархического поля, необходимо указывать уровень custom_fields[field_id][level] = value

files
массив файлов (необязательный) 

Массив приложений

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "id": 9,
    "unique_id": "IQV-84397",
    "date_created": "2016-08-15 17:05:19",
    "date_updated": "2017-01-18 11:44:13",
    "title": "Test ticket",
    "source": "email",
    "status_id": "process",
    "priority_id": 3,
    "type_id": 1,
    "department_id": 2,
    "department_name": "Отдел поддержки",
    "owner_id": 1,
    "owner_name": "Ivan",
    "owner_lastname": "Petrov",
    "owner_email": "ivan.petrov@example.com",
    "user_id": 41,
    "user_name": "John",
    "user_lastname": "Doe",
    "user_email": "john.doe@example.com",
    "cc": [],
    "bcc": [],
    "followers": [],
    "ticket_lock": 0,
    "sla_date": "17.01.2017 16:00",
    "freeze_date": "null",
    "freeze": 0,
    "deleted": 0,
    "viewed_by_staff": 1,
    "viewed_by_client": 1,
    "rate": "",
    "rate_comment": "",
    "rate_date": "",
    "custom_fields": [
      {
        "id": 3,
        "field_type": "textarea",
        "field_value": "4345"
      },
      {
        "id": 4,
        "field_type": "checkbox",
        "field_value": 1
      }
    ]
  }
}
Ответ  400
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-411",
      "title": "Bad request",
      "details": "Field {sla_date} value is incorrect or empty (date format 01.01.1970 00:00)"
    },
    {
      "code": "e-411",
      "title": "Bad request",
      "details": "Field {owner_id} with id {5} does not exist"
    },
    {
      "code": "e-411",
      "title": "Bad request",
      "details": "Field {owner_id} value is incorrect, user must be with staff permissions"
    },
    {
      "code": "e-411",
      "title": "Bad request",
      "details": "Field {type_id} value is incorrect or empty"
    }
  ]
}

Обновить заявку
PUT/tickets/{id}

Пример CURL

curl -X PUT -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{"status_id":"process","type_id":"2", "owner_id": "1", "custom_fields": {"6": "test", "2": "18"}}' "https://домен_системы/api/v2/tickets/9"

Пример URI

PUT https://домен_системы/api/v2/tickets/9
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 9

ID заявки

title
строка (необязательный) Пример: Problem with email

Название заявки

sla_date
дата (необязательный) Пример: 01.01.1970 00:00

Дата и время SLA

freeze_date
дата (необязательный) Пример: 01.01.1970 00:00

Заморозка заявки до даты и времени

status_id
строка (необязательный) Пример: process

Статус заявки

priority_id
число (необязательный) Пример: 1

ID приоритета

type_id
число (необязательный) Пример: 2

ID типа

department_id
число (необязательный) Пример: 1

ID департамента

cc
массив почтовых ящиков (необязательный) 

Копия письма

bcc
массив почтовых ящиков (необязательный) 

Скрытая копия письма

followers
массив user_id (необязательный) 

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

ticket_lock
булево (необязательный) Пример: false

Блокировка заявки. true - блокировать заявку. false - разблокировать заявку.

owner_id
число (необязательный) Пример: 1

ID исполнителя

user_id
число (необязательный) Пример: 2

ID владельца заявки

custom_fields
массив (необязательный) Пример: [1 => 3, 2 => 0]

Массив индивидуальных полей заявки, пример: custom_fields[field_id] = value, в случае иерархического поля, необходимо указывать уровень custom_fields[field_id][level] = value

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "id": 9,
    "unique_id": "IQV-84397",
    "date_created": "2016-08-15 17:05:19",
    "date_updated": "2017-01-18 11:44:13",
    "title": "Test ticket",
    "source": "email",
    "status_id": "process",
    "priority_id": 3,
    "type_id": 1,
    "department_id": 2,
    "department_name": "Отдел поддержки",
    "owner_id": 1,
    "owner_name": "Ivan",
    "owner_lastname": "Petrov",
    "owner_email": "ivan.petrov@example.com",
    "user_id": 41,
    "user_name": "John",
    "user_lastname": "Doe",
    "user_email": "john.doe@example.com",
    "cc": [],
    "bcc": [],
    "followers": [],
    "ticket_lock": 0,
    "sla_date": "17.01.2017 16:00",
    "freeze_date": "null",
    "freeze": 0,
    "deleted": 0,
    "viewed_by_staff": 1,
    "viewed_by_client": 1,
    "rate": "",
    "rate_comment": "",
    "rate_date": "",
    "custom_fields": [
      {
        "id": 3,
        "field_type": "textarea",
        "field_value": "4345"
      },
      {
        "id": 4,
        "field_type": "checkbox",
        "field_value": 1
      }
    ]
  }
}
Ответ  400
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-411",
      "title": "Bad request",
      "details": "Field {sla_date} value is incorrect or empty (date format 01.01.1970 00:00)"
    },
    {
      "code": "e-411",
      "title": "Bad request",
      "details": "Field {owner_id} with id {5} does not exist"
    },
    {
      "code": "e-411",
      "title": "Bad request",
      "details": "Field {owner_id} value is incorrect, user must be with staff permissions"
    },
    {
      "code": "e-411",
      "title": "Bad request",
      "details": "Field {type_id} value is incorrect or empty"
    }
  ]
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Ticket with id {9} does not exist"
    }
  ]
}

Удалить заявку
DELETE/tickets/{id}

Пример CURL

curl -X DELETE -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/tickets/9"

Пример URI

DELETE https://домен_системы/api/v2/tickets/9
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 9

ID заявки

delete
булево (необязательный) Пример: true

false - перенос заявки в удаленные. true - полное удаление заявки. По умолчанию значение false

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "Ticket with id {9} successfully deleted"
    }
  ]
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Ticket with id {9} does not exist"
    }
  ]
}

Ответы в заявке

Получить ответы
GET/tickets/{ticket_id}/posts/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/tickets/9/posts/?page=1"

Пример URI

GET https://домен_системы/api/v2/tickets/9/posts/
Параметры
СпрятатьПоказать
ticket_id
число (обязательный) Пример: 9

ID заявки,

page
число (необязательный) Пример: 1

Номер страницы

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
    "data":[
        {
            "ticket_id":9,
            "id":139,
            "user_id":1,
            "text":"<p>post content</p>",
            "date_created":"17:45:00 26.01.2017",
            "date_updated":"17:45:00 26.01.2017",
            "files":[]
        },{
            "ticket_id":9,
            "id":138,
            "user_id":1,
            "text":"<p>1</p><p>2</p><p>3</p>",
            "date_created":"14:59:00 17.01.2017",
            "date_updated":"14:59:00 17.01.2017",
            "files":[
                {
                    "name":"test.gif",
                    "url":"https://домен_системы/ru/file/download/f8bb43e593d867d27c965d38dfec721fbb084cf9",
                    "data_type":"gif"
                },{
                    "name":"test.png",
                    "url":"https://домен_системы/ru/file/download/b818daf594dd3b61098cce7fef7954bc0314edd5",
                    "data_type":"png"
                }
            ]
        },
    ],
    "pagination":{
                "total":85,
                "per_page":30,
                "current_page":1,
                "total_pages":3
    }
}

Добавить ответ
POST/tickets/{ticket_id}/posts/

Пример CURL

curl -X POST -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'text=Problem with email' "https://домен_системы/api/v2/tickets/9/posts/"

Пример URI

POST https://домен_системы/api/v2/tickets/9/posts/
Параметры
СпрятатьПоказать
ticket_id
число (обязательный) Пример: 9

ID заявки

text
строка (обязательный) Пример: Problem with email

Текст комментария

user_id
число (необязательный) Пример: 1

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

files
массив файлов (необязательный) 

Массив приложений

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "ticket_id": 9,
    "id": 150,
    "user_id": 1,
    "text": "<p>Problem with email</p>",
    "date_created": "17:02:00 17.01.2017",
    "date_updated": "17:02:00 17.01.2017",
    "files": [
      {
        "name": "test.gif",
        "url": "https://домен_системы/ru/file/download/f8bb43e593d867d27c965d38dfec721fbb084cf9",
        "data_type": "gif"
      },
      {
        "name": "test.png",
        "url": "https://домен_системы/ru/file/download/b818daf594dd3b61098cce7fef7954bc0314edd5",
        "data_type": "png"
      }
    ]
  }
}
Ответ  400
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-411",
      "title": "Required {text} request",
      "details": "Required field is missing or empty"
    }
  ]
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Ticket with id {9} does not exist"
    }
  ]
}

Обновить ответ
PUT/tickets/{ticket_id}/posts/{id}

Пример CURL

curl -X PUT -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'text=Problem with email' "https://домен_системы/api/v2/tickets/9/posts/150"

Пример URI

PUT https://домен_системы/api/v2/tickets/9/posts/15
Параметры
СпрятатьПоказать
ticket_id
число (обязательный) Пример: 9

ID заявки

id
число (обязательный) Пример: 15

ID поста

text
строка (обязательный) Пример: Problem with email

Текст комментария

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "ticket_id": 9,
    "id": 150,
    "user_id": 1,
    "text": "<p>Problem with email</p>",
    "date_created": "17:02:00 17.01.2017",
    "date_updated": "17:02:00 17.01.2017",
    "files": [
      {
        "name": "test.gif",
        "url": "https://домен_системы/ru/file/download/f8bb43e593d867d27c965d38dfec721fbb084cf9",
        "data_type": "gif"
      },
      {
        "name": "test.png",
        "url": "https://домен_системы/ru/file/download/b818daf594dd3b61098cce7fef7954bc0314edd5",
        "data_type": "png"
      }
    ]
  }
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Ticket with id {9} does not exist"
    }
  ]
}

Удалить ответ
DELETE/tickets/{ticket_id}/posts/{id}

Пример CURL

curl -X DELETE -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/tickets/9/posts/15"

Пример URI

DELETE https://домен_системы/api/v2/tickets/9/posts/15
Параметры
СпрятатьПоказать
ticket_id
число (обязательный) Пример: 9

ID заявки

id
число (обязательный) Пример: 15

ID поста

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "Post with id {15} in ticket with id {9} successfully deleted"
    }
  ]
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Post with id {15} in ticket with id {9} does not exist"
    }
  ]
}

Комментарии

Получить комментарии
GET/tickets/{ticket_id}/comments/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/tickets/9/comments/?page=1"

Пример URI

GET https://домен_системы/api/v2/tickets/9/comments/
Параметры
СпрятатьПоказать
ticket_id
число (обязательный) Пример: 9

ID заявки

page
число (необязательный) Пример: 1

Номер страницы

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "ticket_id": 9,
      "id": 6,
      "user_id": 1,
      "text": "test",
      "date_created": "18:18:34 05.01.2017",
      "visible": "staff",
      "files": [
        {
          "name": "test.gif",
          "url": "https://домен_системы/ru/file/download/f8bb43e593d867d27c965d38dfec721fbb084cf9",
          "data_type": "gif"
        },
        {
          "name": "test.png",
          "url": "https://домен_системы/ru/file/download/b818daf594dd3b61098cce7fef7954bc0314edd5",
          "data_type": "png"
        }
      ]
    }
  ],
  "pagination": {
    "total": 1,
    "per_page": 30,
    "current_page": 1,
    "total_pages": 1
  }
}

Добавить комментарий
POST/tickets/{ticket_id}/comments/

Пример CURL

curl -X POST -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'text=Problem with email' "https://домен_системы/api/v2/tickets/9/comments/"

Пример URI

POST https://домен_системы/api/v2/tickets/9/comments/
Параметры
СпрятатьПоказать
ticket_id
число (обязательный) Пример: 9

ID заявки

text
строка (обязательный) Пример: Problem with email

Текст комментария

user_id
число (необязательный) Пример: 1

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

files
массив файлов (необязательный) 

Массив приложений

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "ticket_id": 9,
    "id": 6,
    "user_id": 1,
    "text": "test",
    "date_created": "18:18:34 05.01.2017",
    "visible": "staff",
    "files": [
      {
        "name": "test.gif",
        "url": "https://домен_системы/ru/file/download/f8bb43e593d867d27c965d38dfec721fbb084cf9",
        "data_type": "gif"
      },
      {
        "name": "test.png",
        "url": "https://домен_системы/ru/file/download/b818daf594dd3b61098cce7fef7954bc0314edd5",
        "data_type": "png"
      }
    ]
  }
}
Ответ  400
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-411",
      "title": "Required {text} request",
      "details": "Required field is missing or empty"
    }
  ]
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Ticket with id {9} does not exist"
    }
  ]
}

Обновить комментарий
PUT/tickets/{ticket_id}/comments/{id}

Пример CURL

curl -X PUT -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'text=Problem with email' "https://домен_системы/api/v2/tickets/9/comments/6"

Пример URI

PUT https://домен_системы/api/v2/tickets/9/comments/6
Параметры
СпрятатьПоказать
ticket_id
число (обязательный) Пример: 9

ID заявки

id
число (обязательный) Пример: 6

ID комментария

text
строка (обязательный) Пример: Problem with email

Текст комментария

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "ticket_id": 9,
    "id": 6,
    "user_id": 1,
    "text": "Problem with email",
    "date_created": "18:18:34 05.01.2017",
    "visible": "staff",
    "files": [
      {
        "name": "test.gif",
        "url": "https://домен_системы/ru/file/download/f8bb43e593d867d27c965d38dfec721fbb084cf9",
        "data_type": "gif"
      },
      {
        "name": "test.png",
        "url": "https://домен_системы/ru/file/download/b818daf594dd3b61098cce7fef7954bc0314edd5",
        "data_type": "png"
      }
    ]
  }
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Ticket with id {9} does not exist"
    }
  ]
}

Удалить комментарий
DELETE/tickets/{ticket_id}/comments/{id}

Пример CURL

curl -X DELETE -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/tickets/9/comments/15"

Пример URI

DELETE https://домен_системы/api/v2/tickets/9/comments/15
Параметры
СпрятатьПоказать
ticket_id
число (обязательный) Пример: 9

ID заявки

id
число (обязательный) Пример: 15

ID комментария

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "Comment with id {15} in ticket with id {9} successfully deleted"
    }
  ]
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Comment with id {15} in ticket with id {9} does not exist"
    }
  ]
}

Аудит

Аудит заявки
GET/tickets/{id}/audit/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/tickets/11/audit/?page=1"

Пример URI

GET https://домен_системы/api/v2/tickets/11/audit/
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 11

ID заявки

page
число (необязательный) Пример: 1

Номер страницы

event_list
строка (необязательный) Пример: ``

Поиск аудита по событию, через запятую

user_list
строка (необязательный) Пример: 1,14,22

Поиск аудита по ID пользователя, через запятую

from_date_created
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата создания от

to_date_created
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата создания до

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "0": {
      "id": 2012,
      "event": "ticket_view",
      "text": {
        "ru": "Просмотр заявки",
        "en": "View request",
        "ua": "Перегляд заявки"
      },
      "user_id": 1,
      "user_name": "Никита",
      "date_created": "11:11:27 30.01.2017"
    },
    "1": {
      "id": 2009,
      "event": "ticket_answer",
      "text": {
        "ru": "Добавление ответа на заявку",
        "en": "Add a response to the request",
        "ua": "Додавання відповіді на заявку"
      },
      "user_id": 1,
      "user_name": "Никита",
      "date_created": "11:11:23 30.01.2017"
    },
    "2": {
      "id": 2010,
      "event": "ticket_answer",
      "text": {
        "ru": "Отправление письма на э-почту \"info@helpdeskeddy.com\"</strong>",
        "en": "Send a message to email \"info@helpdeskeddy.com\"</strong>",
        "ua": "Відправлення листа на е-пошту \"info@helpdeskeddy.com\"</strong>"
      },
      "user_id": 1,
      "user_name": "Никита",
      "date_created": "11:11:23 30.01.2017"
    },
    "3": {
      "id": 2011,
      "event": "ticket_view",
      "text": {
        "ru": "Просмотр заявки",
        "en": "View request",
        "ua": "Перегляд заявки"
      },
      "user_id": 1,
      "user_name": "Никита",
      "date_created": "11:11:23 30.01.2017"
    },
    "4": {
      "id": 2008,
      "event": "ticket_view",
      "text": {
        "ru": "Просмотр заявки",
        "en": "View request",
        "ua": "Перегляд заявки"
      },
      "user_id": 1,
      "user_name": "Никита",
      "date_created": "11:11:17 30.01.2017"
    },
    "5": {
      "id": 2006,
      "event": "ticket_view",
      "text": {
        "ru": "Просмотр заявки",
        "en": "View request",
        "ua": "Перегляд заявки"
      },
      "user_id": 1,
      "user_name": "Никита",
      "date_created": "11:10:57 30.01.2017"
    },
    "6": {
      "id": 2005,
      "event": "status_update",
      "text": {
        "ru": "Изменение статуса заявки с \"Открыто\"</strong> на \"В процессе\"</strong>",
        "en": "Changing request status from \"Открыто\"</strong> to \"В процессе\"</strong>",
        "ua": "Зміна статусу заявки з \"Открыто\"</strong> на \"В процессе\"</strong>"
      },
      "user_id": 1,
      "user_name": "Никита",
      "date_created": "11:10:56 30.01.2017"
    },
    "7": {
      "id": 2004,
      "event": "owner_update",
      "text": {
        "ru": "Изменение исполнителя заявки с \"Неприсвоенный\"</strong> на \"Никита \"</strong>",
        "en": "Changing responsible party from \"Unassigned\"</strong> to \"Никита \"</strong>",
        "ua": "Зміна виконавця заявки з \"Неприсвоений\"</strong> на \"Никита \"</strong>"
      },
      "user_id": 1,
      "user_name": "Никита",
      "date_created": "11:10:51 30.01.2017"
    },
    "8": {
      "id": 2003,
      "event": "ticket_view",
      "text": {
        "ru": "Просмотр заявки",
        "en": "View request",
        "ua": "Перегляд заявки"
      },
      "user_id": 1,
      "user_name": "Никита",
      "date_created": "11:10:46 30.01.2017"
    }
  },
  "pagination": {
    "total": "9",
    "per_page": 30,
    "current_page": 1,
    "total_pages": 1
  }
}

Поля заявки

Получить поля заявки
GET/custom_fields/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/custom_fields/"

Пример URI

GET https://домен_системы/api/v2/custom_fields/
Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "2": {
      "id": 2,
      "name": {
        "ru": "Select",
        "en": "Select",
        "ua": "Select"
      },
      "field_type": "select",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": true
        },
        "user": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": true
        }
      }
    },
    "3": {
      "id": 3,
      "name": {
        "ru": "Date",
        "en": "Date",
        "ua": "Date"
      },
      "field_type": "date",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": false
        }
      }
    },
    "4": {
      "id": 4,
      "name": {
        "ru": "Checkbox",
        "ua": "Checkbox"
      },
      "field_type": "checkbox",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": true
        },
        "user": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": false
        }
      }
    },
    "5": {
      "id": 5,
      "name": {
        "ru": "Text",
        "en": "Text",
        "ua": "Text"
      },
      "field_type": "text",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": true
        },
        "user": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": true,
          "required_to_close_ticket": true
        }
      }
    },
    "6": {
      "id": 6,
      "name": {
        "ru": "Textarea",
        "en": "Textarea",
        "ua": "Textarea"
      },
      "field_type": "textarea",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": true
        },
        "user": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": false
        }
      }
    },
    "7": {
      "id": 7,
      "name": {
        "ru": "Number",
        "en": "Number",
        "ua": "Number"
      },
      "field_type": "number",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": true
        },
        "user": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": false
        }
      }
    },
    "8": {
      "id": 8,
      "name": {
        "1": {
          "ru": "Related",
          "en": "Related",
          "ua": "Related"
        },
        "2": {
          "ru": "Related 2",
          "en": "Related 2",
          "ua": "Related 2"
        },
        "3": {
          "ru": "Related 3",
          "en": "Related 3",
          "ua": "Related 3"
        },
        "4": {
          "ru": "Related 4",
          "en": "Related 4",
          "ua": "Related 4"
        }
      },
      "field_type": "hierarchy",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": true
        },
        "user": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": true,
          "required_to_close_ticket": false
        }
      }
    }
  },
  "pagination": {
    "total": 7,
    "per_page": 30,
    "current_page": 1,
    "total_pages": 1
  }
}

Получить поле заявки
GET/custom_fields/{id}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/custom_fields/2"

Пример URI

GET https://домен_системы/api/v2/custom_fields/2
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 2

ID поля

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "2": {
      "id": 2,
      "name": {
        "ru": "Select",
        "en": "Select",
        "ua": "Select"
      },
      "field_type": "select",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": true
        },
        "user": {
          "view": true,
          "edit": true,
          "required_to_create_ticket": false,
          "required_to_close_ticket": true
        }
      }
    }
  }
}

Опции полей заявки

Внимание

Методы доступны только для полей с типом (field_type): выпадающий список (select) и связанные поля (hierarchy)!

Получить опции
GET/custom_fields/{custom_field_id}/options/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/custom_fields/2/options"

Пример URI

GET https://домен_системы/api/v2/custom_fields/2/options/
Параметры
СпрятатьПоказать
custom_field_id
число (обязательный) Пример: 2

ID поля

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 5,
      "pid": 0,
      "name": {
        "ru": "1",
        "en": "1",
        "ua": "1"
      }
    },
    {
      "id": 6,
      "pid": 0,
      "name": {
        "ru": "2",
        "en": "2",
        "ua": "2"
      }
    },
    {
      "id": 7,
      "pid": 0,
      "name": {
        "ru": "3",
        "en": "3",
        "ua": "3"
      }
    },
    {
      "id": 171,
      "pid": 0,
      "name": {
        "ru": "4",
        "en": "4",
        "ua": "4"
      }
    }
  ],
  "pagination": {
    "total": 4,
    "per_page": 50,
    "current_page": 1,
    "total_pages": 1
  }
}

Добавить/обновить опции
POST/custom_fields/{custom_field_id}/options/

Пример CURL

Добавить/обновить опции

Общее ограничение на добавление/обновление опций составляет 100 записей за один запрос. Обязательным параметром опций является name.

  • Для добавления новой опции необходимо указать name - {"options":[{"name":{"ru":"new option","en":"new option","ua":"new option"}}]}

  • Для добавление новой опции для связанных полей на любой уровень - используйте pid (id родительской опции) - {"options":[{"pid": 21, "name":{"ru":"new option","en":"new option","ua":"new option"}}]}

  • Для обновлении существующей опции используйте параметр id, для изменений доступен только параметр name - {"options":[{"id": 20,"name":{"ru":"update option","en":"update option","ua":"update option"}}]}

Перемещение опций связанных полей по уровням запрещены. Все новые опции добавляются в конец списка. Результатом на этот запрос будут возвращены все затронутые опции.

curl -X POST -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" -H 'content-type: application/json' -d '{"options":[{"name":{"ru":"new option","en":"new option","ua":"new option"}}, {"pid": 21, "name":{"ru":"new option","en":"new option","ua":"new option"}}, {"id": 20,"name":{"ru":"update option","en":"update option","ua":"update option"}}]}' "https://домен_системы/api/v2/custom_fields/2/options"

Пример URI

POST https://домен_системы/api/v2/custom_fields/2/options/
Параметры
СпрятатьПоказать
custom_field_id
число (обязательный) Пример: 2

ID поля

options
массив (обязательный) Пример: {"options":[{"id": "20", "name":{"ru":"update option","en":"update option","ua":"update option"}}]}

Добавить/обновить опции

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 20,
      "pid": 0,
      "name": {
        "ru": "update option",
        "en": "update option",
        "ua": "update option"
      }
    },
    {
      "id": 233,
      "pid": 0,
      "name": {
        "ru": "new option",
        "en": "new option",
        "ua": "new option"
      }
    },
    {
      "id": 234,
      "pid": 21,
      "name": {
        "ru": "new option",
        "en": "new option",
        "ua": "new option"
      }
    }
  ]
}

Удалить опцию
DELETE/custom_fields/{custom_field_id}/options/{option_id}

Пример CURL

curl -X DELETE -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/custom_fields/2/options/233"

Пример URI

DELETE https://домен_системы/api/v2/custom_fields/233/options/233
Параметры
СпрятатьПоказать
custom_field_id
число (обязательный) Пример: 233

ID поля

option_id
число (обязательный) Пример: 233

ID опции

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "Option with id {233} successfully deleted"
    }
  ]
}

Статусы

Cписок статусов
GET/statuses/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/statuses/"

Пример URI

GET https://домен_системы/api/v2/statuses/
Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": "open",
      "name": {
        "ru": "Открыто",
        "en": "Open",
        "ua": "Открыто"
      }
    },
    {
      "id": "process",
      "name": {
        "ru": "В процессе",
        "en": "In progress",
        "ua": "В процессе"
      }
    },
    {
      "id": "closed",
      "name": {
        "ru": "Выполнено",
        "en": "Closed",
        "ua": "Выполнено"
      }
    }
  ]
}

Приоритеты

Cписок приоритетов
GET/priorities/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/priorities/"

Пример URI

GET https://домен_системы/api/v2/priorities/
Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 2,
      "name": {
        "ru": "Стандартно",
        "en": "Standard",
        "ua": "Стандартно"
      }
    },
    {
      "id": 3,
      "name": {
        "ru": "Средний",
        "en": "Medium",
        "ua": "Средний"
      }
    },
    {
      "id": 1,
      "name": {
        "ru": "Срочно",
        "en": "Very urgent",
        "ua": "Срочно"
      }
    }
  ]
}

Типы

Cписок типов
GET/types/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/types/"

Пример URI

GET https://домен_системы/api/v2/types/
Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 0,
      "name": {
        "ru": "Без типа",
        "en": "Without type",
        "ua": "Без типа"
      }
    },
    {
      "id": 1,
      "name": {
        "ru": "Проблема",
        "en": "Problem",
        "ua": "Проблема"
      }
    },
    {
      "id": 2,
      "name": {
        "ru": "Задание",
        "en": "Task",
        "ua": "Задание"
      }
    },
    {
      "id": 3,
      "name": {
        "ru": "Ошибка",
        "en": "Bug",
        "ua": "Ошибка"
      }
    }
  ]
}

Работа с контактами

Пользователи

Список пользователей
GET/users/{?page,search,group_list,from_date_created,to_date_created,from_date_updated,to_date_updated,order_by}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/users/?page=1"

Пример URI

GET https://домен_системы/api/v2/users/?page=1&search=John Doe&group_list=1,2&from_date_created=2018-12-31 00:00:00&to_date_created=2018-12-31 00:00:00&from_date_updated=2018-12-31 00:00:00&to_date_updated=2018-12-31 00:00:00&order_by=name
Параметры
СпрятатьПоказать
page
число (необязательный) Пример: 1

Номер страницы

search
строка (необязательный) Пример: John Doe

Поиск по пользователям

group_list
число (необязательный) Пример: 1,2

Поиск пользователей по ID группы, через запятую

from_date_created
строка (необязательный) Пример: 2018-12-31 00:00:00

Дата создания от

to_date_created
строка (необязательный) Пример: 2018-12-31 00:00:00

Дата создания до

from_date_updated
строка (необязательный) Пример: 2018-12-31 00:00:00

Дата изменения от

to_date_updated
строка (необязательный) Пример: 2018-12-31 00:00:00

Дата изменения до

order_by
строка (необязательный) Пример: name

Сортировка пользователей, можно указать через запятую. Пользователей можно сортировать по параметрам: date_created, date_updated, name. Порядок сортировки {asc} (по возрастанию) и {desc} (по убыванию). Значение по умолчанию: name{asc}

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 1,
      "date_created": "2019-01-01 00:00:00",
      "date_updated": "2019-01-01 00:00:00",
      "name": "Admin",
      "lastname": "",
      "email": "test@helpdeskeddy.com",
      "phone": "+37129770143",
      "skype": "",
      "website": "",
      "organization": "",
      "status": "active",
      "language": "en",
      "notifications": 0,
      "api_key": "a32858b4-a65e-49ef-a960-0b7e8d5d1e47",
      "group": {
        "id": 2,
        "type": "staff",
        "name": {
          "ru": "Администратор",
          "en": "Administrator",
          "ua": ""
        },
        "disable": 0
      },
      "department": [
        1,
        2
      ],
      "ldap_username": "",
      "custom_fields": [
        {
          "id": 87,
          "field_type": "textarea",
          "field_value": "test"
        },
        {
          "id": 88,
          "field_type": "checkbox",
          "field_value": 1
        }
      ]
    },
    {
      "id": 6,
      "date_created": "2019-01-01 00:00:00",
      "date_updated": "2019-01-01 00:00:00",
      "name": "Test",
      "lastname": "",
      "email": "test@test.lv",
      "phone": "",
      "skype": "",
      "website": "",
      "organization": "",
      "status": "active",
      "language": "en",
      "notifications": 0,
      "api_key": "a43e6bdc-2ff9-483b-8ebf-ea3ade763864",
      "group": {
        "id": 1,
        "type": "user",
        "name": {
          "ru": "Клиент",
          "en": "Client",
          "ua": "Клиент"
        },
        "disable": 0
      },
      "department": [
        1,
        2
      ],
      "ldap_username": "",
      "custom_fields": [
        {
          "id": 87,
          "field_type": "textarea",
          "field_value": "test"
        },
        {
          "id": 88,
          "field_type": "checkbox",
          "field_value": 1
        }
      ]
    }
  ],
  "pagination": {
    "total": 2,
    "per_page": 30,
    "current_page": 1,
    "total_pages": 1
  }
}

Получить пользователя
GET/users/{id}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/users/1"

Пример URI

GET https://домен_системы/api/v2/users/1
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 1

ID пользователя

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "id": 1,
    "date_created": "2019-01-01 00:00:00",
    "date_updated": "2019-01-01 00:00:00",
    "name": "Admin",
    "lastname": "",
    "email": "test@helpdeskeddy.com",
    "phone": "+37129770143",
    "skype": "",
    "website": "",
    "organization": "",
    "status": "active",
    "language": "en",
    "notifications": 0,
    "api_key": "a32858b4-a65e-49ef-a960-0b7e8d5d1e47",
    "group": {
      "id": 2,
      "type": "staff",
      "name": {
        "ru": "Администратор",
        "en": "Administrator",
        "ua": "Администратор"
      },
      "disable": 0
    },
    "department": [
      1,
      2
    ],
    "ldap_username": "",
    "custom_fields": [
      {
        "id": 87,
        "field_type": "textarea",
        "field_value": "test"
      },
      {
        "id": 88,
        "field_type": "checkbox",
        "field_value": 1
      }
    ]
  }
}

Добавить пользователя
POST/users/

Пример CURL

curl -X POST -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'name=John&email=info@example.com3&group_id=1&department[0]=1&department[1]=2&password=12345678&custom_fields[2]=4&custom_fields[4]=test' "https://домен_системы/api/v2/users/"

Пример URI

POST https://домен_системы/api/v2/users/
Параметры
СпрятатьПоказать
name
строка (обязательный) Пример: John

Имя

lastname
строка (необязательный) Пример: Doe

Фамилия

email
строка (обязательный) Пример: info@example.com

Почта

phone
строка (необязательный) Пример: 37192345678

Телефон

skype
строка (необязательный) Пример: ``

Скайп

website
строка (необязательный) Пример: http://example.com

Вебсайт

organization
строка (необязательный) Пример: Organization

Организация. Название новой организации. Если заполнено — поле organiz_id не учитывается.

organiz_id
число (необязательный) Пример: ``

ID существующей организации

status
строка (необязательный) Пример: test user

Статус пользователя. Доступные статусы: active, inactive, disabled, fired.

language
строка (необязательный) Пример: en

Язык пользователя. Доступны все активные языки в системе.

notifications
число (необязательный) Пример: 1

Уведомления на почту. 0 - отключены. Доступные значения 1 и 0

group_id
число (обязательный) Пример: 1

ID группы

department
массив (обязательный) Пример: [0 => 1, 1 => 2]

Департаменты пользователя

password
строка (обязательный) Пример: 123456

Пароль

custom_fields
массив (необязательный) Пример: [87 => 'test', 2 => 1]

Массив индивидуальных полей контактов, пример: custom_fields[field_id] = value, в случае иерархического поля, необходимо указывать уровень custom_fields[field_id][level] = value

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "id": 22,
    "date_created": "2019-01-01 00:00:00",
    "date_updated": "2019-01-01 00:00:00",
    "name": "John",
    "lastname": "Doe",
    "email": "info@example.com",
    "phone": "37192345678",
    "skype": "",
    "website": "http://example.com",
    "organization": {
      "id": 8,
      "name": "Organization",
      "domains": "",
      "address": "",
      "phone": "37192345678",
      "email": "info@example.com",
      "web": "http://example.com"
    },
    "status": "active",
    "language": "en",
    "notifications": 0,
    "api_key": "cf780f93-8bd4-460d-8a56-1f6adadb8e46",
    "group": {
      "id": 1,
      "type": "user",
      "name": {
        "ru": "Клиент",
        "en": "Client",
        "ua": "Клиент"
      },
      "disable": 0
    },
    "department": [
      1,
      2
    ],
    "ldap_username": "",
    "custom_fields": [
      {
        "id": 87,
        "field_type": "textarea",
        "field_value": "test"
      },
      {
        "id": 88,
        "field_type": "checkbox",
        "field_value": 1
      }
    ]
  }
}
Ответ  400
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-411",
      "title": "Required {name} field",
      "details": "Required field {name} is missing or empty"
    },
    {
      "code": "e-411",
      "title": "Required {email} field",
      "details": "Required field {email} is missing or empty"
    },
    {
      "code": "e-411",
      "title": "Required {group_id} field",
      "details": "Required field {group_id} is missing or empty"
    },
    {
      "code": "e-411",
      "title": "Required {department} field",
      "details": "Required field {department} is missing or empty"
    },
    {
      "code": "e-411",
      "title": "Required {password} field",
      "details": "Required field {password} is missing or empty"
    }
  ]
}

Обновить пользователя
PUT/users/{id}

Пример CURL

curl -X PUT -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{"lastname":"Doe", "custom_fields": {"6": "test", "2": "18"}}' "https://домен_системы/api/v2/users/22"

Пример URI

PUT https://домен_системы/api/v2/users/22
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 22

ID пользователя

name
строка (необязательный) Пример: John

Имя

lastname
строка (необязательный) Пример: Doe

Фамилия

email
строка (необязательный) Пример: info@example.com

Почта

phone
строка (необязательный) Пример: 37192345678

Телефон

skype
строка (необязательный) Пример: ``

Скайп

website
строка (необязательный) Пример: http://example.com

Вебсайт

organization
строка (необязательный) Пример: Organization

Организация. Название новой организации. Если заполнено — поле organiz_id не учитывается.

organiz_id
число (необязательный) Пример: ``

ID существующей организации

status
строка (необязательный) Пример: test user

Статус пользователя. Доступные статусы: active, inactive, disabled, fired.

language
строка (необязательный) Пример: en

Язык пользователя. Доступны все активные языки в системе.

notifications
число (необязательный) Пример: 1

Уведомления на почту. 0 - отключены. Доступные значения 1 и 0

group_id
число (необязательный) Пример: 1

ID группы

department
массив (необязательный) Пример: [0 => 1, 1 => 2]

Департаменты пользователя

password
строка (необязательный) Пример: 123456

Пароль

custom_fields
массив (необязательный) Пример: [87 => 'test', 2 => 1]

Массив индивидуальных полей контактов, пример: custom_fields[field_id] = value, в случае иерархического поля, необходимо указывать уровень custom_fields[field_id][level] = value

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "id": 22,
    "date_created": "2019-01-01 00:00:00",
    "date_updated": "2019-01-01 00:00:00",
    "name": "John",
    "lastname": "Doe",
    "email": "info@example.com",
    "phone": "37192345678",
    "skype": "",
    "website": "http://example.com",
    "organization": {
      "id": 8,
      "name": "Organization",
      "domains": "",
      "address": "",
      "phone": "37192345678",
      "email": "info@example.com",
      "web": "http://example.com"
    },
    "status": "active",
    "language": "en",
    "notifications": 0,
    "api_key": "cf780f93-8bd4-460d-8a56-1f6adadb8e46",
    "group": {
      "id": 1,
      "type": "user",
      "name": {
        "ru": "Клиент",
        "en": "Client",
        "ua": "Клиент"
      },
      "disable": 0
    },
    "department": [
      1,
      2
    ],
    "ldap_username": "",
    "custom_fields": [
      {
        "id": 87,
        "field_type": "textarea",
        "field_value": "test"
      },
      {
        "id": 88,
        "field_type": "checkbox",
        "field_value": 1
      }
    ]
  }
}
Ответ  400
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-411",
      "title": "Required {name} field",
      "details": "Required field {name} is missing or empty"
    },
    {
      "code": "e-411",
      "title": "Required {email} field",
      "details": "Required field {email} is missing or empty"
    },
    {
      "code": "e-411",
      "title": "Required {group_id} field",
      "details": "Required field {group_id} is missing or empty"
    },
    {
      "code": "e-411",
      "title": "Required {department} field",
      "details": "Required field {department} is missing or empty"
    },
    {
      "code": "e-411",
      "title": "Required {password} field",
      "details": "Required field {password} is missing or empty"
    }
  ]
}

Удалить пользователя
DELETE/users/{id}

Пример CURL

curl -X DELETE -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/users/22"

Пример URI

DELETE https://домен_системы/api/v2/users/22
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 22

ID пользователя

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "User with id {22} successfully deleted"
    }
  ]
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "User with id {22} does not exist"
    }
  ]
}

Поля пользователей

Получить поля пользователей
GET/users/custom_fields/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/users/custom_fields/"

Пример URI

GET https://домен_системы/api/v2/users/custom_fields/
Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "2": {
      "id": 2,
      "name": {
        "ru": "Select",
        "en": "Select",
        "ua": "Select"
      },
      "field_type": "select",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    },
    "3": {
      "id": 3,
      "name": {
        "ru": "Date",
        "en": "Date",
        "ua": "Date"
      },
      "field_type": "date",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    },
    "4": {
      "id": 4,
      "name": {
        "ru": "Checkbox",
        "ua": "Checkbox"
      },
      "field_type": "checkbox",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    },
    "5": {
      "id": 5,
      "name": {
        "ru": "Text",
        "en": "Text",
        "ua": "Text"
      },
      "field_type": "text",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": true
        }
      }
    },
    "6": {
      "id": 6,
      "name": {
        "ru": "Textarea",
        "en": "Textarea",
        "ua": "Textarea"
      },
      "field_type": "textarea",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    },
    "7": {
      "id": 7,
      "name": {
        "ru": "Number",
        "en": "Number",
        "ua": "Number"
      },
      "field_type": "number",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    },
    "8": {
      "id": 8,
      "name": {
        "1": {
          "ru": "Related",
          "en": "Related",
          "ua": "Related"
        },
        "2": {
          "ru": "Related 2",
          "en": "Related 2",
          "ua": "Related 2"
        },
        "3": {
          "ru": "Related 3",
          "en": "Related 3",
          "ua": "Related 3"
        },
        "4": {
          "ru": "Related 4",
          "en": "Related 4",
          "ua": "Related 4"
        }
      },
      "field_type": "hierarchy",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": true
        }
      }
    }
  },
  "pagination": {
    "total": 7,
    "per_page": 30,
    "current_page": 1,
    "total_pages": 1
  }
}

Получить поле пользователя
GET/users/custom_fields/{id}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/users/custom_fields/2"

Пример URI

GET https://домен_системы/api/v2/users/custom_fields/2
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 2

ID поля

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "2": {
      "id": 2,
      "name": {
        "ru": "Select",
        "en": "Select",
        "ua": "Select"
      },
      "field_type": "select",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    }
  }
}

Опции полей пользователя

Внимание

Методы доступны только для полей с типом (field_type): выпадающий список (select) и связанные поля (hierarchy)!

Получить опции
GET/users/custom_fields/{custom_field_id}/options/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/users/custom_fields/2/options"

Пример URI

GET https://домен_системы/api/v2/users/custom_fields/2/options/
Параметры
СпрятатьПоказать
custom_field_id
число (обязательный) Пример: 2

ID поля

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 5,
      "pid": 0,
      "name": {
        "ru": "1",
        "en": "1",
        "ua": "1"
      }
    },
    {
      "id": 6,
      "pid": 0,
      "name": {
        "ru": "2",
        "en": "2",
        "ua": "2"
      }
    },
    {
      "id": 7,
      "pid": 0,
      "name": {
        "ru": "3",
        "en": "3",
        "ua": "3"
      }
    },
    {
      "id": 171,
      "pid": 0,
      "name": {
        "ru": "4",
        "en": "4",
        "ua": "4"
      }
    }
  ],
  "pagination": {
    "total": 4,
    "per_page": 50,
    "current_page": 1,
    "total_pages": 1
  }
}

Добавить/обновить опции
POST/users/custom_fields/{custom_field_id}/options/

Пример CURL

Добавить/обновить опции

Общее ограничение на добавление/обновление опций составляет 100 записей за один запрос. Обязательным параметром опций является name.

  • Для добавления новой опции необходимо указать name - {"options":[{"name":{"ru":"new option","en":"new option","ua":"new option"}}]}

  • Для добавление новой опции для связанных полей на любой уровень - используйте pid (id родительской опции) - {"options":[{"pid": 21, "name":{"ru":"new option","en":"new option","ua":"new option"}}]}

  • Для обновлении существующей опции используйте параметр id, для изменений доступен только параметр name - {"options":[{"id": 20,"name":{"ru":"update option","en":"update option","ua":"update option"}}]}

Перемещение опций связанных полей по уровням запрещены. Все новые опции добавляются в конец списка. Результатом на этот запрос будут возвращены все затронутые опции.

curl -X POST -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" -H 'content-type: application/json' -d '{"options":[{"name":{"ru":"new option","en":"new option","ua":"new option"}}, {"pid": 21, "name":{"ru":"new option","en":"new option","ua":"new option"}}, {"id": 20,"name":{"ru":"update option","en":"update option","ua":"update option"}}]}' "https://домен_системы/api/v2users/users/custom_fields/2/options"

Пример URI

POST https://домен_системы/api/v2/users/custom_fields/2/options/
Параметры
СпрятатьПоказать
custom_field_id
число (обязательный) Пример: 2

ID поля

options
массив (обязательный) Пример: {"options":[{"id": "20", "name":{"ru":"update option","en":"update option","ua":"update option"}}]}

Добавить/обновить опции

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 20,
      "pid": 0,
      "name": {
        "ru": "update option",
        "en": "update option",
        "ua": "update option"
      }
    },
    {
      "id": 233,
      "pid": 0,
      "name": {
        "ru": "new option",
        "en": "new option",
        "ua": "new option"
      }
    },
    {
      "id": 234,
      "pid": 21,
      "name": {
        "ru": "new option",
        "en": "new option",
        "ua": "new option"
      }
    }
  ]
}

Удалить опцию
DELETE/users/custom_fields/{custom_field_id}/options/{option_id}

Пример CURL

curl -X DELETE -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/users/custom_fields/2/options/233"

Пример URI

DELETE https://домен_системы/api/v2/users/custom_fields/233/options/233
Параметры
СпрятатьПоказать
custom_field_id
число (обязательный) Пример: 233

ID поля

option_id
число (обязательный) Пример: 233

ID опции

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "Option with id {233} successfully deleted"
    }
  ]
}

Примечания пользователей

Получить примечание
GET/users/{user_id}/notes/{?page}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/users/22/notes"

Пример URI

GET https://домен_системы/api/v2/users/22/notes/?page=1
Параметры
СпрятатьПоказать
user_id
число (обязательный) Пример: 22

ID пользователя

page
число (необязательный) Пример: 1

Номер страницы

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 79,
      "creator_id": 1,
      "user_id": 22,
      "text": "",
      "date_created": "19:41:09 19.03.2019",
      "date_updated": "19:41:09 19.03.2019",
      "file": {
        "name": "test_image_png.png",
        "url": "https://домен_системы/ru/file/download/d73a880871041e53a70bac2f05c439b6fd5ed0c7",
        "data_type": "png"
      }
    },
    {
      "id": 78,
      "creator_id": 1,
      "user_id": 22,
      "text": "test",
      "date_created": "19:40:52 19.03.2019",
      "date_updated": "19:40:53 19.03.2019",
      "file": []
    }
  ],
  "pagination": {
    "total": 2,
    "per_page": 30,
    "current_page": 1,
    "total_pages": 1
  }
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "User with id {22} does not exist"
    }
  ]
}

Добавить примечание
POST/users/{user_id}/notes/

Пример CURL

curl -X POST -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'text=test' "https://домен_системы/api/v2/users/22/notes"

Пример URI

POST https://домен_системы/api/v2/users/22/notes/
Параметры
СпрятатьПоказать
user_id
число (обязательный) Пример: 22

ID пользователя

text
строка (необязательный) Пример: test

Текст примечания

file
файл (необязательный) Пример: ``

Файл примечания

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "id": 81,
    "creator_id": 1,
    "user_id": 22,
    "text": "test",
    "date_created": "19:46:56 19.03.2019",
    "date_updated": "19:46:56 19.03.2019",
    "file": []
  }
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "User with id {22} does not exist"
    }
  ]
}

Удалить примечание
DELETE/users/{user_id}/notes/{note_id}

Пример CURL

curl -X DELETE -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/users/22/notes/80"

Пример URI

DELETE https://домен_системы/api/v2/users/22/notes/80
Параметры
СпрятатьПоказать
user_id
число (обязательный) Пример: 22

ID пользователя

note_id
число (обязательный) Пример: 80

ID примечания

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "Note with id {80} successfully deleted"
    }
  ]
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "Note with id {80} in user with id {22} does not exist"
    }
  ]
}

Организации

Cписок организаций
GET/organizations/{?page,search,from_date_created,to_date_created,from_date_updated,to_date_updated}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/organizations/?page=1"

Пример URI

GET https://домен_системы/api/v2/organizations/?page=1&search=hde&from_date_created=2018-12-31 00:00:00&to_date_created=2018-12-31 00:00:00&from_date_updated=2018-12-31 00:00:00&to_date_updated=2018-12-31 00:00:00
Параметры
СпрятатьПоказать
page
число (необязательный) Пример: 1

Номер страницы

search
строка (необязательный) Пример: hde

Поиск по организациям

from_date_created
строка (необязательный) Пример: 2018-12-31 00:00:00

Дата создания от

to_date_created
строка (необязательный) Пример: 2018-12-31 00:00:00

Дата создания до

from_date_updated
строка (необязательный) Пример: 2018-12-31 00:00:00

Дата изменения от

to_date_updated
строка (необязательный) Пример: 2018-12-31 00:00:00

Дата изменения до

order_by
строка (необязательный) Пример: name

Сортировка организаций, можно указать через запятую. Организации можно сортировать по параметрам: date_created, date_updated, name. Порядок сортировки {asc} (по возрастанию) и {desc} (по убыванию). Значение по умолчанию: name{asc}

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 2,
      "date_created": "2019-01-01 00:00:00",
      "date_updated": "2019-01-01 00:00:00",
      "name": "Helpdeskeddy",
      "domains": "@helpdeskeddy.com",
      "address": "",
      "phone": "",
      "email": "",
      "web": "https://helpdeskeddy.ru",
      "minute_limit": 0,
      "employees": [
        1506760,
        1506763,
        1506743
      ],
      "managers": [],
      "custom_fields": [
        {
          "id": 89,
          "field_type": "textarea",
          "field_value": "test"
        },
        {
          "id": 90,
          "field_type": "checkbox",
          "field_value": 1
        }
      ]
    },
    {
      "id": 11,
      "date_created": "2019-01-01 00:00:00",
      "date_updated": "2019-01-01 00:00:00",
      "name": "Test",
      "domains": "@hde.com",
      "address": "",
      "phone": "",
      "email": "1555@hde.com",
      "web": "",
      "minute_limit": 10000,
      "employees": [
        1506780,
        1506782,
        1506783
      ],
      "managers": [
        1506783
      ],
      "custom_fields": [
        {
          "id": 89,
          "field_type": "textarea",
          "field_value": "test"
        },
        {
          "id": 90,
          "field_type": "checkbox",
          "field_value": 1
        }
      ]
    }
  ],
  "pagination": {
    "total": "2",
    "per_page": 30,
    "current_page": 1,
    "total_pages": 1
  }
}

Получить организацию
GET/organizations/{id}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/organizations/2"

Пример URI

GET https://домен_системы/api/v2/organizations/2
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 2

ID организации

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "id": 2,
    "date_created": "2019-01-01 00:00:00",
    "date_updated": "2019-01-01 00:00:00",
    "name": "Helpdeskeddy",
    "domains": "@helpdeskeddy.com",
    "address": "",
    "phone": "",
    "email": "",
    "web": "https://helpdeskeddy.ru",
    "minute_limit": 0,
    "employees": [
      1506760,
      1506763,
      1506743
    ],
    "managers": [],
    "custom_fields": [
      {
        "id": 89,
        "field_type": "textarea",
        "field_value": "test"
      },
      {
        "id": 90,
        "field_type": "checkbox",
        "field_value": 1
      }
    ]
  }
}

Добавить организацию
POST/organizations/

Пример CURL

curl -X POST -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'name=Helpdeskeddy99&custom_fields[2]=4&custom_fields[4]=test' "https://домен_системы/api/v2/organization/"

Пример URI

POST https://домен_системы/api/v2/organizations/
Параметры
СпрятатьПоказать
name
строка (обязательный) Пример: Helpdeskeddy

Название организации

domains
строка (необязательный) Пример: @helpdeskeddy.com, @hde.com

Домены организации, через запятую

address
строка (необязательный) Пример: Moscow, Russia

Адрес

phone
строка (необязательный) Пример: 749934687445

Телефон

email
строка (необязательный) Пример: info@helpdeskeddy.com

Почта

web
строка (необязательный) Пример: http://example.com

Вебсайт

minute_limit
число (необязательный) Пример: 0

Отведенное время на выполнение заявок в месяц (минуты)

employees
массив (необязательный) Пример: [0 => 1, 1 => 2]

Сотрудники компании

managers
массив (необязательный) Пример: [0 => 2]

Менеджеры компании

custom_fields
массив (необязательный) Пример: [87 => 'test', 2 => 1]

Массив индивидуальных полей контактов, пример: custom_fields[field_id] = value, в случае иерархического поля, необходимо указывать уровень custom_fields[field_id][level] = value

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "id": 36,
    "date_created": "2019-01-01 00:00:00",
    "date_updated": "2019-01-01 00:00:00",
    "name": "Helpdeskeddy99",
    "domains": "",
    "address": "",
    "phone": "",
    "email": "",
    "web": "",
    "minute_limit": 0,
    "employees": [],
    "managers": [],
    "custom_fields": [
      {
        "id": 89,
        "field_type": "textarea",
        "field_value": "test"
      },
      {
        "id": 90,
        "field_type": "checkbox",
        "field_value": 1
      }
    ]
  }
}
Ответ  400
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-411",
      "title": "Bad request",
      "details": "Organization name {Helpdeskeddy99} already exists"
    }
  ]
}

Обновить организацию
PUT/organizations/{id}

Пример CURL

curl -X PUT -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{"name":"Helpdeskeddy2","domains":"@helpdeskeddy.com", "custom_fields": {"6": "test", "2": "18"}}' "https://домен_системы/api/v2/organizations/2"

Пример URI

PUT https://домен_системы/api/v2/organizations/2
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 2

ID организации

name
строка (необязательный) Пример: Helpdeskeddy

Название организации

domains
строка (необязательный) Пример: @helpdeskeddy.com, @hde.com

Домены организации, через запятую

address
строка (необязательный) Пример: Moscow, Russia

Адрес

phone
строка (необязательный) Пример: 749934687445

Телефон

email
строка (необязательный) Пример: info@helpdeskeddy.com

Почта

web
строка (необязательный) Пример: http://example.com

Вебсайт

minute_limit
число (необязательный) Пример: 0

Отведенное время на выполнение заявок в месяц (минуты)

employees
массив (необязательный) Пример: [0 => 1, 1 => 2]

Сотрудники компании

managers
массив (необязательный) Пример: [0 => 2]

Менеджеры компании

custom_fields
массив (необязательный) Пример: [87 => 'test', 2 => 1]

Массив индивидуальных полей контактов, пример: custom_fields[field_id] = value, в случае иерархического поля, необходимо указывать уровень custom_fields[field_id][level] = value

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "id": 2,
    "date_created": "2019-01-01 00:00:00",
    "date_updated": "2019-01-01 00:00:00",
    "name": "Helpdeskeddy2",
    "domains": "@helpdeskeddy.com",
    "address": "adress",
    "phone": "+7 (499) 346-87-44",
    "email": "",
    "web": "https://helpdeskeddy.com",
    "minute_limit": 10,
    "employees": [
      1506760,
      1506763,
      1506743
    ],
    "managers": [],
    "custom_fields": [
      {
        "id": 89,
        "field_type": "textarea",
        "field_value": "test"
      },
      {
        "id": 90,
        "field_type": "checkbox",
        "field_value": 1
      }
    ]
  }
}
Ответ  400
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-411",
      "title": "Bad request",
      "details": "Organization name {Helpdeskeddy2} already exists"
    }
  ]
}

Удалить организацию
DELETE/organizations/{id}

Пример CURL

curl -X DELETE -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/organizations/36"

Пример URI

DELETE https://домен_системы/api/v2/organizations/36
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 36

ID организации

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "Organization with id {36} successfully deleted"
    }
  ]
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Organization with id {36} does not exist"
    }
  ]
}

Поля организаций

Получить поля организаций
GET/organizations/custom_fields/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/organizations/custom_fields/"

Пример URI

GET https://домен_системы/api/v2/organizations/custom_fields/
Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "2": {
      "id": 2,
      "name": {
        "ru": "Select",
        "en": "Select",
        "ua": "Select"
      },
      "field_type": "select",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    },
    "3": {
      "id": 3,
      "name": {
        "ru": "Date",
        "en": "Date",
        "ua": "Date"
      },
      "field_type": "date",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    },
    "4": {
      "id": 4,
      "name": {
        "ru": "Checkbox",
        "ua": "Checkbox"
      },
      "field_type": "checkbox",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    },
    "5": {
      "id": 5,
      "name": {
        "ru": "Text",
        "en": "Text",
        "ua": "Text"
      },
      "field_type": "text",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": true
        }
      }
    },
    "6": {
      "id": 6,
      "name": {
        "ru": "Textarea",
        "en": "Textarea",
        "ua": "Textarea"
      },
      "field_type": "textarea",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    },
    "7": {
      "id": 7,
      "name": {
        "ru": "Number",
        "en": "Number",
        "ua": "Number"
      },
      "field_type": "number",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    },
    "8": {
      "id": 8,
      "name": {
        "1": {
          "ru": "Related",
          "en": "Related",
          "ua": "Related"
        },
        "2": {
          "ru": "Related 2",
          "en": "Related 2",
          "ua": "Related 2"
        },
        "3": {
          "ru": "Related 3",
          "en": "Related 3",
          "ua": "Related 3"
        },
        "4": {
          "ru": "Related 4",
          "en": "Related 4",
          "ua": "Related 4"
        }
      },
      "field_type": "hierarchy",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": true
        }
      }
    }
  },
  "pagination": {
    "total": 7,
    "per_page": 30,
    "current_page": 1,
    "total_pages": 1
  }
}

Получить поле организаций
GET/organizations/custom_fields/{id}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/organizations/custom_fields/2"

Пример URI

GET https://домен_системы/api/v2/organizations/custom_fields/2
Параметры
СпрятатьПоказать
id
число (обязательный) Пример: 2

ID поля

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "2": {
      "id": 2,
      "name": {
        "ru": "Select",
        "en": "Select",
        "ua": "Select"
      },
      "field_type": "select",
      "permissions": {
        "staff": {
          "view": true,
          "edit": true,
          "required": false
        },
        "user": {
          "view": true,
          "edit": true,
          "required": false
        }
      }
    }
  }
}

Опции полей организаций

Внимание

Методы доступны только для полей с типом (field_type): выпадающий список (select) и связанные поля (hierarchy)!

Получить опции
GET/organizations/custom_fields/{custom_field_id}/options/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/organizations/custom_fields/2/options"

Пример URI

GET https://домен_системы/api/v2/organizations/custom_fields/2/options/
Параметры
СпрятатьПоказать
custom_field_id
число (обязательный) Пример: 2

ID поля

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 5,
      "pid": 0,
      "name": {
        "ru": "1",
        "en": "1",
        "ua": "1"
      }
    },
    {
      "id": 6,
      "pid": 0,
      "name": {
        "ru": "2",
        "en": "2",
        "ua": "2"
      }
    },
    {
      "id": 7,
      "pid": 0,
      "name": {
        "ru": "3",
        "en": "3",
        "ua": "3"
      }
    },
    {
      "id": 171,
      "pid": 0,
      "name": {
        "ru": "4",
        "en": "4",
        "ua": "4"
      }
    }
  ],
  "pagination": {
    "total": 4,
    "per_page": 50,
    "current_page": 1,
    "total_pages": 1
  }
}

Добавить/обновить опции
POST/organizations/custom_fields/{custom_field_id}/options/

Пример CURL

Добавить/обновить опции

Общее ограничение на добавление/обновление опций составляет 100 записей за один запрос. Обязательным параметром опций является name.

  • Для добавления новой опции необходимо указать name - {"options":[{"name":{"ru":"new option","en":"new option","ua":"new option"}}]}

  • Для добавление новой опции для связанных полей на любой уровень - используйте pid (id родительской опции) - {"options":[{"pid": 21, "name":{"ru":"new option","en":"new option","ua":"new option"}}]}

  • Для обновлении существующей опции используйте параметр id, для изменений доступен только параметр name - {"options":[{"id": 20,"name":{"ru":"update option","en":"update option","ua":"update option"}}]}

Перемещение опций связанных полей по уровням запрещены. Все новые опции добавляются в конец списка. Результатом на этот запрос будут возвращены все затронутые опции.

curl -X POST -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" -H 'content-type: application/json' -d '{"options":[{"name":{"ru":"new option","en":"new option","ua":"new option"}}, {"pid": 21, "name":{"ru":"new option","en":"new option","ua":"new option"}}, {"id": 20,"name":{"ru":"update option","en":"update option","ua":"update option"}}]}' "https://домен_системы/api/v2users/organizations/custom_fields/2/options"

Пример URI

POST https://домен_системы/api/v2/organizations/custom_fields/2/options/
Параметры
СпрятатьПоказать
custom_field_id
число (обязательный) Пример: 2

ID поля

options
массив (обязательный) Пример: {"options":[{"id": "20", "name":{"ru":"update option","en":"update option","ua":"update option"}}]}

Добавить/обновить опции

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 20,
      "pid": 0,
      "name": {
        "ru": "update option",
        "en": "update option",
        "ua": "update option"
      }
    },
    {
      "id": 233,
      "pid": 0,
      "name": {
        "ru": "new option",
        "en": "new option",
        "ua": "new option"
      }
    },
    {
      "id": 234,
      "pid": 21,
      "name": {
        "ru": "new option",
        "en": "new option",
        "ua": "new option"
      }
    }
  ]
}

Удалить опцию
DELETE/organizations/custom_fields/{custom_field_id}/options/{option_id}

Пример CURL

curl -X DELETE -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/organizations/custom_fields/2/options/233"

Пример URI

DELETE https://домен_системы/api/v2/organizations/custom_fields/233/options/233
Параметры
СпрятатьПоказать
custom_field_id
число (обязательный) Пример: 233

ID поля

option_id
число (обязательный) Пример: 233

ID опции

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "Option with id {233} successfully deleted"
    }
  ]
}

Примечания организаций

Получить примечание
GET/organizations/{organiz_id}/notes/{?page}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/organizations/2/notes"

Пример URI

GET https://домен_системы/api/v2/organizations/2/notes/?page=1
Параметры
СпрятатьПоказать
organiz_id
число (обязательный) Пример: 2

ID организации

page
число (необязательный) Пример: 1

Номер страницы

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 83,
      "creator_id": 1,
      "organiz_id": 2,
      "text": "",
      "date_created": "20:02:05 19.03.2019",
      "date_updated": "20:02:05 19.03.2019",
      "file": {
        "name": "test2.png",
        "url": "https://домен_системы/ru/file/download/154356e5b627857e09f937192abcbc671e778dc3",
        "data_type": "png"
      }
    },
    {
      "id": 82,
      "creator_id": 1,
      "organiz_id": 2,
      "text": "test2",
      "date_created": "20:01:27 19.03.2019",
      "date_updated": "20:02:10 19.03.2019",
      "file": []
    }
  ],
  "pagination": {
    "total": 2,
    "per_page": 30,
    "current_page": 1,
    "total_pages": 1
  }
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Organization with id {2} does not exist"
    }
  ]
}

Добавить примечание
POST/organizations/{organiz_id}/notes/

Пример CURL

curl -X POST -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Content-Type: application/x-www-form-urlencoded" -H "Cache-Control: no-cache" -d 'text=test' "https://домен_системы/api/v2/organizations/2/notes"

Пример URI

POST https://домен_системы/api/v2/organizations/2/notes/
Параметры
СпрятатьПоказать
organiz_id
число (обязательный) Пример: 2

ID пользователя

text
строка (необязательный) Пример: test

Текст примечания

file
файл (необязательный) 

Файл примечания

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "id": 84,
    "creator_id": 1,
    "organiz_id": 2,
    "text": "test",
    "date_created": "20:07:10 19.03.2019",
    "date_updated": "20:07:10 19.03.2019",
    "file": []
  }
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "e-404",
      "title": "Not found",
      "details": "Organization with id {2} does not exist"
    }
  ]
}

Удалить примечание
DELETE/organizations/{organiz_id}/notes/{note_id}

Пример CURL

curl -X DELETE -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/organizations/22/notes/80"

Пример URI

DELETE https://домен_системы/api/v2/organizations/2/notes/80
Параметры
СпрятатьПоказать
organiz_id
число (обязательный) Пример: 2

ID пользователя

note_id
число (обязательный) Пример: 80

ID примечания

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "Note with id {85} successfully deleted"
    }
  ]
}
Ответ  404
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "errors": [
    {
      "code": "s-204",
      "title": "No content",
      "details": "Note with id {85} in organizations with id {2} does not exist"
    }
  ]
}

Группы

Cписок групп
GET/groups/

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/organizations/?page=1"

Пример URI

GET https://домен_системы/api/v2/groups/
Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": [
    {
      "id": 1,
      "type": "user",
      "name": {
        "ru": "Клиент",
        "en": "Client",
        "ua": "Клиент"
      },
      "disable": 0
    },
    {
      "id": 2,
      "type": "staff",
      "name": {
        "ru": "Администратор",
        "en": "Administrator",
        "ua": "Администратор"
      },
      "disable": 0
    },
    {
      "id": 3,
      "type": "staff",
      "name": {
        "ru": "Сотрудник",
        "en": "Employee",
        "ua": "Сотрудник"
      },
      "disable": 0
    }
  ]
}

База знаний BETA

Обзор API базы знаний

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

Ограничения скорости

API базы знаний ограничено по скорости, по умолчанию лимит составляет 60 запросов в минуту (RPM). Лимиты API базы знаний не засчитываются в ограничения другого API. В случае превышения лимита доступ будет автоматически заблокирован на 1 час.

HelpDeskEddy оставляет за собой право корректировать ограничение скорости и время блокировки для API базы знаний, чтобы обеспечить высокое качество обслуживания для всех клиентов.

Категории

Список категорий
GET/knowledge_base/categories{?page,public,parent_list,from_date_created,to_date_created,from_date_updated,to_date_updated,order_by}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/knowledge_base/categories?page=1"

Пример URI

GET https://домен_системы/api/v2/knowledge_base/categories?page=1&public=false&parent_list=1,2,3&from_date_created=2017-12-31 00:00:00&to_date_created=2017-12-31 00:00:00&from_date_updated=2017-12-31 00:00:00&to_date_updated=2017-12-31 00:00:00&order_by=position
Параметры
СпрятатьПоказать
page
число (необязательный) Пример: 1

Номер страницы

public
булево (необязательный) Пример: false

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

parent_list
строка (необязательный) Пример: 1,2,3

Поиск категорий по родительским категориям, через запятую

from_date_created
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата создания от

to_date_created
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата создания до

from_date_updated
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата изменения от

to_date_updated
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата изменения до

order_by
строка (необязательный) Пример: position

Сортировка категорий, можно указать через запятую. Категории можно сортировать по параметрам: date_created, date_updated, position. Порядок сортировки {asc} (по возрастанию) и {desc} (по убыванию). Значение по умолчанию: position{asc}

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "1": {
      "id": 1,
      "parent_id": 0,
      "position": 23,
      "date_created": "2017-03-24 15:47:01",
      "date_updated": "2019-03-05 20:19:40",
      "access": "staff",
      "access_by_groups": [
        1,
        3,
        2
      ],
      "title": {
        "ru": "test category 1",
        "en": "test category 1",
        "ua": "test category 1"
      }
    },
    "2": {
      "id": 2,
      "parent_id": 1,
      "position": 21,
      "date_created": "2017-05-29 11:57:24",
      "date_updated": "2018-12-06 15:25:57",
      "access": "user",
      "access_by_groups": [
        3,
        5,
        6,
        7,
        8,
        10,
        11,
        2
      ],
      "title": {
        "ru": "test category 2",
        "en": "test category 2",
        "ua": "test category 2"
      }
    },
    "-1": {
      "id": -1,
      "parent_id": 0,
      "position": 1,
      "date_created": "2015-12-31 23:00:00",
      "date_updated": "2019-01-30 15:54:21",
      "access": "public",
      "access_by_groups": [
        1,
        3,
        2
      ],
      "title": {
        "ru": "Шаблоны",
        "en": "Templates",
        "ua": "Шаблони"
      }
    },
    "-2": {
      "id": -2,
      "parent_id": 0,
      "position": 3,
      "date_created": "2018-01-01 00:00:00",
      "date_updated": "2019-03-16 01:06:45",
      "access": "user",
      "access_by_groups": [
        1,
        3,
        2
      ],
      "title": {
        "ru": "Новости",
        "en": "News",
        "ua": "Новини"
      }
    }
  },
  "pagination": {
    "total": 4,
    "per_page": 30,
    "current_page": 1,
    "total_pages": 1
  }
}

Статьи

Список статей
GET/knowledge_base/articles{?page,public,from_date_created,to_date_created,from_date_updated,to_date_updated,order_by}

Пример CURL

curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/knowledge_base/articles?page=1"

Пример URI

GET https://домен_системы/api/v2/knowledge_base/articles?page=1&public=false&from_date_created=2017-12-31 00:00:00&to_date_created=2017-12-31 00:00:00&from_date_updated=2017-12-31 00:00:00&to_date_updated=2017-12-31 00:00:00&order_by=views
Параметры
СпрятатьПоказать
page
число (необязательный) Пример: 1

Номер страницы

public
булево (необязательный) Пример: false

Поиск по публичным статьям

category_list
строка (необязательный) Пример: 1,2,3

Поиск статей по категориям, через запятую

from_date_created
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата создания от

to_date_created
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата создания до

from_date_updated
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата изменения от

to_date_updated
строка (необязательный) Пример: 2017-12-31 00:00:00

Дата изменения до

order_by
строка (необязательный) Пример: views

Сортировка статей, можно указать через запятую. Статьи можно сортировать по параметрам: date_created, date_updated, views, pin. Порядок сортировки {asc} (по возрастанию) и {desc} (по убыванию). Значение по умолчанию: date_created{desc}

Ответ  200
СпрятатьПоказать
Заголовок
Content-Type: application/json
Тело
{
  "data": {
    "56": {
      "id": 56,
      "date_created": "2018-07-17 15:15:00",
      "date_updated": "2018-07-24 17:12:55",
      "show_me_only": false,
      "access": "public",
      "pin": false,
      "views_count": 130,
      "categories": [
        1
      ],
      "title": {
        "ru": "test article",
        "en": "test article",
        "ua": "test article"
      },
      "tags": {
        "ru": [
          "test",
          "test2",
          "test3"
        ],
        "en": [],
        "ua": []
      },
      "body": {
        "ru": "<p>test body</p>",
        "en": "<p>test body</p>",
        "ua": "<p>test body</p>"
      },
      "files": []
    },
    "57": {
      "id": 57,
      "date_created": "2018-07-17 15:15:00",
      "date_updated": "2018-07-24 17:27:27",
      "show_me_only": false,
      "access": "staff",
      "pin": false,
      "views_count": 43,
      "categories": [
        1,
        2
      ],
      "title": {
        "ru": "test article",
        "en": "test article",
        "ua": "test article"
      },
      "tags": {
        "ru": [
          "режим",
          "серия pro"
        ],
        "en": [],
        "ua": []
      },
      "body": {
        "ru": "<p>test body</p>",
        "en": "<p>test body</p>",
        "ua": "<p>test body</p>"
      },
      "files": []
    },
    "58": {
      "id": 58,
      "date_created": "2018-07-17 15:15:00",
      "date_updated": "2018-07-17 15:15:00",
      "show_me_only": false,
      "access": "user",
      "pin": false,
      "views_count": 3,
      "categories": [
        2
      ],
      "title": {
        "ru": "test article",
        "en": "test article",
        "ua": "test article"
      },
      "tags": {
        "ru": [
          "ретранслятор",
          "ретрансляция",
          "ртр",
          "ри-м",
          "рр"
        ],
        "en": [],
        "ua": []
      },
      "body": {
        "ru": "<p>test body</p>",
        "en": "<p>test body</p>",
        "ua": "<p>test body</p>"
      },
      "files": []
    },
    "60": {
      "id": 60,
      "date_created": "2018-07-24 17:24:00",
      "date_updated": "2019-02-01 18:04:21",
      "show_me_only": false,
      "access": "public",
      "pin": false,
      "views_count": 32,
      "categories": [
        -2,
        2
      ],
      "title": {
        "ru": "test article",
        "en": "test article",
        "ua": "test article"
      },
      "tags": {
        "ru": [],
        "en": [],
        "ua": []
      },
      "body": {
        "ru": "<p>test body</p>",
        "en": "<p>test body</p>",
        "ua": "<p>test body</p>"
      },
      "files": [
        {
          "name": "test.gif",
          "url": "https://домен_системы/ru/knowledge_base/download/60/file/f8bb43e593d867d27c965d38dfec721fbb084cf9",
          "data_type": "gif"
        },
        {
          "name": "test.png",
          "url": "https://домен_системы/ru/knowledge_base/download/60/file/b818daf594dd3b61098cce7fef7954bc0314edd5",
          "data_type": "png"
        }
      ]
    }
  },
  "pagination": {
    "total": 4,
    "per_page": 10,
    "current_page": 1,
    "total_pages": 1
  }
}

Версии API

Обзор

В случае возникновения вопросов связанных с изменениями в API, пожалуйста, обращайтесь на почту support@helpdeskeddy.com или в любой другой удобный для Вас канал.

С Уважением, команда HelpDeskEddy

Актуальная версия

25.05.2020

Обновление 2.96

21.04.2020

10.04.2020

Критические изменения работы с полями заявок, пользователей и организаций

Изменения касаются методов:

Для оптимизации работы с полями добавлена пагинация, в будущем 30 полей на одну страницу. Параметр полей options будет отключен, в API добавлены отдельные методы работы с опциями выпадающих списков и связанных полей. Рекомендуем перейти на новые методы работы с опциями.

Изменения вступят в силу не ранее чем 01.11.2020, срок может быть отложен из-за активных интеграций с API. Новый режим работы может быть включен на системах по запросу в службу поддержки. В случае, если необходима отсрочка изменений или помощь с переходом - просьба связатся с нашей службой поддержки.

Текущий лимит 300 полей на страницу, поле options доступно

13.03.2020

  • В метод аудит заявки добавлены новые типы событий

  • В метод аудит заявки добавлены записи о событиях выполненных системой (диспетчер, SLA, отправка писем и тд)

  • Добавлен фильтр user_list в метод аудит заявки

25.02.2020

  • Добавлено поле ldap_username в пользвателей и в поиск

  • Добавлены 2 фильтра в аудит заявки

    • from_date_created - от даты создания
    • to_date_created - до даты создания

29.01.2020

  • В заявки добавлено новое поле источник заявки (source)

  • Время бана по лимитам изменено с 48 часов до 20 минут в связи с участившимися блокировками. Время может быть изменено.

Обновление 2.95

03.10.2019

  • Добавлено поле язык (language) в пользователи

  • В метод обновить пользователя добавлена возможножность изменять поле email

19.09.2019

  • Добавлены 3 новых поля заявки
    • cc - массив почтовых ящиков CC заявки
    • bcc - массив почтовых ящиков BCC заявки
    • followers - массив пользвателей наблюдающих за заявкой