Получение и создание обсуждений
Для отправки и получения сообщений нужно получить обсуждения. Для этого СистемаВзаимодействия имеет несколько методов:
- ПолучитьНепрочитанныеОбсуждения() — возвращает список идентификаторов непрочитанных обсуждений. Количество можно выставить в параметре ЛимитОбсуждений. Максимальное число обсуждений, полученных за один раз, не может превышать 100 (даже если таких обсуждений больше).
- ПолучитьОбсуждения() — возвращает список обсуждений, которые соответствуют указанным в параметрах идентификаторам.
- ПолучитьОбсуждение() — возвращает обсуждение системы взаимодействия (ОбсуждениеСистемыВзаимодействия) по его идентификатору или ключу.
- СоздатьОбсуждение () — создает новое групповое обсуждение с указанными в методе параметрами.
- СоздатьЛичноеОбсуждение() — создает новое обсуждение между двумя пользователями.
Создание обсуждения, сообщения, получение непрочитанных сообщений
пер ИдПользователя1 : Ууид = Ууид{84eb3ebb-95ae-4dea-a025-adfa8961703c}
пер ИдПользователя2 : Ууид = Ууид{4d4d65dc-0074-424e-8da5-b518afce7a97}
пер Ключи = новый КлючиПриложения()
"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJMNOm9mUN60O/y
lCd0yenNt06L54+x56dUq+ot8s+NnznsfkfY8ieNUqAN/T00kP4qMRKCVgdZbJP+pgSDykB0
CAwEAAQ==",
"MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkE
Akw06b2ZQ3rQ7/KUJ3TJ6c23Tovnj7Hnp1Sr6i3yz42fOex+R9jyJ41SoA39PTSQ/ioxEoJW
B1lsk/6mBIPKQHQIDAQABAkAqxpZRAXpUzikE/R05cw2btj7yEa7zgyM6Fx56pPPPGlpaUC4
J11nOFuEspEJFQLA0UJqqFjYGl4IQ4qFaYzYhAiEAxHwKpJGKEXd1aSA6CT2bVSzIAeOnIbU
QP5rgLAb75VMCIQC/mAZP/BkDyhOuIq/2wkEwIIWk5AXmkJ7lR+7La1UWzwIhAL+mDet/WiC
3WHp1yKYCxWRLDbtqBjdGmNaxhj7rgP+pAiEApdpYPI0iqmEXwDpO0PE/tQWyKxco9Hpk0l3
+nSEAu4kCIQC0JJQGKrl69Jsuqo/WkFNJRfyMfqDARTVsw/Bfl6IRBA==")
пер ПараметрыПриложенияСВ : ПараметрыПриложенияСистемыВзаимодействия =
новый ПараметрыПриложенияСистемыВзаимодействия(
Ууид{6c659615-0741-4e56-0000-6705c2a35298},
"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJ6llGLMKFMHHnI4/gz0WPh8a6b31hOBO+jc1QkQoWzOmbtCR9wssUdxhKky
2v/+Ec7FFBmuW1gj0viBW0bYeqkCAwEAAQ=="
)
пер ИдПользователяСВ1 : Ууид = Ууид{e73c3871-f252-44bb-9a87-d5a36b74b72c}
пер ИдПользователяСВ2 : Ууид = Ууид{eb649265-60f3-4ea4-978a-5ef6c7b9454c}
пер ИдОбсуждения : Ууид
пер ИдСообщения : Ууид
// подключение (пользователь1)
try
СистемаВзаимодействия.Подключиться("wss://develop.ecs.test:9094?transport=websocket&version=4",
"C:\\keystore.jks",
"passpass",
"passpass")
СистемаВзаимодействия.Войти(ИдПользователя1, Ключи, "ИмяПользователя1", "ПолноеИмяПользователя1", ПараметрыПриложенияСВ)
catch E : CollaborationSystemException
Console.WriteError("Ошибка системы взаимодействия: " + E)
;
// создание обсуждения (пользователь1 с пользователем2)
try
пер НазваниеОбсуждения = "Название обсуждения"
пер КлючОбсуждения = "Ключ обсуждения"
ИдОбсуждения = СистемаВзаимодействия.СоздатьОбсуждение([ИдПользователяСВ1, ИдПользователяСВ2], НазваниеОбсуждения, КлючОбсуждения)
Консоль.Write("Сохраните идентификатор обсуждения системы взаимодействия : " + ИдОбсуждения)
catch E : CollaborationSystemException
Console.WriteError("Не удалось 'СоздатьОбсуждение': " + E)
;
// создание сообщения (от пользователя1 к пользователю2)
try
пер МассивПолучателейСообщения : Массив = новый ИзменяемыйМассив(1)
МассивПолучателейСообщения.Добавить(ИдПользователяСВ2)
пер ТекстСообщения : Строка = "Привет, пользователь!"
ИдСообщения = СистемаВзаимодействия.СоздатьСообщение(ИдОбсуждения, МассивПолучателейСообщения, ТекстСообщения)
Консоль.Write("Сохраните идентификатор сообщения системы взаимодействия : " + ИдСообщения)
catch E : CollaborationSystemException
Console.WriteError("Не удалось 'СоздатьСообщение': " + E)
;
//
// ... можно создать еще сообщения ...
//
// отключение (пользователь1)
СистемаВзаимодействия.Отключиться()
// подключение (пользователь2)
try
СистемаВзаимодействия.Подключиться("wss://develop.ecs.test:9094?transport=websocket&version=4",
"C:\\keystore.jks",
"passpass",
"passpass")
СистемаВзаимодействия.Войти(ИдПользователя2, Ключи, "ИмяПользователя2", "ПолноеИмяПользователя2", ПараметрыПриложенияСВ)
catch E : CollaborationSystemException
Console.WriteError("Ошибка системы взаимодействия: " + E)
;
// получение непрочитанных сообщений
try
пер МассивНовыхСообщений = СистемаВзаимодействия.ПолучитьНепрочитанныеСообщения(ИдОбсуждения)
Консоль.Write("Непрочитанные сообщения: ")
для Сообщение из МассивНовыхСообщений
Консоль.Write("Сообщение # " + Сообщение.Идентификатор + " : " + Сообщение.Текст)
;
catch E : CollaborationSystemException
Console.WriteError("Не удалось 'ПолучитьНепрочитанныеСообщения': " + E)
;
// отключение (пользователь2)
СистемаВзаимодействия.Отключиться()
Получение непрочитанных обсуждений и сообщений
пер ИдПользователя : Ууид = Ууид{84eb3ebb-95ae-4dea-a025-adfa8961703c}
пер Ключи = новый КлючиПриложения()
"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJMNOm9mUN60O/y
lCd0yenNt06L54+x56dUq+ot8s+NnznsfkfY8ieNUqAN/T00kP4qMRKCVgdZbJP+pgSDykB0
CAwEAAQ==",
"MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkE
Akw06b2ZQ3rQ7/KUJ3TJ6c23Tovnj7Hnp1Sr6i3yz42fOex+R9jyJ41SoA39PTSQ/ioxEoJW
B1lsk/6mBIPKQHQIDAQABAkAqxpZRAXpUzikE/R05cw2btj7yEa7zgyM6Fx56pPPPGlpaUC4
J11nOFuEspEJFQLA0UJqqFjYGl4IQ4qFaYzYhAiEAxHwKpJGKEXd1aSA6CT2bVSzIAeOnIbU
QP5rgLAb75VMCIQC/mAZP/BkDyhOuIq/2wkEwIIWk5AXmkJ7lR+7La1UWzwIhAL+mDet/WiC
3WHp1yKYCxWRLDbtqBjdGmNaxhj7rgP+pAiEApdpYPI0iqmEXwDpO0PE/tQWyKxco9Hpk0l3
+nSEAu4kCIQC0JJQGKrl69Jsuqo/WkFNJRfyMfqDARTVsw/Bfl6IRBA==")
пер ПараметрыПриложенияСВ = новый ПараметрыПриложенияСистемыВзаимодействия(
Ууид{6c659615-0741-4e56-0000-6705c2a35298},
"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJ6llGLMKFMHHnI4/gz0WPh8a6b31hOBO+j
c1QkQoWzOmbtCR9wssUdxhKky2v/+Ec7FFBmuW1gj0viBW0bYeqkCAwEAAQ=="
)
пер ИдПользователяСВ = Ууид{d5078b4e-416c-4d42-943a-eb3fff1541d6}
попытка
СистемаВзаимодействия.Подключиться("wss://develop.ecs.test:9094?transport=websocket&version=4",
"C:\\keystore.jks",
"passpass",
"passpass")
ИдПользователяСВ1 = СистемаВзаимодействия.Войти(Ключи, ИдПользователя, "ИмяПользователя", "ПолноеИмяПользователя", ПараметрыПриложенияСВ)
// получаем непрочитанные обсуждения
пер МассивИдентификаторовНепрочитанныхОбсуждений = СистемаВзаимодействия.ПолучитьНепрочитанныеОбсуждения(10)
// получаем непрочитанные сообщения каждого непрочитанного обсуждения (выдаются в хронологическом порядке)
для ИдентификаторНепрочитанногоОбсуждения из МассивИдентификаторовНепрочитанныхОбсуждений
Консоль.Записать("Обсуждение # " + ИдентификаторНепрочитанногоОбсуждения)
пер МассивНовыхСообщений = СистемаВзаимодействия.ПолучитьНепрочитанныеСообщения(ИдентификаторНепрочитанногоОбсуждения)
для Сообщение из МассивНовыхСообщений
Консоль.Записать("Сообщение # " + Сообщение.Идентификатор + " : " + Сообщение.Текст)
// устанавливаем прочитанное сообщение как последнее прочитанное
СистемаВзаимодействия.УстановитьПоследнееПрочитанноеСообщение(ИдентификаторНепрочитанногоОбсуждения, Сообщение.Идентификатор)
;
;
поймать E : CollaborationSystemException
Console.WriteError("Ошибка системы взаимодействия: " + E)
;
// отключение
СистемаВзаимодействия.Отключиться()