Перейти к содержимому
Odoo Меню
  • Войти
  • Попробовать бесплатно
  • Модули
    Финансы
    • Бухгалтерия
    • Выставление счетов
    • Расходы
    • Таблицы
    • Документооборот
    • Подпись
    Продажи
    • CRM
    • Продажи
    • POS Магазин
    • POS Ресторан
    • Подписки
    • Аренда
    Вебсайты
    • Конструктор вебсайтов
    • eCommerce
    • Блог
    • Форум
    • Онлайн-чат
    • Электронное обучение
    Логистика
    • Склад
    • Производство
    • PLM
    • Закупки
    • Обслуживание
    • Качество
    Отдел кадров
    • Сотрудники
    • Подбор персонала
    • Отпуска
    • Оценка персонала
    • Реферальная программа
    • Автопарк
    Маркетинг
    • SMM
    • E-mail рассылки
    • СМС рассылки
    • Мероприятия
    • Автоматизация маркетинга
    • Опросы
    Услуги
    • Проекты
    • Табели
    • Выездной сервис
    • Поддержка
    • Планирование
    • Встречи
    Продуктивность
    • Обсуждения
    • Согласование
    • IoT
    • VoIP-телефония
    • Knowledge
    • WhatsApp
    Сторонние приложения Модуль Студия Odoo Платформа Odoo Cloud
  • Индустрии
    Розничная торговля
    • Книжный магазин
    • Магазин одежды
    • Мебельный магазин
    • Продуктовый магазин
    • Строительный магазин
    • Магазин игрушек
    Гостинично-ресторанный бизнес
    • Бар и паб
    • Ресторан
    • Фастфуд
    • Гостевой дом
    • Дистрибьютор напитков
    • Отель
    Недвижимость
    • Агентство недвижимости
    • Архитектурное бюро
    • Строительство
    • Управление недвижимостью
    • Ландшафтный дизайн
    • Товарищество собственников жилья
    Консалтинг
    • Бухгалтерская фирма
    • Партнер Odoo
    • Маркетинговое агентство
    • Юридическая фирма
    • Подбор персонала
    • Аудиторское бюро
    Производство
    • Текстиль
    • Металл
    • Мебель
    • Продукты питания
    • Пивоварня
    • Корпоративные сувениры
    Здоровье и фитнес
    • Спортивный комплекс
    • Магазин оптики
    • Фитнес-клуб
    • Велнес-центр
    • Аптека
    • Салон красоты
    Услуги
    • Специалист по бытовым услугам
    • Продажа и обслуживание IT-оборудования
    • Солнечные энергосистемы
    • Производство обуви
    • Клининг
    • Системы ОВКВ
    Прочее
    • Некоммерческая организация
    • Консалтинг в сфере устойчивого развития
    • Аренда рекламных щитов
    • Бизнес по фотосъемке
    • Прокат велосипедов
    • Реселлер программного обеспечения
    Все индустрии
  • Community
    Обучение
    • Видео уроки
    • Документация
    • Сертификация
    • Тренинг
    • Блог
    • Подкаст
    Образование и развитие
    • Образовательная программа
    • Деловая игра Scale Up!
    • Экскурсия в офис Odoo
    ПО
    • Скачать
    • Сравнить версии
    • Релизы
    Сотрудничество
    • Github
    • Форум
    • Мероприятия
    • Перевод
    • Стать партнером
    • Услуги для партнеров
    • Зарегистрировать бухгалтерскую фирму
    Услуги
    • Найти партнера
    • Найти бухгалтера
    • Встреча с экспертом
    • Услуги по внедрению
    • Отзывы клиентов
    • Поддержка
    • Обновления
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Заказать демонстрацию
  • Цены
  • Поддержка

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Бухгалтерия
  • Склад
  • PoS
  • Проекты
  • MRP
All apps
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Помощь

Getting replies from SMS?

Подписаться

Получайте уведомления о появлении активности в этом посте

Этот вопрос был отмечен
SMS
3 Ответы
1434 Представления
Аватар
Otter space Ltd

We're using Odoo Web.

I've enabled the integrated SMS feature, but it seems to be one-way unless I'm mistaken.

Is it a way to send the SMSs "from" our number, so that we'd get the replies?

0
Аватар
Отменить
Аватар
Cybrosys Techno Solutions Pvt.Ltd
Лучший ответ

Hi,


In Odoo Web (Online), the integrated SMS feature is one-way by default. You can send messages to your customers, but replies do not come back into Odoo. To send SMS “from” your number and receive replies, you need a phone number that supports two-way messaging through a provider like Twilio, Plivo, or Clickatell. You configure this number in Odoo and set up the provider to forward incoming messages (via webhook or email) so Odoo can log them. On  Odoo Online, direct inbound SMS configuration is limited, so you may need a  third-party integration from the Odoo App Store to fully support two-way SMS.


Please refer to the module:

1. https://apps.odoo.com/apps/modules/18.0/odoo_twilio_sms

2. https://apps.odoo.com/apps/modules/16.0/clicksend_sms_odoo


Hope it helps.

0
Аватар
Отменить
Alexander Zanosov

Not exactly true - you can’t receive inbound messages in Odoo from Twilio, Plivo, or Clickatell out of the box on Odoo Online. In fact, this only works on the Custom plan (with Studio activated) and requires a third-party integration.

Аватар
Alexander Zanosov
Лучший ответ

It is possible to receive incoming SMS messages in Odoo Online (Custom Plan) — I have this working successfully.

However, this functionality is not available out of the box and requires a bit of custom code. 

If you would like me to setup this integration for you or just need a detailed guidance, please contact me directly nerosoro @ proton.me or reply to this thread.

Below is an overview of my setup:

My Configuration
  • Odoo v19 Online (Custom Plan) — this approach also works on v18 and should work on v17.
  • Twilio configured in Odoo for outgoing SMS (supported starting from v17).
  • External cloud service (such as AWS or any other platform) used to host a webhook and an Odoo client script.
    • I’ve included a basic example of the webhook / client script below.
How It Works
  1. In Twilio, I specify the webhook URL (pointing to my script) under Incoming SMS settings.
  2. When a customer replies to an SMS, Twilio calls that webhook with the message payload.
  3. The webhook script processes the message and posts it back to Odoo’s chatter through the Odoo API.
Important Consideration

A small limitation of this method is that Odoo does not include contextual information about where the original outgoing SMS was sent from (for example, whether it came from a Contact, Lead, Quotation, or Task).

Because of this, the webhook cannot automatically determine which record in Odoo the incoming message belongs to.

My Workaround

To handle this, I:

  • Identify the sender by their phone number.
  • Post the incoming message to that Contact’s chatter.
  • Then, using that contact as a reference, I find all related records (Leads, Quotations, Tasks, etc.) and “spray” the same message into each of those chatter threads.
  • To avoid unnecessary duplication or clutter, I maintain a whitelist of models (objects) where messages are allowed to be posted.

Here is a code...

from flask import Flask, request, jsonify
import requests

app = Flask(__name__)

# ==== CONFIGURATION ====
ODOO_URL = "https://your-database-name.odoo.com"   # no trailing slash
ODOO_DB = "your_database_name"
ODOO_USERNAME = "your_odoo_login_email"
ODOO_PASSWORD = "your_odoo_password"

# JSON-RPC endpoint (standard Odoo API)
ODOO_JSONRPC_ENDPOINT = f"{ODOO_URL}/jsonrpc"


# ==== UTILITY FUNCTIONS ====
def odoo_rpc(model, method, args=None, kwargs=None):
    """
    Generic Odoo JSON-RPC call.
    """
    payload = {
        "jsonrpc": "2.0",
        "method": "call",
        "params": {
            "service": "object",
            "method": "execute_kw",
            "args": [ODOO_DB, ODOO_UID, ODOO_PASSWORD, model, method, args or [], kwargs or {}],
        },
        "id": 1,
    }
    response = requests.post(ODOO_JSONRPC_ENDPOINT, json=payload)
    response.raise_for_status()
    result = response.json()
    if "error" in result:
        raise Exception(result["error"])
    return result["result"]


def odoo_login():
    """
    Authenticate with Odoo and return UID.
    """
    payload = {
        "jsonrpc": "2.0",
        "method": "call",
        "params": {
            "service": "common",
            "method": "login",
            "args": [ODOO_DB, ODOO_USERNAME, ODOO_PASSWORD],
        },
        "id": 1,
    }
    response = requests.post(ODOO_JSONRPC_ENDPOINT, json=payload)
    response.raise_for_status()
    result = response.json()
    return result["result"]


# ==== MAIN ROUTE ====
@app.route("/twilio/incoming", methods=["POST"])
def incoming_sms():
    """
    Receives incoming SMS from Twilio, finds contact in Odoo, and posts message to chatter.
    """
    try:
        # Twilio sends phone numbers in E.164 format (+614xxxxxxxx)
        from_number = request.form.get("From", "").strip()
        message_body = request.form.get("Body", "").strip()

        if not from_number or not message_body:
            return jsonify({"error": "Missing From or Body in payload"}), 400

        # Authenticate to Odoo
        global ODOO_UID
        ODOO_UID = odoo_login()

        # Step 1: Find contact by phone or mobile number
        domain = [["|", ["phone", "=", from_number], ["mobile", "=", from_number]]]
        contact_ids = odoo_rpc("res.partner", "search", [domain], {"limit": 1})

        if not contact_ids:
            return jsonify({"status": "Contact not found", "from": from_number}), 200

        contact_id = contact_ids[0]

        # Step 2: Post message to chatter
        message_vals = {
            "model": "res.partner",
            "res_id": contact_id,
            "body": f"<p><b>Incoming SMS:</b> {message_body}</p>",
            "message_type": "comment",
            "subtype_id": 1,  # Mail subtype "Discussions"
        }
        odoo_rpc("mail.message", "create", [message_vals])

        return jsonify({
            "status": "Message posted to chatter",
            "contact_id": contact_id,
            "from": from_number
        }), 200

    except Exception as e:
        return jsonify({"error": str(e)}), 500


# ==== ENTRY POINT ====
if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000, debug=False)


0
Аватар
Отменить
Аватар
Christoph Farnleitner
Лучший ответ

No, this is not possible with the SMS integration of Odoo - https://www.odoo.com/documentation/18.0/applications/marketing/sms_marketing/pricing_and_faq.html#more-common-questions

It is however, theoretically possible, to integrate 3rd-party services or communicating via a SMS gateway. If 'Odoo Web' means 'Odoo Online' this option should be out of scope too though.

0
Аватар
Отменить
Не оставайтесь в стороне – присоединяйтесь к обсуждению!

Создайте аккаунт сегодня, чтобы получить доступ к эксклюзивным функциям и стать частью нашего замечательного сообщества!

Регистрация
Похожие посты Ответы Просмотры Активность
Odoo SMS Alternatives
SMS
Аватар
Аватар
Аватар
2
окт. 25
1972
Can I create SMS drip messages?
development SMS
Аватар
Аватар
1
окт. 25
1313
Changing SMS number
smsclient SMS
Аватар
0
янв. 25
1302
Help! SMS making me reconsider Odoo
SMS v18
Аватар
Аватар
2
нояб. 24
1470
Can't sent SMS in sale order
v15 SMS
Аватар
0
апр. 22
2638
Сообщество
  • Видео уроки
  • Документация
  • Форум
Открытый исходный код
  • Скачать
  • Github
  • Runbot
  • Перевод
Услуги
  • Хостинг Odoo.sh
  • Поддержка
  • Обновление
  • Индивидуальные решения по доработке
  • Образование
  • Найти бухгалтера
  • Найти партнера
  • Стать партнером
О нас
  • Наша компания
  • Активы бренда
  • Cвяжитесь с нами
  • Вакансии
  • Мероприятия
  • Подкаст
  • Блог
  • Клиенты
  • Правовые документы • Конфиденциальность
  • Безопасность
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo – это набор бизнес-модулей с открытым исходным кодом, который закроет все потребности вашей компании: CRM, E-commerce, Бухгалтерия, Склад, POS, управление проектами и др.

Odoo сочетает в себе простоту использования и полную интеграцию всех бизнес-процессов в одной системе.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now