Quickly and easily access any RESTful or RESTful-like API.
If you are looking for the SendGrid API client library, please see this repo.
All updates to this library is documented in our CHANGELOG.
- PHP version 5.6 or 7.0
Add php-http-client to your composer.json
file. If you are not using Composer, you should be. It's an excellent way to manage dependencies in your PHP application.
{
"require": {
"sendgrid/php-http-client": "~3.8"
}
}
Then at the top of your PHP script require the autoloader:
require __DIR__ . '/vendor/autoload.php';
Then from the command line:
composer install
You should create directory lib
in directory of your application and clone to lib
repositories php-http-client and sendgrid-php:
$ cd /path/to/your/app
$ mkdir lib
$ cd lib
$ git clone https://github.com./sendgrid/php-http-client.git
$ git clone https://github.com./sendgrid/sendgrid-php.git
In the next step you should create loader.php
:
$ cd /path/to/your/app
$ touch loader.php
And add to loader.php
code below:
<?php
require_once __DIR__ . '/lib/php-http-client/lib/Client.php';
require_once __DIR__ . '/lib/php-http-client/lib/Response.php';
require_once __DIR__ . '/lib/sendgrid-php/lib/SendGrid.php';
After it you can use php-http-client
library in your project:
<?php
include __DIR__ . '/loader.php';
$client = new SendGrid\Client();
Here is a quick example:
GET /your/api/{param}/call
// include __DIR__ . '/loader.php';
require 'vendor/autoload.php';
$global_headers = array('Authorization: Basic XXXXXXX');
$client = new SendGrid\Client('base_url', $global_headers);
$response = $client->your()->api()->_($param)->call()->get();
print $response->statusCode();
print $response->headers();
print $response->body();
POST /your/api/{param}/call
with headers, query parameters and a request body with versioning.
// include __DIR__ . '/loader.php';
require 'vendor/autoload.php';
$global_headers = array('Authorization: Basic XXXXXXX');
$client = new SendGrid\Client('base_url', $global_headers);
$query_params = array('hello' => 0, 'world' => 1);
$request_headers = array('X-Test' => 'test');
$data = array('some' => 1, 'awesome' => 2, 'data' => 3);
$response = $client->your()->api()->_($param)->call()->post('data',
'query_params',
'request_headers');
print $response->statusCode();
print $response->headers();
print $response->body();
If you are interested in the future direction of this project, please take a look at our milestones. We would love to hear your feedback.
We encourage contribution to our libraries, please see our CONTRIBUTING) guide for details.
Quick links:
We were inspired by the work done on birdy and universalclient.
php-http-client is guided and supported by the SendGrid Developer Experience Team.
php-http-client is maintained and funded by SendGrid, Inc. The names and logos for php-http-client are trademarks of SendGrid, Inc.