PHPackages                             bordman/dynamics-webapi-toolkit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. bordman/dynamics-webapi-toolkit

ActiveLibrary

bordman/dynamics-webapi-toolkit
===============================

Web API toolkit for Microsoft Dynamics 365 and Dynamics CRM

2.0.1(5y ago)05MITPHPPHP ^7.4

Since May 18Pushed 5y agoCompare

[ Source](https://github.com/quickbit-pro/dynamics-webapi-toolkit)[ Packagist](https://packagist.org/packages/bordman/dynamics-webapi-toolkit)[ RSS](/packages/bordman-dynamics-webapi-toolkit/feed)WikiDiscussions master Synced 6d ago

READMEChangelogDependencies (6)Versions (6)Used By (0)

Dynamics Web API Toolkit
========================

[](#dynamics-web-api-toolkit)

The Dynamics Web API Toolkit provides an easy-to-use PHP wrapper for the [Dynamics 365 Customer Engagement Web API](https://docs.microsoft.com/en-au/dynamics365/customer-engagement/developer/use-microsoft-dynamics-365-web-api).

Create, read, update and delete CRM records easily via the [IOrganizationService](https://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.iorganizationservice.aspx) - compatible interface, as well as execute Web API actions and functions.

See [the tutorial](https://github.com/AlexaCRM/dynamics-webapi-toolkit/wiki/Tutorial) for the sample code to instantiate the connection, create, retrieve, update and delete records.

This toolkit supports **only** Dynamics 365 Web API. For PHP implementation of the Dynamics 365 SOAP interface, see [php-crm-toolkit project](https://github.com/AlexaCRM/php-crm-toolkit).

Features &amp; Limitations
--------------------------

[](#features--limitations)

The current release of the library does not support the following features (supported features and scenarios are mentioned along the way):

- Authentication support for IFD and On-Premises (AD) deployments. Support for IFD (Internet Facing Deployment) is on the [roadmap](https://github.com/AlexaCRM/dynamics-webapi-toolkit/projects/1), On-Premises deployments (using AD) are under consideration.
- Execute method of IOrganizationService interface is not supported yet. Means for executing functions and actions, both bound and unbound, are provided though.
- Batch requests are not supported yet. That means, associating/disassociating multiple records is executed in multiple separate requests which may affect the performance.
- Organization metadata (entities and attributes, global option sets, etc.) is not supported yet, although can be retrieved manually via the built-in OData helper client or via the HTTP client.
- Most of the record attribute values are returned as-is from Web API. That means, at this point you must expect integers in place of OptionSetValue objects for picklist values, Status/State attributes, booleans for "Two Options" attributes, and floats for decimal and Money attributes. Lookup attribute values are rendered as EntityReference objects. The same applies when you set values in the Entity, including EntityReferences. This is likely to change once organization metadata is integrated into the toolkit.

Getting Started
---------------

[](#getting-started)

### Prerequisites

[](#prerequisites)

The main requirement is PHP 7.4 or later. cURL is recommended but is not required. [Composer](https://getcomposer.org/) is required to install the toolkit and its dependencies.

### Installing

[](#installing)

```
$ composer require alexacrm/dynamics-webapi-toolkit:dev-master

```

### Consuming

[](#consuming)

See the [Tutorial](https://github.com/AlexaCRM/dynamics-webapi-toolkit/wiki/Tutorial) to learn how to consume the library.

Built With
----------

[](#built-with)

- David Yack's [Xrm.Tools.CRMWebAPI](https://github.com/davidyack/Xrm.Tools.CRMWebAPI) - some code was borrowed as OData helper code
- [Guzzle](https://github.com/guzzle/guzzle) - an extensible PHP HTTP client

Versioning
----------

[](#versioning)

Currently the toolkit code is not tagged. Once the library is stable API-wise, we will use [SemVer](http://semver.org/) for versioning.

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 92.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~44 days

Total

4

Last Release

2057d ago

Major Versions

1.0 → 2.02020-09-22

PHP version history (2 changes)1.0PHP &gt;=7.0

2.0PHP ^7.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/23748ef9df51e03a9236679dd139241a86d81b875778f23b30fc395d48b0c67a?d=identicon)[bordman](/maintainers/bordman)

---

Top Contributors

[![wizardist](https://avatars.githubusercontent.com/u/532481?v=4)](https://github.com/wizardist "wizardist (95 commits)")[![georged](https://avatars.githubusercontent.com/u/928254?v=4)](https://github.com/georged "georged (2 commits)")[![quickbit-pro](https://avatars.githubusercontent.com/u/7703140?v=4)](https://github.com/quickbit-pro "quickbit-pro (2 commits)")[![mrudov](https://avatars.githubusercontent.com/u/44767596?v=4)](https://github.com/mrudov "mrudov (1 commits)")[![likeuntomurphy](https://avatars.githubusercontent.com/u/2012253?v=4)](https://github.com/likeuntomurphy "likeuntomurphy (1 commits)")[![healthierjacobsen](https://avatars.githubusercontent.com/u/40671387?v=4)](https://github.com/healthierjacobsen "healthierjacobsen (1 commits)")[![janvernieuwe](https://avatars.githubusercontent.com/u/7813447?v=4)](https://github.com/janvernieuwe "janvernieuwe (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bordman-dynamics-webapi-toolkit/health.svg)

```
[![Health](https://phpackages.com/badges/bordman-dynamics-webapi-toolkit/health.svg)](https://phpackages.com/packages/bordman-dynamics-webapi-toolkit)
```

###  Alternatives

[google/auth

Google Auth Library for PHP

1.4k272.7M162](/packages/google-auth)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[alexacrm/dynamics-webapi-toolkit

Web API toolkit for Microsoft Dynamics 365 and Dynamics CRM

81324.1k1](/packages/alexacrm-dynamics-webapi-toolkit)[tempest/framework

The PHP framework that gets out of your way.

2.1k23.1k9](/packages/tempest-framework)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
