承接 repat/respond-io-client 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

repat/respond-io-client

最新稳定版本:1.0

Composer 安装命令:

composer require repat/respond-io-client

包简介

Client for respond.io contacts and messaging API

README 文档

README

⚠️ WORK IN PROGRESS ⚠️

respond-io-client is the unofficial package for the respond.io messaging platform API. Version 0.1 supports API V1 and version 1.0 now supports V2 as well.

Pull requests welcome.

Installation

composer require repat/respond-io-client

Usage

The library will generally throw Guzzle's Exceptions, see API Error Codes in the respond.io documentation.

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

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 a contact' respond.io documentation

// If you know the ID
$client->getContactById($id);
Search for contacts

'List the contacts' respond.io documentation

  • $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
  • $identifyingField: must exist as key in fields array
$fields = [
	'phone' => '+15557654321',
];

$client->updateContact($fields, $identifyingField);
Tags
$tags = ['foo', 'bar'];

$client->addTag($id, $tags);
$client->removeTag($id, $tags);
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

Send Message
$client->sendMessage($id, $text);
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

License

  • MIT

Version

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

Contact

repat (v1 author)

repat (v2 author)

Flattr this git repo

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-08-30