public with sharing class TestAPICall { @AuraEnabled public static String testPythonAPI() { try { // Test with minimal HTML to see what the Python server returns String testHtml = '

Test

Small test content

'; Http http = new Http(); HttpRequest request = new HttpRequest(); request.setEndpoint('https://salesforce.tech4biz.io/generate-pdf'); request.setMethod('POST'); request.setHeader('Content-Type', 'application/json'); request.setHeader('Accept', 'application/json'); Map requestBody = new Map(); requestBody.put('html_content', testHtml); requestBody.put('pageSize', 'A4'); requestBody.put('filename', 'test.pdf'); requestBody.put('return_download_link', true); // CRITICAL: Request download link only requestBody.put('store_on_server', true); requestBody.put('pdf_id', 'TEST_' + DateTime.now().getTime()); String jsonBody = JSON.serialize(requestBody); request.setBody(jsonBody); request.setTimeout(30000); HttpResponse response = http.send(request); System.debug('Response Status: ' + response.getStatusCode()); System.debug('Response Body Length: ' + response.getBody().length()); System.debug('Response Body: ' + response.getBody()); if (response.getBody().length() > 1000000) { // 1MB return 'ERROR: Response too large (' + response.getBody().length() + ' bytes). Python server is returning PDF content instead of download link.'; } return 'SUCCESS: Response size is ' + response.getBody().length() + ' bytes. Response: ' + response.getBody(); } catch (Exception e) { return 'ERROR: ' + e.getMessage(); } } }