%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
 [](https://travis-ci.org/sendgrid/php-http-client) [](https://packagist.org/packages/sendgrid/php-http-client) [](https://dx.sendgrid.com/newsletter/php) [](https://twitter.com/sendgrid) [](https://github.com/sendgrid/php-http-client/graphs/contributors) [](./LICENSE.txt) **Quickly and easily access any RESTful or RESTful-like API.** If you are looking for the SendGrid API client library, please see [this repo](https://github.com/sendgrid/sendgrid-php). # Announcements All updates to this library is documented in our [CHANGELOG](https://github.com/sendgrid/php-http-client/blob/master/CHANGELOG.md). # Table of Contents - [Installation](#installation) - [Quick Start](#quick-start) - [Usage](#usage) - [Roadmap](#roadmap) - [How to Contribute](#contribute) - [Thanks](#thanks) - [About](#about) - [License](#license) <a name="installation"></a> # Installation ## Prerequisites - PHP version 5.6 or 7.0 ## Install with Composer Add php-http-client to your `composer.json` file. If you are not using [Composer](http://getcomposer.org), you should be. It's an excellent way to manage dependencies in your PHP application. ```json { "require": { "sendgrid/php-http-client": "~3.9.6" } } ``` Then at the top of your PHP script require the autoloader: ```php require __DIR__ . '/vendor/autoload.php'; ``` Then from the command line: ```bash composer install ``` ## Install without Composer You should create directory `lib` in directory of your application and clone to `lib` repositories [php-http-client](https://github.com/sendgrid/php-http-client.git) and [sendgrid-php](https://github.com/sendgrid/sendgrid-php.git): ``` $ cd /path/to/your/app $ mkdir lib $ cd lib $ git clone https://github.com/sendgrid/php-http-client.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 <?php require_once __DIR__ . '/lib/php-http-client/lib/Client.php'; require_once __DIR__ . '/lib/php-http-client/lib/Response.php'; ``` After it you can use `php-http-client` library in your project: ```php <?php include __DIR__ . '/loader.php'; $client = new SendGrid\Client(); ``` <a name="quick-start"></a> # Quick Start Here is a quick example: `GET /your/api/{param}/call` ```php // include __DIR__ . '/loader.php'; require 'vendor/autoload.php'; $apiKey = YOUR_SENDGRID_API_KEY; $authHeaders = [ 'Authorization: Bearer ' . $apiKey ]; $client = new SendGrid\Client('https://api.sendgrid.com', $authHeaders); $param = 'foo'; $response = $client->your()->api()->_($param)->call()->get(); var_dump( $response->statusCode(), $response->headers(), $response->body() ); ``` `POST /your/api/{param}/call` with headers, query parameters and a request body with versioning. ```php // include __DIR__ . '/loader.php'; require 'vendor/autoload.php'; $apiKey = YOUR_SENDGRID_API_KEY; $authHeaders = [ 'Authorization: Bearer ' . $apiKey ]; $client = new SendGrid\Client('https://api.sendgrid.com', $authHeaders); $queryParams = [ 'hello' => 0, 'world' => 1 ]; $requestHeaders = [ 'X-Test' => 'test' ]; $data = [ 'some' => 1, 'awesome' => 2, 'data' => 3 ]; $param = 'bar'; $response = $client->your()->api()->_($param)->call()->post($data, $queryParams, $requestHeaders); var_dump( $response->statusCode(), $response->headers(), $response->body() ); ``` <a name="usage"></a> # Usage - [Usage Examples](USAGE.md) ## Environment Variables You can do the following to create a .env file: ```cp .env_example .env``` Then, just add your API Key into your .env file. <a name="roadmap"></a> # Roadmap If you are interested in the future direction of this project, please take a look at our [milestones](https://github.com/sendgrid/php-http-client/milestones). We would love to hear your feedback. <a name="contribute"></a> # How to Contribute We encourage contribution to our libraries, please see our [CONTRIBUTING](https://github.com/sendgrid/php-http-client/blob/master/CONTRIBUTING.md) guide for details. Quick links: - [Feature Request](https://github.com/sendgrid/php-http-client/blob/master/CONTRIBUTING.md#feature-request) - [Bug Reports](https://github.com/sendgrid/php-http-client/blob/master/CONTRIBUTING.md#submit-a-bug-report) - [Sign the CLA to Create a Pull Request](https://github.com/sendgrid/php-http-client/blob/master/CONTRIBUTING.md#cla) - [Improvements to the Codebase](https://github.com/sendgrid/php-http-client/blob/master/CONTRIBUTING.md#improvements-to-the-codebase) - [Review Pull Requests](https://github.com/sendgrid/php-http-client/blob/master/CONTRIBUTING.md#code-reviews) <a name="thanks"></a> # Thanks We were inspired by the work done on [birdy](https://github.com/inueni/birdy) and [universalclient](https://github.com/dgreisen/universalclient). <a name="about"></a> # About php-http-client is guided and supported by the SendGrid [Developer Experience Team](mailto:dx@sendgrid.com). php-http-client is maintained and funded by SendGrid, Inc. The names and logos for php-http-client are trademarks of SendGrid, Inc. <a name="license"></a> # License [The MIT License (MIT)](LICENSE.txt)