Задача
Собственное приложение WhatsApp в Odoo входит в Enterprise. Бизнесу на Odoo Community приходилось выбирать между сторонними сервисами с ежемесячной платой и неофициальной связкой через телефон. Мы хотели чаты WhatsApp внутри Odoo, на Community и через официальное подключение.
Что мы сделали
Клиент пишет на ваш бизнес-номер, и переписка появляется в «Обсуждениях» Odoo, привязанная к его контакту. Любой в команде может ответить, отправить фото или PDF и увидеть, когда сообщение доставлено и прочитано. В одной базе может быть несколько номеров — продажи, поддержка, каждый магазин, — и на каждое сообщение отвечают с того номера, на который оно пришло.




Технологии
Модуль подключает WhatsApp к Odoo Community через официальное подключение Meta WhatsApp Business, а не через неофициальный обходной путь. Он основан на открытых модулях Odoo Community Association, которые мы перенесли на Odoo 19, исправили и расширили. Перед выпуском модуль проходит 42 автоматические проверки на чистой тестовой базе, а с реальными номерами он проверялся на нашем тестовом сервере, а не на рабочей системе.
Для технических специалистов: Python и JavaScript (Odoo 19 Community); Meta WhatsApp Business Cloud API и вебхуки; модули OCA mail_gateway и mail_gateway_whatsapp; лицензия AGPL-3.
Что было сложного
- Первое сообщение с нового номера отклонялось. Когда клиент пишет впервые, модуль создаёт новую переписку и добавляет в неё вашу команду. Odoo 19 проверяет такие изменения от имени пользователя входящего веб-запроса — для вебхука Meta это анонимный публичный пользователь, — и переписка не создавалась. Мы нашли причину по трассировке ошибки, и теперь модуль сразу после проверки подписи Meta переключается на технического пользователя шлюза.
- Защита ключей доступа. Токен доступа WhatsApp и секрет приложения дают полный контроль над номером. Мы ограничили доступ к ключам — только администраторы.
- Несколько номеров в одном приложении Meta. Сообщения на все номера приходили на один адрес, и ответ уходил с одного номера. Теперь каждое сообщение направляется по идентификатору номера в Meta к нужному номеру и команде.
Результат и статус
Готово для клиентов: версия 1.2.0 для Odoo 19 Community, 42 автотеста проходят на чистой базе, проверено с реальными номерами на нашем тестовом сервере. Что добавили мы: галочки доставки и прочтения (отправлено, доставлено, прочитано), причину ошибки от Meta с кнопкой «Повторить», экран настройки с проверкой подключения и письменную инструкцию по настройке.
Код
Скоро — открытый код под лицензией AGPL-3.
Подключить для своего бизнеса
- Подключение с первым номером: £395 разово.
- Каждый дополнительный номер: £95.
- Поддержка: Odoo Care £195 в месяц или £85 в час.
Шаблонные сообщения Meta оплачиваются напрямую Meta по её тарифам; ответы в течение 24 часов после последнего сообщения клиента бесплатны.
НДС не начисляется — компания не зарегистрирована плательщиком НДС. Если регистрация станет обязательной, с этой даты к ценам будет добавляться НДС по действующей ставке.