intercom/intercom-php
Intercom PHP SDK for PHP 8.1+ that makes it easy to call Intercom APIs. Instantiate IntercomClient with your token, use typed request objects, handle IntercomApiException for 4xx/5xx errors, and iterate list endpoints with automatic pagination via Pager.
The Intercom team is excited to announce a new and improved PHP SDK.
Full Changelog: https://github.com/intercom/intercom-php/compare/v4.5.1...v5.0.0
IntercomClient::$password explicitly nullable by @hhamon in https://github.com/intercom/intercom-php/pull/373Full Changelog: https://github.com/intercom/intercom-php/compare/v4.5.0...v4.5.1
Fixed a bug in nextSearchPage. This method was wrongfully processing the response twice, which could lead to exceptions depending on the PHP configuration.
The previous release introduced support for the Contacts API. However, the contact update method wasn't working because it was missing the contact id in the URL. This release fixes the $client->contacts->update method.
This release includes the following:
This release adds support for Teams:
$intercomClient->teams->getTeams()$intercomClient->teams->getTeam($id)This release adds support for listing users of a company via $intercomClient->companies->getCompanyUsers($id)
This release reduces the size of the sdk by excluding unnecessary files from the package (tests, test configurations, CI configuration, etc).
This is a minor patch that adds type hinting to constructors and some other methods for enhanced security and enhanced compatibility with the Symfony4 autowiring features. See https://github.com/intercom/intercom-php/issues/282 for more details.
None of the methods where type hinting was added would have worked if the incorrect types were passed through, so this change is fully backwards compatible.
This release enables the usage of the new customer search endpoint.
At the moment of writing, this is only available in the Unstable version. Please see the API Changelog and the notes about API Versions for intercom-php.
This release adds compatibility with php-http/client-common version 2, which also allows this library to be used with HTTPlug 2.
https://github.com/intercom/intercom-php/pull/274 fixes two variables with incorrect names, which might lead to some warnings or errors, for example, if PHP strict mode is enabled.
#272 After the previous upgrade we discovered that no errors were being thrown. To address this we used ErrorPlugin to raise 4xx and 5xx exceptions
Upgrade to PHP 7.1+ #271 PHP 5.6 and 7.0 are no longer supported. We should only support active versions (7.1, 7.2 and 7.3 at the time of writing)
Abstract the HTTP client using HTTPPlug #270
This version introduces HTTPPlug as the HTTP Client. HTTPPlug allows this library to use any HTTP Library as long as there is a HTTPPlug adaptor for it. All major libraries are available (Guzzle5/6, CURL, Buzz and many more).
Upgrade instructions:
- Check if any change from the list below affects your code and update it if required.
- Choose a client implementation and include it to your dependencies (ie
composer require php-http/curl-client). We recommend that you choose the adapter for the library you already use in your project. If you don't use any,php-http/curl-clientis the most lightweight.- Upgrade your
intercom/intercom-phpdependency:composer update intercom/intercom-php.Changes in this version:
IntercomClientconstructor third parameter now only accepts a key-value array of request headers, that will be included in every request, eg:new IntercomClient('token', null, ['Custom-Header' => 'value']);. If you were passing any other options to the client (apart from headers), you will need to instantiate your own client and pass it using thesetHttpClientmethod. Example:$httpClient = new Http\Adapter\Guzzle6\Client( new GuzzleHttp\Client(['connect_timeout' => 5]); ); $client = new IntercomClient('token'); $client->setHttpClient($httpClient);
IntercomClientmethodsetClienthas been renamed tosetHttpClient. Its first argument must be aPsr\Http\Client\ClientInterface. If you were using this method before upgrading, you can use the Guzzle6 adapter like in the example above. For example,$client->setClient($guzzleClient)would need to be changed to$client->setHttpClient(new Http\Adapter\Guzzle6\Client($guzzleClient)).
IntercomClientno longer exposes the methodsgetGuzzleRequestOptionsandgetAuth.
IntercomClientnow provides the methodssetRequestFactoryandsetUriFactoryso you can customize the generation of requests and URIs if needed.From now on, all the exceptions thrown by the SDK will implement
Http\Client\Exception. See the different exceptions that can be thrown in the HTTPPlug documentation
#251 introduces the ability to permanently delete a user
More PSR2 fixes #236 Added scroll for leads #238
This is related to PR #233 by @kmossco and #218 to refactor the code for PSR2 styling
Related to #205 added option to set Guzzle requests if needed. Also, includes fix to remove use of 'function' keyword for compatibility with symfony 2.7 and fix issue with rate limit header unit test failing
This allows users to access rate limit info contained in the rate limit headers in the response.
Updating for new view segment option
Several fixes to phpdocs, contributed by @fnwbr @andrewandante
Add PhpDoc to methods and variables Add a new method to IntercomUsers to allow fetching details of a single user by its Intercom id
Add method for deleting a user
Major rewrite using recent Guzzle
Adds created_since when listing users
Adds order when listing users
How can I help you explore Laravel packages today?