Агенты

Внимание

Если вы используете коробочную версию Юздеска на собственном сервере, то URL методов у вас будет отличаться. Уточните URL для работы с API у поддержки — support@usedesk.ru.

Получить список агентов

POST https://api.usedesk.ru/users

Метод возвращает список агентов компании с группами, удовлетворяющих заданным условиям фильтров.

* — обязательные поля 

ПараметрЗначение
api_token*Токен API канала
user_type

Тип или роль пользователя

Возможные значения:

  • admin — администратор;
  • employee — внутренний сотрудник;
  • support — агент поддержки

Значение по умолчанию: employee

group_idid группы, в которой состоит агент
queryСтрока, по которой осуществляется поиск
user_id

id агента

Если передано данное поле, то будет возвращена информация об одном агенте

Пример применения фильтров
{
	'group_id':'123',
	'query': 'Ivan',
	'user_type': 'admin',
}
Пример запроса на PHP
$data = array(
	'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4',
	'group_id'=> 123,
	'query' =>'Ivan',
	'user_type'=>'admin',
);
$mch_api = curl_init(); // initialize cURL connection

curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/users');
curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true);
curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($mch_api, CURLOPT_TIMEOUT, 10);
curl_setopt($mch_api, CURLOPT_POST, true);
curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data);

$result = curl_exec($mch_api);
return $result;
Пример ответа от сервера
[
	{
		"id": 558,
		"name": "Agent Name",
		"email": "agent@gmail.com",
		"position": "Тестировщик",
		"role": "admin",
		"phone": null,
		"online_status": "0",
        "avatar": "https://api.usedesk.ru/upload/avatars/123454tykhj;uy94639526783940569584736524ehn5",
		"chat_online_status": "1",
		"groups": [
			{
				"id": 123,
				"name": "группа",
				"company_id": 153561,
				"deleted": 0,
				"deleted_at": "0000-00-00 00:00:00", 
                "custom_working_time": 0,
                "timezone": "Europe/Moscow",
				"pivot": {
					"user_id": 558,
					"user_group_id": 413
				}
			},
			{
				"id": 354,
				"name": "Группа 2",
				"company_id": 153561,
				"deleted": 0,
				"deleted_at": "0000-00-00 00:00:00",
				"pivot": {
					"user_id": 558,
					"user_group_id": 354
				}
			},
			{
				"id": 127,
				"name": "Группа 4",
				"company_id": 153561,
				"deleted": 0,
				"deleted_at": "0000-00-00 00:00:00",
				"pivot": {
					"user_id": 558,
					"user_group_id": 127
				}
			},
			{
				"id": 415,
				"name": "группа тест 3",
				"company_id": 153561,
				"deleted": 0,
				"deleted_at": "0000-00-00 00:00:00",
				"pivot": {
					"user_id": 558,
					"user_group_id": 415
				}
			}
		]
	}
]

Создать агента

POST https://api.usedesk.ru/create/user

Метод создает агента

* — обязательные поля 

ПараметрЗначение
api_token*Токен API канала
name*Имя агента
email*Почта агента
role

Тип или роль пользователя

Возможные значения:

  • admin — администратор;
  • employee — внутренний сотрудник;
  • support — агент поддержки

Значение по умолчанию: employee

password*Пароль для входа
group*

Группа по умолчанию

Агент при создании будет добавлен в данную группу

phoneТелефон агента
avatar

Изображение

Не больше 15 МБ

send_invite

Отправка письма с данными для входа на указанный email агенту при создании

Содержание письма на языке, указанном при создании агента

Возможные значения: 

  • true
  • false

Значение по умолчанию: false

lang

Язык агента

Возможные значения: 

  • ru — русский;
  • en — английский;
  • es — испанский;
  • kk — казахский
  • pt-br — португальский

Значение по умолчанию: ru

Пример запроса
{
	'name': 'Agent Name',
	'email': 'agentemail@gmail.com',
	'role': 'admin',
	'password': 'qwerty123',
	'group': '123',
	'phone': '89156743287',
	'send_invite': 'true',
	'lang':'ru'
}
Пример запроса на PHP
$data = array(
	'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4',
	'name' => 'Agent Name',
	'email' => 'agentemail@gmail.com',
	'role' => 'admin',
	'password' => 'qwerty123',
	'group' => '123',
	'phone'  => '89156743287'
);
$mch_api = curl_init();

curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/create/user');
curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true);
curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($mch_api, CURLOPT_TIMEOUT, 10);
curl_setopt($mch_api, CURLOPT_POST, true);
curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data);

$result = curl_exec($mch_api);
return $result;

При успешном запросе сервер вернет сообщение об успешном создании и id нового агента.

Пример ответа от сервера
{
	"status":"success",
	"user_id":2154861
}

Удалить агента

POST https://api.usedesk.ru/delete/user

Метод удаления агента

Запросы остаются назначенными на агента.

Нельзя удалить бота и администратора, если он единственный в компании

* — обязательные поля

ПараметрЗначение
api_token*Токен API канала
user_id*id агента
Пример запроса на PHP
$data = array(
	'api_token'=> 'ba82c31d43b286e43e0e5489fb522ec57dc4c3fd',
	'user_id'=>'545',
);
$mch_api = curl_init(); // initialize cURL connection

curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/create/comment');
curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true);
curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($mch_api, CURLOPT_TIMEOUT, 10);
curl_setopt($mch_api, CURLOPT_POST, true);
curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data);

$result = curl_exec($mch_api);
return $result;
Пример ответа от сервера
{
	"status": "success",
	"user_id": 2154861
}

Обновить агента

POST https://api.usedesk.ru/update/user

Метод изменяет агента

* — обязательные поля

ПараметрЗначение
api_token*Токен API канала
user_id*id агента
nameИмя агента
emailПочта агента
role

Тип или роль пользователя

Возможные значения:

  • admin
  • employee
  • support
groupГруппа по умолчанию
phoneТелефон агента

chat_online_status

Статус агента в чате

Возможные значения:

  • true
  • false

ticket_online_status

Статус агента в запросах

Возможные значения:

  • true
  • false
avatar

Изображение

Не больше 15 МБ

Для удаления принимает значение delete

Пример запроса
{
    'user_id': '2154861'
    'name': 'Agent Name',
	'email': 'agentemail@gmail.com',
	'role': 'admin'
	'group': '123',
	'phone': '89156743287',
	'chat_online_status': 'true',
	'ticket_online_status': 'false'
}
Пример запроса на PHP
$data = array(
	'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4',
    'user_id'=> '2154861',
	'name' => 'Agent Name',
	'email' => 'agentemail@gmail.com',
	'role' => 'admin',
	'group' => '123',
	'phone'  => '89156743287'
);
$mch_api = curl_init();

curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/update/user');
curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true);
curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($mch_api, CURLOPT_TIMEOUT, 10);
curl_setopt($mch_api, CURLOPT_POST, true);
curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data);

$result = curl_exec($mch_api);
return $result;
Пример ответа от сервера
{
	"status": "success",
	"user_id": 2154861
}

Получить список групп агентов

POST https://api.usedesk.ru/groups

Метод возвращает список групп и агентов, состоящих в них

* — обязательные поля

ПараметрЗначение
api_token*Токен API канала
Пример запроса на PHP
$data = array(
	'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4',
);
$mch_api = curl_init();

curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/groups');
curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true);
curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($mch_api, CURLOPT_TIMEOUT, 10);
curl_setopt($mch_api, CURLOPT_POST, true);
curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data);

$result = curl_exec($mch_api);
return $result;
Пример ответа от сервера
[
	{
		"id": 354,
		"name": "Группа 2",
		"company_id": 153561,
		"deleted": 0,
		"deleted_at": "0000-00-00 00:00:00", 
        "custom_working_time": 0,
        "timezone": "Europe/Moscow",
		"users": [
			{
				"id": 568,
				"name": "agent1",
				"email": "agent1@usedesk.ru",
				"position": "",
				"role": "admin",
				"phone": null,
				"pivot": {
					"user_group_id": "354",
					"user_id": "568"
				}
			},
			{
				"id": "558",
				"name": "Agent2",
				"email": "agent2@gmail.com",
				"position": "",
				"role": "employee",
				"phone": null,
                "avatar": "https://api.usedesk.ru/upload/avatars/123454tykhj;uy94639526783940569584736524ehn5",
				"pivot": {
					"user_group_id": 354,
					"user_id": 558
				}
			}
		]
	},
]