Загрузка данных
@app.route("/changed_status", methods=["POST"])
def changed_status():
lg(f"request args: {request.args}")
try:
data = request.args
lead_id = int(data["lead_id"])
deal_id = int(data["deal_id"])
lg(f"leadid: {lead_id}")
lg(f"dealid: {deal_id}")
if deal_id == 0:
lg(f"lead_id: {lead_id}")
params = {
"ID": lead_id,
"SELECT": ["UF_CRM_1768824257", "ID", "STATUS_ID"]
}
lead = requests.post(LEAD_GET_URL, json=params).json()["result"]
system313_id = lead.get("UF_CRM_1768824257")
lg(f"system313 id: {system313_id}")
params = {
"FILTER": {
"LEAD_ID": int(lead_id)
},
"SELECT": ["ID", "STAGE_ID", "UF_CRM_1765974363"]
}
lg("trying get a deals")
try:
deals = requests.post(DEAL_URL, json=params).json()
if "id" in str(json.loads(json.dumps(deals))).lower():
lg("request from lead BUT deal already create. Skip.")
return jsonify({"status": "request from lead BUT deal already create. Skip."})
else:
lg(f"dont find a deal.")
params = {
"filter": {"STATUS_ID": lead.get("STATUS_ID")},
"select": ["NAME"]
}
lg(f"status id: {lead.get("STATUS_ID")}")
status_response = requests.post(STATUS_LIST_URL, json=params).json()["result"][0]
lg(f"status: {status_response.get("NAME")}")
params = {
"id": int(system313_id),
"status": status_response.get("NAME")
}
response = requests.post(CLIENT_URL, json=params)
lg(f"request to client status code: {response.status_code}")
except Exception as e:
lg(e)
print(e)
else:
lg(f"find a deal: {deal_id}")
params = {
"ID": deal_id,
"SELECT": ["UF_CRM_696E1FAA1CDB2", "ID", "UF_CRM_1765974363", "STAGE_ID"]
}
deals = requests.post(DEAL_GET_URL, json=params)
deals = deals.json()["result"]
system313_id = deals.get("UF_CRM_696E1FAA1CDB2")
lg("system313: " + system313_id)
params = {
"filter": {"STATUS_ID": deals.get("STAGE_ID")},
"select": ["NAME"]
}
status_response = requests.post(STATUS_LIST_URL, json=params).json()["result"][0]
status = status_response.get("NAME")
lg(f"status: {status}")
if deals.get("UF_CRM_1765974363"):
lg(f"date of deal: {deals.get("UF_CRM_1765974363")[:10]}")
params = {
"id": int(system313_id),
"status": status_response.get("NAME"),
"contractDate": deals.get("UF_CRM_1765974363")[:10]
}
response = requests.post(CLIENT_URL, json=params)
lg(response.status_code)
else:
lg(f"date of deal is none.")
params = {
"id": int(system313_id),
"status": status_response.get("NAME")
}
response = requests.post(CLIENT_URL, json=params)
lg(response.status_code)
return jsonify({"status": "Test_True"})
except Exception as e:
print(e)
return jsonify({
"error": "server_error",
"error_description": str(e)
}), 500