PHPackages                             ogillot/php-crisp-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. ogillot/php-crisp-api

ActiveLibrary[API Development](/categories/api)

ogillot/php-crisp-api
=====================

Crisp API PHP Wrapper

1.5.4(7y ago)011MITPHPPHP &gt;=5.3.0

Since Jun 7Pushed 7y ago1 watchersCompare

[ Source](https://github.com/ogillot/php-crisp-api)[ Packagist](https://packagist.org/packages/ogillot/php-crisp-api)[ RSS](/packages/ogillot-php-crisp-api/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependencies (1)Versions (31)Used By (0)

Crisp API PHP
=============

[](#crisp-api-php)

Installation with composer
--------------------------

[](#installation-with-composer)

`composer require crispchat/php-crisp-api`

Authentication
--------------

[](#authentication)

To authenticate against the API, generate your session identifier and session key **once** using the [Crisp token generation utility](https://go.crisp.chat/account/token/). 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.**

API Overview
------------

[](#api-overview)

```
require __DIR__ . '/vendor/autoload.php';
$CrispClient = new Crisp();

$CrispClient->authenticate(identifier, key);

$profile = $CrispClient->userProfile->get();
$firstName = $profile["first_name"];
echo "Hello $firstName";
```

### Available resources &amp; methods

[](#available-resources--methods)

*Where you see `params` it is a plain Array object, e.g. `[email => 'foo@example.com' ]`*

### Website

[](#website)

- **Website Conversations**

    - **Get Conversation List**: `CrispClient->websiteConversations->getList(websiteId, page)`
    - **Get A Conversation**: `CrispClient->websiteConversations->getOne(websiteId, sessionId)`
    - **Get Conversation Metadata**: `CrispClient->websiteConversations->getMeta(websiteId, sessionId)`
    - **Update Conversation Metadata**:`CrispClient->websiteConversations->updateMeta(websiteId, sessionId, params)`
    - **Get a Messages in a Conversation**: `CrispClient->websiteConversations->getMessages(websiteId, sessionId, query)`
    - **Create a Conversation**: `CrispClient->websiteConversations->create(websiteId)`
    - **Initiate a Conversation**: `CrispClient->websiteConversations->initiateOne(websiteId, sessionId)`
    - **Send a Conversation**: `CrispClient->websiteConversations->sendMessage(websiteId, sessionId, message)`
    - **Set Conversation State:**: `CrispClient->websiteConversations->setState(websiteId, sessionId, state)`
    - **Block Conversation:**: `CrispClient->websiteConversations->setBlock(websiteId, sessionId, blocked)`
    - **Delete Conversation:**:`CrispClient->websiteConversations->deleteOne(websiteId, sessionId)`
    - **Acknowledge Messages:**: `CrispClient->acknowledgeMessages(websiteId, sessionId, fingerprints)`
- **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)`
- **Check By Segments**: `CrispClient->websitePeople->findBySegments(websiteId, segments)`
- **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**

    - **Create A Website**: `CrispClient->website->create(params)`
    - **Create User Account**: `CrispClient->website->delete(websiteId)`
- **Website Settings**

    - **Get Website Settings**: `CrispClient->websiteSettings->get(websiteId)`
    - **Update Website Settings**: `CrispClient->websiteSettings->get(params)`
- **Website Verify**

    - **Get Verify Settings**: `CrispClient->websiteVerify->getSettings(websiteId)`
    - **Update Verify Settings**: `CrispClient->websiteVerify->updateSettings(websiteId, params)`
    - **Get Verify Key**: `CrispClient->websiteVerify->getKey(websiteId)`
    - **Roll Key**: `CrispClient->websiteVerify->rollKey(websiteId)`
- **Website Operators**

    - **Get All Operators**: `CrispClient->websiteOperators->getList(websiteId)`
    - **Get One Operators**: `CrispClient->websiteOperators->getOne(websiteId, operatorId)`
    - **Delete One Operators**: `CrispClient->websiteOperators->deleteOne(websiteId, operatorId)`
    - **Create An Operator**: `CrispClient->websiteOperators->createOne(websiteId, parameters)`
    - **Update An Operator**: `CrispClient->websiteOperators->updateOne(websiteId, operatorId, parameters)`
- **Website Visitors**

    - **List Visitors**: `CrispClient->websiteVisitors->listVisitors(websiteId, page)`

### Plugins

[](#plugins)

- **Plugin Subscriptions**
    - **List All Active Subsciptions**: `CrispClient->pluginSubscriptions->listAllActiveSubscriptions()`
    - **Get All Subscriptions For Website**: `CrispClient->pluginSubscriptions->listSubscriptionsForWebsite(websiteId)`
    - **Get Subscription Details**: `CrispClient->pluginSubscriptions->getSubscriptionDetails(websiteId)`
    - **Subscribe Website To Plugin**: `CrispClient->pluginSubscriptions->subscribeWebsiteToPlugin(websiteId, pluginId)`
    - **Unsubscribe Plguin From Website**: `CrispClient->pluginSubscriptions->unsubscribePluginFromWebsite(websiteId, pluginId)`
    - **Get Subscription Settings**: `CrispClient->pluginSubscriptions->getSubscriptionSettings(websiteId, pluginId)`
    - **Save Subscription Settings**: `CrispClient->pluginSubscriptions->saveSubscriptionSettings(websiteId, pluginId, settings)`

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 66.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~36 days

Recently: every ~50 days

Total

30

Last Release

2626d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10387766?v=4)[ogillot](/maintainers/ogillot)[@ogillot](https://github.com/ogillot)

---

Top Contributors

[![baptistejamin](https://avatars.githubusercontent.com/u/866499?v=4)](https://github.com/baptistejamin "baptistejamin (44 commits)")[![valeriansaliou](https://avatars.githubusercontent.com/u/1451907?v=4)](https://github.com/valeriansaliou "valeriansaliou (15 commits)")[![fshafiee](https://avatars.githubusercontent.com/u/8026878?v=4)](https://github.com/fshafiee "fshafiee (3 commits)")[![ogillot](https://avatars.githubusercontent.com/u/10387766?v=4)](https://github.com/ogillot "ogillot (2 commits)")[![Arisstath](https://avatars.githubusercontent.com/u/11246626?v=4)](https://github.com/Arisstath "Arisstath (1 commits)")[![shuman](https://avatars.githubusercontent.com/u/19885?v=4)](https://github.com/shuman "shuman (1 commits)")

### Embed Badge

![Health badge](/badges/ogillot-php-crisp-api/health.svg)

```
[![Health](https://phpackages.com/badges/ogillot-php-crisp-api/health.svg)](https://phpackages.com/packages/ogillot-php-crisp-api)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35816.3M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24015.5M18](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172437.8k11](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

94452.6k6](/packages/botman-driver-telegram)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
