OMNIDESK API
Обращения
Создание обращения
POST  |  https://[domain].omnidesk.ru/api/cases.json
Создание нового обращения
Параметры
Запрос
{
  "case" : {
    "user_email" : "user@domain.ru",
    "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
Создание обращения с файлами
POST  |  https://[domain].omnidesk.ru/api/cases.json
Создание нового обращения с файлами.
Максимальный размер одного прикрепляемого файла — 25МB.
Суммарный размер файлов не должен превышать 50МB.
Есть два варианта отправить запрос:
— в формате multipart/form-data, чтобы передать в запросе сами файлы;
— с использованием параметра attachment_urls, чтобы указать ссылки на файлы.
Запрос в формате multipart/form-data
{
  "case[user_email]": "alex@abcompany.com",
  "case[user_full_name]": "Алексей",
  "case[subject]": "Договор и счёт",
  "case[content]": "Коллеги, добрый день! Документы в приложении.",
  "case[attachments][1]": "Contract.pdf",
  "case[attachments][2]": "Invoice.pdf"
}
Запрос c использованием параметра attachment_urls
{
  "case" : {
    "user_email" : "alex@abcompany.com",
    "user_full_name": "Алексей",
    "subject" : "Договор и счёт",
    "content" : "Коллеги, добрый день! Документы в приложении.",
    "attachment_urls":  [
        "https://abcompany.ru/548899/contract.pdf",
        "https://abcompany.ru/548899/invoice.pdf"
    ]
  }
}
Ответ
{
  "case" : {
    "case_id" : 2000,
    "case_number" : "664-245651",
    "subject" : "Договор и счёт",
    "user_id" : 123,
    "staff_id" : 22,
    "group_id" : 44,
    "status" : "waiting",
    "priority" : "normal",
    "channel" : "web",
    "recipient" : "alex@abcompany.com",
    "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]
  }
}
Пример кода в формате multipart/form-data
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]=alex@abcompany.com" -F "case[language_id]=2" -F "case[custom_fields][cf_44]=3" -X POST https://[domain].omnidesk.ru/api/cases.json
Пример кода c использованием параметра attachment_urls
curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "case": { "user_email":"alex@abcompany.com", "subject":"Договор и счёт", "content":"Коллеги, добрый день! Документы в приложении.", "attachment_urls":  ["https://abcompany.ru/548899/contract.pdf", "https://abcompany.ru/548899/invoice.pdf"] }}' https://[domain].omnidesk.ru/api/cases.json
Получение списка обращений
GET  |  https://[domain].omnidesk.ru/api/cases.json
Просмотр списка обращений.

При передаче параметра с типом array (к примеру, несколько ID пользователей через параметр user_id) можно указать не более 20 значений.

В ответе на запрос параметр labels передаёт все метки обращения, locked_labels — метки, добавленные через правила и SLA, которые сотрудники не могут удалять ни через веб-версию, ни через мобильные приложения.
1. В рамках одного запроса можно получить до 100 обращений, то есть максимальное значение параметра «limit» — 100.

2. Чтобы получать обращения пачками, нужно передавать параметры «page» и «limit». Параметр «page» позволяет получить нужную страницу с обращениями, количество которых определяет параметр «limit».

3. Определить, сколько всего есть страниц с обращениями по заданным вами параметрам фильтрации, можно через «total_count» в ответе на первый запрос.

4. Если в запросе не указывать параметры «page» и «limit», вы получите 100 первых обращений с учётом заданной сортировки. По умолчанию используется сортировка «updated_at_desc» — по времени последнего изменения (от новых к старым).

5. Максимальное значение параметра «page» — 500.

Если у вас много обращений и вы хотите получить все обращения, нужно в аккаунте сотрудника в разделе «Обращения» проверить, когда было создано первое обращение, а после разделить весь период на небольшие интервалы и в рамках каждого интервала передавать параметры «page» и «limit».

Допустим, вы использовали Омнидеск в течение года, и за этот период в вашем аккаунте было создано 1 000 000 обращений. Можно разделить год на 52 недели и получать данные за каждую неделю, передавая параметры:
  • «page» и «limit» для получения нужной пачки обращений;
  • «from_time» и «to_time», чтобы в выборку попадали обращения за нужную неделю с учётом времени создания;
  • «sort=created_at_asc», чтобы обращения были отсортированы по времени создания, начиная с самого старого.

В некоторых случаях, вместо параметров «from_time» и «to_time», может быть уместнее использовать параметры «from_updated_time» и «to_updated_time».
Параметры
Ответ
{
    "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",
        "closed_at" : "-",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "last_response_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "parent_case_id": 0,
        "closing_speed": "-", // значение в минутах. 0 - меньше минуты,
                              // "-" - не закрыто
        "language_id" : 2,
        "custom_fields" : {
          "cf_25" : "some text",
          "cf_30" : "another field"
        },
        "labels" : [101, 102],
        "locked_labels" : [101]
      }
    },
    "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",
        "closed_at" : "-",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "last_response_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "parent_case_id": 0,
        "closing_speed": "-",
        "language_id" : 2,
        "custom_fields" : {
          "cf_25" : "some text",
          "cf_30" : "another field"
        },
        "labels" : [101, 102],
        "locked_labels" : [101]
      }
    },
    "2": {
      "case" : {
        "case_id" : 2002,
        "case_number" : "634-245651",
        "subject" : "Please, help me!",
        "user_id" : 123,
        "staff_id" : 22,
        "group_id" : 44,
        "status" : "waiting",
        "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",
        "closed_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "last_response_at" : "Tue, 23 Dec 2014 10:54:59 +0200",
        "parent_case_id": 0,
        "closing_speed": "-",
        "language_id" : 1,
        "custom_fields" : {
          "cf_25" : "some text",
          "cf_30" : "another field"
        },
        "labels" : [101, 102],
        "locked_labels" : [101]
      }
    },
    "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",
        "closed_at" : "Tue, 23 Dec 2014 09:47:02 +0200",
        "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
        "last_response_at" : "Tue, 23 Dec 2014 09:47:02 +0200",
        "parent_case_id": 0,
        "closing_speed": 7,
        "language_id" : 2,
        "custom_fields" : {
          "cf_25" : "some text",
          "cf_30" : "another field"
        },
        "labels" : [101, 102],
        "locked_labels" : [101],
        "rating": "high",
        "rating_comment": "cool123",
        "rated_staff_id": 193
      }
    },
    "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
Получение списка фильтров
GET  |  https://[domain].omnidesk.ru/api/filters.json
Просмотр всех фильтров сотрудника, данные которого используются при аутентификации.
Ответ
{
    "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
Просмотр обращения
GET  |  https://[domain].omnidesk.ru/api/cases/[id].json
Просмотр данных конкретного обращения.

В ответе на запрос параметр labels передаёт все метки обращения, locked_labels — метки, добавленные через правила и SLA, которые сотрудники не могут удалять ни через веб-версию, ни через мобильные приложения.
Ответ
{
  "case" : {
    "case_id" : 2000,
    "case_number" : "664-245651",
    "subject" : "I need help",
    "user_id" : 123,
    "staff_id" : 22,
    "group_id" : 44,
    "status" : "closed",
    "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",
    "closed_at" : "-",
    "updated_at" : "Tue, 23 Dec 2014 10:55:23 +0200",
    "last_response_at" : "Tue, 23 Dec 2014 09:53:14 +0200",
    "closing_speed": 15, // значение в минутах. 0 - меньше минуты,
                              // "-" - не закрыто
    "language_id" : 2,
    "custom_fields" : {
      "cf_25" : "some text",
      "cf_30" : "another field"
    },
    "labels" : [101, 102, 103, 104, 105],
    "locked_labels" : [104, 105],
    "rating": "high",
    "rating_comment": "cool123",
    "rated_staff_id": 193
  }
}
Пример кода
curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/cases/2000.json
Просмотр сообщений
GET  |  https://[domain].omnidesk.ru/api/cases/[id]/messages.json
Просмотр сообщений конкретного обращения.

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

❗️Когда в сообщении есть изображения по тексту или прикреплённые файлы, в ответе на запрос вы получаете ссылки на них. У свежих сообщений ссылки на изображения и файлы работают без авторизации. Если же сообщение было создано более 30 дней назад, то есть файлы старые, для их получения нужно использовать тот же метод аутентификации, который вы используете для выполнения запросов в адрес API Омнидеска.
Параметры
Ответ
{
  "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",
        "sent_at" : "Mon, 05 May 2014 00:15:17 +0300",
        "rating": "high",
        "rating_comment": "cool123",
        "rated_staff_id": 0
      }
    },
  "1": {
      "message" : {
        "message_id" : 200198234,
        "user_id" : 0,
        "staff_id" : 41094,
        "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, 15 May 2023 09:28:43 +0300",
        "sent_at" : "Mon, 15 May 2023 10:15:17 +0300" // если created_at и sent_at отличаются, значит, запланирована отложенная отправка сообщения
      }
    },
    "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
Просмотр истории действий
GET  |  https://[domain].omnidesk.ru/api/cases/[id]/changelog.json
Просмотр истории действий конкретного обращения.

По умолчанию в ответе выводятся практически все записи истории действий обращения. Для фильтрации в запросе нужно передавать параметры из приведённой ниже таблицы.

Если в запросе не указывать параметры page и limit, отобразятся последние 100 записей истории действий.
История действий хранится за последний год. Если обращение старое, в нём не будет истории действий. Если обращение было создано больше года назад, но в нём до сих пор появляются новые события (изменение параметров, ответы пользователей, ответы сотрудников, заметки), в истории действий этого обращения будут данные только за последний год.
Параметры
Ответ
{
    "changelog": [{
            "created_at": "Fri, 13 Aug 2021 12:57:54 +0300",
            "event": "rules",
            "done_by": "rule_1332",
            "old_value": "Slack Notification (ID - 1332)"
        },
        {
            "created_at": "Fri, 13 Aug 2021 12:57:54 +0300",
            "event": "staff",
            "done_by": "rule_1332",
            "old_value": "0",
            "value": "330"
        },
        {
            "created_at": "Fri, 13 Aug 2021 12:57:54 +0300",
            "event": "fixed_chat",
            "done_by": "rule_1332",
            "old_value": "0",
            "value": "330"
        },
        {
            "created_at": "Fri, 13 Aug 2021 12:57:54 +0300",
            "event": "group",
            "done_by": "rule_1336",
            "old_value": "341",
            "value": "344"
        },
        {
            "created_at": "Fri, 13 Aug 2021 12:58:07 +0300",
            "event": "status",
            "done_by": "staff_330",
            "old_value": "open",
            "value": "waiting"
        },
        {
            "created_at": "Fri, 13 Aug 2021 12:58:13 +0300",
            "event": "custom_field_94",
            "done_by": "staff_330",
            "old_value": "",
            "value": "1"
        },
    ]
}
Пример кода
curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X GET https://[domain].omnidesk.ru/api/cases/128-917744/changelog.json?show_chat_completion=true&status=any,any
Добавление ответа
POST  |  https://[domain].omnidesk.ru/api/cases/[id]/messages.json
Добавление ответа сотрудника/пользователя к обращению.
Массовое добавление ответа: https://[domain].omnidesk.ru/api/cases/[id],[id],[id]/messages.json.

Не более 10 обращений в одном запросе.
Параметры
Запрос
{ 
  "message" : {
    "user_id" : "18772600", 
    "content" : "текст сообщения пользователя"
  }
}
Ответ
{
  "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
Добавление ответа с файлами
POST  |  https://[domain].omnidesk.ru/api/cases/[id]/messages.json
Добавление ответа с файлами сотрудника/пользователя к обращению.
Максимальный размер одного прикрепляемого файла — 25МB.
Суммарный размер файлов не должен превышать 50МB.
Есть два варианта отправить запрос:
— в формате multipart/form-data, чтобы передать в запросе сами файлы;
— с использованием параметра attachment_urls, чтобы указать ссылки на файлы.
Запрос в формате multipart/form-data
{
  "message[user_id]": 18772600,
  "message[content]": "Документы в приложении.",
  "message[attachments][1]": "Contract.pdf",
  "message[attachments][2]": "Invoice.pdf"
}
Запрос c использованием параметра attachment_urls
{ 
  "message" : {
    "user_id" : "18772600", 
    "content" : "Документы в приложении.",
    "attachment_urls":  [
        "https://abcompany.ru/548899/contract.pdf",
        "https://abcompany.ru/548899/invoice.pdf"
    ]
  }
}
Ответ
{
  "message" : {
    "message_id" : 2001,
    "user_id" : 18772600,
    "staff_id" : 0,
    "content" : "Документы в приложении",
    "content_html" : "",
    "attachments" : [
      {
          "file_id" : 345,
          "file_name" : "contract.pdf",
          "file_size" : 40863,
          "mime_type" : "application/pdf",
          "url" : "https://[domain].omnidesk.ru/some_path_here/345"
      },
      {
          "file_id" : 346,
          "file_name" : "invoice.pdf",
          "file_size" : 50863,
          "mime_type" : "application/pdf",
          "url" : "https://[domain].omnidesk.ru/some_path_here/346"
      }
    ],
    "note" : false,
    "created_at" : "Mon, 06 May 2014 00:15:17 +0300"
  }
}
Пример кода в формате multipart/form-data
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[user_id]=18772600" -X POST https://[domain].omnidesk.ru/api/cases/200/messages.json
Пример кода c использованием параметра attachment_urls
curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "message": { "user_id":18772600, "content":"Документы в приложении.", "attachment_urls":  ["https://abcompany.ru/548899/contract.pdf", "https://abcompany.ru/548899/invoice.pdf"]  }}' https://[domain].omnidesk.ru/api/cases/200/messages.json
Редактирование ответа
PUT  |  https://[domain].omnidesk.ru/api/cases/[case_id]/messages/[message_id].json
Редактирование ответа сотрудника/пользователя в обращении.
Параметры
Запрос
{
  "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
Удаление ответа
DELETE  |  https://[domain].omnidesk.ru/api/cases/[case_id]/messages/[message_id].json
Удаление ответа.
Ответ
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
Добавление заметки
POST  |  https://[domain].omnidesk.ru/api/cases/[id]/note.json
Добавление заметки к обращению.
Массовое добавление заметки: https://[domain].omnidesk.ru/api/cases/[id],[id],[id]/note.json.

Не более 10 обращений в одном запросе.
Параметры
Запрос
{
  "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/note.json
Добавление заметки с файлами
POST  |  https://[domain].omnidesk.ru/api/cases/[id]/note.json
Добавление заметки с файлами к обращению.
Максимальный размер одного прикрепляемого файла — 25МB.
Суммарный размер файлов не должен превышать 50МB.
Есть два варианта отправить запрос:
— в формате multipart/form-data, чтобы передать в запросе сами файлы;
— с использованием параметра attachment_urls, чтобы указать ссылки на файлы.
Запрос в формате multipart/form-data
{
  "note[staff_id]": "15789",
  "note[content]": "Документы в приложении.",
  "note[attachments][1]": "Contract.pdf",
  "note[attachments][2]": "Invoice.pdf"
}
Запрос c использованием параметра attachment_urls
{
  "note" : {
    "staff_id" : "15789",
    "content" : "Документы в приложении.",
    "attachment_urls":  [
        "https://abcompany.ru/548899/contract.pdf",
        "https://abcompany.ru/548899/invoice.pdf"
    ]
  }
}
Ответ
{
  "message" : {
    "message_id" : 2001,
    "user_id" : 0,
    "staff_id" : 15789,
    "content" : "Документы в приложении.",
    "content_html" : "",
    "attachments" : [
      {
          "file_id" : 345,
          "file_name" : "contract.pdf",
          "file_size" : 40863,
          "mime_type" : "application/pdf",
          "url" : "https://[domain].omnidesk.ru/some_path_here/345"
      },
      {
          "file_id" : 346,
          "file_name" : "invoice.pdf",
          "file_size" : 50863,
          "mime_type" : "application/pdf",
          "url" : "https://[domain].omnidesk.ru/some_path_here/346"
      }
    ],
    "note" : true,
    "created_at" : "Mon, 06 May 2014 00:15:17 +0300"
  }
}
Пример кода в формате multipart/form-data
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" -F "note[staff_id]=15789" -X POST https://[domain].omnidesk.ru/api/cases/200/note.json
Пример кода c использованием параметра attachment_urls
curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X POST -d '{ "note": { "staff_id":15789, "content":"Документы в приложении.", "attachment_urls":  ["https://abcompany.ru/548899/contract.pdf", "https://abcompany.ru/548899/invoice.pdf"]  }}' https://[domain].omnidesk.ru/api/cases/200/note.json
Редактирование заметки
PUT  |  https://[domain].omnidesk.ru/api/cases/[case_id]/note/[message_id].json
Редактирование заметки.
Параметры
Запрос
{
  "note" : {
    "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
Удаление заметки
DELETE  |  https://[domain].omnidesk.ru/api/cases/[case_id]/note/[message_id].json
Удаление заметки.
Ответ
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
Добавление оценки обращения
PUT | https://[domain].omnidesk.ru/api/cases/[case_id]/rate.json
Добавить оценку обращения/чата от имени пользователя.

Применяется, если в настройках оценок обращений по почте выбрана опция «отдельным письмом после закрытия обращения» и/или в настройках оценок в чатах выбрана любая опция.
Параметры
Запрос
{ 
  "rate" : { 
       "rating" : "low\middle\high", 
       "rating_comment" : "cool",
       "rating_staff_id" : 189
   }
}
Ответ
{
  "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]
    "rating": "high", 
    "rating_comment": "cool123",
    "rated_staff_id": 189
  }
}
Пример кода
curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d "{ \"rate\" : { \"rating\" : \"low\", \"rating_comment\" : \"cool\" }} " https://[domain].omnidesk.ru/api/cases/47223/rate.json
Добавление оценки сообщения
PUT | https://[domain].omnidesk.ru/api/cases/[case_id]/rate/[message_id].json
Добавить оценку конкретному ответу сотрудника.

Применяется, если в настройках оценок обращений по почте выбрана опция «в подписи каждого ответа сотрудника».
Параметры
Запрос
{ 
  "rate" : { 
       "rating" : "low\middle\high", 
       "rating_comment" : "cool"
   }
}
Ответ
{
  "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",
    "rating": "low",
    "rating_comment": "cool",
    "rated_staff_id": 0
  }
}
Пример кода
curl -u [staff_email]:[api_key] -H "Content-Type: application/json" -X PUT -d "{ \"rate\" : { \"rating\" : \"low\", \"rating_comment\" : \"cool\" }} " https://[domain].omnidesk.ru/api/cases/47223/rate/153624.json
Редактирование обращений
PUT  |  https://[domain].omnidesk.ru/api/cases/[id].json
Изменение параметров конкретного обращения.
Массовое редактирование: https://[domain].omnidesk.ru/api/cases/[id],[id],[id].json.

Не более 10 обращений в одном запросе.
Параметры
Запрос
{
  "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
Удаление в корзину
PUT  |  https://[domain].omnidesk.ru/api/cases/[id]/trash.json
Удаление обращения в корзину.
Массовое удаление в корзину: https://[domain].omnidesk.ru/api/cases/[id],[id],[id]/trash.json.

Не более 10 обращений в одном запросе.
Ответ
{
  "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
Пометить как спам
PUT  |  https://[domain].omnidesk.ru/api/cases/[id]/spam.json
Перенос обращения в фильтр «Спам».
Массовый перенос в спам: https://[domain].omnidesk.ru/api/cases/[id],[id],[id]/spam.json.

Не более 10 обращений в одном запросе.
Ответ
{
  "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
Восстановление обращений
PUT  |  https://[domain].omnidesk.ru/api/cases/[id]/restore.json
Восстановление обращения из корзины или спама.
Массовое восстановление: https://[domain].omnidesk.ru/api/cases/[id],[id],[id]/restore.json.

Не более 10 обращений в одном запросе.
Ответ
{
  "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
Полное удаление обращений
DELETE  |  https://[domain].omnidesk.ru/api/cases/[id].json
Безвозвратное удаление обращения. Доступно только для сотрудников с полным доступом.
Массовое полное удаление: https://[domain].omnidesk.ru/api/cases/[id],[id],[id].json.

Не более 10 обращений в одном запросе.
Ответ
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
Редактирование предложения
PUT  |  https://[domain].omnidesk.ru/api/cases/[case_id]/idea.json
Редактирование предложения.
Параметры
Запрос
{
  "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
Обновление официального ответа предложения
PUT  |  https://[domain].omnidesk.ru/api/cases/[case_id]/idea_official_response.json
Добавление/редактирование официального ответа предложения.
Параметры
Запрос
{
  "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
Удаление официального ответа предложения
DELETE  |  https://[domain].omnidesk.ru/api/cases/[case_id]/idea_official_response.json
Удаление официального ответа предложения.
Ответ
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