短信
电话格式
Odoo使用phonenumbers库来处理电话号码格式问题。目前国际支持的电话格式有如下几种:
E164格式: 该标准规定了电话号码的格式:必须以 "+" 开头。紧跟国家代码(例如,美国是 1,中国是 86)。然后是区域代码和本地号码。例如,一个美国号码可以写作:+14155552671。
NATIONAL 格式:只显示本地号码格式,不包含国家代码; 但是会格式化,例如,一个中国手机号是13800138000,格式化后: 138 0013 8000
INTERNATIONAL 格式:包含国家代码和分隔空格,看起来更友好;例如,+86 138 0013 8000
RFC3966 格式:用于表示 URI 格式的电话号码,例如 "tel:+14155552671"。
格式化为不带任何前缀和空格的电话格式
以上格式如果在odoo系统内部使用通常是没问题的,但是当我们调用其他系统的接口时,如果对方系统并没有严格的将电话格式或者不具备电话格式的解析功能,那么通常就会引起问题。
因此,我们在欧姆基础解决方案中,加入了对任一格式的电话转换为不带任何前缀和空格的纯电话。
from odoo.addons.mommy_base.models.tools import plain_number
phone = plain_number(phone)