connectix/php-sdk

Connectix的PHP SDK

v2.0.0 2022-06-30 07:11 UTC

README

如何使用

通过composer安装SDK

$ composer require connectix/php-sdk 

确保自动加载类

require_once __DIR__.'/vendor/autoload.php';

创建客户端

use Connectix\Client;

...

$client = new Client('YOUR_TOKEN_OBTAINED_FROM_CONNECTIX'); // to use in sandbox mode enter second argument "true"

检查电话号码是否在黑名单中

use Connectix\Components\Blacklist;
use Connectix\Exception;

...

$blacklist = new Blacklist();
$blacklist->setPhone('YOUR_PHONE_NUMBER');

try {
	$isBlacklisted = $client->getBlacklist()->isBlacklisted($blacklist); // returns "yes" or "no"
} catch (Exception\BadConnectionException $e) {
	// Your code
} catch (Exception\BadRequestException $e) {
	// Your code
} catch (Exception\BadResponseBodyException $e) {
	// Your code
}

发送单条消息

use Connectix\Components\Contact;
use Connectix\Components\Message;
use Connectix\Exception;

...

$contact = new Contact();
$contact->setFirstName('SOME NAME')
	->setLastName('SOME LASTNAME');

$message = new Message();
$message
	->setTemplate('TEMPLATE_ID_FROM_CONNECTIX')  // Required
	->setPhone('YOUR_PHONE_NUMBER')  // Required
	->setParameters([
		'key1' => 'value1',
		'key2' => 'value2'
	])
	->setCallbackUrl('https://YOUR_URL.com')
	->setInboundUrl('https://YOUR_URL.com')
	->setContact($contact);

try {
	$client->getMessages()->send($message);
} catch (Exception\BadConnectionException $e) {
	// Your code
} catch (Exception\BadRequestException $e) {
	// Your code
} catch (Exception\BadResponseBodyException $e) {
	// Your code
}

发送备用消息

use Connectix\Components\Contact;
use Connectix\Components\Fallback;
use Connectix\Components\Message;
use Connectix\Exception;

...

$contact = new Contact();
$contact->setFirstName('SOME NAME')
	->setLastName('SOME LASTNAME');

$fallback = new Fallback();
$fallback
	->setPhone('YOUR_PHONE_NUMBER')  // Required
	->setContact($contact);

$messageOne = new Message();
$messageOne
	->setTemplate('TEMPLATE_ID_FROM_CONNECTIX')  // Required
	->setParameters([
		'key1' => 'value1',
		'key2' => 'value2'
	])
	->setCallbackUrl('https://YOUR_URL.com')
	->setInboundUrl('https://YOUR_URL.com');
$fallback->addMessage($messageOne);

$messageTwo = new Message();
$messageTwo
	->setTemplate('TEMPLATE_ID_FROM_CONNECTIX')  // Required
	->setParameters([
		'key1' => 'value1',
		'key2' => 'value2'
	])
	->setCallbackUrl('https://YOUR_URL.com')
	->setInboundUrl('https://YOUR_URL.com');
$fallback->addMessage($messageTwo);

try {
	$client->getFallback()->send($fallback);
} catch (Exception\BadConnectionException $e) {
	// Your code
} catch (Exception\BadRequestException $e) {
	// Your code
} catch (Exception\BadResponseBodyException $e) {
	// Your code
}

注册/注销集成

use Connectix\Components\Integration;
use Connectix\Components\IntegrationUnregister;
use Connectix\Exception;

...

$integration = new Integration();
$integration
	->setPlatform('YOUR PLATFORM NAME')  // Required
	->setSecret('YOUR 32 CHARACTERS SECRET') // Required
	->setType('custom'); // Required. Available options: ecommerce, automation, custom

try {
	$data = $client->getintegration()->send($integration);
} catch (Exception\BadConnectionException $e) {
	// Your code
} catch (Exception\BadRequestException $e) {
	// Your code
} catch (Exception\BadResponseBodyException $e) {
	// Your code
}

$integrationUnregister = new IntegrationUnregister();
$integrationUnregister
	->setSecret('YOUR 32 CHARACTERS SECRET') // Required. Secret used in the previous request
	->setToken($data['token']); // Required. Token returned from the previous request

try {
	$client->getintegration()->send($integrationUnregister);
} catch (Exception\BadConnectionException $e) {
	// Your code
} catch (Exception\BadRequestException $e) {
	// Your code
} catch (Exception\BadResponseBodyException $e) {
	// Your code
}

注册/注销集成钩子

use Connectix\Components\IntegrationHook;
use Connectix\Components\IntegrationHookUnregister;
use Connectix\Exception;

...

$integrationHook = new IntegrationHook();
$integrationHook
	->setToken($data['token'])  // Required. Token obtained from integration registration
	->setUrl('YOUR URL') // Required. Valid URL which will receive calls
	->setType('custom'); // Required. Available options: callback, inbound, template, tracking

try {
	$data = $client->getintegrationHook()->send($integrationHook);
} catch (Exception\BadConnectionException $e) {
	// Your code
} catch (Exception\BadRequestException $e) {
	// Your code
} catch (Exception\BadResponseBodyException $e) {
	// Your code
}

$integrationHookUnregister = new IntegrationHookUnregister();
$integrationHookUnregister
	->setId($data['id']); // Required. Returned from previous request

try {
	$client->getintegrationHook()->send($integrationHookUnregister);
} catch (Exception\BadConnectionException $e) {
	// Your code
} catch (Exception\BadRequestException $e) {
	// Your code
} catch (Exception\BadResponseBodyException $e) {
	// Your code
}

待办事项

  • [x] 添加模板请求
  • [x] 添加消息请求
    • [x] 发布消息
    • [ ] 获取消息
  • [ ] 添加请求错误处理
  • [x] 添加集成和钩子的文档