Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module provides developers with the ability to integrate Drupal with NfP 365 CRM, a Microsoft Dynamics 365 solution for non-profits. It allows for connectivity to the OpenAPI and WebAPI, enabling access to resources like donations, orders, and campaigns. A debug mode is also available for logging API requests and responses.

NfP365 CRM API is a module for developers to integrate Drupal with NfP 365 CRM — Microsoft Dynamics 365 designed for the Non-for-Profit sector.

It provides connectivity to the following APIs offered by Mhance (a Microsoft Solutions Partner):

  • WebAPI
  • OpenAPI

Each API includes resources such as Donations, Orders, Campaigns, etc.

Setup

After installing the module, you must provide credentials for both the OpenAPI and WebAPI.

Go to: /admin/config/services/nfp365-crm-api and enter the required credentials.

Debug Mode

On the same configuration page (/admin/config/services/nfp365-crm-api), you can enable Debug Mode.

When Debug Mode is enabled, Drupal logs all requests and responses made using the API connection.

Examples

// Request via OpenApi client.
/* @var \Drupal\nfp365_crm_api\Http\OpenApiClient $openApi */
$openApi = \Drupal::service('nfp365_crm_api.manager')->getOpenApiClient();
$response = $openApi->paymentProcessors()->all();
foreach ($response->PaymentProcessors as $paymentProcessor) {
  // Process each payment processor.
}

// Request via WebApi client.
/* @var \Drupal\nfp365_crm_api\Http\WebApiClient $webApi */
$webApi = \Drupal::service('nfp365_crm_api.manager')->getWebApiClient();
$response = $webApi->campaigns()->all();
$campaigns = $response->getData();
foreach ($campaigns as $campaign) {
  // Process each campaign.
}

// Additional methods for $response are also available.
$response->getStatusCode();   // Returns HTTP status code (e.g., 200)
$response->getReasonPhrase(); // Returns HTTP reason phrase (e.g., 'OK')
// etc...

How to Add a New Resource

An example for OpenAPI:

  1. Create a class and place it in the /src/Resources/OpenAPI/ folder. You can find existing examples there for reference.
  2. Add a new method to the /src/Http/OpenApiClient.php file.

Activity

Total releases
3
First release
Dec 2024
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 3
Maintenance
Dormant

Release Timeline

Releases

Version Type Release date
2.0.1 Stable Feb 12, 2025
2.0.0 Stable Jan 22, 2025
2.0.0-beta5 Pre-release Dec 10, 2024