1. Go to this page and download the library: Download arquivei/intercom-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
arquivei / intercom-php example snippets
use Intercom\IntercomClient;
$client = new IntercomClient(<insert_token_here>, null);
/** Create a user */
$client->users->create([
"email" => "[email protected]",
"custom_attributes" => ['foo' => 'bar']
]);
/**
* Update a user (Note: This method is an alias to the create method. In practice you
* can use create to update users if you wish)
*/
$client->users->update([
"email" => "[email protected]",
"custom_attributes" => ['foo' => 'bar']
]);
/** Delete a user by ID */
$client->users->deleteUser("570680a8a1bcbca8a90001b9");
/** Get a user by ID */
$client->users->getUser("570680a8a1bcbca8a90001b9");
/** Add companies to a user */
$client->users->create([
"email" => "[email protected]",
"companies" => [
[
"company_id" => "3"
]
]
]);
/** Remove companies from a user */
$client->users->create([
"email" => "[email protected]",
"companies" => [
[
"company_id" => "3",
"remove" => true
]
]
]);
/** Find a single user by email */
$client->users->getUsers(["email" => "[email protected]"]);
/** List all users up to 10k records */
$client->users->getUsers([]);
/**
* List all users (even above 10k records)
* The result object contains an array of your user objects and a scroll_param which you can then
* use to request the next 100 users. Note that the scroll parameter will time out after one minute
* and you will need to make a new request
*/
$client->users->scrollUsers();
/**
* Create a lead
* See more options here: https://developers.intercom.io/reference#create-lead
*/
$client->leads->create([
"email" => "[email protected]",
"custom_attributes" => ['foo' => 'bar']
]);
/**
* Update a lead (Note: This method is an alias to the create method.
* In practice you can use create to update leads if you wish)
*/
$client->leads->update([
"email" => "[email protected]",
"custom_attributes" => ['foo' => 'bar']
]);
/**
* List leads
* See more options here: https://developers.intercom.io/reference#list-leads
*/
$client->leads->getLeads([]);
/** Find a lead by ID */
$client->leads->getLead("570680a8a1bcbca8a90000a9");
/** Delete a lead by ID */
$client->leads->deleteLead("570680a8a1bcbca8a90000a9");
/** Convert a Lead to a User */
$client->leads->convertLead([
"contact" => [
"user_id" => "8a88a590-e1c3-41e2-a502-e0649dbf721c"
],
"user" => [
"email" => "[email protected]"
]
]);
/**
* List all leads (even above 10k records)
* The result object contains an array of your contacts objects and a scroll_param which you can then
* use to request the next 100 leads. Note that the scroll parameter will time out after one minute
* and you will need to make a new request
*/
$client->leads->scrollLeads();
/** Update a visitor */
$client->visitors->update([
"user_id" => "8a88a590-e1c3-41e2-a502-e0649dbf721c",
"custom_attributes" => ['foo' => 'bar']
]);
/** Find a visitor by ID */
$client->visitors->getVisitor("570680a8a1bcbca8a90000a9");
/** Find a visitor by User ID */
$client->visitors->getVisitor("", ["user_id" => "8a88a590-e1c3-41e2-a502-e0649dbf721c"]);
/** Delete a visitor by ID */
$client->visitors->deleteVisitor("570680a8a1bcbca8a90000a9");
/** Convert a Visitor to a Lead */
$client->visitors->convertVisitor([
"visitor" => [
"user_id" => "8a88a590-e1c3-41e2-a502-e0649dbf721c"
],
"type" => "lead"
]);
/** Convert a Visitor to a User */
$client->visitors->convertVisitor([
"visitor" => [
"user_id" => "8a88a590-e1c3-41e2-a502-e0649dbf721c"
],
"user" => [
"email" => "[email protected]"
],
"type" => "user"
]);
/** List tags */
$client->tags->getTags();
/**
* Tag users
* See more options here: https://developers.intercom.io/reference#tag-or-untag-users-companies-leads-contacts
*/
$client->tags->tag([
"name" => "Test",
"users" => [
["id" => "1234"]
]
]);
/** List Segments */
$client->segments->getSegments();
/** View a segment */
$client->segments->getSegment("58a707924f6651b07b94376c");
/** View a segment with count */
$client->segments->getSegment("59c124f770e00fd819b9ce81", ["
/** Create an event */
$client->events->create([
"event_name" => "testing",
"created_at" => 1391691571,
"email" => "[email protected]"
]);
/** View events for a user */
$client->events->getEvents(["email" => "[email protected]"]);
/** Create a company */
$client->companies->create([
"name" => "foocorp", "company_id" => "3"
]);
/**
* Update a company (Note: This method is an alias to the create method.
* In practice you can use create to update companies if you wish)
*/
$client->companies->update([
"name" => "foocorp", "id" => "3"
]);
/** Creating or Update a company with custom attributes. */
$client->companies->update([
"name" => "foocorp",
"id" => "3",
"custom_attributes" => [
"foo" => "bar",
"baz" => "qux"
]
]);
/** List Companies */
$client->companies->getCompanies([]);
/** List admins */
$client->admins->getAdmins();
/**
* Send a message from an admin to a user
* 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" => "[email protected]"
]
]);
/**
* List conversations for an admin
* See more options here: https://developers.intercom.io/reference#list-conversations
*/
$client->conversations->getConversations([
"type" => "admin",
"admin_id" => "25610"
]);
/** Get a single conversation */
$client->conversations->getConversation("1234")
/** Get a single conversation with plaintext comments */
$client->conversations->getConversation("1234", [
"display_as" => "plaintext"
])
/**
* Reply to a conversation
* See more options here: https://developers.intercom.io/reference#replying-to-a-conversation
*/
$client->conversations->replyToConversation("5678", [
"email" => "[email protected]",
"body" => "Thanks :)",
"type" => "user",
"message_type" => "comment"
]);
/**
* Reply to a user's last conversation
* See more options here: https://developers.intercom.com/reference#replying-to-users-last-conversation
*/
$client->conversations->replyToLastConversation([
"email" => "[email protected]",
"body" => "Thanks :)",
"type" => "user",
"message_type" => "comment"
]);
/**
* Mark a conversation as read
* See API documentation here: https://developers.intercom.io/reference#marking-a-conversation-as-read
*/
$client->conversations->markConversationAsRead("7890");
/**
* List counts
* See more options here: https://developers.intercom.io/reference#getting-counts
*/
$client->counts->getCounts([])
/** Create a note */
$client->notes->create([
"admin_id" => "21",
"body" => "Text for my note",
"user" => [
"id" => "5310d8e8598c9a0b24000005"
]
]);
/** List notes for a user */
$client->notes->getNotes([
"user_id" => "25"
]);
/** Get a single Note by id */
$client->notes->getNote("42");