我正在制作一个模块上的Odoo发送短信从邮件列表。我已经运行了这段代码,但是我有一个错误。
contact_list_ids = fields.Many2many('mail.mass_mailing.list', 'phone_number', string='Liste de diffusion')
messages_sms = fields.Text(string="message", required=True)
# send SMS with GET method
@api.multi
def send_sms(self):
for list in self.contact_list_ids:
for contact in list:
final_url = (
URL +
'&to=' +contact +
'&sms=' + self.messages_sms
)
r = requests.get(final_url)
if not r:
return ERROR_API
return r.text错误:
C:\
File (x86)\odoo 第36行,在send_sms '&sms=‘+ self.messages_sms TypeError:必须是str,而不是mail.mass_mailing.list
发布于 2020-05-23 22:51:18
您得到了一个类型错误,因为您无法将str与mail.mass_mailing.list记录连接起来。
'&to=' + contact尝试传递电话号码(或用于存储电话号码的任何字段):
'&to=' + contact.phone_number您可以检查以下Twilio示例:
from twilio.rest import Client
class CustomClass(models.Model):
contact_list_ids = fields.Many2many('mail.mass_mailing.list', 'phone_number', string='Liste de diffusion')
messages_sms = fields.Text(string="message", required=True)
@api.multi
def send_sms(self):
self.ensure_one()
account_sid = ''
auth_token = ''
client = Client(account_sid, auth_token)
for list in self.contact_list_ids:
for contact in list.contact_ids:
client.messages \
.create(
body=self.messages_sms,
from_=self.env.user.partner_id.mobile,
status_callback='http://postb.in/1234abcd',
to=contact.phone_number
)
class MailMassMailingContact(models.Model):
_inherit = 'mail.mass_mailing.contact'
phone_number = fields.Char()mail.mass_mailing.contact的相关合作伙伴中,以便为每个联系人添加一个电话号码。
https://stackoverflow.com/questions/61954847
复制相似问题