PHPackages                             repat/respond-io-client - 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. repat/respond-io-client

ActiveLibrary[API Development](/categories/api)

repat/respond-io-client
=======================

Client for respond.io contacts and messaging API

1.0(1y ago)031MITPHPPHP ^8.0 | ^8.1

Since May 28Pushed 1y ago1 watchersCompare

[ Source](https://github.com/repat/respond-io-client)[ Packagist](https://packagist.org/packages/repat/respond-io-client)[ Docs](https://github.com/repat/respond-io-client)[ RSS](/packages/repat-respond-io-client/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Respond.io Client
=================

[](#respondio-client)

> ⚠️ WORK IN PROGRESS ⚠️

**respond-io-client** is the unofficial package for the [respond.io messaging platform API](https://respond.io). Version 0.1 supports API V1 and version 1.0 now supports V2 as well.

Pull requests welcome.

Installation
------------

[](#installation)

`composer require repat/respond-io-client`

Usage
-----

[](#usage)

The library will generally throw Guzzle's Exceptions, see [API Error Codes](https://developers.respond.io/#error-code) in the respond.io [documentation](https://developers.respond.io/docs/api).

### Setup

[](#setup)

```
$apiToken = '...'; // Get an API token from the website, one per channel
$options = []; // Guzzle Options - should probably be left empty, but just in case.
// ...
$client = new \Repat\RespondIoClient\Client($apiToken, $options);
```

### Contacts

[](#contacts)

> Please note that in case of Viber Channel - due to a certain limitation - the Contact ID needs to be provided in a Base64 encoded format.

```
// Get ID
$id = '...';

// Set identifying field to use for searches, creation and updates
$identifyingField = 'phone';
```

##### Get Contact

[](#get-contact)

['Get a contact' respond.io documentation](https://developers.respond.io/docs/api/cbcfb23486778-get-a-contact)

```
// If you know the ID
$client->getContactById($id);
```

##### Search for contacts

[](#search-for-contacts)

['List the contacts' respond.io documentation](https://developers.respond.io/docs/api/0759d02787ab3-list-the-contacts)

- `$cursorId`: Start position for the search and is `null` by default. Responses from respond.io will contain a new `cursorId` which can be used for subsequent calls. (Integer)
- `$limit`: Number of records to return. Max of 100. (Integer)

```
$filter = new ContactFilter();
$filter->addFilter(
	field: 'phone',
	operator: 'isEqualTo',
	value: '+15551234567'
)
$client->getContacts($filter, $cursorId, $limit);
```

##### Update Contacts

[](#update-contacts)

- `$identifyingField`: must exist as key in fields array

```
$fields = [
	'phone' => '+15557654321',
];

$client->updateContact($fields, $identifyingField);
```

##### Tags

[](#tags)

```
$tags = ['foo', 'bar'];

$client->addTag($id, $tags);
$client->removeTag($id, $tags);
```

##### Create Contact

[](#create-contact)

- `$identifyingField`: must exist as key in fields array

```
$fields = [
	'firstName' => 'John',
	'lastName' => 'Doe',
	'phone' => '+15551234567',
	'email' => 'test@example.com'
	//
];

$client->createContact($fields, $identifyingField);
```

### Messages

[](#messages)

##### Send Message

[](#send-message)

```
$client->sendMessage($id, $text);
```

##### Send Attachment

[](#send-attachment)

```
$type = Client::TYPE_IMAGE; // 'image'

// OR:
// $type = Client::TYPE_AUDIO; // 'audio'
// $type = Client::TYPE_VIDEO; // 'video'
// $type = Client::TYPE_FILE; // 'file

$url = 'https://repat.de/Bilder/repat40x40.png';

$client->sendAttachment($id, $type, $url);
```

ToDo
----

[](#todo)

- Tests
- [Message Template API](https://docs.respond.io/developer-api/messages-api/message-template-api)

License
-------

[](#license)

- MIT

Version
-------

[](#version)

- API v1: Version 0.1 (initial version, work in progress)
- API v2: Version 1.0 (community maintained)

Contact
-------

[](#contact)

#### repat (v1 author)

[](#repat-v1-author)

- Homepage: [repat.de](https://repat.de)
- e-mail:
- Twitter: [@repat123](https://twitter.com/repat123 "repat123 on twitter")
- other communication/social media

#### repat (v2 author)

[](#repat-v2-author)

- [touson on GitHub](https://github.com/touson)

[![Flattr this git repo](https://camo.githubusercontent.com/7e3f46a36526479d701ef7f90a0f8c3ac2fbab3087446e2a9fceed75cd1ab802/687474703a2f2f6170692e666c617474722e636f6d2f627574746f6e2f666c617474722d62616467652d6c617267652e706e67)](https://flattr.com/submit/auto?user_id=repat&url=https://github.com/repat/respond-io-title&title=respond-io-title&language=&tags=github&category=software)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60% 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

Unknown

Total

1

Last Release

711d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/405dab243007488e7e7851422e5864a9312aee36058d60f1e6d623232c4d3131?d=identicon)[repat](/maintainers/repat)

---

Top Contributors

[![repat](https://avatars.githubusercontent.com/u/516807?v=4)](https://github.com/repat "repat (6 commits)")[![touson](https://avatars.githubusercontent.com/u/8169751?v=4)](https://github.com/touson "touson (4 commits)")

---

Tags

apiclientsdkmessagescontactsrespond.io

### Embed Badge

![Health badge](/badges/repat-respond-io-client/health.svg)

```
[![Health](https://phpackages.com/badges/repat-respond-io-client/health.svg)](https://phpackages.com/packages/repat-respond-io-client)
```

###  Alternatives

[openai-php/laravel

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

3.7k7.6M74](/packages/openai-php-laravel)[kunalvarma05/dropbox-php-sdk

Dropbox PHP API V2 SDK (Unofficial)

3633.0M18](/packages/kunalvarma05-dropbox-php-sdk)[resend/resend-php

Resend PHP library.

564.7M21](/packages/resend-resend-php)[crowdin/crowdin-api-client

PHP client library for Crowdin API v2

611.5M5](/packages/crowdin-crowdin-api-client)[mozex/anthropic-laravel

Anthropic PHP for Laravel is a supercharged PHP API client that allows you to interact with the Anthropic API

71226.4k1](/packages/mozex-anthropic-laravel)[fabian-beiner/todoist-php-api-library

A PHP client library that provides a native interface to the official Todoist REST API.

4810.8k](/packages/fabian-beiner-todoist-php-api-library)

PHPackages © 2026

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