POST /chat/message

Метод позволяет отправить сообщения чат-рума.

Формат запроса

POST https://apiauto.ru/1.0/chat/message

Заголовки запроса

Заголовок

Описание

x-session-id

Идентификатор сессии пользователя. Значение можно получить с помощью операции POST /auth/login

x-authorization

Авторизационный токен. См. подробнее Доступ к API

Формат тела запроса

{
  "room_id": {string},
  "payload": {
    "content_type": {string},
    "value": {string}
  },
  "provided_id": {string},
}

room_id*

Идентификатор чата, в который отправляется сообщение

payload*

Объект, содержащий тип контента и само сообщение

content_type

Тип данных в сообщении. Возможные варианты: TEXT_PLAIN


value

Текст сообщения


provided_id

Ключ идемпотентности


* Обязательный параметр

Общая структура ответа приведена ниже. Порядок следования элементов не гарантируется. В структуре могут присутствовать служебные параметры, которые не описаны в таблице.

Формат ответа

{
  "message": {
    "id": {string},
    "room_id": {string},
    "author": {string},
    "created": {string},
    "payload": {
      "content_type": {string},
      "value": {string}
    },
    "provided_id": {string}, 
    "me": {boolean},
  },
  "error": {string},
  "status": {string},
  "detailed_error": {string}
}

message

Объект отправленного сообщения, включая его id, room_id, автора, время создания, payload, provided_id и флаг me (отправитель — это текущий пользователь)


id

Идентификатор сообщения


room_id

Уникальный идентификатор чат-рума


author

Уникальный идентификатор автора сообщения


created

Время создания чат-рума в формате YYYY-MM-DD:HH-MM-SS.sss.Z.

Составные части формата:
  • YYYY-MM-DD — дата (год, месяц, день);
  • HH-MM-SS — время (часы, минуты, секунды);
  • .sss — миллисекунды;
  • Z — указание на временную зону (UTC).

payload

Содержимое сообщения


content_type

Тип данных в сообщении. Возможные варианты: TEXT_PLAIN, TEXT_HTML


value

Текст сообщения


provided_id

Ключ идемпотентности


me

Cообщение написано текущим пользователем (тем, кто сделал запрос). Допустимые значения:

true — да;
false — нет


error

Описание ошибки, если она есть


status

Статус выполнения запроса. Возможные значения: SUCCESS, ERROR


detailed_error

Детальное описание ошибки, если она есть


Коды ответа

Код

Причина

Описание

200

OK

Успешный запрос.

400

BAD_REQUEST

Синтаксическая ошибка в запросе.

401

NO_AUTH

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

500

INTERNAL SERVER ERROR

Внутренняя ошибка сервера.

Пример

Запрос:

curl -X 'POST' \
 'https://apiauto.ru/1.0/chat/message' \
 -H 'accept: application/json' \
 -H 'x-session: ...' \
 -H 'x-authorization: ...' \
 -H 'Content-Type: application/json' \
 -d '{
 "room_id": "5fc79a5859760e3b424ee9ccfce96dd5",
 "payload": {
   "content_type": "TEXT_PLAIN",
   "value": "Привет"
 }
}'

Ответ:

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 12 Jul 2018 13:30:59 GMT
Content-Type: application/json
Connection: keep-alive

{
  "status": "SUCCESS"
}                                     

* Обязательный параметр

Предыдущая
Следующая