How to call a REST API in PHP?

The process of making REST API calls in PHP, providing you with a clear understanding of the steps involved. Our approach involves using the cURL library, a powerful tool for handling HTTP requests, to seamlessly communicate with RESTful services.

Understanding REST API Integration

REST (Representational State Transfer) APIs serve as a bridge between different systems, allowing them to exchange data in a structured manner. PHP, equipped with the cURL library, provides a robust environment for making HTTP requests and handling API responses.

Setting the Stage: A Simple REST API Example

Let's consider a basic example involving two servers:

Server 1: Initiating the API Call


<?php

function curl($data, $url) {
    
$ch = curl_init();
    
curl_setopt($ch, CURLOPT_URL, $url);
    
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
curl_setopt($ch, CURLOPT_POST, 1);
    
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    return 
$reply = curl_exec($ch);
    
curl_close($ch);
}

$your_api = "https://example.com/yourapi.php";
$post_value = array("name" => "Your Name", "email" => "Your Email");
$result = curl($post_value, $your_api);
$data = json_decode($result, true);
print_r($data);
?>

Server 2: Handling the API Request


<?php

// https://example.com/yourapi.php
header("Access-Control-Allow-Origin: *");
echo 
json_encode($_POST);
?>

Initiating the API Call with cURL

The `curl` function encapsulates the cURL configuration, enabling you to make a POST request to the target API (`$your_api`). The provided data (`$post_value`) is sent in the request payload.

Handling the API Response

The API response is stored in `$result` and then decoded using `json_decode` to convert it into a PHP array (`$data`). Finally, we print the decoded data.

Share