Repository
odoo/odoo · module folder
Module version
1.0
Category
Hidden/Tools
Folder size
0.76 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
None
Last tracking update
2026-08-15 22:44:19
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Thibault Delavallée, Odoo Translation Bot, Tiffany Chang (tic), Miquel Raïch, Dylan Kiss (dyki), Joseph Nechleba (jonec)
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
test_mail_sms, test_mass_mailing
Description
This module allows using Twilio as a provider for SMS messaging.
The user has to create an account on twilio.com and top
up their account to start sending SMS messages.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
res_config_settings_view_form res.config.settings.view.form.inherit.sms.twilio res.config.settings form Inherits sms.res_config_settings_view_form
sms_sms_view_form sms.sms.view.form.inherit.twilio sms.sms form Inherits sms.sms_tsms_view_form
sms_twilio_account_manage_view_form sms.twilio.account.manage.view.form sms.twilio.account.manage form New
HTTP endpoints (1)
Route(s)HandlerAuthTypeMethodsFlags
/sms_twilio/status/<string:uuid> SmsTwilioController.update_sms_status public http POST csrf off sudo
Models touched (8)

New fields (1)
  • failure_type Selection
    selection_add=[('twilio_authentication', 'Authentication Error"'), ('twilio_callback', 'Incorrect callback URL'), ('twilio_from_missing', 'Missing From Number'), ('twilio_from_to', 'From / To identic')]
Public methods (1)
  • fields_get(self, allfields=None, attributes=None)
    @api.model

New fields (4)
  • sms_provider Selection
    default='iap' selection=[('iap', 'Send via Odoo'), ('twilio', 'Send via Twilio')] string='SMS Provider'
  • sms_twilio_account_sid Char
    groups='base.group_system' args: 'Account SID'
  • sms_twilio_auth_token Char
    groups='base.group_system' args: 'Auth Token'
  • sms_twilio_number_ids One2many → sms.twilio.number
    args: 'sms.twilio.number', 'company_id', 'Numbers'
Public methods (0)

No public methods.

New fields (1)
  • sms_provider Selection
    readonly=False related='company_id.sms_provider' required=True
Public methods (1)
  • action_open_sms_twilio_account_manage(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • failure_type Selection
    selection_add=[('twilio_authentication', 'Authentication Error"'), ('twilio_callback', 'Incorrect callback URL'), ('twilio_from_missing', 'Missing From Number'), ('twilio_from_to', 'From / To identic')]
  • record_company_id Many2one → res.company
    ondelete='set null' args: 'res.company', 'Company'
  • sms_twilio_sid Char
    depends=['sms_tracker_id'] related='sms_tracker_id.sms_twilio_sid'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • fields_get(self, allfields=None, attributes=None)
    @api.model

New fields (1)
  • sms_twilio_sid Char
    readonly=True string='Twilio SMS SID'
Public methods (0)

No public methods.

New fields (6)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True required=True
  • sms_provider Selection
    readonly=False related='company_id.sms_provider'
  • sms_twilio_account_sid Char
    readonly=False related='company_id.sms_twilio_account_sid'
  • sms_twilio_auth_token Char
    readonly=False related='company_id.sms_twilio_auth_token'
  • sms_twilio_number_ids One2many
    readonly=False related='company_id.sms_twilio_number_ids'
  • test_number Char
    args: 'Test Number'
Public methods (3)
  • action_reload_numbers(self)
    Fetch the available numbers from Twilio account
  • action_save(self)
  • action_send_test(self)

New fields (5)
  • company_id Many2one → res.company
    default=<expr> index='btree' ondelete='cascade' required=True string='Company' args: 'res.company'
  • country_code Char
    related='country_id.code' string='Country Code'
  • country_id Many2one → res.country
    required=True string='Country' args: 'res.country'
  • number Char
    required=True string='Twilio Number'
  • sequence Integer
    default=1
Public methods (1)
  • action_unlink(self)

Loading…

Loading…