surveygizmo/dynamics-webapi-toolkit

适用于 Microsoft Dynamics 365 和 Dynamics CRM 的 Web API 工具包(支持 PHP 5.6)

dev-master 2018-11-20 22:30 UTC

This package is auto-updated.

Last update: 2024-09-21 21:01:41 UTC


README

Dynamics Web API Toolkit 为 Dynamics 365 客户关系管理 Web API 提供了一个易于使用的 PHP 封装。

通过 IOrganizationService 兼容的接口,可以轻松地创建、读取、更新和删除 CRM 记录,以及执行 Web API 操作和函数。

请参阅 教程 了解实例化连接、创建、检索、更新和删除记录的示例代码。

此工具包仅支持 Dynamics 365 Web API。有关 Dynamics 365 SOAP 接口的 PHP 实现,请参阅 php-crm-toolkit 项目

特性 & 限制

当前版本的库不支持以下功能(支持的功能和场景将在过程中说明)

  • 不支持 IFD 和 On-Premises(AD)部署的认证。IFD(面向互联网的部署)支持已在 路线图 中,On-Premises 部署(使用 AD)正在考虑中。
  • IOrganizationService 接口的 Execute 方法尚不支持。不过,提供了执行函数和操作(绑定和未绑定)的方法。
  • 尚不支持批处理请求。这意味着,关联/取消关联多个记录将在多个单独的请求中执行,这可能会影响性能。
  • 尚不支持组织元数据(实体和属性、全局选项集等),尽管可以通过内置的 OData 辅助客户端或通过 HTTP 客户端手动检索。
  • 大多数记录属性值以原始形式从 Web API 返回。这意味着,在这一点上,您必须期望在选项列表值、状态/状态属性、"两个选项"属性和十进制/货币属性中使用整数代替 OptionSetValue 对象,布尔值用于"两个选项"属性,浮点数用于十进制和货币属性。查找属性值以 EntityReference 对象的形式呈现。在设置实体值时也是如此,包括 EntityReferences。一旦组织元数据集成到工具包中,这种情况可能会改变。

入门

先决条件

主要要求是 PHP 5.6 或更高版本。建议使用 cURL,但不是必需的。《Composer》是安装工具包及其依赖项所必需的。

安装

$ composer require surveygizmo/dynamics-webapi-toolkit:dev-master

使用

示例

<?php

error_reporting(E_ALL & ~ E_NOTICE);
ini_set('display_errors', 1);

require_once 'vendor/autoload.php';

$client = \SurveyGizmo\Dynamics\WebAPI\ClientFactory::createOnlineClient(
    'https://example.crm.dynamics.com',
    '5abff56d-ffa4-42ca-bd21-91d11b5754ff',
    '3kffsdfIwwr23rj2r1397kwegewgJGtwi2wejgewitw='
);

$contact = new \SurveyGizmo\Dynamics\Xrm\Entity( 'contact' );
$contact['firstname'] = 'Nancy';
$contact['lastname'] = 'Anderson';
$contact['emailaddress1'] = 'someone_c@example.com';

$contactId = $client->Create( $contact );

var_dump($contactId);
var_dump($contact);

如果您遇到认证问题,您可能需要查阅其他指南,以正确配置 Dynamics 365 以使用 OpenID Connect 和 Azure Active Directory

请参阅 教程 了解更多关于如何使用此库的信息。

构建于

  • David Yack 的 Xrm.Tools.CRMWebAPI - 代码中借用了一些作为 OData 辅助代码
  • Guzzle - 可扩展的 PHP HTTP 客户端

版本控制

目前工具包代码未标记版本。一旦库在API方面稳定,我们将使用SemVer进行版本控制。

许可证

本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE.md文件。