wisembly / intercom-php
Installs: 7 270
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 16
Forks: 2
Open Issues: 2
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~4.0
- symfony/property-access: ~2.4
Requires (Dev)
- phpunit/phpunit: 4.0.*
This package is not auto-updated.
Last update: 2024-11-09 16:58:29 UTC
README
Intercom-php
This little library allows you to use Intercom API more easily. It provides clients to manage your users or your events fluently.
The curl client used is Guzzle. Instanciate Guzzle with your configuration and give it to your Intercom client with you credentials and it's ready go !
Versioning
For the moment the library is in "Work In Progress". Master move fast and I don't guarantee BC before announcing a stable version in 1.1.0.
Installation
-
Install composer :
curl -s http://getcomposer.org/installer | php
(more info at getcomposer.org) -
Create a
composer.json
file in your project root : (or add only the excelant line in your existing composer file)
{ "require": { "wisembly/intercom-php": "*", } }
- Install via composer :
php composer.phar install
Use Intercom-php
Create the client for manage Users
use GuzzleHttp\Client as Guzzle; use Intercom\Client\User as Intercom; $guzzleHttp = new Guzzle; $intercom = new Intercom('APP_ID', 'API_KEY', $guzzle);
Actions
Now you can do all the requests that the Intercom User API allows. For each actions, you need to create a User object that represents your Intercom User.
Create
use Intercom\Object\User; $user = new User(1, 'foo@company.com'); // user_id or email $intercom->create($user);
Update
use Intercom\Object\User; $user = new User(1, 'foo@company.com'); // user_id or email $intercom->update($user);
Delete
use Intercom\Object\User; $user = new User(1, 'foo@company.com'); // user_id or email $intercom->delete($user);
Get
$user = $intercom->get(1, 'foo@company.com'); // user_id or email
Search
To search users through all your Intercom database, use an instance of UserSearch
that allows you to find users with specified attributes.
use Intercom\Request\Search\UserSearch; // Retrieve the first ten users with tag name "premium" $search = new UserSearch(1, 10, null, 'premium'); $users = $intercom->search($search);
See the complete documentation of this search API.
Use case : How to retrieve all your Intercom users ?
By default the Intercom API allows you to retrieve 500 entities per request.
use GuzzleHttp\Client as Guzzle; use Intercom\Request\UserSearch; use Intercom\Client\User as Intercom; // Create the client $guzzle = new Guzzle; $intercom = new Intercom('APP_ID', 'API_KEY', $guzzle); // Create a search with defaut parameters $search = new UserSearch; $users = []; // Fetch all users do { $response = $intercom->search($search); $users = array_merge($users, $response->getContent()); $search->setPage($response->getNextPage()); } while ($response->hasPageToBeFetch());
TODO
- Tagging
- Notes
- Impressions
- Messages threads