# Chat

Методы: [init](#init) | [info](#info) | [createMessage](#createMessage) | [updateMessage](#updateMessage) | [deleteMessage](#deleteMessage)

## init

*Настройки чата*

#### Входные параметры

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

* *String* **apikey** (API ключ)
* *String* **code** (Код трансляции)

Необязательные параметры:

* *Boolean* **enabled** (Включить/отключить чат); значения: 1 или 0
* *Integer* **last_rows** (Количество последних сообщений из истории)
* *String* **default_message** (Сообщение по умолчанию перед сообщениями чата)
* *String* **owner_nickname** (Никнейм администратора); ограничение: 100 символов
* *Boolean* **show_users** (Показывать кнопку списка пользователей в чате)

#### Выходные параметры

* *Boolean* **IsEnabled** (Статус чата)
* *Boolean* **SaveNickname** (Сохранение никнейма)
* *Boolean* **ShowUsers** (Статус кнопки пользователей)
* *String* **OwnerNickname** (Никнейм администратора)
* *Integer* **LastRows** (Количество сообщений из истории)
* *String* **DefaultMessage** (Сообщение по умолчанию)

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

```text
https://boomstream.com/api/chat/init?apikey=[API_KEY]&code=[CODE]&enabled=1&owner_nickname=[OWNER_NICKNAME]&last_rows=10&default_message=[DEFAULT_MESSAGE]
```

Пример ответа:

```xml
<?xml version="1.0" encoding="utf-8"?>
<Response>
    <IsEnabled>true</IsEnabled>
    <SaveNickname>true</SaveNickname>
    <ShowUsers>false</ShowUsers>
    <OwnerNickname>User</OwnerNickname>
    <LastRows>10</LastRows>
    <DefaultMessage>Message</DefaultMessage>
    <Status>Success</Status>
    <Version>1.0</Version>
    <Versions>
        <Item>
            <version>1.0</version>
            <description>Boomstream API v.1.0 loads by default</description>
        </Item>
        <Item>
            <version>1.1</version>
            <description>Boomstream API v.1.1. 
Add &amp;ver=1.1 to the HTTP request to use it. 
Change log: it is changed the response format for the method - ppv/listBuyers</description>
        </Item>
    </Versions>
    <RequestURI>/api/chat/init?apikey=xxx...xxx&amp;code=cff3vgXP&amp;enabled=1&amp;owner_nickname=User&amp;last_rows=10&amp;default_message=Message&amp;show_users</RequestURI>
</Response>
```

## info

*Информация о сообщениях чата*

#### Входные параметры

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

* *String* **apikey** (API ключ)
* *String* **code** (Код трансляции)

Необязательные параметры:

* *Date* **start** (Дата начала в формате ГГГГ-ММ-ДД, например 2020-01-01); по умолчанию: неделя назад от даты окончания
* *Date* **end** (Дата окончания в формате ГГГГ-ММ-ДД, например 2020-05-01); по умолчанию: текущая дата
* *String* **order** (Порядок сортировки); варианты: asc (по возрастанию), desc (по убыванию); по умолчанию: asc
* *Integer* **page** (Номер страницы); по умолчанию: page=1

#### Выходные параметры

* *String* **Period** (Период)
* *String* **Start** (Дата начала)
* *String* **End** (Дата окончания)
* *Integer* **Page** (Текущая страница)
* *Integer* **PageLimit** (Элементов на странице)
* *Integer* **PageCount** (Всего страниц)
* *Integer* **ItemCount** (Всего элементов)
* *Array* **Items** (Список сообщений с датой, кодом, никнеймом, идентификатором, текстом)

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

```text
https://boomstream.com/api/chat/info?apikey=[API_KEY]&code=[CODE]&start=[START]&end=[END]&order=asc
```

Пример ответа:

```xml
<?xml version="1.0" encoding="utf-8"?>
<Response>
    <Period>01.01.2021 - 01.12.2021</Period>
    <Start>01.01.2021</Start>
    <End>01.12.2021</End>
    <Page>0</Page>
    <PageLimit>1000</PageLimit>
    <PageCount>0</PageCount>
    <ItemCount>0</ItemCount>
    <ItemFormat>
        <date>Date</date>
        <code>Message code</code>
        <nickname>Nickname</nickname>
        <identity>Identity of user</identity>
        <message>Message</message>
    </ItemFormat>
    <Items/>
    <Status>Success</Status>
    <Version>1.0</Version>
    <Versions>
        <Item>
            <version>1.0</version>
            <description>Boomstream API v.1.0 loads by default</description>
        </Item>
        <Item>
            <version>1.1</version>
            <description>Boomstream API v.1.1. 
Add &amp;ver=1.1 to the HTTP request to use it. 
Change log: it is changed the response format for the method - ppv/listBuyers</description>
        </Item>
    </Versions>
    <RequestURI>/api/chat/info?apikey=xxx...xxx&amp;code=cff3vgXP&amp;start=2021-01-01&amp;end=2021-12-01&amp;order=asc&amp;page</RequestURI>
</Response>
```

## createMessage

*Создание сообщения в чате*

#### Входные параметры

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

* *String* **apikey** (API ключ)
* *String* **code** (Код трансляции)
* *String* **username** (Имя пользователя)
* *String* **message** (Текст сообщения)

#### Выходные параметры

* *String* **Message** (Сообщение о результате операции)

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

```text
https://boomstream.com/api/chat/createMessage?apikey=[API_KEY]&code=[CODE]&username=[USERNAME]&message=[MESSAGE]
```

Пример ответа:

```xml
<?xml version="1.0" encoding="utf-8"?>
<Response>
    <Message>Message is created</Message>
    <Status>Success</Status>
    <Version>1.0</Version>
    <Versions>
        <Item>
            <version>1.0</version>
            <description>Boomstream API v.1.0 loads by default</description>
        </Item>
        <Item>
            <version>1.1</version>
            <description>Boomstream API v.1.1. 
Add &amp;ver=1.1 to the HTTP request to use it. 
Change log: it is changed the response format for the method - ppv/listBuyers</description>
        </Item>
    </Versions>
    <RequestURI>/api/chat/createMessage?apikey=xxx...xxx&amp;code=cff3vgXP&amp;username=usr&amp;message=Test</RequestURI>
</Response>
```

## updateMessage

*Обновление сообщения в чате*

#### Входные параметры

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

* *String* **apikey** (API ключ)
* *String* **code** (Код трансляции)
* *String* **code_message** (Код сообщения чата)
* *String* **message** (Новый текст сообщения)

#### Выходные параметры

* *String* **date** (Дата сообщения)
* *String* **codeMessage** (Код сообщения)
* *String* **nickname** (Никнейм пользователя)
* *String* **identity** (Идентификатор пользователя)
* *Boolean* **isOwner** (Является ли пользователь владельцем)

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

```text
https://boomstream.com/api/chat/updateMessage?apikey=[API_KEY]&code=[CODE]&code_message=[CODE_MESSAGE]&message=[MESSAGE]
```

Пример ответа:

```xml
<?xml version="1.0" encoding="utf-8"?>
<Response>
    <date>2021-11-03 11:23:54</date>
    <codeMessage>MZDupnoSVWYDW77jnWrKQCmAiRA7aSqb</codeMessage>
    <nickname>1</nickname>
    <identity>admin@boomstream.com</identity>
    <isOwner>false</isOwner>
    <Status>Success</Status>
    <Version>1.0</Version>
    <Versions>
        <Item>
            <version>1.0</version>
            <description>Boomstream API v.1.0 loads by default</description>
        </Item>
        <Item>
            <version>1.1</version>
            <description>Boomstream API v.1.1. 
Add &amp;ver=1.1 to the HTTP request to use it. 
Change log: it is changed the response format for the method - ppv/listBuyers</description>
        </Item>
    </Versions>
    <RequestURI>/api/chat/updateMessage?apikey=xxx...xxx&amp;code=cff3vgXP&amp;code_message=MZDupnoSVWYDW77jnWrKQCmAiRA7aSqb&amp;message=upd</RequestURI>
</Response>
```

## deleteMessage

*Удаление сообщения из чата*

#### Входные параметры

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

* *String* **apikey** (API ключ)
* *String* **code** (Код трансляции)
* *String* **code_message** (Код сообщения чата)

#### Выходные параметры

* *String* **Message** (Сообщение о результате операции)

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

```text
https://boomstream.com/api/chat/deleteMessage?apikey=[API_KEY]&code=[CODE]&code_message=[CODE_MESSAGE]
```

Пример ответа:

```xml
<?xml version="1.0" encoding="utf-8"?>
<Response>
    <Message>Chat message is removed from history</Message>
    <Status>Success</Status>
    <Version>1.0</Version>
    <Versions>
        <Item>
            <version>1.0</version>
            <description>Boomstream API v.1.0 loads by default</description>
        </Item>
        <Item>
            <version>1.1</version>
            <description>Boomstream API v.1.1. 
Add &amp;ver=1.1 to the HTTP request to use it. 
Change log: it is changed the response format for the method - ppv/listBuyers</description>
        </Item>
    </Versions>
    <RequestURI>/api/chat/deleteMessage?apikey=xxx...xxx&amp;code=cff3vgXP&amp;code_message=MZDupnoSVWYDW77jnWrKQCmAiRA7aSqb</RequestURI>
</Response>
```
