column_names = ['Body', 'ERROR_CODE']
spark = SparkSession.builder.appName("Simplified Dynamic Schema").getOrCreate()

url_%NAME% = '%URL__NO_QUOTES__%'
headers_csv = "%HEADERS%"

# Convert CSV string to dictionary
headers_list = headers_csv.split(',')
# Ensure the headers_list has an even number of elements
if len(headers_list) % 2 != 0:
    print("Error: Headers CSV string is malformed. Please check the format.")
headers_%NAME% = dict(zip(headers_list[::2], headers_list[1::2]))

# Perform the GET request
response = requests.get(url_%NAME%, headers_%NAME%)
if response.status_code == 200:
    data = response.json()
    row_data = Row(**{col: str(data.get(col, None)) for col in column_names})
    %NAME% = spark.createDataFrame([row_data])
else:
    print(f"Failed to fetch data from URL: {url_%NAME%} with status code: {response.status_code}")
