PHPackages                             crispchat/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. crispchat/php-crisp-api

ActiveLibrary[API Development](/categories/api)

crispchat/php-crisp-api
=======================

Crisp API PHP Wrapper

1.8.1(1w ago)59750.4k↓34.6%26[3 issues](https://github.com/crisp-im/php-crisp-api/issues)[2 PRs](https://github.com/crisp-im/php-crisp-api/pulls)4MITPHPPHP &gt;=5.5

Since Jun 7Pushed 3w ago5 watchersCompare

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

READMEChangelogDependencies (9)Versions (48)Used By (4)

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

[](#crisp-api-php)

[![Build and Release](https://github.com/crisp-im/php-crisp-api/workflows/Build%20and%20Release/badge.svg)](https://github.com/crisp-im/php-crisp-api/actions?query=workflow%3A%22Build+and+Release%22) [![Version](https://camo.githubusercontent.com/76de0ce4029526ef98a357e2e60af7e1ed131317e35ac80b74bcb8114313e06f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6372697370636861742f7068702d63726973702d6170692e737667)](https://packagist.org/packages/crispchat/php-crisp-api) [![Downloads](https://camo.githubusercontent.com/729e009b30ac43161430763019bb6f9658aad4453fd29d58d24c69153982cb1c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6372697370636861742f7068702d63726973702d6170692e737667)](https://packagist.org/packages/crispchat/php-crisp-api)

The Crisp API PHP wrapper. Authenticate, send messages, fetch conversations, access your agent accounts from your PHP code.

Copyright 2023 Crisp IM SAS. See LICENSE for copying information.

- **📝 Implements**: [REST API Reference (V1)](https://docs.crisp.chat/references/rest-api/v1/) at revision: 12/31/2017
- **😘 Maintainer**: [@baptistejamin](https://github.com/baptistejamin)

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

[](#installation-with-composer)

`composer require crispchat/php-crisp-api`

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

[](#authentication)

To authenticate against the API, obtain your authentication token keypair by following the [REST API Authentication](https://docs.crisp.chat/guides/rest-api/authentication/) guide. 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\CrispClient;

// Authenticate to API with your token (identifier, key)
// eg. $CrispClient->authenticate("7c3ef21c-1e04-41ce-8c06-5605c346f73e", "cc29e1a5086e428fcc6a697d5837a66d82808e65c5cce006fbf2191ceea80a0a");
$CrispClient->setTier(tier);
$CrispClient->authenticate(identifier, key);

// Now, you can use authenticated API sections.
```

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

[](#api-overview)

You may follow the [REST API Quickstart](https://docs.crisp.chat/guides/rest-api/quickstart/) guide, which will get you running with the REST API in minutes.

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

$CrispClient->setTier("plugin");
$CrispClient->authenticate(identifier, key);

$conversations = $CrispClient->websiteConversations->getList(websiteId, 1);
echo $conversations;
```

### Available resources &amp; methods

[](#available-resources--methods)

All the available Crisp API resources are fully implemented. **Programmatic methods names are named after their label name in the [REST API Reference](https://docs.crisp.chat/references/rest-api/v1/)**.

All methods that you will most likely need when building a Crisp integration are prefixed with a star symbol (⭐).

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

**⚠️ Note that, depending on your authentication token tier, which is either `user`, `website` or `plugin`, you may not be allowed to use all methods from the library. When in doubt, refer to the library method descriptions below. Most likely, you are using a `plugin` token.**

### Website

[](#website)

- **Website Conversations**

    - ⭐ **List Conversations**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-conversations)

        - `CrispClient->websiteConversations->getList(websiteId, pageNumber)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $pageNumber = 1;

            CrispClient->websiteConversations->getList(websiteId, pageNumber);
            ```
    - ⭐ **Create a Conversation**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#create-a-new-conversation)

        - `CrispClient->websiteConversations->create(websiteId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websiteConversations->create(websiteId);
            ```
    - **Initiate a Conversation**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#initiate-a-conversation-with-existing-session)

        - `CrispClient->websiteConversations->initiateOne(websiteId, sessionId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";

            CrispClient->websiteConversations->initiateOne(websiteId, sessionId);
            ```
    - **Find Conversations With Search**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-conversations)

        - `CrispClient->websiteConversations->findWithSearch(websiteId, pageNumber, searchQuery, searchType, searchOperator, includeEmpty, filterUnread, filterResolved, filterNotResolved, filterMention, filterAssigned, filterUnassigned, filterDateStart, filterDateEnd, orderDateCreated, orderDateUpdated)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $pageNumber = 1;

            CrispClient->websiteConversations->getList(websiteId, pageNumber);
            ```
    - ⭐ **Get A Conversation**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-a-conversation)

        - `CrispClient->websiteConversations->getOne(websiteId, sessionId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";

            CrispClient->websiteConversations->getOne(websiteId, sessionId);
            ```
    - ⭐ **Send a Message in Conversation**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#send-a-message-in-conversation)

        - `CrispClient->websiteConversations->sendMessage(websiteId, sessionId, message)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";

            $message = [
              "type" => "text",
              "from" => "operator",
              "origin" => "chat",
              "content" => "Hey there! Need help?"
            ];

            CrispClient->websiteConversations->sendMessage(websiteId, sessionId, message);
            ```
    - ⭐ **Get Conversation Metas**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-conversation-metas)

        - `CrispClient->websiteConversations->getMeta(websiteId, sessionId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";

            CrispClient->websiteConversations->getMeta(websiteId, sessionId);
            ```
    - ⭐ **Update Conversation Metas**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#update-conversation-metas)

        - `CrispClient->websiteConversations->updateMeta(websiteId, sessionId, params)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";

            $params = [
              "nickname" => "John Doe",
              "email" => "john.doe@acme-inc.com",
              "segments" => [
                "happy",
                "customer",
                "love"
              ],
              "data" => [
                "type" => "customer",
                "signup" => "finished"
              ]
            ];

            CrispClient->websiteConversations->updateMeta(websiteId, sessionId, params);
            ```
    - ⭐ **Get Messages in Conversation**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-messages-in-conversation)

        - `CrispClient->websiteConversations->getMessages(websiteId, sessionId, timestampBefore)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";
            $timestampBefore = 1641206011000;

            CrispClient->websiteConversations->getMessages(websiteId, sessionId, timestampBefore);
            ```
    - **Get Conversation Original Message**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-an-original-message-in-conversation)

        - `CrispClient->websiteConversations->getOriginalMessage(websiteId, sessionId, originalId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";
            $originalId = "2325a3c0-9b47-4fc6-b00e-111b752e44cd";

            CrispClient->websiteConversations->getOriginalMessage(websiteId, sessionId, originalId);
            ```
    - ⭐ **Change Conversation State**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#update-conversation-open-state)

        - `CrispClient->websiteConversations->setState(websiteId, sessionId, state)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";

            $state = true;

            CrispClient->websiteConversations->setState(websiteId, sessionId, state);
            ```
    - **Get Conversation Routing**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-conversation-routing-assign)

        - `CrispClient->websiteConversations->getRouting(websiteId, sessionId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";

            CrispClient->websiteConversations->getRouting(websiteId, sessionId);
            ```
    - **Assign Conversation Routing**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#assign-conversation-routing)

        - `CrispClient->websiteConversations->assignRouting(websiteId, sessionId, params)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";

            $params = [
              "assigned" => [
                "user_id" => "a4c32c68-be91-4e29-8a05-976e93abbe3f"
              ]
            ];

            CrispClient->websiteConversations->assignRouting(websiteId, sessionId, params);
            ```
    - **Block Conversation:**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#block-incoming-messages-for-conversation)

        - `CrispClient->websiteConversations->setBlock(websiteId, sessionId, blocked)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";

            $blocked = true;

            CrispClient->websiteConversations->setBlock(websiteId, sessionId, blocked);
            ```
    - **Delete Conversation:**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#remove-a-conversation)

        - `CrispClient->websiteConversations->deleteOne(websiteId, sessionId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";

            CrispClient->websiteConversations->deleteOne(websiteId, sessionId);
            ```
    - **Acknowledge Messages as Read:**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#mark-messages-as-read-in-conversation)

        - `CrispClient->websiteConversations->acknowledgeMessages(websiteId, sessionId, fingerprints)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";
            $fingerprint = 524653764345;

            $fingerprints = [
              "from" => "operator",
              "origin" => "urn:crisp.im:slack:0",
              "fingerprints" => [
                "5719231201"
              ]
            ];

            CrispClient->websiteConversations->acknowledgeMessages(websiteId, sessionId, fingerprints);
            ```
    - **Schedule a Reminder in a Conversation:**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#schedule-a-reminder-for-conversation)

        - `CrispClient->websiteConversations->scheduleReminder(websiteId, sessionId, params)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $sessionId = "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881";

            $params = [
              "date" => "2018-05-29T09:00:00Z",
              "note" => "Call this customer."
            ];

            CrispClient->websiteConversations->scheduleReminder(websiteId, sessionId, params);
            ```
- **Website People** *(these are your end-users)*

    - **Find By Email**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-people-profile)

        - `CrispClient->websitePeople->findByEmail(websiteId, email)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websitePeople->findByEmail(websiteId, email);
            ```
    - **Find With Search Text (Name, Email, Segments)**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-people-profiles)

        - `CrispClient->websitePeople->findWithSearchText(websiteId, searchText)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websitePeople->findWithSearchText(websiteId, searchText);
            ```
    - **Create A New Profile**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#add-new-people-profile)

        - `CrispClient->websitePeople->createNewPeopleProfile(websiteId, params)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            $params = [
              "email" => "valerian@crisp.chat",
              "person" => [
                "nickname" => "Valerian Saliou"
              ]
            ];

            CrispClient->websitePeople->createNewPeopleProfile(websiteId, params);
            ```
    - ⭐ **Check If Exists**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#check-if-people-profile-exists)

        - `CrispClient->websitePeople->checkPeopleProfileExists(websiteId, peopleId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";

            CrispClient->websitePeople->checkPeopleProfileExists(websiteId, peopleId);
            ```
    - ⭐ **Get People Profile**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-people-profile)

        - `CrispClient->websitePeople->getPeopleProfile(websiteId, peopleId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websitePeople->findByEmail(websiteId, email);
            ```
    - ⭐ **List People Profiles**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-people-profiles)

        - `CrispClient->websitePeople->listPeopleProfiles(websiteId, pageNumber)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websitePeople->findWithSearchText(websiteId, searchText);
            ```
    - ⭐ **Remove A Profile**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#remove-people-profile)

        - `CrispClient->websitePeople->removePeopleProfile(websiteId, peopleId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";

            CrispClient->websitePeople->removePeopleProfile(websiteId, peopleId);
            ```
    - ⭐ **Save A Profile**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#save-people-profile)

        - `CrispClient->websitePeople->savePeopleProfile(websiteId, peopleId, params)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";

            $params = [
              "email" => "valerian@crisp.chat",
              "person" => [
                "nickname" => "Valerian Saliou"
              ]
            ];

            CrispClient->websitePeople->savePeopleProfile(websiteId, peopleId, params);
            ```
    - ⭐ **Update A Profile**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#update-people-profile)

        - `CrispClient->websitePeople->updatePeopleProfile(websiteId, peopleId, params)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";

            $params = [
              "email" => "valerian@crisp.chat",
              "person" => [
                "nickname" => "Valerian Saliou"
              ]
            ];

            CrispClient->websitePeople->updatePeopleProfile(websiteId, peopleId, params);
            ```
    - **List Conversations** [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-people-conversations)

        - `CrispClient->websitePeople->listPeopleConversations(websiteId, peopleId, pageNumber)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";
            $pageNumber = 1;

            CrispClient->websitePeople->listPeopleConversations(websiteId, peopleId, pageNumber);
            ```
    - **List Segments**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-suggested-people-segments)

        - `CrispClient->websitePeople->listPeopleSegments(websiteId, peopleId, pageNumber)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";
            $pageNumber = 1;

            CrispClient->websitePeople->listPeopleSegments(websiteId, peopleId, pageNumber);
            ```
    - **List Events**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-people-events)

        - `CrispClient->websitePeople->listPeopleEvent(websiteId, peopleId, pageNumber)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";
            $pageNumber = 1;

            CrispClient->websitePeople->listPeopleEvent(websiteId, peopleId, pageNumber);
            ```
    - **Add Event**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#add-a-people-event)

        - `CrispClient->websitePeople->addPeopleEvent(websiteId, peopleId, event)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";

            $event = [
              "text" => "Added item to basket",
              "data" => [
                "price" => 10.99,
                "currency" => "USD"
              ],
              "color" => "red"
            ];

            CrispClient->websitePeople->addPeopleEvent(websiteId, peopleId, event);
            ```
    - **Get Data**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-people-data)

        - `CrispClient->websitePeople->getPeopleData(websiteId, peopleId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";

            CrispClient->websitePeople->getPeopleData(websiteId, peopleId);
            ```
    - **Save Data**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#save-people-data)

        - `CrispClient->websitePeople->savePeopleData(websiteId, peopleId, params)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";

            $params = [
              "data" => [
                "type" => "customer",
                "signup" => "finished"
              ]
            ];

            CrispClient->websitePeople->savePeopleData(websiteId, peopleId, params);
            ```
    - **Update Data**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#update-people-data)

        - `CrispClient->websitePeople->updatePeopleData(websiteId, peopleId, params)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";

            $params = [
              "data" => [
                "signup" => "finished"
              ]
            ];

            CrispClient->websitePeople->updatePeopleData(websiteId, peopleId, params);
            ```
    - **Get Subscription Status**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-people-subscription-status)

        - `CrispClient->websitePeople->getPeopleSubscriptionStatus(websiteId, peopleId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";

            CrispClient->websitePeople->getPeopleSubscriptionStatus(websiteId, peopleId);
            ```
    - **Update Subscription Status**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#update-people-subscription-status)

        - `CrispClient->websitePeople->updatePeopleSubscriptionStatus(websiteId, peopleId, params)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $peopleId = "c5a2f70c-f605-4648-b47f-8c39d4b03a50";

            $params = [
              "email" => true
            ];

            CrispClient->websitePeople->updatePeopleSubscriptionStatus(websiteId, peopleId, params);
            ```

*👉 Notice: The `peopleID` argument can be an email or the `peopleID`.*

- **Website Base**

    - **Create A Website**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#create-website)

        - `CrispClient->website->create(params)`
        - See Example```
            CrispClient->website->create(params);
            ```
    - **Delete A Website**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#delete-a-website)

        - `CrispClient->website->delete(websiteId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->website->delete(websiteId);
            ```
- **Website Settings**

    - **Get Website Settings**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-website-settings)

        - `CrispClient->websiteSettings->get(websiteId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websiteSettings->get(websiteId);
            ```
    - **Update Website Settings**[Reference](https://docs.crisp.chat/references/rest-api/v1/#update-website-settings):

        - `CrispClient->websiteSettings->get(params)`
- **Website Verify**

    - **Get Verify Settings**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-verify-settings)

        - `CrispClient->websiteVerify->getSettings(websiteId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websiteVerify->getSettings(websiteId);
            ```
    - **Update Verify Settings**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#update-verify-settings)

        - `CrispClient->websiteVerify->updateSettings(websiteId, params)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            $params = [
              "enabled" => true
            ];

            CrispClient->websiteVerify->updateSettings(websiteId, params);
            ```
    - **Get Verify Key**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-verify-key)

        - `CrispClient->websiteVerify->getKey(websiteId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websiteVerify->getKey(websiteId);
            ```
    - **Roll Key**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#roll-verify-key)

        - `CrispClient->websiteVerify->rollKey(websiteId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websiteVerify->rollKey(websiteId);
            ```
- **Website Operators**

    - **Get All Operators**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-website-operators)

        - `CrispClient->websiteOperators->getList(websiteId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websiteOperators->getList(websiteId);
            ```
    - **Get One Operators**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-a-website-operator)

        - `CrispClient->websiteOperators->getOne(websiteId, operatorId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $operatorId = "d14ce289-f759-43c8-8854-00c57fb7e5d5";

            CrispClient->websiteOperators->getOne(websiteId, operatorId);
            ```
    - **Delete One Operators**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#unlink-operator-from-website)

        - `CrispClient->websiteOperators->deleteOne(websiteId, operatorId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $operatorId = "d14ce289-f759-43c8-8854-00c57fb7e5d5";

            CrispClient->websiteOperators->deleteOne(websiteId, operatorId);
            ```
    - **Update An Operator**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#change-operator-membership)

        - `CrispClient->websiteOperators->updateOne(websiteId, operatorId, parameters)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $operatorId = "d14ce289-f759-43c8-8854-00c57fb7e5d5";

            $parameters = [
              "role" => "owner",
              "title" => "CTO"
            ];

            CrispClient->websiteOperators->updateOne(websiteId, operatorId, parameters);
            ```
- **Website Visitors**

    - **List Visitors**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-visitors)
        - `CrispClient->websiteVisitors->listVisitors(websiteId, pageNumber)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $pageNumber = 1;

            CrispClient->websiteVisitors->listVisitors(websiteId, pageNumber);
            ```
- **Website Availability**

    - **Get Availability Status**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-website-availability-status)

        - `CrispClient->websiteAvailability->getAvailabilityStatus(websiteId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websiteAvailability->getAvailabilityStatus(websiteId);
            ```
    - **List Operator Availabilities**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-website-operator-availabilities)

        - `CrispClient->websiteAvailability->listOperatorAvailabilities(websiteId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->websiteAvailability->listOperatorAvailabilities(websiteId);
            ```
- **Website Batch**

    - **Batch Resolve Items** \[`user`\]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#batch-resolve-items)

        - `CrispClient->websiteBatch->batchResolveItems(websiteId, data)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            $data = [
              "sessions" => [
                "session_19e5240f-0a8d-461e-a661-a3123fc6eec9",
                "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
              ]
            ];

            CrispClient->websiteBatch->batchResolveItems($websiteId, $data);
            ```
    - **Batch Unresolve Items** \[`user`\]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#batch-unresolve-items)

        - `CrispClient->websiteBatch->batchUnresolveItems(websiteId, data)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            $data = [
              "sessions" => [
                "session_19e5240f-0a8d-461e-a661-a3123fc6eec9",
                "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
              ]
            ];

            CrispClient->websiteBatch->batchUnresolveItems($websiteId, $data);
            ```
    - **Batch Read Items** \[`user`\]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#batch-read-items)

        - `CrispClient->websiteBatch->batchReadItems(websiteId, data)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            $data = [
              "sessions" => [
                "session_19e5240f-0a8d-461e-a661-a3123fc6eec9",
                "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
              ]
            ];

            CrispClient->websiteBatch->batchReadItems($websiteId, $data);
            ```
    - **Batch Unread Items** \[`user`\]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#batch-unread-items)

        - `CrispClient->websiteBatch->batchUnreadItems(websiteId, data)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            $data = [
              "sessions" => [
                "session_19e5240f-0a8d-461e-a661-a3123fc6eec9",
                "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
              ]
            ];

            CrispClient->websiteBatch->batchUnreadItems($websiteId, $data);
            ```
    - **Batch Remove Items** \[`user`\]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#batch-remove-items)

        - `CrispClient->websiteBatch->batchRemoveItems(websiteId, data)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            $data = [
              "sessions" => [
                "session_19e5240f-0a8d-461e-a661-a3123fc6eec9",
                "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
              ]
            ];

            CrispClient->websiteBatch->batchRemoveItems($websiteId, $data);
            ```
    - **Batch Report Items** \[`user`\]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#batch-report-items)

        - `CrispClient->websiteBatch->batchReportItems(websiteId, data)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            $data = [
              "sessions" => [
                "session_19e5240f-0a8d-461e-a661-a3123fc6eec9",
                "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
              ],
              "flag" => "spam"
            ];

            CrispClient->websiteBatch->batchReportItems($websiteId, $data);
            ```
    - **Batch Block Items** \[`user`\]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#batch-block-items)

        - `CrispClient->websiteBatch->batchBlockItems(websiteId, data)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            $data = [
              "sessions" => [
                "session_19e5240f-0a8d-461e-a661-a3123fc6eec9",
                "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
              ],
              "blocked" => true
            ];

            CrispClient->websiteBatch->batchBlockItems($websiteId, $data);
            ```
    - **Batch Routing Items** \[`user`\]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#batch-routing-items)

        - `CrispClient->websiteBatch->batchRoutingItems(websiteId, data)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            $data = [
              "sessions" => [
                "session_19e5240f-0a8d-461e-a661-a3123fc6eec9",
                "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
              ],
              "assigned" => [
                "user_id" => "a4c32c68-be91-4e29-b97e-b3b6af886eaa"
              ]
            ];

            CrispClient->websiteBatch->batchRoutingItems($websiteId, $data);
            ```
    - **Batch Inbox Items** \[`user`\]: [Reference](https://docs.crisp.chat/references/rest-api/v1/#batch-inbox-items)

        - `CrispClient->websiteBatch->batchInboxItems(websiteId, data)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            $data = [
              "sessions" => [
                "session_19e5240f-0a8d-461e-a661-a3123fc6eec9",
                "session_700c65e1-85e2-465a-b9ac-ecb5ec2c9881"
              ],
              "inbox_id" => "d42e8b3b-ea8f-4e79-a9f8-d0e467fc1c31"
            ];

            CrispClient->websiteBatch->batchInboxItems($websiteId, $data);
            ```

### Plugins

[](#plugins)

- **Plugin Subscriptions**

    - **List All Active Subsciptions**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-all-active-subscriptions)

        - `CrispClient->pluginSubscriptions->listAllActiveSubscriptions()`
        - See Example```
            CrispClient->pluginSubscriptions->listAllActiveSubscriptions();
            ```
    - **Get All Subscriptions For Website**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#list-subscriptions-for-a-website)

        - `CrispClient->pluginSubscriptions->listSubscriptionsForWebsite(websiteId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";

            CrispClient->pluginSubscriptions->listSubscriptionsForWebsite(websiteId);
            ```
    - **Get Subscription Details**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-subscription-details)

        - `CrispClient->pluginSubscriptions->getSubscriptionDetails(websiteId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $pluginId = "c64f3595-adee-425a-8d3a-89d47f7ed6bb";

            CrispClient->pluginSubscriptions->getSubscriptionDetails(websiteId, pluginId);
            ```
    - **Subscribe Website To Plugin**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#subscribe-website-to-plugin)

        - `CrispClient->pluginSubscriptions->subscribeWebsiteToPlugin(websiteId, pluginId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $pluginId = "c64f3595-adee-425a-8d3a-89d47f7ed6bb";

            $pluginId = "98454664-9f7d-4d95-a9ce-f37356f5e65a";

            CrispClient->pluginSubscriptions->subscribeWebsiteToPlugin(websiteId, pluginId);
            ```
    - **Unsubscribe Plugin From Website**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#unsubscribe-plugin-from-website)

        - `CrispClient->pluginSubscriptions->unsubscribePluginFromWebsite(websiteId, pluginId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $pluginId = "c64f3595-adee-425a-8d3a-89d47f7ed6bb";

            CrispClient->pluginSubscriptions->unsubscribePluginFromWebsite(websiteId, pluginId);
            ```
    - **Get Subscription Settings**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#get-subscription-settings)

        - `CrispClient->pluginSubscriptions->getSubscriptionSettings(websiteId, pluginId)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $pluginId = "c64f3595-adee-425a-8d3a-89d47f7ed6bb";

            CrispClient->pluginSubscriptions->getSubscriptionSettings(websiteId, pluginId);
            ```
    - **Save Subscription Settings**: [Reference](https://docs.crisp.chat/references/rest-api/v1/#save-subscription-settings)

        - `CrispClient->pluginSubscriptions->saveSubscriptionSettings(websiteId, pluginId, settings)`
        - See Example```
            $websiteId = "8c842203-7ed8-4e29-a608-7cf78a7d2fcc";
            $pluginId = "c64f3595-adee-425a-8d3a-89d47f7ed6bb";

            $settings = [
              "chatbox" => [
                "25" => "#bbbbbb"
              ]
            ];

            CrispClient->pluginSubscriptions->saveSubscriptionSettings(websiteId, pluginId, settings);
            ```

###  Health Score

66

—

FairBetter than 99% of packages

Maintenance95

Actively maintained with recent releases

Popularity53

Moderate usage in the ecosystem

Community32

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~79 days

Recently: every ~309 days

Total

47

Last Release

11d ago

PHP version history (3 changes)1.1.0PHP &gt;=5.3.0

1.6.0PHP &gt;=5.4

1.7.4PHP &gt;=5.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/d93328dc77d9bbba20b1550dc31e26ba5fdcab948fbce20863ccdb6cab7eaffc?d=identicon)[crisp-im](/maintainers/crisp-im)

---

Top Contributors

[![baptistejamin](https://avatars.githubusercontent.com/u/866499?v=4)](https://github.com/baptistejamin "baptistejamin (57 commits)")[![valeriansaliou](https://avatars.githubusercontent.com/u/1451907?v=4)](https://github.com/valeriansaliou "valeriansaliou (30 commits)")[![eliottvincent](https://avatars.githubusercontent.com/u/24720375?v=4)](https://github.com/eliottvincent "eliottvincent (30 commits)")[![Dinis07](https://avatars.githubusercontent.com/u/121953677?v=4)](https://github.com/Dinis07 "Dinis07 (7 commits)")[![rankarpan](https://avatars.githubusercontent.com/u/9264092?v=4)](https://github.com/rankarpan "rankarpan (7 commits)")[![fshafiee](https://avatars.githubusercontent.com/u/8026878?v=4)](https://github.com/fshafiee "fshafiee (3 commits)")[![Gwemox](https://avatars.githubusercontent.com/u/9432727?v=4)](https://github.com/Gwemox "Gwemox (3 commits)")[![maximepvrt](https://avatars.githubusercontent.com/u/1840026?v=4)](https://github.com/maximepvrt "maximepvrt (3 commits)")[![gschurgast](https://avatars.githubusercontent.com/u/86120452?v=4)](https://github.com/gschurgast "gschurgast (2 commits)")[![mr119](https://avatars.githubusercontent.com/u/29018245?v=4)](https://github.com/mr119 "mr119 (2 commits)")[![camillebaronnet](https://avatars.githubusercontent.com/u/1884268?v=4)](https://github.com/camillebaronnet "camillebaronnet (2 commits)")[![ziming](https://avatars.githubusercontent.com/u/679513?v=4)](https://github.com/ziming "ziming (1 commits)")[![julienarcin](https://avatars.githubusercontent.com/u/1089816?v=4)](https://github.com/julienarcin "julienarcin (1 commits)")[![kester36](https://avatars.githubusercontent.com/u/17174222?v=4)](https://github.com/kester36 "kester36 (1 commits)")[![lennarttd](https://avatars.githubusercontent.com/u/22932993?v=4)](https://github.com/lennarttd "lennarttd (1 commits)")[![mrcyna](https://avatars.githubusercontent.com/u/4387035?v=4)](https://github.com/mrcyna "mrcyna (1 commits)")[![shuman](https://avatars.githubusercontent.com/u/19885?v=4)](https://github.com/shuman "shuman (1 commits)")[![yannlugrin](https://avatars.githubusercontent.com/u/9294?v=4)](https://github.com/yannlugrin "yannlugrin (1 commits)")[![Arisstath](https://avatars.githubusercontent.com/u/11246626?v=4)](https://github.com/Arisstath "Arisstath (1 commits)")

### Embed Badge

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

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

###  Alternatives

[openai-php/client

OpenAI PHP is a supercharged PHP API client that allows you to interact with the Open AI API

5.8k26.1M293](/packages/openai-php-client)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.8M710](/packages/sylius-sylius)[telnyx/telnyx-php

Official Telnyx PHP SDK — APIs for Voice, SMS, MMS, WhatsApp, Fax, SIP Trunking, Wireless IoT, Call Control, and more. Build global communications on Telnyx's private carrier-grade network.

35729.6k2](/packages/telnyx-telnyx-php)[razorpay/ifsc

Razorpay IFSC Codes Library

384204.4k](/packages/razorpay-ifsc)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.7k371.6k5](/packages/theodo-group-llphant)[deeplcom/deepl-php

Official DeepL API Client Library

2627.0M97](/packages/deeplcom-deepl-php)

PHPackages © 2026

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