composer require crispchat/php-crisp-api
To authenticate against the API, generate your session identifier and session key once using the Crisp token generation utility. You’ll get a token keypair made of 2 values.
Keep your token keypair values private, and store them safely for long-term use.
Then, add authentication parameters to your client instance right after you create it:
require __DIR__ . '/vendor/autoload.php';
$CrispClient = new Crisp();
// Authenticate to API (identifier, key)
// eg. $CrispClient->authenticate("7c3ef21c-1e04-41ce-8c06-5605c346f73e", "cc29e1a5086e428fcc6a697d5837a66d82808e65c5cce006fbf2191ceea80a0a");
$CrispClient->authenticate(identifier, key);
// Now, you can use authenticated API sections.
🔴 Important: Make sure to generate your token once, and use the same token keys in all your subsequent requests to the API. Do not generate too many tokens, as we may invalidate your older tokens to make room for newer tokens.
require __DIR__ . '/vendor/autoload.php';
$CrispClient = new Crisp();
$CrispClient->authenticate(identifier, key);
$profile = $CrispClient->userProfile->get();
$firstName = $profile["first_name"];
echo "Hello $firstName";
Where you see params it is a plain Array object, e.g. [email => 'foo@example.com' ]
Website Conversations
CrispClient->websiteConversations->getList(websiteId, page)CrispClient->websiteConversations->getOne(websiteId, sessionId)CrispClient->websiteConversations->getMeta(websiteId, sessionId)CrispClient->websiteConversations->updateMeta(websiteId, sessionId, params)CrispClient->websiteConversations->getMessages(websiteId, sessionId, query)CrispClient->websiteConversations->create(websiteId)CrispClient->websiteConversations->initiateOne(websiteId, sessionId)CrispClient->websiteConversations->sendMessage(websiteId, sessionId, message)CrispClient->websiteConversations->setState(websiteId, sessionId, state)CrispClient->websiteConversations->getRouting(websiteId, sessionId)CrispClient->websiteConversations->assignRouting(websiteId, sessionId, params)CrispClient->websiteConversations->setBlock(websiteId, sessionId, blocked)CrispClient->websiteConversations->deleteOne(websiteId, sessionId)CrispClient->acknowledgeMessages(websiteId, sessionId, fingerprints)CrispClient->scheduleReminder(websiteId, sessionId, params)Website People (These are your End Users)
The PeopleID argument can be an email or the PeopleID.
Find By Email: CrispClient->websitePeople->findByEmail(websiteId, email)
Find With Search Text (Name, Email, Segments): CrispClient->websitePeople->findWithSearchText(websiteId, searchText)
Create A New Profile: CrispClient->websitePeople->createNewPeopleProfile(websiteId, params)
Check If Exists: CrispClient->websitePeople->checkPeopleProfileExists(websiteId, peopleId)
Get People Profile: CrispClient->websitePeople->getPeopleProfile(websiteId, peopleId)
List People Profiles: CrispClient->websitePeople->listPeopleProfiles(websiteId, peopleId, page)
Remove A Profile: CrispClient->websitePeople->removePeopleProfile(websiteId, peopleId)
Save A Profile: CrispClient->websitePeople->savePeopleProfile(websiteId, peopleId, params)
Update A Profile: CrispClient->websitePeople->updatePeopleProfile(websiteId, peopleId, params)
List Conversations CrispClient->websitePeople->listPeopleConversations(websiteId, peopleId, page)
List Segments: CrispClient->websitePeople->listPeopleSegments(websiteId, peopleId, page)
List Events: CrispClient->websitePeople->listPeopleEvent(websiteId, peopleId, page)
Add Event: CrispClient->websitePeople->addPeopleEvent(websiteId, peopleId, event)
Get Data: CrispClient->websitePeople->getPeopleData(websiteId, peopleId)
Update Data: CrispClient->websitePeople->updatePeopleData(websiteId, peopleId, params)
Website Base
CrispClient->website->create(params)CrispClient->website->delete(websiteId)Website Settings
CrispClient->websiteSettings->get(websiteId)CrispClient->websiteSettings->get(params)Website Verify
CrispClient->websiteVerify->getSettings(websiteId)CrispClient->websiteVerify->updateSettings(websiteId, params)CrispClient->websiteVerify->getKey(websiteId)CrispClient->websiteVerify->rollKey(websiteId)Website Operators
CrispClient->websiteOperators->getList(websiteId)CrispClient->websiteOperators->getOne(websiteId, operatorId)CrispClient->websiteOperators->deleteOne(websiteId, operatorId)CrispClient->websiteOperators->updateOne(websiteId, operatorId, parameters)Website Visitors
CrispClient->websiteVisitors->listVisitors(websiteId, page)CrispClient->pluginSubscriptions->listAllActiveSubscriptions()CrispClient->pluginSubscriptions->listSubscriptionsForWebsite(websiteId)CrispClient->pluginSubscriptions->getSubscriptionDetails(websiteId)CrispClient->pluginSubscriptions->subscribeWebsiteToPlugin(websiteId, pluginId)CrispClient->pluginSubscriptions->unsubscribePluginFromWebsite(websiteId, pluginId)CrispClient->pluginSubscriptions->getSubscriptionSettings(websiteId, pluginId)CrispClient->pluginSubscriptions->saveSubscriptionSettings(websiteId, pluginId, settings)