定制 alexacrm/php-crm-toolkit 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

alexacrm/php-crm-toolkit

最新稳定版本:20241114

Composer 安装命令:

composer require alexacrm/php-crm-toolkit

包简介

PHP Toolkit for Microsoft Dynamics CRM

README 文档

README

CRM Toolkit for PHP provides integration with Microsoft Dynamics CRM in PHP applications.

This toolkit supports only Dynamics 365 SOAP interface. For PHP implementation of the Dynamics 365 Web API, see dynamics-webapi-toolkit project.

Installation

Install the latest version with

$ composer require alexacrm/php-crm-toolkit:dev-master

Examples

/**
 * Use init.php if you didn't install the package via Composer
 */
require_once 'vendor/autoload.php';

use AlexaCRM\CRMToolkit\Client as OrganizationService;
use AlexaCRM\CRMToolkit\Settings;

$contactId = '1d2fc62f-1c56-448b-b546-edfb6d6fec5c';
/* 
* WS-Trust is now deprecated 

$options = [
    'serverUrl' => 'https://org.crmN.dynamics.com',
    'username' => 'portal@org.onmicrosoft.com',
    'password' => 'portalPassword',
    'authMode' => 'OnlineFederation',
];

$serviceSettings = new Settings( $options );

*/

$options = [
	'serverUrl' => 'https://org.crmN.dynamics.com',
	'applicationId' => '1111c62f-dead-beef-dead-edfbffffec5c',
	'clientSecret' => 'whateveristhesecretgenerated',
	'authMode' => 'OnlineFederation',
	'authMethod' => 'sharedSecretAuth',
	'cache' => new AlexaCRM\CRMToolkit\NullCache(),
];

// This code uses NullCache which allows to connect and run the operations 
// but it is very inefficient and should not be used in production. 
// You can use any PSR-6 compliant cache implementation. 
$serviceSettings = new OnlineS2SSecretAuthenticationSettings( $options );
$service = new OrganizationService( $serviceSettings );

// retrieve a contact and update its fields
$contact = $service->entity( 'contact', $guid );
$contact->firstname = explode( '@', $contact->emailaddress1 )[0];
$contact->update();
printf( 'Info for %s %s updated.', $contact->firstname, $contact->lastname );

// create a new contact
$contact = $service->entity( 'contact' );
$contact->firstname = 'John';
$contact->lastname = 'Doe';
$contact->emailaddress1 = 'john.doe@example.com';
$contactId = $contact->create();

// delete a contact
$contact->delete();

// execute an action
$whoAmIResponse = $service->executeAction( 'WhoAmI' );
echo 'Organization ID: ' . $whoAmIResponse->OrganizationId;

// inject cache repo
// must be instance of AlexaCRM\CRMToolkit\CacheInterface
$cacheRepo = Cache::instance();
$service = new Client( $serviceSettings, $cacheRepo );

In /examples/ you can find a few examples of toolkit usage. Copy config.example.php to config.php, set up credentials for your CRM and you are ready to go!

Contributing

Pull requests are gladly accepted in the GitHub repository.

License

Copyright (c) 2016 AlexaCRM.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 3.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Lesser Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.

统计信息

  • 总下载量: 285.75k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 109
  • 点击次数: 1
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 107
  • Watchers: 10
  • Forks: 40
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-3.0
  • 更新时间: 2016-08-01