Intercom PHP SDK

Intercom PHP SDK Examples

📘

Installation and Configuration Steps

For information on how to install and configure the Intercom PHP SDK please see the intercom-php github page. For general code examples please see below.

Clients

use Intercom\IntercomClient; $client = new IntercomClient(<insert_token_here>, null);

Users

$client->users->create(["email" => "test@intercom.io"]);
$client->users->deleteUser("570680a8a1bcbca8a90001b9");
// Add companies to a user $client->users->create(["email" => "test@intercom.io", "companies" => [ [ "id" => "3" ] ] ]);
$client->users->getUsers(["email" => "bob@intercom.io"]);
$client->users->getUsers([]);

Leads

// See more options here: https://developers.intercom.io/reference#create-lead $client->leads->create([]);
$client->leads->deleteLead("570680a8a1bcbca8a90000a9");
$leads->convertLead([ "contact" => [ "user_id" => "8a88a590-e1c3-41e2-a502-e0649dbf721c" ], "user" => [ "email" => "winstonsmith@truth.org" ] ]);
$client->leads->getLead("570680a8a1bcbca8a90000a9");
// See more options here: https://developers.intercom.io/reference#list-leads $client->leads->getLeads([]);

Tags

$client->tags->tag([ "name" => "Test", "users" => [ ["id" => "1234"] ] ]);
$client->tags->getTags();

Events

$client->events->create([ "event_name" => "testing", "created_at" => 1391691571, "email" => "test@intercom.io" ]);
$client->events->getEvents(["email" => "bob@intercom.io"]);

Companies

$client->companies->create([ "name" => "foocorp", "id" => "3" ]);
$client->companies->getCompanies([]);

Admins

$client->admins->getAdmins();

Messages

// See more options here: https://developers.intercom.io/reference#conversations $client->messages->create([ "message_type" => "inapp", "subject" => "Hey", "body" => "Ponies, cute small horses or something more sinister?", "from" => [ "type" => "admin", "id" => "1234" ], "to" => [ "type" => "user", "email" => "bob@intercom.io" ] ]);

Conversations

// See more options here: https://developers.intercom.io/reference#list-conversations $client->conversations->getConversations([ "type" => "admin", "admin_id" => "25610" ]);
$client->conversations->getConversation("1234")
// See more options here: https://developers.intercom.io/reference#replying-to-a-conversation $client->conversations->replyToConversation("5678", [ "email" => "test@intercom.io", "body" => "Thanks :)", "type" => "user", "message_type" => "comment" ]);

Counts

// See more options here: https://developers.intercom.io/reference#getting-counts $client->counts->getCounts([])

Notes

$client->notes->create([ "admin_id" => "21", "body" => "Text for my note", "user" => [ "id" => "5310d8e8598c9a0b24000005" ] ]);
$client->notes->getNotes([ "user_id" => "25" ]);
$client->notes->getNote("42");

Pagination

When listing, the Intercom API may return a pagination object: { "pages": { "next": "..." } }
//You can grab the next page of results using the client: $client->nextPage($response["pages"]);