demo_notice_script.py 1.7 KB

123456789101112131415161718192021222324252627
  1. """
  2. loonflow在调用通知脚本时会将工单一些属性通过全局变量的方式传进来,所以在此脚本中可以直接使用。变量如下
  3. globals = {'title_result': title_result, 'content_result': content_result,
  4. 'participant': ticket_obj.participant, 'participant_type_id': ticket_obj.participant_type_id,
  5. 'multi_all_person': ticket_obj.multi_all_person, 'ticket_value_info': ticket_value_info,
  6. 'last_flow_log': last_flow_log, 'participant_info_list': participant_info_list}
  7. """
  8. import requests
  9. def demo_notice_script_call():
  10. phone_list = []
  11. email_list = []
  12. for participant_info in participant_info_list:
  13. phone_list.append(participant_info['phone'])
  14. email_list.append(participant_info['email'])
  15. # 此处为了演示,同时发送了短信和邮件,实际使用建议分开在不同脚本中发送不同类型的消息
  16. sms_result = requests.post('http://xxxxx.com/sendsms', {'phone': phone_list, 'context': content_result}) #发送短信,需要你的企业内有提供发送短信的接口,当然你也可以自己实现这个接口的逻辑
  17. mail_result = requests.post('http://xxxxx.com/sendemail', {'phone': email_list, 'context': content_result,'title': title_result}) #发送邮件,需要你的企业内有提供发送邮件的接口,当然你也可以自己实现这个接口的逻辑
  18. if sms_result.json().get('code') == 0 and mail_result.json().get('code') == 0:
  19. return True, ''
  20. else:
  21. return False, 'send_sms_result:{}, send_email_result:{}'.format(sms_result.json().get('msg'), mail_result.json().get('msg'))
  22. demo_notice_script_call()