In this article, we will learn how to Integrate Third-Party APIs in Laravel .
To integrate third-party APIs in Laravel, you can follow these steps:
1. Install Required Packages:
Before getting started, you should ensure that you have installed the Guzzle package as a dependency of your application. Basically, its work is to send HTTP requests to third-party APIs.
By default, Laravel automatically includes this dependency. However, if you have previously removed the package, you may install it again via Composer. Run the below command to install guzzlehttp/guzzle.
1 |
composer require guzzlehttp/guzzle |
2. Set API Credentials:
Make sure to store sensitive information like API keys in your environment file ( ‘.env’ ) .
3. Create API Service Class:
Next, create a service class to write logic for interacting with the API. Run the below command to generate a new service class. Below, I am creating a service class with the name of ‘APIService’. You can replace ‘APIService’ with your desired one.
1 |
php artisan make:service APIService |
4. Implement API Logic:
Open the generated service class (‘APIService’) and implement the necessary logic for making API requests. This is the place where the role of Guzzle HTTP client starts. Use the Guzzle HTTP client to send HTTP requests to the API endpoints. Below we have provided an example to show how the service class might look.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php namespace App\Services; use GuzzleHttp\Client; class APIService { protected $client; public function __construct(Client $client) { $this->client = $client; } public function makeAPIRequest() { $response = $this->client->get('https://api.example.com/endpoint'); return $response->getBody()->getContents(); } } |
5. Inject Service Class:
Now, Inject the service class into the controller or other place where you need to use the API functionality. Here, I am injecting service class (‘APIService’) in a controller (‘ApiController’) to get response from API using method (‘makeAPIRequest()’) which we already defined in the service class.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php namespace App\Http\Controllers; use App\Services\APIService; class ApiController extends Controller { protected $apiService; public function __construct(APIService $apiService) { $this->apiService = $apiService; } public function index() { $response = $this->apiService->makeAPIRequest(); // Process the API response and return the desired result } } |
Now, when your controller index method called. you will get response from your API in your $response variable. Further, you can process the response and return or use the result as per your requirements.
That’s it! You’ve successfully integrated a third-party API into your Laravel application.
Conclusion
In this article, we have learnt how to Integrate Third-Party APIs in Laravel .
Thanks for reading this blog. Please comment below if you have any question. You can hire laravel developers to build your custom solutions on Laravel and can also explore our extensions.