База знаний

Внимание

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

Список Разделов и категорий

GET

url: https://api.usedesk.ru/support/{account_id}/list

{account_id} - id БЗ в системе

Пример запроса на PHP
$baseId = 2;
$data = array(
	'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4',
);
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, 'https://api.usedesk.ru/support/'. $baseId .'/list?' . http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
curl_close($curl);

return $result;

Порядок статей, категорий и разделов зависит от их порядка в системе.

Пример ответа от сервера
[
    {
        "id": 26,
        "title": "раздел",
        "public": 1,
        "order": 0,
		"image": "https://secure.usedesk.ru/upload/support/2/42/15427483037735cb7bb7f6a11874125e83c7d2ece15bf4788fd5f40.png",
        "categories": [
            {
				"id": 34,
				"title": "категория", 
                "description": "Описание",
				"public": 1,
				"order": 1,
				"articles" : {
					{
						"id" : 1,
						"title" : "Статья 1",
						"views": 23
    					"rating": {
        					"positive": 5,
        					"negative": 1
    					},
					},
					{
						"id" : 2,
						"title" : "Статья 2",
						"views": 46
    					"rating": {
        					"positive": 2,
        					"negative": 3
    					},
					}
				}
			},
            {"id": 38, "title": "категория 2", "public": 1, "order": 2, "articles": {}},
            {"id": 40, "title": "категория 3", "public": 0, "order": 3, "articles": {}},
            {"id": 42, "title": "категория 4", "public": 1, "order": 4, "articles": {}},
            {"id": 44, "title": "категория 5", "public": 0, "order": 5, "articles": {}},
        ]
    },
    {
        "id": 38,
        "title": "раздел 2",
        "public": 1,
        "order": 0,
        "categories": [
            {"id": 70, "title": "категория ", "public": 0, "order": 1, "articles": {}},
            {"id": 72, "title": "категория 2", "public": 1, "order": 2, "articles": {}},
            {"id": 74, "title": "категория 3", "public": 1, "order": 3, "articles": {}},
            {"id": 76, "title": "категория 4", "public": 1, "order": 4, "articles": {}},
            {"id": 78, "title": "категория 5", "public": 1, "order": 5, "articles": {}},
        ]
    }
]

Список статей

GET

url: https://api.usedesk.ru/support/{account_id}/articles/list

Метод возвращает список статей. Принимает параметры:

ПараметрЗначение
collection_idsid разделов через запятую
category_idsid категорий через запятую
article_idsid статей через запятую
count

Количество статей на страницу

Максимум: 100

По умолчанию: 20

pageСтраница (по умолчанию 1)
queryПоисковая строка запроса, которая ищет по заголовку и тексту статьи

short_text

Для отображения обрезанного поискового результата

Работает только совместно с query, т.е если не искать ничего, то текст будет полный даже с short_text=1

1 - выводится обрезанный результат

По умолчанию: 0

type

type - тип статьи, п

public - публичная

private - приватная

По умолчанию выводятся все статьи. Если статья публичная, но находится в приватной категории, то при запросе с type=public она не выведется, т.к будет считаться приватной из-за родительской категории.

sort

Параметр, по которому сортируются статьи

По умолчанию: id

Варианты: id, title, category_id, public, created_at

order

Порядок сортировки по параметру sort

По умолчанию: asc

Варианты: asc - по возрастанию, desc - по убыванию


Пример запроса на PHP
$baseId = 2;
$data = array(
	'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4',
	'query' => 'как',
	'count' => 2
);
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, 'https://api.usedesk.ru/support/'. $baseId .'/articles/list?' . http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
curl_close($curl);

return $result;


Пример ответа от сервера
{
    "page": 1,
    "last-page": 5,
    "count": 2,
    "total-count": 10,
    "articles": [
        {
            "id": 96,
            "title": "Как зарегистрироваться",
            "text": "\u003Cp\u003EНажмите \u003Cem\u003EНачать \u003C\/em\u003E\u003Cbr\u003EЗаполните все поля\u003Cbr\u003EПодтвердите номер телефона\u003Cbr\u003EПроверьте почту \u003C\/p\u003E\u003Cp\u003Eнепубличный\u003C\/p\u003E",
            "public": 0,
            "active_until": {
                "date": "2020-08-30 21:00:00.000000",
                "timezone_type": 3,
                "timezone": "UTC"
            }
            "order": 4,
    		"is_rating": 0,
    		"rating": {
        		"positive": 0,
        		"negative": 0
    		},
            "category_id": 34,
			"category_title": "Название категории",
			"collection_id": 123,
			"collection_title": "Название раздела",
			"collection_image": "https://secure.usedesk.ru/upload/support/2/42/15427483037735cb7bb7f6a11874125e83c7d2ece15bf4788fd5f40.png",
			"views": 23,
            "created_at": "2017-08-02 06:14:41"
        }, {
            "id": 98,
            "title": "Как зарегистрироваться 2",
            "text": "\u003Cp\u003EНажмите \u003Cem\u003EНачать \u003C\/em\u003E\u003Cbr\u003EЗаполните все поля\u003Cbr\u003EПодтвердите номер телефона\u003Cbr\u003EПроверьте почту \u003C\/p\u003E",
            "public": 1,
            "order": 2,
    		"is_rating": 0,
    		"rating": {
        		"positive": 0,
        		"negative": 0
    		},
            "category_id": 34,
			"category_title": "Название категории",
			"collection_id": 123,
			"collection_title": "Название раздела",
			"collection_image": "https://secure.usedesk.ru/upload/support/2/42/15427483037735cb7bb7f6a11874125e83c7d2ece15bf4788fd5f40.png",
			"views": 46,
            "created_at": "2017-09-21 17:47:50"
        }
    ]
}

Отдельная статья

GET

url: https://api.usedesk.ru/support/{account_id}/articles/{id}

Пример запроса на PHP
$baseId = 2;
$articleId = 96;
$data = array(
	'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4',
);
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, 'https://api.usedesk.ru/support/'. $baseId .'/' . $articleId . '?' . http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
curl_close($curl);

return $result;
Пример ответа от сервера
{
    "id": 96,
    "title": "Как зарегистрироваться",
    "text": "Нажмите на кнопку Зарегистрироваться",
    "public": 0,
    "order": 4,
    "is_rating": 0,
    "rating": {
        "positive": 0,
        "negative": 0
    },
    "category_id": 34,
    "category_title": "тест", 
	"collection_id": 123, 
    "collection_title": "тест", 
    "collection_image": null,
	"views": 46,
    "created_at": "2017-08-02 06:14:41"
}

Описание параметров ответа:

ПараметрЗначение
idid статьи в базе знаний
titleЗаголовок статьи
textТекст статьи в html
public

Публичность статьи

  • 0 - приватная
  • 1 - публичная
orderПорядок сортировки статьи (от меньшего к большему)
is_rating

Активен ли рейтинг

  • 0 - отключен
  • 1 - включен
rating:positiveКоличество позитивных оценок
rating:negativeКоличество негативных оценок
category_idid родительской категории
collection_idid раздела
viewsКоличество просмотров
created_atБаза создания статьи в utc

Добавить просмотры статье

GET

url: https://api.usedesk.ru/support/{account_id}/articles/{id}/add-views

Метод изменяет количество просмотров. Принимает один параметр:

ПараметрЗначение
countКоличество просмотров, которое необходимо добавить
Пример запроса на PHP
$baseId = 2;
$articleId = 96;
$data = array(
    'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4',
    'count' => 3 // Добавит 3 просмотра статье
);
$curl = curl_init();
 
curl_setopt($curl, CURLOPT_URL, 'https://api.usedesk.ru/support/'. $baseId .'/' . $articleId . '/add-views?' . http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
curl_close($curl);
 
return $result;
Пример ответа от сервера
{
    "res" : 1,
    "views": 15
}

Описание параметров ответа:

ПараметрЗначение
res

0 - не записалось

1 - записалось

viewsИтоговое количество просмотров после выполнения запроса

Добавить рейтинг статье

GET

url: https://api.usedesk.ru/support/{account_id}/articles/{id}/change-rating

Метод изменяет рейтинг статьи. Принимает два параметра:

ПараметрЗначение
count_positiveКоличество позитивных оценок, которое необходимо добавить
count_negative

Количество негативных оценок, которое необходимо добавить

Пример запроса на PHP
$baseId = 2;
$articleId = 96;
$data = array(
    'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4',
	'count_negative' => 3 
	'count_positive' => 3 

);
$curl = curl_init();
 
curl_setopt($curl, CURLOPT_URL, 'https://api.usedesk.ru/support/'. $baseId .'/' . $articleId . '/add-views?' . http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
curl_close($curl);
 
return $result;
Пример ответа от сервера
{
    "rating": 
	{
        "positive": 1,
        "negative": 123
    }
}

Описание параметров ответа:

ПараметрЗначение
positive

Итоговое количество позитивных оценок после выполнения запроса

negativeИтоговое количество негативных оценок после выполнения запроса