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 минут.
Вы можете использовать следующие заголовки ответов, чтобы подтвердить текущий лимит скорости для системы и отслеживать количество запросов, оставшихся в текущей минуте:
X-Rate-Limit: 300
X-Rate-Limit-Remaining: 299
Департаменты ¶
Департаменты ¶
Cписок департаментовGET/departments/
Пример CURL
curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/departments/"
Пример URI
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,exact_search,user_list,owner_list,status_list,priority_list,type_list,department_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
- page
число
(необязательный) Пример: 2Номер страницы
- search
строка
(необязательный) Пример: JohnПоиск по заявкам
- exact_search
число
(необязательный) Пример: 1Поиск по полному совпадению
search
.1
- поиск по полному совпадению,0
- стандартный поиск- user_list
строка
(необязательный) Пример: 1,14,22Поиск заявок по ID владельца, через запятую
- owner_list
строка
(необязательный) Пример: 1,44,21Поиск заявок по ID исполнителя заявки, через запятую
- status_list
строка
(необязательный) Пример: open,closedПоиск заявок по ID статуса заявки, через запятую
- priority_list
строка
(необязательный) Пример: 1,3Поиск заявок по ID приоритета заявки, через запятую
- source_list
строка
(необязательный) Пример: api,vkПоиск заявок по источнику заявки, через запятую
- pid
число
(необязательный) Пример: 11123Поиск заявок по 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Дата изменения до
- department_list
строка
(необязательный) Пример: 1,2,3Поиск заявок по ID департамента заявки, через запятую
- 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,
"pid": 0,
"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",
"sla_flag": 0,
"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
}
],
"tags": [
"1",
"2",
"3"
],
"jira_issues": []
},
"9": {
"id":9,
"pid": 0,
"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",
"sla_flag": 0,
"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
}
],
"tags": [
"1",
"2",
"3"
],
"jira_issues": []
},
}, "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
- id
число
(обязательный) Пример: 9ID заявки
200
Заголовок
Content-Type: application/json
Тело
{
"data": {
"id": 9,
"pid": 0,
"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",
"sla_flag": 0,
"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
}
],
"tags": [
"1",
"2",
"3"
],
"jira_issues": []
}
}
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
- pid
число
(необязательный) Пример: 23ID родительской заявки
- title
строка
(обязательный) Пример: Problem with emailНазвание заявки
- description
строка
(обязательный) Пример: <p>Problem with email info@example.com</p>Текст заявки
- sla_date
дата
(необязательный) Пример: 01.01.1970 00:00Дата и время SLA
- status_id
строка
(необязательный) Пример: processСтатус заявки
- priority_id
число
(необязательный) Пример: 1ID приоритета
- type_id
число
(необязательный) Пример: 2ID типа
- department_id
число
(необязательный) Пример: 1ID департамента
- ticket_lock
булево
(необязательный) Пример: falseБлокировка заявки.
true
- блокировать заявку.false
- разблокировать заявку.- owner_id
число
(необязательный) Пример: 1ID исполнителя
- user_id
число
(необязательный) Пример: 2ID владельца заявки
- 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
массив файлов
(необязательный)Массив приложений
- tags
массив меток
(необязательный)Список меток
200
Заголовок
Content-Type: application/json
Тело
{
"data": {
"id": 9,
"pid": 0,
"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",
"sla_flag": 0,
"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
}
],
"tags": [
"1",
"2",
"3"
],
"jira_issues": []
}
}
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
- id
число
(обязательный) Пример: 9ID заявки
- pid
число
(необязательный) Пример: 23ID родительской заявки
- title
строка
(необязательный) Пример: Problem with emailНазвание заявки
- sla_date
дата
(необязательный) Пример: 01.01.1970 00:00Дата и время SLA
- freeze_date
дата
(необязательный) Пример: 01.01.1970 00:00Заморозка заявки до даты и времени
- status_id
строка
(необязательный) Пример: processСтатус заявки
- priority_id
число
(необязательный) Пример: 1ID приоритета
- type_id
число
(необязательный) Пример: 2ID типа
- department_id
число
(необязательный) Пример: 1ID департамента
- cc
массив почтовых ящиков
(необязательный)Копия письма
- bcc
массив почтовых ящиков
(необязательный)Скрытая копия письма
- followers
массив user_id
(необязательный)Список пользователей следящих за заявкой, пользователь должен быть сотрудником.
- ticket_lock
булево
(необязательный) Пример: falseБлокировка заявки.
true
- блокировать заявку.false
- разблокировать заявку.- owner_id
число
(необязательный) Пример: 1ID исполнителя
- user_id
число
(необязательный) Пример: 2ID владельца заявки
- custom_fields
массив
(необязательный) Пример: [1 => 3, 2 => 0]Массив индивидуальных полей заявки, пример: custom_fields[field_id] = value, в случае иерархического поля, необходимо указывать уровень custom_fields[field_id][level] = value
- tags
массив меток
(необязательный)Список меток
200
Заголовок
Content-Type: application/json
Тело
{
"data": {
"id": 9,
"pid": 0,
"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",
"sla_flag": 0,
"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
}
],
"tags": [
"1",
"2",
"3"
],
"jira_issues": []
}
}
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
- id
число
(обязательный) Пример: 9ID заявки
- delete
булево
(необязательный) Пример: truefalse
- перенос заявки в удаленные.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
- ticket_id
число
(обязательный) Пример: 9ID заявки,
- 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
- ticket_id
число
(обязательный) Пример: 9ID заявки
- 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/json" -H "Cache-Control: no-cache" -d '{"text": "Problem with email"}' "https://домен_системы/api/v2/tickets/9/posts/150"
Пример URI
- ticket_id
число
(обязательный) Пример: 9ID заявки
- id
число
(обязательный) Пример: 15ID поста
- 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
- ticket_id
число
(обязательный) Пример: 9ID заявки
- id
число
(обязательный) Пример: 15ID поста
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
- ticket_id
число
(обязательный) Пример: 9ID заявки
- 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
- ticket_id
число
(обязательный) Пример: 9ID заявки
- 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/json" -H "Cache-Control: no-cache" -d '{"text": "Problem with email"}' "https://домен_системы/api/v2/tickets/9/comments/6"
Пример URI
- ticket_id
число
(обязательный) Пример: 9ID заявки
- id
число
(обязательный) Пример: 6ID комментария
- 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
- ticket_id
число
(обязательный) Пример: 9ID заявки
- id
число
(обязательный) Пример: 15ID комментария
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
- id
число
(обязательный) Пример: 11ID заявки
- 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/tickets/{id}/billing/
Пример CURL
curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/tickets/11/billing/?page=1"
Пример URI
- id
число
(обязательный) Пример: 11ID заявки
- page
число
(необязательный) Пример: 1Номер страницы
- staff_list
строка
(необязательный) Пример: 1,14,22Поиск по сотруднику, через запятую
- creator_list
строка
(необязательный) Пример: 1,14,22Поиск по создателю, через запятую
- from_date_created
строка
(необязательный) Пример: 2017-12-31 00:00:00Дата создания от
- to_date_created
строка
(необязательный) Пример: 2017-12-31 00:00:00Дата создания до
- from_billing_date
строка
(необязательный) Пример: 2017-12-31 00:00:00Дата работ от
- to_billing_date
строка
(необязательный) Пример: 2017-12-31 00:00:00Дата работ до
200
Заголовок
Content-Type: application/json
Тело
{
"data": [
{
"id": 5949,
"action": "create-post",
"comment": "Добавление ответа",
"spent_seconds": 26,
"paid_seconds": 26,
"staff_id": 1,
"staff_name": "Administrator",
"billing_date": "16:25:42 12.02.2021",
"creator_id": -1,
"creator_name": "Система",
"date_created": "16:25:42 12.02.2021"
},
{
"id": 5948,
"action": null,
"comment": "234234",
"spent_seconds": 180,
"paid_seconds": 180,
"staff_id": 1,
"staff_name": "Administrator",
"billing_date": "23:37:00 08.02.2021",
"creator_id": 1,
"creator_name": "Administrator",
"date_created": "23:37:54 08.02.2021"
},
{
"id": 5947,
"action": null,
"comment": "ewsrwer",
"spent_seconds": 118800,
"paid_seconds": 1198800,
"staff_id": -1,
"staff_name": "Система",
"billing_date": "23:12:00 08.02.2021",
"creator_id": 1,
"creator_name": "Administrator",
"date_created": "23:28:44 08.02.2021"
},
{
"id": 5946,
"action": null,
"comment": "test",
"spent_seconds": 7200,
"paid_seconds": 10800,
"staff_id": 1,
"staff_name": "Administrator",
"billing_date": "23:12:00 08.02.2021",
"creator_id": -1,
"creator_name": "Система",
"date_created": "23:27:38 08.02.2021"
},
{
"id": 5945,
"action": null,
"comment": "test",
"spent_seconds": 63,
"paid_seconds": 122,
"staff_id": 15,
"staff_name": "TEST TEST",
"billing_date": "23:12:00 08.02.2021",
"creator_id": 1,
"creator_name": "Administrator",
"date_created": "23:21:26 08.02.2021"
}
],
"pagination": {
"total": 5,
"per_page": 30,
"current_page": 1,
"total_pages": 1
}
}
Объединить ¶
Объединить заявкиPOST/tickets/{id}/union/
Пример CURL
curl -X POST -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" -H 'content-type: application/json' -d '{"ticket_list": 3}' "https://домен_системы/api/v2/tickets/9/union"
Пример URI
- id
число
(обязательный) Пример: 9ID заявки
- ticket_list
строка
(необязательный) Пример: 3,4,5Список ID заявок, через запятую
200
Заголовок
Content-Type: application/json
Тело
{
"data": {
"id": 9,
"pid": 0,
"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",
"sla_flag": 0,
"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
}
],
"tags": [
"1",
"2",
"3"
],
"jira_issues": []
}
}
404
Заголовок
Content-Type: application/json
Тело
{
"errors": [
{
"code": "e-403",
"title": "Ticket is deleted",
"details": "Ticket with id {3} is deleted"
}
]
}
Поля заявки ¶
Получить поля заявкиGET/custom_fields/
Пример CURL
curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/custom_fields/"
Пример URI
- page
число
(необязательный) Пример: 1Номер страницы
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
- id
число
(обязательный) Пример: 2ID поля
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
- page
число
(необязательный) Пример: 1Номер страницы
- custom_field_id
число
(обязательный) Пример: 2ID поля
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
- custom_field_id
число
(обязательный) Пример: 2ID поля
- 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
- custom_field_id
число
(обязательный) Пример: 233ID поля
- option_id
число
(обязательный) Пример: 233ID опции
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
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
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
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,exact_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
- page
число
(необязательный) Пример: 1Номер страницы
- search
строка
(необязательный) Пример: John DoeПоиск по пользователям
- exact_search
число
(необязательный) Пример: 1Поиск по полному совпадению
search
.1
- поиск по полному совпадению,0
- стандартный поиск- group_list
число
(необязательный) Пример: 1,2Поиск пользователей по ID группы, через запятую
- id_list
число
(необязательный) Пример: 1,2,3Поиск пользователей по 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": "",
"alias": "",
"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": "",
"user_status": "online",
"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": "",
"alias": "",
"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": "",
"user_status": "online",
"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
- id
число
(обязательный) Пример: 1ID пользователя
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": "",
"alias": "",
"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": "",
"user_status": "online",
"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
- name
строка
(обязательный) Пример: JohnИмя
- lastname
строка
(необязательный) Пример: DoeФамилия
- alias
строка
(необязательный) Пример: SupportПсевдоним
строка
(обязательный) Пример: 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
число
(обязательный) Пример: 1ID группы
- department
массив
(обязательный) Пример: [0 => 1, 1 => 2]Департаменты пользователя
- password
строка
(обязательный) Пример: 123456Пароль
- user_status
строка
(необязательный) Пример: onlineСтатус активности пользователя
- 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",
"alias": "",
"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": "",
"user_status": "online",
"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
- id
число
(обязательный) Пример: 22ID пользователя
- name
строка
(необязательный) Пример: JohnИмя
- lastname
строка
(необязательный) Пример: DoeФамилия
- alias
строка
(необязательный) Пример: SupportПсевдоним
строка
(необязательный) Пример: 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
число
(необязательный) Пример: 1ID группы
- department
массив
(необязательный) Пример: [0 => 1, 1 => 2]Департаменты пользователя
- password
строка
(необязательный) Пример: 123456Пароль
- user_status
строка
(необязательный) Пример: onlineСтатус активности пользователя
- 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",
"alias": "",
"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": "",
"user_status": "online",
"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
- id
число
(обязательный) Пример: 22ID пользователя
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
- page
число
(необязательный) Пример: 1Номер страницы
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
- id
число
(обязательный) Пример: 2ID поля
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
- page
число
(необязательный) Пример: 1Номер страницы
- custom_field_id
число
(обязательный) Пример: 2ID поля
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
- custom_field_id
число
(обязательный) Пример: 2ID поля
- 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
- custom_field_id
число
(обязательный) Пример: 233ID поля
- option_id
число
(обязательный) Пример: 233ID опции
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
- user_id
число
(обязательный) Пример: 22ID пользователя
- 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
- user_id
число
(обязательный) Пример: 22ID пользователя
- 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
- user_id
число
(обязательный) Пример: 22ID пользователя
- note_id
число
(обязательный) Пример: 80ID примечания
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"
}
]
}
Статусы пользователей ¶
История статусов пользователяGET/users/{user_id}/statuses_log/{?page,from_date_created,to_date_created,statuses}
Пример CURL
curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/users/22/statuses_log"
Пример URI
- user_id
число
(обязательный) Пример: 22ID пользователя
- page
число
(необязательный) Пример: 1Номер страницы
- from_date_created
строка
(необязательный) Пример: 2017-12-31 00:00:00Дата создания от
- to_date_created
строка
(необязательный) Пример: 2017-12-31 00:00:00Дата создания до
- statuses
строка
(необязательный) Пример: online,offlineСписок статусов, через запятую
200
Заголовок
Content-Type: application/json
Тело
{
"data": [
{
"id": 2,
"status_id": "on-hold",
"name": {
"ru": "В ожидании",
"en": "On hold"
},
"date_created": "2020-11-30 23:28:36"
},
{
"id": 1,
"status_id": "online",
"name": {
"ru": "В сети",
"en": "Online",
"ua": ""
},
"date_created": "2020-10-08 23:11:45"
}
],
"pagination": {
"total": 26,
"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"
}
]
}
Организации ¶
Cписок организацийGET/organizations/{?page,search,exact_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
- page
число
(необязательный) Пример: 1Номер страницы
- search
строка
(необязательный) Пример: hdeПоиск по организациям
- exact_search
число
(необязательный) Пример: 1Поиск по полному совпадению
search
.1
- поиск по полному совпадению,0
- стандартный поиск- 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
- id
число
(обязательный) Пример: 2ID организации
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
- name
строка
(обязательный) Пример: HelpdeskeddyНазвание организации
- domains
строка
(необязательный) Пример: @helpdeskeddy.com, @hde.comДомены организации, через запятую
- address
строка
(необязательный) Пример: Moscow, RussiaАдрес
- phone
строка
(необязательный) Пример: 749934687445Телефон
строка
(необязательный) Пример: 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
- id
число
(обязательный) Пример: 2ID организации
- name
строка
(необязательный) Пример: HelpdeskeddyНазвание организации
- domains
строка
(необязательный) Пример: @helpdeskeddy.com, @hde.comДомены организации, через запятую
- address
строка
(необязательный) Пример: Moscow, RussiaАдрес
- phone
строка
(необязательный) Пример: 749934687445Телефон
строка
(необязательный) Пример: 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
- id
число
(обязательный) Пример: 36ID организации
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
- page
число
(необязательный) Пример: 1Номер страницы
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
- id
число
(обязательный) Пример: 2ID поля
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
- page
число
(необязательный) Пример: 1Номер страницы
- custom_field_id
число
(обязательный) Пример: 2ID поля
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
- custom_field_id
число
(обязательный) Пример: 2ID поля
- 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
- custom_field_id
число
(обязательный) Пример: 233ID поля
- option_id
число
(обязательный) Пример: 233ID опции
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
- organiz_id
число
(обязательный) Пример: 2ID организации
- 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
- organiz_id
число
(обязательный) Пример: 2ID пользователя
- 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
- organiz_id
число
(обязательный) Пример: 2ID пользователя
- note_id
число
(обязательный) Пример: 80ID примечания
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/groups"
Пример URI
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
}
]
}
Статусы ¶
Cписок статусов пользователейGET/user_statuses/
Пример CURL
curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/user_statuses"
Пример URI
200
Заголовок
Content-Type: application/json
Тело
{
"data": [
{
"id": "online",
"name": {
"ru": "В сети",
"en": "Online"
},
"color": "#67c23a"
},
{
"id": "on-hold",
"name": {
"ru": "В ожидании",
"en": "On hold"
},
"color": "#e6a23c"
},
{
"id": "obed",
"name": {
"ru": "Обед",
"en": "Обед"
},
"color": "#28D611"
},
{
"id": "offline",
"name": {
"ru": "Не в сети",
"en": "Offline"
},
"color": "#f56c6c"
}
]
}
База знаний ¶
Обзор API базы знаний
Ответы API всегда фильтруются в соответствии с разрешениями пользователя, от имени которого делается запрос API. Например, когда пользователь запрашивает список статей в разделе, API возвращает только те статьи, которые пользователь может просмотреть в базе знаний. Исключение составляет публичные категории и статьи, у всех пользователей ответ будет одинаковым.
Ограничения скорости
API базы знаний ограничено по скорости, по умолчанию лимит составляет 60 запросов в минуту (RPM). Лимиты API базы знаний не засчитываются в ограничения другого API. В случае превышения лимита доступ будет автоматически заблокирован на 1 час.
Вы можете использовать следующие заголовки ответов, чтобы подтвердить текущий лимит скорости для системы и отслеживать количество запросов, оставшихся в текущей минуте:
X-Rate-Limit: 60
X-Rate-Limit-Remaining: 59
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
- 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
- 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",
"created_by": 1,
"updated_by": 1,
"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",
"created_by": 1,
"updated_by": 1,
"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",
"created_by": 1,
"updated_by": 1,
"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",
"created_by": 1,
"updated_by": 1,
"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
}
}
Получить статьюGET/knowledge_base/articles/{id}
Пример CURL
curl -X GET -H "Authorization: Basic bmlraXRhLmFudG9ub3ZAaGVscGRlc2tlZGR5LmNvbTphMzI4NThiNC1hNjVlLTQ5ZWYtYTk2MC0wYjdlOGQ1ZDFlNDc=" -H "Cache-Control: no-cache" "https://домен_системы/api/v2/knowledge_base/articles/56"
Пример URI
- id
число
(обязательный) Пример: 1ID статьи
200
Заголовок
Content-Type: application/json
Тело
{
"data": {
"id": 56,
"date_created": "2018-07-17 15:15:00",
"date_updated": "2018-07-24 17:12:55",
"created_by": 1,
"updated_by": 1,
"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": []
}
}
Дополнительные возможности ¶
Плагины
Исходящий канал
Postman коллекция
Версии API ¶
Обзор
В случае возникновения вопросов связанных с изменениями в API, пожалуйста, обращайтесь на почту support@helpdeskeddy.com или в любой другой удобный для Вас канал.
С Уважением, команда HelpDeskEddy
Актуальная версия
…
Обновление 3.7
- Добавлен новый метод Объединить заявки
Обновление 3.6
-
Добавлен новый метод Получить статью
-
Добавлены поля создателя (
created_by
) и редактора статьи (updated_by
) в методы Список статей и Получить статью -
Добавлено поле псевдоним (
alias
) в методы Работа с контактами -
Добавлен фильтр по департаментам (
department_list
) в Получить заявки
Обновление 3.5
- Добавлено изменение поля
pid
в метод Обновить заявку
Обновление 3.4
- Вступили в силу критические изменения для методов работы с полями заявок, пользователей и организаций от обновления 2.96. Лимит опций на страницу снижен с 300 до 30.
Обновление 3.3
- В методы работы с заявкой добавлено поле
sla_flag
Обновление 3.2
-
Добавлены заголовки лимитов API
-
Добавлено поле
user_status
в пользователей -
Добавлен новый метод Cписок статусов пользователей
Обновление 3.1
-
Добавлен новый метод История статусов пользователя
-
Добавлен новый метод Биллинг заявки
-
Добавлены фильтры в метод Список пользователей:
id_list
- позволяет получить несколько пользователей по IDorganization_list
- позволяет получить пользователей по ID организации
Обновление 3.0
-
В заявки добавлены связи с заявками Jira (поле
jira_issues
) -
В заявки добавлен родитель (поле
pid
), родителя возможно указать при создании заявки -
В методы заявок и в методы полей заявок добавлено 5 новых типов полей. Новые типы: Мультикнопка, Кнопка,Файл,Время,Регулярное выражение.
-
В заявки добавлены метки (поле
tags
)
Обновление 2.97
-
В метод аудит заявки добавлено поле
event
и фильтрevent_list
-
Добавлен фильт
exact_search
, позволяющий выполнить поиск по полному совпадению. Фильтр добавлен в методы:
Обновление 2.96
-
Добавлено API базы знаний в BETA режиме
-
Добавлен фильтр по группам (
group_list
) в список пользователей
Критические изменения работы с полями заявок, пользователей и организаций
Изменения касаются методов:
Для оптимизации работы с полями добавлена пагинация, в будущем 30 полей на одну страницу. Параметр полей options
будет отключен, в API добавлены отдельные методы работы с опциями выпадающих списков и связанных полей.
Рекомендуем перейти на новые методы работы с опциями.
Изменения вступят в силу не ранее чем 01.11.2020, срок может быть отложен из-за активных интеграций с API. Новый режим работы может быть включен на системах по запросу в службу поддержки. В случае, если необходима отсрочка изменений или помощь с переходом - просьба связатся с нашей службой поддержки.
Текущий лимит 300 полей на страницу, поле options
доступно
-
Добавлена пагинация в методы работы с полями. Временный лимит 300, в будущем 30 полей на одну страницу.
-
Добавлены новые методы
- Получить поле заявки
- Получить опции поля заявки
- Добавить/обновить опции поля заявки
- Удалить опцию поля заявки
- Получить поле пользователя
- Получить опции поля пользователя
- Добавить/обновить опции поля пользователя
- Удалить опцию поля пользователя
- Получить поле организации
- Получить опции поля организации
- Добавить/обновить опции поля организации
- Удалить опцию поля организации
-
В метод аудит заявки добавлены новые типы событий
-
В метод аудит заявки добавлены записи о событиях выполненных системой (диспетчер, SLA, отправка писем и тд)
-
Добавлен фильтр
user_list
в метод аудит заявки -
Добавлено поле
ldap_username
в пользователей и в поиск -
Добавлены 2 фильтра в аудит заявки
from_date_created
- от даты созданияto_date_created
- до даты создания
-
В заявки добавлено новое поле источник заявки (
source
) -
Время бана по лимитам изменено с 48 часов до 20 минут в связи с участившимися блокировками. Время может быть изменено.
Обновление 2.95
-
Добавлено поле язык (
language
) в пользователи -
В метод обновить пользователя добавлена возможножность изменять поле
email
-
Добавлены 3 новых поля заявки
cc
- массив почтовых ящиков CC заявкиbcc
- массив почтовых ящиков BCC заявкиfollowers
- массив пользователей наблюдающих за заявкой