canapecrm / api-client
CanapeCRM HTTP API 客户端
1.0.0
2017-06-29 10:16 UTC
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~5.0
This package is not auto-updated.
Last update: 2024-09-21 00:29:33 UTC
README
Canape CRM API 实现
此包提供了基本的集成方法实现。当前版本中提供了交易创建、检索交易类型和事件列表的功能。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一
php composer.phar require --prefer-dist canapecrm/api-client
或者将以下内容添加到您的 composer.json 文件的 require 部分。
canapecrm/api-client
使用方法
配置您的 canapecrm.ru 域名和访问令牌。以下是一个交易创建示例
$oClient = new CanapeCrmApi\ClientLib( '<domain>.canapecrm.ru', CANAPECRM_ACCESS_TOKEN );
出于安全考虑,请将访问令牌定义 CANAPECRM_ACCESS_TOKEN 存放在安全的地方,并从版本控制之外。
try {
$oResponse = $oClient->createDeal(
(new CanapeCrmApi\models\NewDeal())
->setDomain( $_SERVER['SERVER_NAME'] )
->setDealTitle( 'Deal Castle Manufacture website ' . date( "H:i:s d.m.Y" ) )
->setDealContent( 'A cannonball for riding on' )
->setContactClient( 'Baron Munchausen' )
->setContactEmail( 'baron@crm.saas' )
->setContactPhone( '+1720 (0511) 97-02-22' )
/* Works only with auto invoice settings */
->addCatalogItem(
(new CanapeCrmApi\models\Catalog())
->setIndex('CB690')
->setTitle( 'Pumhart von Steyr cannonball' )
->setCount( 1 )
->setPrice( 2000 )
)
);
/**
* Array with new deal id
* [ 'id' => <id> ]
* Optionally returns a href to the generated document
* [ 'id' => <id>,
* 'form|offer|invoice' => <url>
* ]
*/
$oResponse->json();
} catch ( \CanapeCrmApi\exception\CanapeCrmClientException $e ) {
/**
* Catch api-client exceptions such as required fields validation errors
*/
} catch ( GuzzleHttp\Exception\RequestException $e ) {
echo $e->getRequest() . "\n";
if ( $e->hasResponse() ) {
$e->getResponse()->json();
}
}
要按类型和事件对交易进行分离,请使用方法结果
$oResponse = $oClient->getDealTypes(); // ->getEvents()
$oResponse->json();
然后您可以在创建交易时设置它
$oResponse = $oClient->createDeal(
(new CanapeCrmApi\models\NewDeal())
...
->setEventId( <id> )
->setDealTypeId( <id> )
...
);
通过方法提供javascript计数器的结果
...
->setCanapeUuid( <uuid> )
...