База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как получить список чатов через GreenAPI-MAX в 1С? › Ответ в теме: Как получить список чатов через GreenAPI-MAX в 1С?
Для получения списка чатов (включая группы) в GreenAPI-MAX используется метод API:
GET /waInstance{IDInstance}/getChats/{apiTokenInstance}
—
### Пример процедуры на 1С для получения списка чатов через GreenAPI-MAX:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Функция ПолучитьСписокЧатов(ИДИнстанса, Токен) Экспорт АдресAPI = "https://api.green-api.com"; ПутьЗапроса = "/waInstance" + ИДИнстанса + "/getChats/" + Токен; Соединение = Новый HTTPСоединение("api.green-api.com", 443, , , , , Новый ЗащищенноеСоединениеOpenSSL()); Запрос = Новый HTTPЗапрос(ПутьЗапроса); Запрос.Заголовки.Вставить("Content-Type", "application/json"); Попытка Ответ = Соединение.Получить(Запрос); Исключение ВызватьИсключение "Ошибка при получении списка чатов: " + ОписаниеОшибки(); КонецПопытки; Если Ответ.КодСостояния <> 200 Тогда ВызватьИсключение "Ошибка сервера при получении списка чатов. Код: " + Ответ.КодСостояния; КонецЕсли; ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(); // Преобразуем JSON в структуру 1С ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ТекстОтвета); Результат = ПрочитатьJSON(ЧтениеJSON); ЧтениеJSON.Закрыть(); // Результат - массив объектов с chatId и другими данными Возврат Результат; КонецФункции |
—
### Как использовать:
|
1 2 3 4 5 6 7 8 9 |
ИДИнстанса = "3100584661"; // Ваш ID инстанса Токен = "7de86b53ca0a451ca407183cf1ba3dac8404c29237094d16bf"; // Ваш API Token СписокЧатов = ПолучитьСписокЧатов(ИДИнстанса, Токен); Для Каждого Чат Из СписокЧатов Цикл Сообщить("chatId: " + Чат.chatId); // Можно фильтровать по chatId, например, группы заканчиваются на @g.us КонецЦикла; |
—
### Важные моменты:
— В ответе будет массив объектов с полем chatId — это идентификатор чата или группы.
— Для групп chatId заканчивается на @g.us.
— Для личных чатов — на @c.us.
— Используйте полученный chatId для отправки сообщений в нужный чат или группу.
—
Если нужно, могу помочь с примером отправки сообщения в группу, используя полученный chatId.