Подключаем WhatsApp к 1С

0. andrew_shamin 30.09.20 10:30 Сейчас в теме
Обработка для быстрого подключения WhatsApp к любой конфигурации 1С.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. serg33rus 30.09.20 11:15 Сейчас в теме
690 рублей в месяц однако. Не сказать что много, но на фоне бесплатных ... как-то не очень.
5. andrew_shamin 30.09.20 19:41 Сейчас в теме
На время разработки своей интеграции или для экспериментов я использую бесплатный тариф "Разработчик" в сервисе Green-API. При этом тариф "Разработчик" не ограничен по времени, я сижу на нем столько времени, сколько мне требуется. А когда интеграция готова, то за нее уже платит организация.
7. serg33rus 01.10.20 09:56 Сейчас в теме
(5) Резонно. Но с учетом того, что есть бесплатные альтернативы (телеграм, ВК, вайбер), трудно будет убедить клиента, что вот за whatsapp надо платить. С учетом того, что оно ничем не лучше. Наверно есть такие, у кого обмен именно через whatsapp очень желателен или даже обязателен. Но не думаю, что таких много. Хотя наверно есть и такие. Но в любом случае лишним не будет :-). Тем более, что условно бесплатный демо-режим есть.
17. 1c.pro.fun 145 17.10.20 22:59 Сейчас в теме
(5) Написал Вам в WhatsApp и сюда продублирую на всякий случай: Используем бесплатный тариф "Разработчик". Из green-api.com не приходят входящие сообщения, которые были отправлены нам как ответ на наши исходящие. Когда пробовали получать такие в 1С тишина, но на телефоне звуковой сигнал. Когда входящие сообщения пишут просто, а не как ответ на наши то в 1С все падает прекрасно и на телефоне звуковой индикации о пришедшем сообщении нет. Я думаю это очень важная "дырка" - так можно и потерять сообщения от клиента, если постоянно не мониторить что там "пропикала" трубка. Отзовитесь пожалуйста Михаил.
18. andrew_shamin 19.10.20 08:42 Сейчас в теме
(17) Михаил, да, действительно, входящие сообщения с цитированием не прилетают. Направил вопрос разработчикам АПИ. Обещали починить в ближайшее время.
19. andrew_shamin 20.10.20 16:17 Сейчас в теме
(17) Михаил, цитирование сообщений добавили. При цитировании прилетает входящее уведомление с типом "typeMessage": "quotedMessage"
20. 1c.pro.fun 145 20.10.20 22:06 Сейчас в теме
(19) Спасибо большое! Тестировать буду в субботу. Так-то я Александр :)
21. 1c.pro.fun 145 24.10.20 20:26 Сейчас в теме
(19) Цитированные сообщения приходят. Теперь выявились другие странности.
Попытались получить сообщение с текстом:
Https://1c.ru
В результате телефон пропиликал, а через green-api так ничего и не пришло, хотя ожидали получить как в документации:
typeWebhook = incomingMessageReceived
messageData.typeMessage = extendedTextMessage


Затем попробовали сбросить ссылку на видео из facebook:
https://fb.watch/1k55rJCv17/
В результате green-api его передал, но не так как ожидалось, а просто как текстовое:
typeWebhook = incomingMessageReceived
messageData.typeMessage = textMessage

Отправлялось видео из приложения Facebook на IPhone при помощи кнопки "Поделиться".

Затем попробовали сбросить ссылку на видео из Яндекса. Ссылка длинная приложил скриншот. Из него видно что пришло обычное текстовое сообщение, хотя по идее ожидаемое поведение это:
typeWebhook = incomingMessageReceived
messageData.typeMessage = extendedTextMessage

Сбрасывали с того же телефона IPhone из браузера Safari на сайте Яндекс нажав кнопку "Поделиться"

И только когда сбрасывали видео кнопкой "Поделиться" из приложения Youtube оно пришло как и ожидалось в виде расширенного текста с заголовком и превью.
Прикрепленные файлы:
24. andrew_shamin 27.10.20 17:45 Сейчас в теме
(21) При отправке ссылки, чтобы она была получена аккаунтом в формате extendedTextMessage, требуется, чтобы сформировался превью ссылки перед отправкой. Не все сайты поддерживают превью по ссылке. Сайт должен поддерживать превью.
Например, при отправке ссылки на сайт https://green-api.com вы увидите превью см. рис. При этом будет входящее уведомление в формате extendedTextMessage.
Если вы отправите ссылку на сайт, который не поддерживает превью, то придет входящее уведомление в формате textMessage.

По поводу ссылки https://1c.ru проверил - действительно сообщения не приходят! Видимо у шлюза аллергия на 1С )) Написал разработчикам, обещали оперативно исправить.
Прикрепленные файлы:
6. stepan_s 01.10.20 06:59 Сейчас в теме
2. andy_zhav 183 30.09.20 11:33 Сейчас в теме
А как с отправкой файлов дела обстоят?
3. smit1c 105 30.09.20 11:41 Сейчас в теме
(2) на сайте пишут что можно
25. andrew_shamin 02.11.20 15:40 Сейчас в теме
(3) Добавил функционал отправки и получения файлов
4. andrew_shamin 30.09.20 19:37 Сейчас в теме
В ближайшее время доработаю обработку. Добавлю выгрузку и получение файлов тоже: по ссылке и через бинарный поток.
Milanick; +1 Ответить
22. 1c.pro.fun 145 24.10.20 22:30 Сейчас в теме
(4) Каким образом Вы скачиваете отправленные файлы. При попытке использовать процедуру КопироватьФайл() получаю:
Ошибка работы с Интернет: Удаленный узел не прошел проверку


для адресов вида: https://api.green-api.com/waInstance7326/downloadFile/НЕКИЕ_БУКВО_ЦИФРЫ
23. andrew_shamin 27.10.20 14:39 Сейчас в теме
(22) В ближайшее время планирую опубликовать обновление обработки. В новой версии будут все необходимые методы по работе API, демонстрация работы методов. И как раз будет пример скачивания файлов при получении сообщений. Планирую опубликовать версию уже на этой неделе.
unknown181538; +1 Ответить
8. serg33rus 01.10.20 10:07 Сейчас в теме
Хотел задать пару вопросов.
1. Я так понял, что можно отсылать сообщения на номер телефона? Это очень ценное качество, ни вайбер, ни телеграмм так не умеют.
2. Бот может написать пользователю первым? Т.е. процедуры "подписки на бота" нет? Многие боты в других системах требуют чтобы
пользователь первым написал боту. и только после этого возможно отправлять на пользователя сообщения.
3. А есть ли функция проверки, существует ли такой пользователь в whatsapp (если можно отправлять первым и просто по номеру).
andrew_shamin; +1 Ответить
9. andrew_shamin 01.10.20 10:29 Сейчас в теме
(8)
1. Да, обработка поддерживает отправку сообщений именно по номеру телефона получателя.
2. Да, можно писать первым. Однако, следует учитывать рекомендации, указанные в статье, а именно, писать только тем пользователям, которые заинтересованы вступить в диалог с ботом. Если спамить кому попало, то можно словить бан.
Однако также можно поддержать сценарий, когда пользователь будет сам первым писать боту. В этом случае все риски с баном исключены, т.к. пользователь сам соглашается вступить в диалог с ботом.
3. Да, чтобы проверить, зарегистрирован ли пользователь в WhatsApp используйте метод: https://green-api.com/docs/api/service/CheckWhatsapp/
10. 1c.pro.fun 145 04.10.20 00:12 Сейчас в теме
Здравствуйте, Андрей! Насколько я понимаю Вы автор обработки выложенной для примера на самом сайте green-api.com. Вашу не качал, но судя по скринам это она.

Подскажите пожалуйста как обычно Вы устраиваете хранение отправленных и принятых WhatsApp сообщений в базе 1С? Я вот что-то не могу определиться с оптимальной структурой регистра сведений. Вы обычно используете периодический? Каков набор измерений? Ресурсов?
Какие задачи обычно стоят перед Вами при этом? Я для себя выделил следующие:
1) Отображение переписки с конкретным контактом (телефоном) в хронологическом порядке
2) Построение "списка последних сообщений по всем контактам (телефонам)" - подобно тому как выглядит вкладка "Чаты" в окне самого приложения WhatsApp.
idMessage - храните наверняка - без этого невозможна идентификация отправленных сообщений при получении уведомлений об изменении их статуса.
Если это не секретная информация поделитесь пожалуйста - у Вас явно не первая интеграция с WhatsApp как я понял. Заранее спасибо!
P.S. Какова максимальная размерность текстового сообщения WhatsApp? Не нашел этой информации (возможно плохо искал?).
P.P.S. Использовали ли в какой-нибудь интеграции отправку голосовых сообщений? Удавалось ли это реализовать при работе с 1С через RDP?
11. andrew_shamin 05.10.20 10:20 Сейчас в теме
(10) Добрый день!

1. Сообщения (отправленные и полученные) правильнее хранить в справочнике. Я планирую в ближайшее время выполнить обобщение своего опыта интеграции с WhatsApp и опубликовать отдельную подсистему (конфигурацию), в которой все эти вопросы будут решены: настройка подключения к WhatsApp, отправка и прием сообщений, хранение данных.
2. Максимальный размер текстового сообщения согласно документации green-api составляет 4096 символов, включая символы эмоджи.
3. API позволяет выполнять отправку голосовых сообщений. Для этого надо использовать метод sendFileByUpload или sendFileByUrl. Предварительно потребуется сформировать аудиофайл для отправки. Пример отправки файлов из 1С планирую опубликовать в ближайшее время в этой обработке.
12. 1c.pro.fun 145 06.10.20 14:52 Сейчас в теме
(11) Спасибо за ответ Андрей. Почему именно справочник выбрали для хранения сообщений? Есть какой-то смысл в дополнительной нагрузке в виде стандартных реквизитов "Ссылка", "Пометка удаления" (бог с ними с другими, что можно отключить)? Это как-то связано с ответами на сообщения? Чтобы одно сообщение ссылалось на другое (только начал ковырять - не дошел еще до этого просто)?
13. andrew_shamin 06.10.20 16:04 Сейчас в теме
(12) Сообщение само по себе является отдельной сущностью. У сущности должен быть идентификатор. В АПИ этот идентификатор присутствует. Правильнее было бы, если идентификатор был бы и в 1С.
Регистры сведений же, напротив, больше подходят для хранения данных в некоторых разрезах. Данные эти идентифицируются не ссылкой, а набором уникальных измерений.
Например, в регистрах правильнее хранить статусы сообщений: отправлено, доставлено, прочитано. В то время как само сообщение, в справочнике.
14. 1c.pro.fun 145 06.10.20 21:30 Сейчас в теме
(13) Простите за назойливость, но где на практике Вы ссылаетесь на такую сущность как "Сообщение WhatsApp" кроме, как в регистре сведений, в котором храните статус сообщения?
Или у этого справочника есть реквизит хранящий ссылку на сам справочник в случае если одно сообщение является ответом на другое сообщение?
15. andrew_shamin 07.10.20 08:56 Сейчас в теме
(14) На практике не ссылаюсь, подсистема интеграции пока в разработке. Выбор архитектуры хранения данных - справочник или РС носит рекомендательный характер. Разработчик использует такую структуру хранения, которая больше соответствует его задаче.
16. ICeZm 10 12.10.20 15:32 Сейчас в теме
Интересная обработка. Спасибо автору.
Оставьте свое сообщение
Вопросы с вознаграждением