vivekApagen

python API

Mar 15th, 2016
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.97 KB | None | 0 0
  1. from flask import Flask,jsonify,make_response,request,url_for
  2. import xmlrpclib
  3. import socket
  4. #from new_apis import *
  5.  
  6.  
  7. '''
  8. Kyor API
  9. Create Leads(service_to_create_leads())
  10.  
  11. '''
  12.  
  13. app = Flask(__name__)
  14.  
  15.  
  16. URL = '128.199.189.126:8088'#host ip with port no.
  17. username = 'odooadmin@hcah.in' #the user
  18. password = 'admin'#the password of the user
  19. dbname = 'hcah_7mar' #the database
  20.  
  21. sock = xmlrpclib.ServerProxy('http://%s/xmlrpc/object' % URL)
  22.  
  23. @app.route('/call_method', methods=['POST'])
  24. def call_method_main():
  25. return call_method(request.json)
  26.  
  27. @app.route('/search_read', methods=['POST'])
  28. def search_read_():
  29. print request.json
  30. return search_read(request.json)
  31.  
  32.  
  33.  
  34. @app.route('/service_to_create_leads', methods=['POST'])
  35. def service_to_create_leads():
  36.  
  37. sock_common = xmlrpclib.ServerProxy ('http://%s/xmlrpc/common' % URL)
  38. user = sock_common.login(dbname, username, password)
  39.  
  40. if request.json or 'Location/Service Area' in request.json:
  41. area_id = sock.execute(dbname, user, password,
  42. 'hr.employee.service.area', 'search', [('name', '=', request.json['Location/Service Area'])])
  43.  
  44. if request.json or 'Lead Source' in request.json:
  45. source_id = sock.execute(dbname, user, password,
  46. 'crm.tracking.source', 'search', [('name', '=', request.json['Lead Source'])])
  47.  
  48. if request.json or 'Campaign Keyword' in request.json:
  49. Campaign_id = sock.execute(dbname, user, password,
  50. 'crm.tracking.campaign', 'search', [('name', '=', request.json['Campaign Keyword'])])
  51.  
  52. vals_dict = {
  53. 'name': request.json['Name'],
  54. 'contact_name': request.json['Patient Name'],
  55. 'phone': request.json['Contact No'],
  56. 'email_from': request.json['Email'],
  57. 'contact_by': request.json['Contacted by NOK'],
  58. 'age': request.json['Age'],
  59. 'gender': request.json['Gender'],
  60. 'service_requirements': request.json['Service Requirements'],
  61. 'medical_condition': request.json['Medical Condition'],
  62. #'service_area': area_id[0],
  63. #'source_id': request.json['Lead Source'],
  64. #'campaign_id': request.json['Campaign Keyword'],
  65. }
  66. if area_id:
  67. vals_dict['service_area'] = area_id[0]
  68. else:
  69. vals_dict['service_area'] = ''
  70. if source_id:
  71. vals_dict['source_id'] = source_id[0]
  72. else:
  73. vals_dict['source_id'] = ''
  74. if Campaign_id:
  75. vals_dict['campaign_id'] = Campaign_id[0]
  76. else:
  77. vals_dict['campaign_id'] = ''
  78. record_id_est_line = sock.execute(dbname, user, password,'crm.lead', 'create', vals_dict)
  79. response = {
  80. 'success': '1',
  81. 'message': 'Lead Record Created',
  82.  
  83. }
  84. return jsonify(response), 200
  85.  
  86. if __name__== '__main__':
  87. app.run(host='0.0.0.0', port=8088, debug = True)
Add Comment
Please, Sign In to add comment