public class SalesforceIntegrationExample {
public static void getExternalData() {
// 1. Create the 'Phone' (Http object)
Http http = new Http();
// 2. Prepare the 'Call' (HttpRequest object)
HttpRequest request = new HttpRequest();
// 3. Dial the number (The Endpoint URL)
request.setEndpoint('https://g...content-available-to-author-only...g.org/api/temperature-api');
// 4. Tell them what you want (The Method: GET means "send me info")
request.setMethod('GET');
// 5. Make the call and wait for the Answer (HttpResponse object)
HttpResponse response = http.send(request);
// 6. Check if the call was successful (Status Code 200)
if (response.getStatusCode() == 200) {
// Success! Print the data to the console
System.debug('Data received: ' + response.getBody());
} else {
// Something went wrong (e.g., 404 - Not Found)
System.debug('Error! Status Code: ' + response.getStatusCode());
}
}
}
cHVibGljIGNsYXNzIFNhbGVzZm9yY2VJbnRlZ3JhdGlvbkV4YW1wbGUgewogICAgCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgZ2V0RXh0ZXJuYWxEYXRhKCkgewogICAgICAgIC8vIDEuIENyZWF0ZSB0aGUgJ1Bob25lJyAoSHR0cCBvYmplY3QpCiAgICAgICAgSHR0cCBodHRwID0gbmV3IEh0dHAoKTsKICAgICAgICAKICAgICAgICAvLyAyLiBQcmVwYXJlIHRoZSAnQ2FsbCcgKEh0dHBSZXF1ZXN0IG9iamVjdCkKICAgICAgICBIdHRwUmVxdWVzdCByZXF1ZXN0ID0gbmV3IEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgCiAgICAgICAgLy8gMy4gRGlhbCB0aGUgbnVtYmVyIChUaGUgRW5kcG9pbnQgVVJMKQogICAgICAgIHJlcXVlc3Quc2V0RW5kcG9pbnQoJ2h0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZy5vcmcvYXBpL3RlbXBlcmF0dXJlLWFwaScpOwogICAgICAgIAogICAgICAgIC8vIDQuIFRlbGwgdGhlbSB3aGF0IHlvdSB3YW50IChUaGUgTWV0aG9kOiBHRVQgbWVhbnMgInNlbmQgbWUgaW5mbyIpCiAgICAgICAgcmVxdWVzdC5zZXRNZXRob2QoJ0dFVCcpOwogICAgICAgIAogICAgICAgIC8vIDUuIE1ha2UgdGhlIGNhbGwgYW5kIHdhaXQgZm9yIHRoZSBBbnN3ZXIgKEh0dHBSZXNwb25zZSBvYmplY3QpCiAgICAgICAgSHR0cFJlc3BvbnNlIHJlc3BvbnNlID0gaHR0cC5zZW5kKHJlcXVlc3QpOwogICAgICAgIAogICAgICAgIC8vIDYuIENoZWNrIGlmIHRoZSBjYWxsIHdhcyBzdWNjZXNzZnVsIChTdGF0dXMgQ29kZSAyMDApCiAgICAgICAgaWYgKHJlc3BvbnNlLmdldFN0YXR1c0NvZGUoKSA9PSAyMDApIHsKICAgICAgICAgICAgLy8gU3VjY2VzcyEgUHJpbnQgdGhlIGRhdGEgdG8gdGhlIGNvbnNvbGUKICAgICAgICAgICAgU3lzdGVtLmRlYnVnKCdEYXRhIHJlY2VpdmVkOiAnICsgcmVzcG9uc2UuZ2V0Qm9keSgpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBTb21ldGhpbmcgd2VudCB3cm9uZyAoZS5nLiwgNDA0IC0gTm90IEZvdW5kKQogICAgICAgICAgICBTeXN0ZW0uZGVidWcoJ0Vycm9yISBTdGF0dXMgQ29kZTogJyArIHJlc3BvbnNlLmdldFN0YXR1c0NvZGUoKSk7CiAgICAgICAgfQogICAgfQp9Cg==