Omnidesk API

Введение

API — это интерфейс для управления каким-либо программным обеспечением извне. Подобное управление осуществляется с помощью набора готовых классов, процедур и функций. Зачастую API используют для интеграции одного сервиса с другим.

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

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

По умолчанию во многих методах используется поиск. Допустим, нужно найти пользователя с email-адресом me@gmail.com. В выборку попадёт не только этот ящик, но и другие ящики (abcme@gmail.com, qweme@gmail.com), которые могут быть нам не нужны. Чтобы искать именно строку, а не включение, используйте символ ^. Примеры: ^string^ ищет строку; ^string найдет строки, которые начинаются на string; string^ найдет строки, которые заканчиваются на string.

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

Ограничение на количество запросов — 500 запросов в час на активного сотрудника (за исключением лёгких), но не менее 1000 запросов в час. К примеру, если у вас 15 активных сотрудников, лимит вашего аккаунта — 7500 запросов в час. При превышении лимита выдаётся сообщение с ошибкой.

Количество оставшихся API запросов при любом запросе можно отследить в заголовках ответа через параметр: api_calls_left.

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

Аутентификация

Перед тем, как вы сможете удаленно управлять своим аккаунтом через API, нужно пройти аутентификацию. Она производится по API-ключу, но дополнительно нужно указать email-адрес сотрудника, так как некоторые методы требуют определения сотрудника.

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

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/cases.json

Как получить API-ключ?

  1. Войдите в аккаунт администратора
  2. Перейдите в раздел «Настройки», подраздел «API»
  3. Нажмите на ссылку «добавить API-ключ»

Общие правила запросов

Чтобы просмотреть, передать или изменить данные, в запросе нужно использовать идентификаторы или «URI». URL любого API-запроса составляется следующим образом:

https://[domain].omnidesk.ru/api/[URI]

К примеру, для получения списка обращений аккаунта robotsrules запрос должен быть следующим:

https://robotsrules.omnidesk.ru/api/cases.json

Методы, используемые при передаче параметров запроса

Метод Назначение
POST Добавление новых данных
GET Получение существующих данных
PUT Изменение существующих данных
DELETE Удаление сущесвующих данных

Уровень доступа к данным

При аутентификации, помимо API-ключа, вы указываете email-адрес сотрудника. Соответственно, уровень доступа к данным и возможность их изменения зависит от прав сотрудника.

Если у выбранного сотрудника ограниченный доступ, вы не сможете получить список всех обращений. Поэтому зачастую целесообразно указывать email-адрес сотрудника с полным доступом.

https://[domain].omnidesk.ru/api/cases.json POST

Создание нового обращения.

ПАРАМЕТРЫ

Название Тип Описание
user_email * string Валидный email-адрес пользователя (обязателен, если нет телефона)
user_phone * string Валидный телефон пользователя (обязателен, если нет email-адреса)
user_whatsapp_phone * string Валидный телефон пользователя, к которому привязан аккаунт в WhatsApp (обязателен, если нет email-адреса или телефона)
user_telegram_data * string Username или валидный телефон пользователя, к которому привязан аккаунт в Телеграм (обязателен, если нет email-адреса или телефона)
user_full_name string Полное имя пользователя
user_company_name string Компания пользователя
user_custom_id string ID, по которому вы сами определяете пользователя.

Данный параметр нужно передавать только при создании обращения по кастомному каналу (обязателен, если нет email-адреса/телефона)
initiator_id int ID сотрудника, от имени которого создаётся обращение. При этом на почту пользователя отправляется письмо.

Если этот параметр не задан, обращение создаётся от имени пользователя.
staff_id int ID ответственного сотрудника.
cc_emails array Валидные email-адреса, которые будут добавлены в копию создаваемого обращения. Не более 30 штук.
bcc_emails array Валидные email-адреса, которые будут добавлены в скрытую копию создаваемого обращения. Не более 30 штук.
subject * string Тема обращения
content * string Содержание обращения
content_html * string HTML содержание обращения (имеет больший приоритет, чем текстовое содержание)
created_at number Этот параметр позволяет указать время создания обращения (строковое значение или timestamp). Используйте его, если хотите перенести данные из сторонних сервисов и создать обращение задним числом.

При наличии этого параметра в запросе обращение не проверяется правилами для входящих обращений.
group_id number ID группы, которая будет выставлена для создаваемого обращения
status string Статус обращения (возможные варианты: open, waiting, closed)
priority string Приоритет обращения (возможные варианты: low, normal, high и critical)
language_id number Язык пользователя (при передаче заменяет язык по умолчанию)
custom_fields array Кастомные поля
labels array Метки обращения
channel string ID кастомного канала (к примеру, cch101)
case_email_id int ID email-адреса, с которого будет отправлено письмо пользователю. Этот же ящик в итоге будет выставлен в поле «Отвечать с адреса». Чтобы не отправлять письмо пользователю, выставите значение «-1».

ЗАПРОС

{
  "case" : {
    "user_email" : "user@domain.ru",
    "user_whatsapp_phone" : "+79261234567"
    "user_full_name" : "User's full name",
    "subject" : "I need help",
    "content" : "I need help",
    "language_id" : 2,
    "custom_fields" : {
      "cf_25" : "some text",
      "cf_30" : "another field",
    },
    "labels" : [101, 102]
  }
}

ОТВЕТ

{
  "case" : {
    "case_id" : 2000,
    "case_number" : "664-245651",
    "subject" : "I need help",
    "user_id" : 123,
    "staff_id" : 22,
    "group_id" : 44,
    "status" : "waiting",
    "priority" : "normal",
    "channel" : "web",
    "recipient" : "user@domain.ru",
    "cc_emails" : "",
    "bcc_emails" : "",
    "deleted" : false,
    "spam" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "language_id" : 2,
    "custom_fields" : {
      "cf_25" : "some text",
      "cf_30" : "another field",
    },
    "labels" : [101, 102]
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "case": { "user_email":"user@domain.ru", "user_full_name":"User\u0027s full name", "subject":"I need help", "content":"I need help", "language_id":2, "custom_fields":{"cf_25":"some text", "cf_30":"another field"}, "labels":[101, 102] }}' https://[domain].omnidesk.ru/api/cases.json

https://[domain].omnidesk.ru/api/cases.json POST

Создание нового обращения с файлами.

Важно! Содержание отправляемого запроса должно быть в виде multipart/form-data.

ОТВЕТ

{
  "case" : {
    "case_id" : 2000,
    "case_number" : "664-245651",
    "subject" : "I need help",
    "user_id" : 123,
    "staff_id" : 22,
    "group_id" : 44,
    "status" : "waiting",
    "priority" : "normal",
    "channel" : "web",
    "recipient" : "user@domain.ru",
    "cc_emails" : "",
    "bcc_emails" : "",
    "deleted" : false,
    "spam" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "language_id" : 2,
    "custom_fields" : {
      "cf_25" : "some text",
      "cf_30" : "another field",
    },
    "labels" : [101, 102]
  }
}

Пример кода

curl -u [staff_email]:[api_key] -F "case[attachments][0]=@/path/to/file1.ext" -F "case[attachments][1]=@/path/to/file2.ext" -F "case[content]=I need help" -F "case[subject]=I need help" -F "case[user_email]=user@domain.ru" -F "case[user_full_name]=FullName" -F "case[language_id]=2" -F "case[custom_fields][cf_44]=3" -X POST https://[domain].omnidesk.ru/api/cases.json

https://[domain].omnidesk.ru/api/cases.json GET

Просмотр списка обращений.

Если в запросе не указывать параметры page и limit, отобразятся первые сто обращений.

ПАРАМЕТРЫ

Название Тип Описание
page number Номер страницы (положительное целое число)
limit number Лимит обращений на странице (целое число от 1 до 100)
user_id array/number ID пользователя (выборка всех обращений конкретного пользователя)
user_email array/string Поиск обращений по email-адресу пользователя (не менее 4-х символов)
user_phone array/string Поиск обращений по номеру телефона пользователя (не менее 4-х символов)
subject string Поиск обращений по определённой теме (не менее 4-х символов)
staff_id array/number ID сотрудника (выборка всех обращений, в которых указанный сотрудник является ответственным).

Выставите значение 0, если хотите получить список обращений без ответственного.
group_id array/number ID группы (выборка всех обращений, в которых выбрана данная группа)
channel array/string Канал обращения (возможные варианты: email, chat, twitter, facebook, idea,cch123)
priority array/string Приоритет обращения (возможные варианты: low, normal, high, critical)
filter string ID фильтра (выборка всех обращений, которые попадают под данный фильтр)
status array/string Статус обращения (возможные варианты: open, waiting, closed)
custom_fields array Дополнительные поля данных.

Фильтровать можно как по полям обращения, так и по полям пользователя. Достаточно лишь указать ID поля.

В зависимости от типа поля, по которому выполняется фильтрация обращений, поиск осуществляется по-разному:

- «текстовое поле» или «текстовая область» — производится поиск включения передаваемой строки;
- «чекбокс» — производится поиск по наличию/отсутствию флага в зависимости от передаваемого значения;
- «список» — производится поиск по ключу поиск, равному передаваемому значению.
labels array Метки обращений для фильтрации
show_merged_cases boolean Отображение поглощённых обращений. По умолчанию используется значение false. Пропишите параметр со значением true, чтобы в результатах были поглощённые обращения.
show_active_chats boolean Отображение активных чатов. По умолчанию используется значение false. Пропишите параметр со значением true, чтобы в результатах были активные чаты.
sort string - updated_at_desc — по времени последнего изменения (от новых к старым);
- updated_at_asc — по времени последнего изменения (от старых к новым);
- created_at_desc — по времени создания обращения (от новых к старым);
- created_at_asc — по времени создания обращения (от старых к новым);
- response_asc — по времени последнего ответа обращения (от старых к новым);
- response_desc — по времени последнего ответа обращения (от новых к старым);
- priority_desc — по приоритету обращения (критические в начале);
- priority_asc — по приоритету обращения (низкие в начале);
- status_asc — по статусу обращения (открытые в начале);
- status_desc — по статусу обращения (закрытые в начале).
from_time string / int Начало периода для фильтра по дате добавления обращения (строковое значение или timestamp)
to_time string / int Конец периода для фильтра по дате добавления обращения (строковое значение или timestamp)
from_updated_time string / int Начало периода для фильтра по дате обновления обращения (строковое значение или timestamp)
to_updated_time string / int Конец периода для фильтра по дате обновления обращения (строковое значение или timestamp)

ОТВЕТ

{
    "0": {
      "case" : {
        "case_id" : 2000,
        "case_number" : "664-245551",
        "subject" : "I need help",
        "user_id" : 123,
        "staff_id" : 22,
        "group_id" : 44,
        "status" : "open",
        "priority" : "low",
        "channel" : "web",
        "recipient" : "user@domain.ru",
        "cc_emails" : "user_cc@domain.ru,user_cc2@domain.ru",
        "bcc_emails" : "user_bcc@domain.ru",
        "deleted" : false,
        "spam" : false,
        "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "language_id" : 2,
        "custom_fields" : {
          "cf_25" : "some text",
          "cf_30" : "another field",
        },
        "labels" : [101, 102],
        "closing_speed" : 7 // значение в минутах. 0 - меньше минуты,
                            // "-" - не закрыто
      }
    },
    "1": {
      "case" : {
        "case_id" : 2001,
        "case_number" : "334-245651",
        "subject" : "Oh, help me please",
        "user_id" : 123,
        "staff_id" : 22,
        "group_id" : 44,
        "status" : "waiting",
        "priority" : "normal",
        "channel" : "facebook",
        "recipient" : "facebook",
        "cc_emails" : "",
        "bcc_emails" : "",
        "deleted" : false,
        "spam" : false,
        "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "language_id" : 2,
        "custom_fields" : {
          "cf_25" : "some text",
          "cf_30" : "another field",
        },
        "labels" : [101, 102],
        "closing_speed" : 0
      }
    },
    "2": {
      "case" : {
        "case_id" : 2002,
        "case_number" : "634-245651",
        "subject" : "Please, help me!",
        "user_id" : 123,
        "staff_id" : 22,
        "group_id" : 44,
        "status" : "closed",
        "priority" : "high",
        "channel" : "email",
        "recipient" : "user2@domain.ru",
        "cc_emails" : "user_cc@domain.ru,user_cc2@domain.ru",
        "bcc_emails" : "bcc@domain.ru",
        "deleted" : false,
        "spam" : false,
        "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "language_id" : 1,
        "custom_fields" : {
          "cf_25" : "some text",
          "cf_30" : "another field",
        },
        "labels" : [101, 102],
        "closing_speed" : "-"
      }
    },
    "3": {
      "case" : {
        "case_id" : 2003,
        "case_number" : "134-245651",
        "subject" : "Help!!!",
        "user_id" : 123,
        "staff_id" : 22,
        "group_id" : 44,
        "status" : "closed",
        "priority" : "critical",
        "channel" : "email",
        "recipient" : "user3@domain.ru",
        "cc_emails" : "user_cc@domain.ru,user_cc2@domain.ru",
        "bcc_emails" : "user_bcc@domain.ru",
        "deleted" : false,
        "spam" : false,
        "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "language_id" : 2,
        "custom_fields" : {
          "cf_25" : "some text",
          "cf_30" : "another field",
        },
        "labels" : [101, 102]
      }
    },
    "total_count":17
}

Пример кода (string)

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -g -X GET https://[domain].omnidesk.ru/api/cases.json?limit=50&page=2&custom_fields[cf_25]=data&custom_fields[cf_30]=anotherdata&status=open

Пример кода (array)

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -g -X GET https://[domain].omnidesk.ru/api/cases.json?limit=50&page=2&custom_fields[cf_25][]=data&custom_fields[cf_25][]=data_two&custom_fields[cf_30][]=1&custom_fields[cf_30][]=2&status[]=open&status[]=closed

https://[domain].omnidesk.ru/api/cases/[id].json GET

Просмотр данных конкретного обращения.

ОТВЕТ

{
  "case" : {
    "case_id" : 2000,
    "case_number" : "664-245651",
    "subject" : "I need help",
    "user_id" : 123,
    "staff_id" : 22,
    "group_id" : 44,
    "status" : "waiting",
    "priority" : "normal",
    "channel" : "web",
    "recipient" : "user@domain.ru",
    "cc_emails" : "user_cc@domain.ru,user_cc2@domain.ru",
    "bcc_emails" : "user_bcc@domain.ru",
    "deleted" : false,
    "spam" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "language_id" : 2,
    "custom_fields" : {
      "cf_25" : "some text",
      "cf_30" : "another field",
    },
    "labels" : [101, 102]
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/cases/2000.json

https://[domain].omnidesk.ru/api/cases/[id]/messages.json GET

Просмотр ответов конкретного обращения.

Если в запросе не указывать параметры page и limit, отобразятся последние 100 ответов.

ПАРАМЕТРЫ

Название Тип Описание
page number Номер страницы (положительное целое число)
limit number Лимит обращений на странице (целое число от 1 до 100)
order string Порядок сортировки ответов. Возможные варианты asc, desc. По умолчанию asc (от старых ответов к новым)

ОТВЕТ

{
  "0": {
      "message" : {
        "message_id" : 2000,
        "user_id" : 123,
        "staff_id" : 0,
        "content" : "",
        "content_html" : "Тестовый ответ пользователя",
        "attachments" : [],
        "note" : false,
        "sent_via_rule" : false,
        "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
      }
    },
  "1": {
      "message" : {
        "message_id" : 2001,
        "user_id" : 0,
        "staff_id" : 123,
        "content" : "",
        "content_html" : "Тестовый ответ сотрудника",
        "attachments" : [
          {
              "file_id" : 345,
              "file_name" : "test.jpg",
              "file_size" : 40863,
              "mime_type" : "image/jpeg",
              "url" : "https://[domain].omnidesk.ru/some_path_here/345"
          }
        ],
        "note" : false,
        "sent_via_rule" : false,
        "created_at" : "Mon, 05 May 2014 00:28:43 +0300",
      }
    },
    "total_count":17
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/cases/200/messages.json

https://[domain].omnidesk.ru/api/cases/[id]/messages.json POST

Добавление ответа сотрудника/пользователя к обращению.

ПАРАМЕТРЫ

Название Тип Описание
content * string Содержание обращения
content_html * string HTML содержание обращения (имеет больший приоритет, чем текстовое содержание)
created_at number Этот параметр позволяет указать время создания сообщения (строковое значение или timestamp). Используйте его, если хотите перенести данные из сторонних сервисов и создать сообщение задним числом.

При наличии этого параметра в запросе обращение не проверяется правилами для изменённых обращений.
staff_id number ID сотрудника, от имени которого добавляется ответ. Если этот параметр не указан, мы берем ID сотрудника, чей email-адрес используется для API авторизации.
user_id number ID пользователя, от имени которого добавляется ответ. При наличии этого параметра staff_id игнорируется, и создаётся ответ от пользователя.
do_not_send_email boolean Этот параметр относится только к каналу Email. По умолчанию используется значение false. Пропишите параметр со значением true, чтобы при добавлении ответа сотрудника пользователю (клиенту) не отправлялось письмо на почту. Опция полезна при переносе переписки по обращениям из сторонних сервисов в Омнидеск.

ЗАПРОС

{
  "message" : {
    "staff_id" : 123,
    "content" : "I need help"
  }
}

ОТВЕТ

{
  "message" : {
    "message_id" : 2001,
    "user_id" : 0,
    "staff_id" : 123,
    "content" : "I need help",
    "content_html" : "",
    "attachments" : [],
    "note" : false,
    "created_at" : "Mon, 06 May 2014 00:15:17 +0300",
  }
}
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "message": { "content":"I need help", "staff_id":123 }}' https://[domain].omnidesk.ru/api/cases/200/messages.json

https://[domain].omnidesk.ru/api/cases/[id]/messages.json POST

Добавление ответа с файлами сотрудника/пользователя к обращению.

Важно! Содержание отправляемого запроса должно быть в виде multipart/form-data.

ОТВЕТ

{
  "message" : {
    "message_id" : 2001,
    "user_id" : 0,
    "staff_id" : 123,
    "content" : "I need help",
    "content_html" : "",
    "attachments" : [
      {
          "file_id" : 345,
          "file_name" : "test.jpg",
          "file_size" : 40863,
          "mime_type" : "image/jpeg",
          "url" : "https://[domain].omnidesk.ru/some_path_here/345"
      },
      {
          "file_id" : 346,
          "file_name" : "new.jpg",
          "file_size" : 50863,
          "mime_type" : "image/jpeg",
          "url" : "https://[domain].omnidesk.ru/some_path_here/346"
      }
    ],
    "note" : false,
    "created_at" : "Mon, 06 May 2014 00:15:17 +0300",
  }
}
}

Пример кода

curl -u [staff_email]:[api_key] -F "message[attachments][0]=@/path/to/file1.ext" -F "message[attachments][1]=@/path/to/file2.ext" -F "message[content]=I need help" -F "message[staff_id]=123" -X POST https://[domain].omnidesk.ru/api/cases/200/messages.json

https://[domain].omnidesk.ru/api/cases/[case_id]/messages/[message_id].json PUT

Редактирование ответа сотрудника/пользователя к обращению.

ПАРАМЕТРЫ

Название Тип Описание
content * string Содержание обращения

ЗАПРОС

{
  "message" : {
    "content" : "Edited content"
  }
}

ОТВЕТ

{
  "message" : {
    "message_id" : 2001,
    "user_id" : 0,
    "staff_id" : 123,
    "content" : "Edited content",
    "content_html" : "",
    "attachments" : [],
    "note" : false,
    "created_at" : "Mon, 06 May 2014 00:15:17 +0300",
  }
}
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "message": { "content":"Edited content" }}' https://[domain].omnidesk.ru/api/cases/200/messages/2001.json

https://[domain].omnidesk.ru/api/cases/[id]/note.json POST

Добавление заметки к обращению.

ПАРАМЕТРЫ

Название Тип Описание
content * string Содержание заметки.

Чтобы упомянуть в заметке сотрудника используйте @s[staff_id], а группу — @g[group_id]
content_html * string HTML содержание обращения (имеет больший приоритет, чем текстовое содержание)

Чтобы упомянуть в заметке сотрудника используйте @s[staff_id], а группу — @g[group_id]
created_at number Этот параметр позволяет указать время создания заметки (строковое значение или timestamp). Используйте его, если хотите перенести данные из сторонних сервисов и создать заметку задним числом.

При наличии этого параметра в запросе обращение не проверяется правилами для изменённых обращений.
note_staff_id number ID сотрудника, которому будет видна заметка.
note_group_id number ID группы, сотрудникам которых будет видна заметка. Имеет больший приоритет, чем ID сотрудника. Если не указан ни один из параметров, заметка будет видна всем сотрудникам.

ЗАПРОС

{
  "message" : {
    "note_staff_id" : 123,
    "content" : "I need help"
  }
}

ОТВЕТ

{
  "message" : {
    "message_id" : 2001,
    "user_id" : 0,
    "staff_id" : 123,
    "content" : "I need help",
    "content_html" : "",
    "attachments" : [],
    "note" : true,
    "created_at" : "Mon, 06 May 2014 00:15:17 +0300",
  }
}
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "message": { "content":"I need help", "note_staff_id":123 }}' https://[domain].omnidesk.ru/api/cases/200/notes.json

https://[domain].omnidesk.ru/api/cases/[id]/note.json POST

Добавление заметки с файлами к обращению.

Важно! Содержание отправляемого запроса должно быть в виде multipart/form-data.

ОТВЕТ

{
  "message" : {
    "message_id" : 2001,
    "user_id" : 0,
    "staff_id" : 123,
    "content" : "I need help",
    "content_html" : "",
    "attachments" : [
      {
          "file_id" : 345,
          "file_name" : "test.jpg",
          "file_size" : 40863,
          "mime_type" : "image/jpeg",
          "url" : "https://[domain].omnidesk.ru/some_path_here/345"
      },
      {
          "file_id" : 346,
          "file_name" : "new.jpg",
          "file_size" : 50863,
          "mime_type" : "image/jpeg",
          "url" : "https://[domain].omnidesk.ru/some_path_here/346"
      }
    ],
    "note" : true,
    "created_at" : "Mon, 06 May 2014 00:15:17 +0300",
  }
}
}

Пример кода

curl -u [staff_email]:[api_key] -F "note[attachments][0]=@/path/to/file1.ext" -F "note[attachments][1]=@/path/to/file2.ext" -F "note[content]=I need help" -X POST https://[domain].omnidesk.ru/api/cases/200/note.json

https://[domain].omnidesk.ru/api/cases/[case_id]/note/[message_id].json PUT

Редактирование заметки.

ПАРАМЕТРЫ

Название Тип Описание
content * string Содержание заметки.

Чтобы упомянуть в заметке сотрудника используйте @s[staff_id], а группу — @g[group_id]

ЗАПРОС

{
  "message" : {
    "content" : "Edited content"
  }
}

ОТВЕТ

{
  "message" : {
    "message_id" : 2001,
    "user_id" : 0,
    "staff_id" : 123,
    "content" : "Edited content",
    "content_html" : "",
    "attachments" : [],
    "note" : true,
    "created_at" : "Mon, 06 May 2014 00:15:17 +0300",
  }
}
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "message": { "content":"Edited content" }}' https://[domain].omnidesk.ru/api/cases/200/messages/2001.json

https://[domain].omnidesk.ru/api/cases/[case_id]/idea_official_response.json PUT

Добавление/редактирование официального ответа предложения.

ПАРАМЕТРЫ

Название Тип Описание
content * string Содержание обращения

ЗАПРОС

{
  "message" : {
    "content" : "New official response"
  }
}

ОТВЕТ

{
  "case" : {
    "case_id" : 2000,
    "case_number" : "664-245651",
    "subject" : "I need help",
    "user_id" : 123,
    "staff_id" : 22,
    "group_id" : 44,
    "status" : "waiting",
    "priority" : "normal",
    "channel" : "idea",
    "recipient" : "",
    "cc_emails" : "",
    "bcc_emails" : "",
    "deleted" : false,
    "spam" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "idea" : {
      "official_response" : "New official response",
      "official_response_tstamp" : 1509007649,
    }
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "message": { "content":"New official response" }}' https://[domain].omnidesk.ru/api/cases/200/idea_official_response.json

https://[domain].omnidesk.ru/api/cases/[case_id]/idea.json PUT

Редактирование предложения.

ПАРАМЕТРЫ

Название Тип Описание
content string Предложение клиента
category_id number ID категории, которая будет выставлена для предложения
stage string Этап реализации (возможные варианты: waiting, planned, in_progress, finished)

ЗАПРОС

{
  "message" : {
    "content" : "New content"
    "stage" : "planned"
  }
}

ОТВЕТ

{
  "case" : {
    "case_id" : 2000,
    "case_number" : "664-245651",
    "subject" : "I need help",
    "user_id" : 123,
    "staff_id" : 22,
    "group_id" : 44,
    "status" : "waiting",
    "priority" : "normal",
    "channel" : "idea",
    "recipient" : "",
    "cc_emails" : "",
    "bcc_emails" : "",
    "deleted" : false,
    "spam" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "idea" : {
      "content" : "New content",
      "stage" : "planned"
      "category" : 319,
    }
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "message": { "content":"New content", "stage" : "planned" }}' https://[domain].omnidesk.ru/api/cases/200/idea.json

https://[domain].omnidesk.ru/api/cases/[id].json PUT

Изменение параметров конкретного обращения.

Массовое редактирование: https://[domain].omnidesk.ru/api/cases/[id],[id],[id].json.

ПАРАМЕТРЫ

Название Тип Описание
add_cc_emails array Email-адреса, которые будут добавлены в копию обращения. Не более 30 штук.
add_bcc_emails array Email-адреса, которые будут добавлены в скрытую копию обращения. Не более 30 штук.
remove_cc_emails array Email-адреса, которые будут удалены из копии обращения.
remove_bcc_emails array Email-адреса, которые будут удалены из скрытой копии обращения.
subject string Тема обращения
group_id number Группа обращения (должна существовать и быть активной)
staff_id number Отвественный сотрудник (должен существовать и быть активным)
status string Статус обращения (возможные варианты: open, waiting и closed)
priority string Приоритет обращения (возможные варианты: low, normal, high и critical)
language_id number язык пользователя (при передаче заменяет язык по умолчанию)
custom_fields array Кастомные поля
add_labels array Добавляемые метки
delete_labels array Удаляемые метки

ЗАПРОС

{
  "case" : {
    "subject" : "Test subject changed",
    "status" : "closed",
    "priority" : "critical",
    "language_id" : 2,
    "custom_fields" : {
      "cf_25" : "some text",
      "cf_30" : "another field",
    },
    "add_labels" : [103, 104]
  }
}

ОТВЕТ

{
  "case" : {
    "case_id" : 2000,
    "case_number" : "664-245651",
    "subject" : "Test subject changed",
    "user_id" : 123,
    "staff_id" : 22,
    "group_id" : 44,
    "status" : "closed",
    "priority" : "critical",
    "channel" : "web",
    "recipient" : "user@domain.ru",
    "deleted" : false,
    "spam" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "language_id" : 2,
    "custom_fields" : {
      "cf_25" : "some text",
      "cf_30" : "another field",
    },
    "labels" : [101, 102, 103, 104]
  }
}

ОТВЕТ ПРИ МАССОВОМ РЕДАКТИРОВАНИИ

{
  "case_success_id" : [101, 102, 103, 104]
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "case": { "subject":"Test subject changed", "status":"closed", "priority":"critical","language_id":2, "custom_fields":{"cf_25":"some text", "cf_30":"another field"} }}' https://[domain].omnidesk.ru/api/cases/2000.json

https://[domain].omnidesk.ru/api/cases/[id]/trash.json PUT

Удаление обращения в корзину.

Массовое удаление: https://[domain].omnidesk.ru/api/cases/[id],[id],[id]/trash.json.

ОТВЕТ

{
  "case" : {
    "case_id" : 2000,
    "case_number" : "664-245651",
    "subject" : "Test subject changed",
    "user_id" : 123,
    "staff_id" : 22,
    "group_id" : 44,
    "status" : "closed",
    "priority" : "critical",
    "channel" : "web",
    "recipient" : "user@domain.ru",
    "deleted" : true,
    "spam" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "language_id" : 2,
    "custom_fields" : {
      "cf_25" : "some text",
      "cf_30" : "another field",
    },
    "labels" : [101, 102]
  }
}

ОТВЕТ ПРИ МАССОВОМ ПЕРЕНОСЕ В КОРЗИНУ

{
  "case_success_id" : [101, 102, 103, 104]
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/cases/2000/trash.json

https://[domain].omnidesk.ru/api/cases/[id(,id,id)]/spam.json PUT

Перенос обращения в фильтр «Спам».

Массовый перенос: https://[domain].omnidesk.ru/api/cases/[id],[id],[id].json.

ОТВЕТ

{
  "case" : {
    "case_id" : 2000,
    "case_number" : "664-245651",
    "subject" : "Test subject changed",
    "user_id" : 123,
    "staff_id" : 22,
    "group_id" : 44,
    "status" : "closed",
    "priority" : "critical",
    "channel" : "web",
    "recipient" : "user@domain.ru",
    "deleted" : false,
    "spam" : true,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "language_id" : 2,
    "custom_fields" : {
      "cf_25" : "some text",
      "cf_30" : "another field",
    },
    "labels" : [101, 102]
  }
}

ОТВЕТ ПРИ МАССОВОМ ПЕРЕНОСЕ В «СПАМ»

{
  "case_success_id" : [101, 102, 103, 104]
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/cases/2000/spam.json

https://[domain].omnidesk.ru/api/cases/[id]/restore.json PUT

Восстановление обращения из корзины или спама.

Массовое восстановление: https://[domain].omnidesk.ru/api/cases/[id],[id],[id].json.

ОТВЕТ

{
  "case" : {
    "case_id" : 2000,
    "case_number" : "664-245651",
    "subject" : "Test subject changed",
    "user_id" : 123,
    "staff_id" : 22,
    "group_id" : 44,
    "status" : "closed",
    "priority" : "critical",
    "channel" : "web",
    "recipient" : "user@domain.ru",
    "deleted" : false,
    "spam" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "language_id" : 2,
    "custom_fields" : {
      "cf_25" : "some text",
      "cf_30" : "another field",
    },
    "labels" : [101, 102]
  }
}

ОТВЕТ ПРИ МАССОВОМ ВОССТАНОВЛЕНИИ

{
  "case_success_id" : [101, 102, 103, 104]
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/cases/2000/restore.json

https://[domain].omnidesk.ru/api/cases/[case_id]/messages/[message_id].json DELETE

Удаление ответа

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/cases/2000/messages/123456.json

https://[domain].omnidesk.ru/api/cases/[case_id]/note/[message_id].json DELETE

Удаление заметки.

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/cases/2000/note/123456.json

https://[domain].omnidesk.ru/api/cases/[case_id]/idea_official_response.json DELETE

Удаление официального ответа предложения.

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/cases/2000/idea_official_response.json

https://[domain].omnidesk.ru/api/cases/[id].json DELETE

Безвозвратное удаление обращения. Доступно только для сотрудников с полным доступом.

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/cases/2000.json

https://[domain].omnidesk.ru/api/filters.json GET

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

ОТВЕТ

{
    "0" : {
      "filter" : {
        "filter_id" : unassigned,
        "filter_name" : "open",
        "isSelected" : true,
        "isCustom" : false
      }
    },
    "1" : {
      "filter" : {
        "filter_id" : 234,
        "filter_name" : "Test filter",
        "isSelected" : false,
        "isCustom" : true
      }
    },
    "total_count":10
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/filters.json

https://[domain].omnidesk.ru/api/labels.json POST

Добавление новой метки.

ПАРАМЕТРЫ

Название Тип Описание
label_title * string Название метки

ЗАПРОС

{
  "label" : {
    "label_title" : "Test title",
  }
}

ОТВЕТ

{
  "label" : {
    "label_id" : 200,
    "label_title" : "Test title",
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "labels": {"label_title":"Test title" }}' https://[domain].omnidesk.ru/api/labels.json

https://[domain].omnidesk.ru/api/labels.json GET

Просмотр списка меток.

ПАРАМЕТРЫ

Название Тип Описание
page number Номер страницы (положительное целое число)
limit number Лимит меток на странице (целое число от 1 до 100)

ОТВЕТ

{
    "0" : {
      "label" : {
        "label_id" : 200,
        "label_title" : "Test title"
      }
    },
    "1" : {
      "label" : {
        "label_id" : 210,
        "label_title" : "Test title 2"
      }
    },
    "total_count":10
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/labels.json?limit=50&page=2

https://[domain].omnidesk.ru/api/labels/[id].json PUT

Изменение метги.

ПАРАМЕТРЫ

Название Тип Описание
label_title string Название метки

ЗАПРОС

{
  "label" : {
    "label_title" : "New label title"
  }
}

ОТВЕТ

{
  "label" : {
    "label_id" : 200,
    "label_title" : "New label title",
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "label": { "label_title":"New label title" }}' https://[domain].omnidesk.ru/api/labels/200.json

https://[domain].omnidesk.ru/api/labels/[id].json DELETE

Удаление метки.

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/labels/200.json

https://[domain].omnidesk.ru/api/users.json POST

Добавление нового пользователя.

ПАРАМЕТРЫ

Название Тип Описание
user_email * string Валидный email-адрес пользователя (обязателен, если нет телефона)
user_phone * string Валидный телефон пользователя (обязателен, если нет email-адреса)
user_whatsapp_phone * string Валидный телефон пользователя, к которому привязан аккаунт в WhatsApp (обязателен, если нет email-адреса или телефона)
user_telegram_data * string Username или валидный телефон пользователя, к которому привязан аккаунт в Телеграм (обязателен, если нет email-адреса или телефона)
user_custom_id * string ID, по которому вы определяете пользователя при работе с кастомным каналом (обязателен, если нет email-адреса или телефона)
user_custom_channel string ID кастомного канала (к примеру, cch101)

Данный параметр нужно передавать только при создании пользователя по user_custom_id
user_full_name string Полное имя пользователя
company_name string Имя компании пользователя
company_position string Должность пользователя
user_note string Заметка по пользователю
language_id number язык пользователя
custom_fields array Кастомные поля

ЗАПРОС

{
  "user" : {
    "user_email" : "user@domain.ru",
    "user_whatsapp_phone" : "+79261234567"
    "user_full_name" : "User's full name",
    "company_name" : "User's company name",
    "company_position" : "User's position",
    "user_note" : "Some note",
    "language_id" : 2,
    "custom_fields" : {
        "cf_20" : "some data",
        "cf_23" : true,
    }
  }
}

ОТВЕТ

{
  "user" : {
    "user_id" : 200,
    "user_full_name" : "User's full name",
    "company_name" : "User's company name",
    "company_position" : "User's position",
    "thumbnail" : "",
    "confirmed" : false,
    "active" : true,
    "deleted" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "password" : "bsdegs",
    "type" : "email",
    "user_email" : "user@domain.ru",
    "language_id" : 2,
    "custom_fields" : {
        "cf_20" : "some data",
        "cf_23" : true,
    },
    "linked_users" : [123,456]
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "user": { "user_email":"user@domain.ru", "user_full_name":"User\u0027s full name", "language_id":2, "custom_fields":{"cf_20":"some data", "cf_23":true} }}' https://[domain].omnidesk.ru/api/users.json

https://[domain].omnidesk.ru/api/users.json GET

Просмотр списка пользователей.

Если в запросе не указывать параметры page и limit, то в результате отобразятся первые сто пользователей.

ПАРАМЕТРЫ

Название Тип Описание
page number Номер страницы (положительное целое число)
limit number Лимит пользователей на странице (целое число от 1 до 100)
user_email string Поиск пользователей по email-адресу (не менее 3-х символов)
user_phone string Поиск пользователей по телефону (не менее 3-х символов)
language_id number язык пользователя
custom_fields array Дополнительные поля данных.

В зависимости от типа поля, по которому выполняется фильтрация обращений, поиск осуществляется по-разному:

- «текстовое поле» или «текстовая область» — производится поиск включения передаваемой строки;
- «чекбокс» — производится поиск по наличию/отсутствию флага в зависимости от передаваемого значения;
- «список» — производится поиск по ключу поиск, равному передаваемому значению.
amount_of_cases boolean Количество обращений пользователя. Параметр может быть true или false (по умолчанию).
from_time string / int Начало периода для фильтра по дате добавления пользователя (строковое значение или timestamp)
to_time string / int Конец периода для фильтра по дате добавления пользователя (строковое значение или timestamp)
from_updated_time string / int Начало периода для фильтра по дате обновления пользователя (строковое значение или timestamp)
to_updated_time string / int Конец периода для фильтра по дате обновления пользователя (строковое значение или timestamp)

ОТВЕТ

{
    "0": {
      "user" : {
        "user_id" : 200,
        "user_full_name" : "User's full name",
        "company_name" : "User's company name",
        "company_position" : "User's position",
        "thumbnail" : "",
        "confirmed" : false,
        "active" : true,
        "deleted" : false,
        "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "type" : "email",
        "user_email" : "user@domain.ru",
        "language_id" : 2,
        "custom_fields" : {
            "cf_20" : "some data",
            "cf_23" : true,
        }
      }
    },
    "1": {
      "user" : {
        "user_id" : 300,
        "user_full_name" : "Second user's full name",
        "company_name" : "Second user's company name",
        "company_position" : "Second user's position",
        "thumbnail" : "",
        "confirmed" : false,
        "active" : true,
        "deleted" : false,
        "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "type" : "facebook",
        "facebook_id" : 123123123,
        "language_id" : 2,
        "custom_fields" : {
            "cf_20" : "some data",
            "cf_23" : true,
        }
      }
    },
    "2": {
      "user" : {
        "user_id" : 400,
        "user_full_name" : "Third user's full name",
        "company_name" : "Third user's company name",
        "company_position" : "Third user's position",
        "thumbnail" : "",
        "confirmed" : false,
        "active" : true,
        "deleted" : false,
        "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "type" : "twitter",
        "facebook_id" : 3333333,
        "language_id" : 1,
        "custom_fields" : {
            "cf_20" : "some data",
            "cf_23" : true,
        }
      }
    },
    "total_count":20
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -g -X GET "https://[domain].omnidesk.ru/api/users.json?limit=50&page=2&language_id=2&custom_fields[cf_20]=data"

https://[domain].omnidesk.ru/api/users/[id].json GET

Просмотр данных конкретного пользователя.

ОТВЕТ

{
  "user" : {
    "user_id" : 200,
    "user_full_name" : "User's full name",
    "company_name" : "User's company name",
    "company_position" : "User's position",
    "thumbnail" : "",
    "confirmed" : false,
    "active" : true,
    "deleted" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "type" : "email",
    "user_email" : "user@domain.ru",
    "language_id" : 2,
    "custom_fields" : {
        "cf_20" : "some data",
        "cf_23" : true,
    },
    "linked_users" : [123,456]
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/users/200.json

https://[domain].omnidesk.ru/api/users/[id].json PUT

Изменение данных конкретного пользователя.

ПАРАМЕТРЫ

Название Тип Описание
user_email string Новый email-адрес пользователя (можно менять только пока он не подтвержден)
user_full_name string Полное имя
company_name string Имя компании пользователя
company_position string Должность пользователя
user_note string Заметка по пользователю
language_id number язык пользователя
custom_fields array Кастомные поля

ЗАПРОС

{
  "user" : {
    "user_full_name" : "User's full name changed",
    "language_id" : 1,
    "custom_fields" : {
        "cf_20" : "some data",
        "cf_23" : true,
    }
  }
}

ОТВЕТ

{
  "user" : {
    "user_id" : 200,
    "user_full_name" : "User's full name changed",
    "company_name" : "User's company name",
    "company_position" : "User's position",
    "thumbnail" : "",
    "confirmed" : false,
    "active" : true,
    "deleted" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "type" : "email",
    "user_email" : "user@domain.ru",
    "language_id" : 1,
    "custom_fields" : {
        "cf_20" : "some data",
        "cf_23" : true,
    }
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "user": { "user_full_name":"User\u0027s full name changed", "language_id":2, "custom_fields":{"cf_20":"some data", "cf_23":true} }}' https://[domain].omnidesk.ru/api/users/200.json

https://[domain].omnidesk.ru/api/users/[id]/disable.json PUT

Удаление пользователя. В этом случае пользователь переносится в список удалённых и при необходимости его можно восстановить.

ОТВЕТ

{
  "user" : {
    "user_id" : 200,
    "user_full_name" : "User's full name changed",
    "company_name" : "User's company name",
    "company_position" : "User's position",
    "thumbnail" : "",
    "confirmed" : false,
    "active" : true,
    "deleted" : true,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "type" : "email",
    "user_email" : "user@domain.ru",
    "language_id" : 2,
    "custom_fields" : {
        "cf_20" : "some data",
        "cf_23" : true,
    }
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/users/200/disable.json

https://[domain].omnidesk.ru/api/users/[id]/block.json PUT

Блокирование пользователя.

ОТВЕТ

{
  "user" : {
    "user_id" : 200,
    "user_full_name" : "User's full name changed",
    "company_name" : "User's company name",
    "company_position" : "User's position",
    "thumbnail" : "",
    "confirmed" : false,
    "active" : false,
    "deleted" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "type" : "email",
    "user_email" : "user@domain.ru",
    "language_id" : 2,
    "custom_fields" : {
        "cf_20" : "some data",
        "cf_23" : true,
    }
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/users/200/block.json

https://[domain].omnidesk.ru/api/users/[id]/restore.json PUT

Включение пользователя после блокировки или восстановление после удаления.

ОТВЕТ

{
  "user" : {
    "user_id" : 200,
    "user_full_name" : "User's full name changed",
    "company_name" : "User's company name",
    "company_position" : "User's position",
    "thumbnail" : "",
    "confirmed" : false,
    "active" : true,
    "deleted" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "type" : "email",
    "user_email" : "user@domain.ru",
    "language_id" : 2,
    "custom_fields" : {
        "cf_20" : "some data",
        "cf_23" : true,
    }
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/users/200/restore.json

https://[domain].omnidesk.ru/api/users/[id].json DELETE

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

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/users/200.json

https://[domain].omnidesk.ru/api/companies.json POST

Добавление новой компании.

ПАРАМЕТРЫ

Название Тип Описание
company_name * string Название компании
company_domains string Можно указывать несколько доменов через запятую
company_default_group string ID группы
company_address string Адрес компании
company_note string Заметка
сompany_users string Через запятую ID пользователей, которые должны попасть в компанию

ЗАПРОС

{
  "company" : {
    "company_name" : "New Company",
    "company_domains" : "company.ru",
    "company_default_group" : 492,
    "company_address" : "Some address",
    "company_note" : "Some note",
    "сompany_users" : "1351,1348,1347"
  }
}

ОТВЕТ

{
  "company" : {
    "company_id" : 200,
    "company_name" : "New Company",
    "company_domains" : "company.ru",
    "company_default_group" : 492,
    "company_address" : "Some address",
    "company_note" : "Some note",
    "active" : true,
    "deleted" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200"
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "company": {"company_name":"New Company","company_domains":"company.ru","company_default_group":492,"company_address":"Some address","company_note":"Some note","сompany_users":"1351,1348,1347"}}' https://[domain].omnidesk.ru/api/companies.json

https://[domain].omnidesk.ru/api/companies.json GET

Просмотр списка компаний.

Если в запросе не указывать параметры page и limit, то в результате отобразятся первые сто компаний.

ПАРАМЕТРЫ

Название Тип Описание
page number Номер страницы (положительное целое число)
limit number Лимит компаний на странице (целое число от 1 до 100)
company_name string Поиск компаний по названию (не менее 3-х символов)
company_domains string Поиск компаний по домену (не менее 3-х символов)
company_address string Поиск компаний по адресу (не менее 3-х символов)
company_note string Поиск компаний по заметке (не менее 3-х символов)
amount_of_users boolean Количество пользователей компании. Параметр может быть true или false (по умолчанию).
amount_of_cases boolean Количество обращений компании. Параметр может быть true или false (по умолчанию).

ОТВЕТ

{
    "0": {
      "company" : {
        "company_id" : 200,
        "company_name" : "New Company",
        "company_domains" : "company.ru",
        "company_default_group" : 492,
        "company_address" : "Some address",
        "company_note" : "Some note",
        "active" : true,
        "deleted" : false,
        "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "amount_of_users" : 125
    },
    "1": {
      "company" : {
        "company_id" : 300,
        "company_name" : "New Company 2",
        "company_domains" : "company.ru",
        "company_default_group" : 492,
        "company_address" : "Some address",
        "company_note" : "Some note",
        "active" : true,
        "deleted" : false,
        "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200"
        "amount_of_users" : 125
    },
    "total_count":20
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/companies.json?limit=50&page=2&amount_of_users=true

https://[domain].omnidesk.ru/api/companies/[id].json GET

Просмотр данных конкретной компании.

ОТВЕТ

{
  "company" : {
    "company_id" : 200,
    "company_name" : "New Company",
    "company_domains" : "company.ru",
    "company_default_group" : 492,
    "company_address" : "Some address",
    "company_note" : "Some note",
    "active" : true,
    "deleted" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/companies/200.json

https://[domain].omnidesk.ru/api/companies/[id].json PUT

Изменение данных конкретной компании.

ПАРАМЕТРЫ

Название Тип Описание
company_name string Название компании
add_company_domains string Добавление доменов для автоматической привязки пользователей (можно указывать несколько доменов через запятую)
remove_company_domains string Удаление доменов для автоматической привязки пользователей (можно указывать несколько доменов через запятую)
company_default_group string ID группы
company_address string Адрес компании
company_note string Заметка
add_сompany_users string Через запятую ID пользователей, которых нужно добавить в компанию
remove_сompany_users string Через запятую ID пользователей, которых нужно удалить из компании

ЗАПРОС

{
  "company" : {
    "company_name" : "Company's full name changed",
    "company_note" : "New note",
    "add_company_domains" : "newcompany.ru",
    "remove_company_domains" : "company.ru"
  }
}

ОТВЕТ

{
  "company" : {
    "company_id" : 200,
    "company_name" : "Company's full name changed",
    "company_domains" : "newcompany.ru",
    "company_default_group" : 492,
    "company_address" : "Some address",
    "company_note" : "New note",
    "active" : true,
    "deleted" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200"
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "company": {"company_name":"Company's full name changed","company_note":"New note","add_company_domains":"newcompany.ru","remove_company_domains":"company.ru"}}' https://[domain].omnidesk.ru/api/companies/200.json

https://[domain].omnidesk.ru/api/companies/[id]/disable.json PUT

Удаление компании. В этом случае компания переносится в список удалённых и при необходимости её можно восстановить.

ОТВЕТ

{
  "company" : {
    "company_id" : 200,
    "company_name" : "Company's full name changed",
    "company_domains" : "newcompany.ru",
    "company_default_group" : 492,
    "company_address" : "Some address",
    "company_note" : "New note",
    "active" : true,
    "deleted" : true,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200"
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/companies/200/disable.json

https://[domain].omnidesk.ru/api/companies/[id]/block.json PUT

Блокирование компании.

ОТВЕТ

{
  "company" : {
    "company_id" : 200,
    "company_name" : "Company's full name changed",
    "company_domains" : "newcompany.ru",
    "company_default_group" : 492,
    "company_address" : "Some address",
    "company_note" : "New note",
    "active" : false,
    "deleted" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200"
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/companies/200/block.json

https://[domain].omnidesk.ru/api/companies/[id]/restore.json PUT

Включение компании после блокировки или восстановление после удаления.

ОТВЕТ

{
  "company" : {
    "company_id" : 200,
    "company_name" : "Company's full name changed",
    "company_domains" : "newcompany.ru",
    "company_default_group" : 492,
    "company_address" : "Some address",
    "company_note" : "New note",
    "active" : true,
    "deleted" : false,
    "created_at" : "Mon, 05 May 2014 00:15:17 +0300",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200"
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/companies/200/restore.json

https://[domain].omnidesk.ru/api/companies/[id].json DELETE

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

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/companies/200.json

https://[domain].omnidesk.ru/api/groups.json POST

Создание группы.

ПАРАМЕТРЫ

Название Тип Описание
group_title * string Название группы
group_from_name string Групповое имя оптравителя для использования в ответах сотрудников
group_signature string Групповая подпись для использования в ответах сотрудников

ЗАПРОС

{
  "group" : {
    "group_title" : "Test group",
    "group_from_name" : "Test group from name",
    "group_signature" : "Test group signature"
  }
}

ОТВЕТ

{
  "group" : {
    "group_id" : 200,
    "group_title" : "Test group",
    "group_from_name" : "Test group from name",
    "group_signature" : "Test group signature",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "group": { "group_title":"Test group", "group_from_name":"Test group from name", "group_signature":"Test group signature" }}' https://[domain].omnidesk.ru/api/groups.json

https://[domain].omnidesk.ru/api/groups.json GET

Просмотр списка групп.

ПАРАМЕТРЫ

Название Тип Описание
page number Номер страницы (положительное целое число)
limit number Лимит групп на странице (целое число от 1 до 100)

ОТВЕТ

{
    "0" : {
      "group" : {
        "group_id" : 200,
        "group_title" : "Test group",
        "group_from_name" : "Test group from name",
        "group_signature" : "Test group signature",
        "active" : true,
        "created_at" : Mon, 05 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
      }
    },
    "1" : {
      "group" : {
        "group_id" : 202,
        "group_title" : "Test group 2",
        "group_from_name" : "Test group 2 from name",
        "group_signature" : "Test group 2 signature",
        "active" : false,
        "created_at" : Mon, 15 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 13 Dec 2014 10:55:23 +0200
      }
    },
    "total_count":10
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/groups.json?limit=50&page=2

https://[domain].omnidesk.ru/api/groups/[id].json GET

Просмотр конкретной группы.

ОТВЕТ

{
  "group" : {
    "group_id" : 200,
    "group_title" : "Test group",
    "group_from_name" : "Test group from name",
    "group_signature" : "Test group signature",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/groups/200.json

https://[domain].omnidesk.ru/api/groups/[id].json PUT

Изменение данных конкретной группы.

ПАРАМЕТРЫ

Название Тип Описание
group_title string Название группы
group_from_name string Групповое имя оптравителя для использования в ответах сотрудников
group_signature string Групповая подпись для использования в ответах сотрудников

ЗАПРОС

{
  "group" : {
    "group_title" : "Test group 2",
    "group_from_name" : "Test group 2 from name"
  }
}

ОТВЕТ

{
  "group" : {
    "group_id" : 200,
    "group_title" : "Test group 2",
    "group_from_name" : "Test group 2 from name",
    "group_signature" : "Test group 2 signature",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "group": { "group_title":"Test group 2", "group_from_name":"Test group 2 from name" }}' https://[domain].omnidesk.ru/api/groups/200.json

https://[domain].omnidesk.ru/api/groups/[id]/disable.json PUT

Отключение группы.

При отключении группы мы меняем её в: правилах, обращениях, шаблонах и т.д. Поэтому сама процедура выполняется кроном (не мгновенно) и может занимать какое-то время.

ПАРАМЕТРЫ

Название Тип Описание
replace_group_id number ID группы, которая заменит отключаемую. Необходима в случае, если отключаемая группа где-то (в правилах, обращениях, шаблонах и т.д.) задействована.

ЗАПРОС

{
  "group" : {
    "replace_group_id" : 300
  }
}

ОТВЕТ

{
  "group" : {
    "group_id" : 200,
    "group_title" : "Test group 2",
    "group_from_name" : "Test group 2 from name",
    "group_signature" : "Test group 2 signature",
    "active" : false,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "group": { "replace_group_id":"300" }}' https://[domain].omnidesk.ru/api/groups/200/disable.json

https://[domain].omnidesk.ru/api/groups/[id]/enable.json PUT

Включение группы.

ОТВЕТ

{
  "group" : {
    "group_id" : 200,
    "group_title" : "Test group 2",
    "group_from_name" : "Test group 2 from name",
    "group_signature" : "Test group 2 signature",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/groups/api/200/enable.json

https://[domain].omnidesk.ru/api/groups/[id].json DELETE

Удаление группы.

При удалении группы мы меняем её в: правилах, обращениях, шаблонах и т.д. Поэтому сама процедура выполняется кроном (не мгновенно) и может занимать какое-то время.

ПАРАМЕТРЫ

Название Тип Описание
replace_group_id number ID группы, которая заменит удаляемую. Необходима в случае, если отключаемая группа где-то (в правилах, обращениях, шаблонах и т.д.) задействована.

ЗАПРОС

{
  "group" : {
    "replace_group_id" : 300
  }
}

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/groups/200.json

https://[domain].omnidesk.ru/api/staff.json POST

Добавление нового сотрудника.

ПАРАМЕТРЫ

Название Тип Описание
staff_email * string Валидный email-адреса сотрудника
staff_full_name string Полное имя сотрудника
staff_signature string Подпись сотрудника

ЗАПРОС

{
  "staff" : {
    "staff_email" : "staff@domain.ru",
    "staff_full_name" : "Staff full name",
    "staff_signature" : "Staff signature"
  }
}

ОТВЕТ

{
  "staff" : {
    "staff_id" : 200,
    "staff_email" : "staff@domain.ru",
    "staff_full_name" : "Staff full name",
    "staff_signature" : "Staff signature",
	"thumbnail" : "",
    "active" : false,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "staff": { "staff_email":"staff@domain.ru", "staff_full_name":"Staff full name", "staff_signature":"Staff signature" }}' https://[domain].omnidesk.ru/api/staff.json

https://[domain].omnidesk.ru/api/staff.json GET

Просмотр списка сотрудников.

ПАРАМЕТРЫ

Название Тип Описание
page number Номер страницы (положительное целое число)
limit number Лимит сотрудников на странице (целое число от 1 до 100)

ОТВЕТ

{
    "0" : {
      "staff" : {
        "staff_id" : 200,
        "staff_email" : "staff@domain.ru",
        "staff_full_name" : "Staff full name",
        "staff_signature" : "Staff signature",
		"thumbnail" : "",
        "active" : false,
        "status" : "online/away/offline",
        "created_at" : Mon, 05 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
      }
    },
    "1" : {
      "staff" : {
        "staff_id" : 210,
        "staff_email" : "staff2@domain.ru",
        "staff_full_name" : "Staff 2 full name",
        "staff_signature" : "Staff 2 signature",
		"thumbnail" : "http://[domain].omnidesk.ru/path/avatar.jpeg",
        "active" : true,
        "status" : "online/away/offline",
        "created_at" : Mon, 05 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
      }
    },
    "total_count":10
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/staff.json?limit=50&page=2

https://[domain].omnidesk.ru/api/staff/[id].json GET

Просмотр данных конкретного сотрудника.

ОТВЕТ

{
  "staff" : {
    "staff_id" : 200,
    "staff_email" : "staff@domain.ru",
    "staff_full_name" : "Staff full name",
    "staff_signature" : "Staff signature",
	"thumbnail" : "",
    "active" : false,
    "status" : "online/away/offline",
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/staff/200.json

https://[domain].omnidesk.ru/api/staff/[id].json PUT

Изменение данных конкретного сотрудника.

ПАРАМЕТРЫ

Название Тип Описание
staff_email string Новый email-адрес сотрудника
staff_full_name string Полное имя сотрудника
staff_signature string Подпись сотрудника

ЗАПРОС

{
  "staff" : {
    "staff_full_name" : "Staff full name changed"
  }
}

ОТВЕТ

{
  "staff" : {
    "staff_id" : 200,
    "staff_email" : "staff@domain.ru",
    "staff_full_name" : "Staff full name changed",
    "staff_signature" : "Staff signature",
	"thumbnail" : "",
    "active" : false,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "staff": { "staff_full_name":"Staff full name changed" }}' https://[domain].omnidesk.ru/api/staff/200.json

https://[domain].omnidesk.ru/api/staff/[id]/disable.json PUT

Отключение сотрудника.

При отключении сотрудника мы меняем его в: настройках правил, общих шаблонов и параметрах обращений со статусом «открытое» и «в ожидании». Поэтому сама процедура выполняется кроном (не мгновенно) и может занимать какое-то время.

ПАРАМЕТРЫ

Название Тип Описание
replace_staff_id number ID сотрудника, который заменит отключаемого в настройках правил, общих шаблонов и параметрах обращений со статусом «открыт» и «в ожидании».

ЗАПРОС

{
  "staff" : {
    "replace_staff_id" : 300
  }
}

ОТВЕТ

{
  "staff" : {
    "staff_id" : 200,
    "staff_email" : "staff@domain.ru",
    "staff_full_name" : "Staff full name changed",
    "staff_signature" : "Staff signature",
    "active" : false,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "staff": { "replace_staff_id":"300" }}' https://[domain].omnidesk.ru/api/staff/200/disable.json

https://[domain].omnidesk.ru/api/staff/[id]/enable.json PUT

Включение сотрудника.

ОТВЕТ

{
  "staff" : {
    "staff_id" : 200,
    "staff_email" : "staff@domain.ru",
    "staff_full_name" : "Staff full name changed",
    "staff_signature" : "Staff signature",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/staff/200/enable.json

https://[domain].omnidesk.ru/api/staff/[id].json DELETE

Удаление сотрудника.

При удалении сотрудника мы меняем его в: настройках правил, общих шаблонов и параметрах всех обращений (с любым статусом). Поэтому сама процедура выполняется кроном (не мгновенно) и может занимать какое-то время.

ПАРАМЕТРЫ

Название Тип Описание
replace_staff_id number ID сотрудника, который заменит удаляемого в настройках правил, общих шаблонов и параметрах всех обращений (с любым статусом).

ЗАПРОС

{
  "staff" : {
    "replace_staff_id" : 300
  }
}

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/staff/200.json

https://[domain].omnidesk.ru/api/custom_fields.json GET

Просмотр всех дополнительных полей. Принадлежность поля (к обращению или пользователю) указана в параметре "field_level".

ОТВЕТ

{
    "0" : {
      "custom_field" : {
        "field_id" : 5,
        "title" : "Field title 1",
        "field_type" : "text",
        "field_level" : "user",
        "active" : true,
        "field_data" : ""
      }
    },
    "1" : {
      "custom_field" : {
        "field_id" : 6,
        "title" : "Field title 2",
        "field_type" : "textarea",
        "field_level" : "case",
        "active" : true,
        "field_data" : ""
      }
    },
    "2" : {
      "custom_field" : {
        "field_id" : 7,
        "title" : "Field title 3",
        "field_type" : "checkbox",
        "field_level" : "user",
        "active" : true,
        "field_data" : ""
      }
    },
    "3" : {
      "custom_field" : {
        "field_id" : 9,
        "title" : "Field title 4",
        "field_type" : "select",
        "field_level" : "case",
        "active" : true,
        "field_data" : {
            "1" : "First choice",
            "2" : "Second choice",
            "3" : "Third choice"
        }
      }
    },
    "4" : {
      "custom_field" : {
        "field_id" : 9,
        "title" : "Field title 5",
        "field_type" : "date",
        "field_level" : "case",
        "active" : true,
        "field_data" : ""
      }
    },
    "total_count":10
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/custom_fields.json

https://[domain].omnidesk.ru/api/custom_channels.json GET

Просмотр всех кастомных каналов.

ОТВЕТ

{
    "0": {
        "custom_channel": {
            "channel_id": 1,
            "channel_api_key": "cch1",
            "title": "Custom Channel",
            "channel_type": "async",
            "icon": "fa-question-circle",
            "webhook_url": "http://example.ru/wh/omni_wh/",
            "active": true
        }
    },
    "1": {
        "custom_channel": {
            "channel_id": 3,
            "channel_api_key": "cch3",
            "title": "Custom Channel Chat",
            "channel_type": "sync",
            "icon": "fa-bullhorn",
            "webhook_url": "http://example.ru/wh/omni_wh_chat/",
            "active": true
        }
    },
    "total_count": 2
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/custom_channels.json

https://[domain].omnidesk.ru/api/languages.json GET

Просмотр всех языков клиента.

ОТВЕТ

{
    "0" : {
      "language" : {
        "language_id" : 1,
        "code" : "RUS",
        "title" : "Русский",
        "active" : true
      }
    },
    "1" : {
      "language" : {
        "language_id" : 2,
        "code" : "ENG",
        "title" : "English",
        "active" : false
      }
    },
    "total_count":2
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/languages.json

https://[domain].omnidesk.ru/api/kb_category.json POST

Создание категории.

ПАРАМЕТРЫ

Название Тип Описание
category_title * string/array Название категории.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать название категории на разных языках. Для этого нужно передать массив с ID языка и названием для каждой языковой версии категории.

ЗАПРОС

{
  "kb_category" : {
    "category_title" : "Test category",
  }
}
{
  "kb_category" : {
    "category_title" : {
        "1" : "Название категории",
        "2" : "Category name",
  }
}

ОТВЕТ

{
  "kb_category" : {
    "category_id" : 234,
    "category_title" : "Test category",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "kb_category": { "category_title":"Test category" }}' https://[domain].omnidesk.ru/api/kb_category.json

https://[domain].omnidesk.ru/api/kb_category.json GET

Получение списка категорий.

ПАРАМЕТРЫ

Название Тип Описание
page number Номер страницы (положительное целое число)
limit number Лимит категорий на странице (целое число от 1 до 100)
language_id string По умолчанию в ответе мы выводим список категорий на основном языке. Если требуется просмотреть список категорий на нужном языке, передайте этот параметр с ID языка.

Также можно передать этот параметр со значением "all", чтобы названия каждой категории отображались на всех настроенных языках.

ОТВЕТ

{
    "0" : {
      "kb_category" : {
        "category_id" : 234,
        "category_title" : "Test category 1",
        "active" : true,
        "created_at" : Mon, 05 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
      }
    },
    "1" : {
      "kb_category" : {
        "category_id" : 235,
        "category_title" : "Test category 2",
        "active" : false,
        "created_at" : Mon, 15 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 13 Dec 2014 10:55:23 +0200
      }
    },
    "total_count":10
}
{
    "0" : {
      "kb_category" : {
        "category_id" : 234,
        "category_title" : {
            "1" :"Тест 1",
            "2" :"Test category 1"
        }
        "active" : true,
        "created_at" : Mon, 05 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
      }
    },
    "1" : {
      "kb_category" : {
        "category_id" : 235,
        "category_title" : {
            "1" :"Тест 2",
            "2" :"Test category 2"
        }
        "active" : false,
        "created_at" : Mon, 15 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 13 Dec 2014 10:55:23 +0200
      }
    },
    "total_count":10
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/kb_category.json?limit=50&page=2

https://[domain].omnidesk.ru/api/kb_category/[id].json GET

Просмотр категории.

ПАРАМЕТРЫ

Название Тип Описание
language_id string По умолчанию в ответе мы выводим категорию на основном языке. Если требуется просмотреть категорию на нужном языке, передайте этот параметр с ID языка.

Также можно передать этот параметр со значением "all", чтобы название категории отображалось на всех настроенных языках.

ОТВЕТ

{
  "kb_category" : {
    "category_id" : 234,
    "category_title" : "Test category",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}
{
  "kb_category" : {
    "category_id" : 234,
    "category_title" : {
        "1" :"Тест 1",
        "2" :"Test category 1"
    }
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/kb_category/234.json

https://[domain].omnidesk.ru/api/kb_category/[id].json PUT

Редактирование категории.

ПАРАМЕТРЫ

Название Тип Описание
category_title string/array Название категории.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать название категории на разных языках. Для этого нужно передать массив с ID языка и названием для каждой языковой версии категории.

ЗАПРОС

{
  "kb_category" : {
    "category_title" : "Test category 2",
  }
}
{
  "kb_category" : {
    "category_title" : {
        "1" :"Тест 2",
        "2" :"Test category 2"
    }
  }
}

ОТВЕТ

{
  "kb_category" : {
    "category_id" : 234,
    "category_title" : "Test category 2",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "kb_category": { "category_title":"Test category 2" }}' https://[domain].omnidesk.ru/api/kb_category/234.json

https://[domain].omnidesk.ru/api/kb_category/[id]/disable.json PUT

Выключение категории.

ОТВЕТ

{
  "kb_category" : {
    "category_id" : 234,
    "category_title" : "Test category 2",
    "active" : false,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_category/234/disable.json

https://[domain].omnidesk.ru/api/kb_category/[id]/enable.json PUT

Включение категории.

ОТВЕТ

{
  "kb_category" : {
    "category_id" : 234,
    "category_title" : "Test category 2",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_category/234/enable.json

https://[domain].omnidesk.ru/api/kb_category/[id]/moveup.json PUT

Переместить на шаг вверх.

ОТВЕТ

{
  "kb_category" : {
    "category_id" : 234,
    "category_title" : "Test category 2",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_category/234/moveup.json

https://[domain].omnidesk.ru/api/kb_category/[id]/movedown.json PUT

Переместить на шаг вниз.

ОТВЕТ

{
  "kb_category" : {
    "category_id" : 234,
    "category_title" : "Test category 2",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_category/234/movedown.json

https://[domain].omnidesk.ru/api/kb_category/[id].json DELETE

Удаление категории.

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/kb_category/234.json

https://[domain].omnidesk.ru/api/kb_section.json POST

Создание раздела.

ПАРАМЕТРЫ

Название Тип Описание
section_title * string/array Название раздела.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать название раздела на разных языках. Для этого нужно передать массив с ID языка и названием для каждой языковой версии раздела.
section_description string/array Описание раздела.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать описание раздела на разных языках. Для этого нужно передать массив с ID языка и описанием для каждой языковой версии раздела.
category_id * string Id категории

ЗАПРОС

{
  "kb_section" : {
    "section_title" : "Test section",
    "section_description" : "Test section description",
	"category_id": 1
  }
}
{
  "kb_section" : {
    "section_title" : {
        "1" :"Тест 1",
        "2" :"Test section 1"
    },
    "section_description" : {
        "1" :"Тест описание 1",
        "2" :"Test section description 1"
    },
	"category_id": 1
  }
}

ОТВЕТ

{
  "kb_section" : {
    "section_id" : 10,
    "category_id" : 1,
    "section_title" : "Test section",
    "section_description" : "Test section description",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "kb_section": { "section_title":"Test section", "section_description":"Test section description", "category_id":1 }}' https://[domain].omnidesk.ru/api/kb_section.json

https://[domain].omnidesk.ru/api/kb_section.json GET

Получение списка разделов.

ПАРАМЕТРЫ

Название Тип Описание
page number Номер страницы (положительное целое число)
limit number Лимит разделов на странице (целое число от 1 до 100)
category_id * string Id категории
language_id string По умолчанию в ответе мы выводим список разделов на основном языке. Если требуется просмотреть список разделов на нужном языке, передайте этот параметр с ID языка.

Также можно передать этот параметр со значением "all", чтобы данные каждого раздела отображались на всех настроенных языках.

ОТВЕТ

{
    "0" : {
      "kb_section" : {
        "section_id" : 10,
        "category_id" : 1,
        "section_title" : "Test section",
        "section_description" : "Test section description",
        "active" : true,
        "created_at" : Mon, 05 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
      }
    },
    "1" : {
      "kb_section" : {
        "section_id" : 11,
        "category_id" : 1,
        "section_title" : "Test section 2",
        "section_description" : "Test section 2 description",
        "active" : false,
        "created_at" : Mon, 15 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 13 Dec 2014 10:55:23 +0200
      }
    },
    "total_count":10
}
{
    "0" : {
      "kb_section" : {
        "section_id" : 10,
        "category_id" : 1,
        "section_title" : {
            "1" :"Тест 1",
            "2" :"Test section 1"
        },
        "section_description" : {
            "1" :"Тест описание 1",
            "2" :"Test section description 1"
        },
        "active" : true,
        "created_at" : Mon, 05 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
      }
    },
    "1" : {
      "kb_section" : {
        "section_id" : 11,
        "category_id" : 1,
        "section_title" : {
            "1" :"Тест 2",
            "2" :"Test section 2"
        },
        "section_description" : {
            "1" :"Тест описание 2",
            "2" :"Test section description 2"
        },
        "active" : false,
        "created_at" : Mon, 15 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 13 Dec 2014 10:55:23 +0200
      }
    },
    "total_count":10
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/kb_section.json?category_id=1&limit=50&page=2

https://[domain].omnidesk.ru/api/kb_section/[id].json GET

Просмотр раздела.

ПАРАМЕТРЫ

Название Тип Описание
language_id string По умолчанию в ответе мы выводим раздел на основном языке. Если требуется просмотреть раздел на нужном языке, передайте этот параметр с ID языка.

Также можно передать этот параметр со значением "all", чтобы данные по разделу отображались на всех настроенных языках.

ОТВЕТ

{
  "kb_section" : {
    "section_id" : 10,
    "category_id" : 1,
    "section_title" : "Test section",
    "section_description" : "Test section description",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}
{
  "kb_section" : {
    "section_id" : 10,
    "category_id" : 1,
    "section_title" : {
        "1" :"Тест 1",
        "2" :"Test section 1"
    },
    "section_description" : {
        "1" :"Тест описание 1",
        "2" :"Test section description 1"
    },
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/kb_section/10.json

https://[domain].omnidesk.ru/api/kb_section/[id].json PUT

Редактирование раздела.

ПАРАМЕТРЫ

Название Тип Описание
section_title string Название раздела.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать название раздела на разных языках. Для этого нужно передать массив с ID языка и названием для каждой языковой версии раздела.
section_description string Описание раздела.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать описание раздела на разных языках. Для этого нужно передать массив с ID языка и описанием для каждой языковой версии раздела.
category_id string Id категории

ЗАПРОС

{
  "kb_section" : {
    "section_title" : "Test section 2",
    "section_description" : "Test section 2 description",
    "category_id": 2
  }
}
{
  "kb_section" : {
    "section_title" : {
        "1" :"Тест 2",
        "2" :"Test section 2"
    },
    "section_description" : {
        "1" :"Тест описание 2",
        "2" :"Test section description 2"
    },
    "category_id": 2
  }
}

ОТВЕТ

{
  "kb_section" : {
    "section_id" : 10,
    "category_id" : 2,
    "section_title" : "Test section 2",
    "section_description" : "Test section 2 description",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "kb_section": { "section_title":"Test section 2", "section_description":"Test section 2 description", "category_id": 2 }}' https://[domain].omnidesk.ru/api/kb_section/10.json

https://[domain].omnidesk.ru/api/kb_section/[id]/disable.json PUT

Выключение раздела.

ОТВЕТ

{
  "kb_section" : {
    "section_id" : 10,
    "category_id" : 2,
    "section_title" : "Test section 2",
    "section_description" : "Test section 2 description",
    "active" : false,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_section/10/disable.json

https://[domain].omnidesk.ru/api/kb_section/[id]/enable.json PUT

Включение раздела.

ОТВЕТ

{
  "kb_section" : {
    "section_id" : 10,
    "category_id" : 2,
    "section_title" : "Test section 2",
    "section_description" : "Test section 2 description",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_section/10/enable.json

https://[domain].omnidesk.ru/api/kb_section/[id]/moveup.json PUT

Переместить на шаг вверх.

ОТВЕТ

{
  "kb_section" : {
    "section_id" : 10,
    "category_id" : 2,
    "section_title" : "Test section 2",
    "section_description" : "Test section 2 description",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_section/10/moveup.json

https://[domain].omnidesk.ru/api/kb_section/[id]/movedown.json PUT

Переместить на шаг вниз.

ОТВЕТ

{
  "kb_section" : {
    "section_id" : 10,
    "category_id" : 2,
    "section_title" : "Test section 2",
    "section_description" : "Test section 2 description",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_section/10/movedown.json

https://[domain].omnidesk.ru/api/kb_section/[id].json DELETE

Удаление раздела.

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/kb_section/10.json

https://[domain].omnidesk.ru/api/kb_article.json POST

Создание статьи.

ПАРАМЕТРЫ

Название Тип Описание
article_title * string/array Название статьи.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать название статьи на разных языках. Для этого нужно передать массив с ID языка и названием для каждой языковой версии статьи.
article_content * string/array Содержание статьи.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать содержание статьи на разных языках. Для этого нужно передать массив с ID языка и содержанием для каждой языковой версии статьи.
article_tags string/array Ключевые слова для поиска.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать ключевые слова для поиска на разных языках. Для этого нужно передать массив с ID языка и ключевыми словами для каждой языковой версии статьи.
section_id * string Id раздела
access_type string Уровень доступа (public или staff_only). По умолчанию - public

ЗАПРОС

{
  "kb_article" : {
    "article_title" : "Test article title",
    "article_content" : "Test article content",
    "article_tags" : "test,article,content",
    "section_id": 10
  }
}
{
  "kb_article" : {
    "article_title" : {
        "1" :"Название статьи",
        "2" :"Test article title"
    },
    "article_content" : {
        "1" :"Содержание статьи",
        "2" :"Test article content"
    },
    "article_tags" : {
        "1" :"тег,тег,тег",
        "2" :"tag,tag,tag"
    },
    "section_id": 10
  }
}

ОТВЕТ

{
  "kb_article" : {
    "article_id" : 100,
    "section_id" : 10,
    "article_title" : "Test article title",
    "article_content" : "Test article content",
    "article_tags" : "tag,tag,tag",
	"access_type" : "public",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "kb_article": { "article_title":"Test article title", "article_content":"Test article content", "section_id": 10 }}' https://[domain].omnidesk.ru/api/kb_article.json

https://[domain].omnidesk.ru/api/kb_article.json GET

Получение списка статей.

ПАРАМЕТРЫ

Название Тип Описание
page number Номер страницы (положительное целое число)
limit number Лимит статей на странице (целое число от 1 до 100)
search string Строка для поиска (по необходимости, не менее 3 символов)
section_id string ID раздела для вывода статей только конкретного раздела
language_id string По умолчанию в ответе мы выводим список статей на основном языке. Если требуется просмотреть список статей на нужном языке, передайте этот параметр с ID языка.

Также можно передать этот параметр со значением "all", чтобы данные каждой статьи отображались на всех настроенных языках.

ОТВЕТ

{
    "0" : {
      "kb_article" : {
        "article_id" : 100,
        "section_id" : 10,
        "article_title" : "Test article title",
        "article_content" : "Test article content",
	    "article_tags" : "tag,tag,tag",
    	"access_type" : "public",
        "active" : true,
        "created_at" : Mon, 05 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
      }
    },
    "1" : {
      "kb_article" : {
        "article_id" : 101,
        "section_id" : 11,
        "article_title" : "Test article title 2",
        "article_content" : "Test article content",
        "article_tags" : "tag,tag,tag",
		"access_type" : "public",
        "active" : false,
        "created_at" : Mon, 15 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 13 Dec 2014 10:55:23 +0200
      }
    }
}
{
    "0" : {
      "kb_article" : {
        "article_id" : 100,
        "section_id" : 10,
         "article_title" : {
            "1" :"Название статьи",
            "2" :"Test article title"
        },
        "article_content" : {
            "1" :"Содержание статьи",
            "2" :"Test article content"
        },
        "article_tags" : {
            "1" :"тег,тег,тег",
            "2" :"tag,tag,tag"
        },
        "access_type" : "public",
        "active" : true,
        "created_at" : Mon, 05 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
      }
    },
    "1" : {
      "kb_article" : {
        "article_id" : 101,
        "section_id" : 11,
        "article_title" : {
            "1" :"Название статьи 2",
            "2" :"Test article title 2"
        },
        "article_content" : {
            "1" :"Содержание статьи",
            "2" :"Test article content"
        },
        "article_tags" : {
            "1" :"тег,тег,тег",
            "2" :"tag,tag,tag"
        },
		"access_type" : "public",
        "active" : false,
        "created_at" : Mon, 15 May 2014 00:15:17 +0300,
        "updated_at" : Tue, 13 Dec 2014 10:55:23 +0200
      }
    }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/kb_article.json?limit=50&page=2

https://[domain].omnidesk.ru/api/kb_article/[id].json GET

Просмотр статьи.

ПАРАМЕТРЫ

Название Тип Описание
language_id string По умолчанию в ответе мы выводим статью на основном языке. Если требуется просмотреть статью на нужном языке, передайте этот параметр с ID языка.

Также можно передать этот параметр со значением "all", чтобы данные статьи отображались на всех настроенных языках.

ОТВЕТ

{
  "kb_article" : {
    "article_id" : 100,
    "section_id" : 10,
    "article_title" : "Test article title",
    "article_content" : "Test article content",
	"article_tags" : "tag,tag,tag",
    "access_type" : "public",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}
{
  "kb_article" : {
    "article_id" : 100,
    "section_id" : 10,
    "article_title" : {
        "1" :"Название статьи",
        "2" :"Test article title"
    },
    "article_content" : {
        "1" :"Содержание статьи",
        "2" :"Test article content"
    },
    "article_tags" : {
        "1" :"тег,тег,тег",
        "2" :"tag,tag,tag"
    },
    "access_type" : "public",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/kb_article/100.json

https://[domain].omnidesk.ru/api/kb_article/[id].json PUT

Редактирование статьи.

ПАРАМЕТРЫ

Название Тип Описание
article_title string/array Название статьи.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать название статьи на разных языках. Для этого нужно передать массив с ID языка и названием для каждой языковой версии статьи.
article_content string/array Содержание статьи.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать содержание статьи на разных языках. Для этого нужно передать массив с ID языка и содержанием для каждой языковой версии статьи.
article_tags string/array Ключевые слова для поиска.

Если у вас включена мультиязычность, и база знаний доступна на нескольких языках, вы можете сразу указать ключевые слова для поиска на разных языках. Для этого нужно передать массив с ID языка и ключевыми словами для каждой языковой версии статьи.
section_id string Id раздела
access_type string Уровень доступа (public или staff_only)

ЗАПРОС

{
  "kb_article" : {
    "article_title" : "Test article title 2",
    "article_content" : "Test article 2 content",
    "article_tags" : "tag,tag_new",
    "section_id": 20
  }
}
{
  "kb_article" : {
    "article_title" : {
        "1" :"Название статьи 2",
        "2" :"Test article title 2"
    },
    "article_content" : {
        "1" :"Содержание статьи 2",
        "2" :"Test article content2"
    },
    "article_tags" : {
        "1" :"тег,те",
        "2" :"tag,tag"
    },
    "section_id": 20
  }
}

ОТВЕТ

{
  "kb_article" : {
    "article_id" : 100,
    "section_id" : 20,
    "article_title" : "Test article title 2",
    "article_content" : "Test article 2 content",
    "article_tags" : "tag,tag_new",
	"access_type" : "public",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "kb_article": { "article_title":"Test article title 2", "article_content":"Test article 2 content", "section_id": 20 }}' https://[domain].omnidesk.ru/api/kb_article/100.json

https://[domain].omnidesk.ru/api/kb_article/[id]/disable.json PUT

Выключение статьи.

ОТВЕТ

{
  "kb_article" : {
    "article_id" : 100,
    "section_id" : 20,
    "article_title" : "Test article title 2",
    "article_content" : "Test article 2 content",
    "article_tags" : "tag,tag,tag",
	"access_type" : "public",
    "active" : false,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_article/100/disable.json

https://[domain].omnidesk.ru/api/kb_article/[id]/enable.json PUT

Включение статьи.

ОТВЕТ

{
  "kb_article" : {
    "article_id" : 100,
    "section_id" : 20,
    "article_title" : "Test article title 2",
    "article_content" : "Test article 2 content",
    "article_tags" : "tag,tag,tag",
	"access_type" : "public",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_article/100/enable.json

https://[domain].omnidesk.ru/api/kb_article/[id]/moveup.json PUT

Переместить на шаг вверх.

ОТВЕТ

{
  "kb_article" : {
    "article_id" : 100,
    "section_id" : 20,
    "article_title" : "Test article title 2",
    "article_content" : "Test article 2 content",
    "article_tags" : "tag,tag,tag",
	"access_type" : "public",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_article/100/moveup.json

https://[domain].omnidesk.ru/api/kb_article/[id]/movedown.json PUT

Переместить на шаг вниз.

ОТВЕТ

{
  "kb_article" : {
    "article_id" : 100,
    "section_id" : 20,
    "article_title" : "Test article title 2",
    "article_content" : "Test article 2 content",
    "article_tags" : "tag,tag,tag",
	"access_type" : "public",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/kb_article/100/movedown.json

https://[domain].omnidesk.ru/api/kb_article/[id].json DELETE

Удаление статьи.

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/kb_article/100.json

https://[domain].omnidesk.ru/api/stats_lb_staff.json GET

Лучшие в команде по сотрудникам.

Средние скорость первого ответа и скорость закрытия выводятся в секундах.

ПАРАМЕТРЫ

Название Тип Описание
from_time * string Начало периода для отображения статистики (строковое значение)
to_time * string Конец периода для отображения статистики (строковое значение)

ОТВЕТ

{
  "staff" : {
    "staff_id" : 100,
    "staff_name" : "Viktor Persov",
    "cases_with_first_reply" : 36,
    "first_reply_speed" : 28,
    "total_amount_of_replies" : 89,
    "closed_cases" : 17,
    "closing_speed" : 445,
    "average_rating" : 84%
  },
  "staff" : {
    "staff_id" : 102,
    "staff_name" : "Stas Pokrasin",
    "cases_with_first_reply" : 61,
    "first_reply_speed" : 43,
    "total_amount_of_replies" : 137,
    "closed_cases" : 29,
    "closing_speed" : 409,
    "average_rating" : 79%
  },
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET "https://[domain].omnidesk.ru/api/stats_lb_staff.json?from_time=01+Jan+2015+00%3A00%3A00+%2B0300&to_time=05+Dec+2015+00%3A00%3A00+%2B0300"

https://[domain].omnidesk.ru/api/stats_lb_groups.json GET

Лучшие в команде по группам.

Средние скорость первого ответа и скорость закрытия выводятся в секундах.

ПАРАМЕТРЫ

Название Тип Описание
from_time * string Начало периода для отображения статистики (строковое значение)
to_time * string Конец периода для отображения статистики (строковое значение)

ОТВЕТ

{
  "group" : {
    "group_id" : 21,
    "group_name" : "General questions",
    "cases_with_first_reply" : 86,
    "first_reply_speed" : 36,
    "total_amount_of_replies" : 194,
    "closed_cases" : 57,
    "closing_speed" : 458,
    "average_rating" : 82%
  },
  "staff" : {
    "group_id" : 22,
    "group_name" : "Billing questions",
    "cases_with_first_reply" : 34,
    "first_reply_speed" : 42,
    "total_amount_of_replies" : 91,
    "closed_cases" : 13,
    "closing_speed" : 607,
    "average_rating" : 89%
  },
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET "https://[domain].omnidesk.ru/api/stats_lb_groups.json?from_time=01+Jan+2015+00%3A00%3A00+%2B0300&to_time=05+Dec+2015+00%3A00%3A00+%2B0300"

https://[domain].omnidesk.ru/api/ideas_category.json POST

Создание категории.

ПАРАМЕТРЫ

Название Тип Описание
category_title * string Название категории

ЗАПРОС

{
  "ideas_category" : {
    "category_title" : "Test category",
  }
}

ОТВЕТ

{
  "ideas_category" : {
    "category_id" : 234,
    "category_title" : "Test category",
    "active" : true,
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "ideas_category": { "category_title":"Test category" }}' https://[domain].omnidesk.ru/api/ideas_category.json

https://[domain].omnidesk.ru/api/ideas_category.json GET

Получение списка категорий.

ПАРАМЕТРЫ

Название Тип Описание
page number Номер страницы (положительное целое число)
limit number Лимит категорий на странице (целое число от 1 до 100)

ОТВЕТ

{
    "0" : {
      "ideas_category" : {
        "category_id" : 234,
        "category_title" : "Test category 1",
        "active" : true,
      }
    },
    "1" : {
      "ideas_category" : {
        "category_id" : 235,
        "category_title" : "Test category 2",
        "active" : false,
      }
    },
    "total_count":10
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/ideas_category.json?limit=50&page=2

https://[domain].omnidesk.ru/api/ideas_category/[id].json GET

Просмотр категории.

ОТВЕТ

{
  "ideas_category" : {
    "category_id" : 234,
    "category_title" : "Test category",
    "active" : true,
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/ideas_category/234.json

https://[domain].omnidesk.ru/api/ideas_category/[id].json PUT

Редактирование категории.

ПАРАМЕТРЫ

Название Тип Описание
category_title string Название категории

ЗАПРОС

{
  "ideas_category" : {
    "category_title" : "Test category 2",
  }
}

ОТВЕТ

{
  "ideas_category" : {
    "category_id" : 234,
    "category_title" : "Test category 2",
    "active" : true,
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '{ "ideas_category": { "category_title":"Test category 2" }}' https://[domain].omnidesk.ru/api/ideas_category/234.json

https://[domain].omnidesk.ru/api/ideas_category/[id]/disable.json PUT

Выключение категории.

ОТВЕТ

{
  "ideas_category" : {
    "category_id" : 234,
    "category_title" : "Test category 2",
    "active" : false,
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/ideas_category/234/disable.json

https://[domain].omnidesk.ru/api/ideas_category/[id]/enable.json PUT

Включение категории.

ОТВЕТ

{
  "ideas_category" : {
    "category_id" : 234,
    "category_title" : "Test category 2",
    "active" : true,
    "created_at" : Mon, 05 May 2014 00:15:17 +0300,
    "updated_at" : Tue, 23 Dec 2014 10:55:23 +0200
  }
}

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d '' https://[domain].omnidesk.ru/api/ideas_category/234/enable.json

https://[domain].omnidesk.ru/api/ideas_category/[id].json DELETE

Удаление категории.

ОТВЕТ

HTTP Status: 200 OK

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X DELETE https://[domain].omnidesk.ru/api/ideas_category/234.json

https://[domain].omnidesk.ru/api/client_emails.json GET

Просмотр всех email-адресов клиента.

ОТВЕТ

{
    "0": {
        "client_emails": {
            "email_id": 7,
            "email": "example@gmail.com",
            "active": true
        }
    },
    "1": {
        "client_emails": {
            "email_id": 9,
            "email": "support@example.omnidesk.ru",
            "active": true
        }
    },
    "2": {
        "client_emails": {
            "email_id": 127,
            "email": "test@example.omnidesk.ru",
            "active": false
        }
    },
    "total_count": 3

Пример кода

curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/client_emails.json