Загрузка данных



@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