Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

Odata Client

Security covered Under active development 2 sites

This module allows Drupal to connect to OData servers, enabling integration with services like Microsoft Dynamics CRM. It provides functionality to manage connections, query data, and interact with OData collections directly from Drupal.

Introduction

OData client implements configuration entity for OData servers, IO functions to OData collections and Drupal format OdataQuery object.

This module makes it possible to integrate Drupal with e.g. Microsoft Dynamics CRM.

Requirements

The module requires the following libraries:
saintsystems/odata-client: ^0.2.4
league/oauth2-client: ^2.4
thenetworg/oauth2-azure: ^1.4

Installation

Install as you would normally install a contributed Drupal module. Visit:
https://www.drupal.org/documentation/install/modules-themes/modules-8
for further information.

Configuration

Go to /admin/structure/odata_server and create new server configuration

Usage

After made a server configuration name default able to connect to server:

$odata_client = \Drupal::service('odata_client.io');
$odata_client->connect('default');

Change collection:

In configuration can define the default collection but may to change it:
$odata_client->setCollection('People');

Find an element by key:

Return the data of element key ‘russellwhyte’:
$result = $odata_client->find('russellwhyte');

Count elements in collection:

Return elements count the collection:
$result = $odata_client->count();

Create new element:

Create new element in collection:

$data = array (
  'UserName' => 'teresa',
  'FirstName' => 'Teresa',
  'LastName' => 'Gilbert',
  'Gender' => 'Female',
  'Emails' => 
  array (
    0 => '[email protected]',
    1 => '[email protected]',
  ),
  'AddressInfo' => 
  array (
    0 => 
    array (
      'Address' => '1 Suffolk Ln.',
      'City' => 
      array (
        'CountryRegion' => 'United States',
        'Name' => 'Boise',
        'Region' => 'ID',
      ),
    ),
  ),
);
$result = $odata_client->post($data);

Get data from collection:

Return max 4 elements FirstName and LastName columns where FirstName is Teresa, sort by LastName descending:

$query = \Drupal::service('odata_client.query');
$query->connect('default')
    ->fields(['FirstName','LastName'])
    ->condition('FirstName', 'Teresa')
    ->orderBy('LastName', 'desc');
    ->range(0, 4);
$result = $query->execute();

Ask your assistant about Odata Client

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
4
Tracked since
Jan 2023
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 1
Maintenance
Slowing

Release Timeline

Releases

Version Type Core PHP Release date
3.1.0-alpha2 Pre-release 9–11 Mar 17, 2025
3.1.0-alpha1 Pre-release 9–10 Dec 19, 2023
3.1.x-dev Dev 9–11 Nov 6, 2023
3.0.x-dev Dev 8–9 Jan 26, 2023