PHPackages                             lindemannrock/craft-formie-sap-integration - 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. [API Development](/categories/api)
4. /
5. lindemannrock/craft-formie-sap-integration

ActiveCraft-plugin[API Development](/categories/api)

lindemannrock/craft-formie-sap-integration
==========================================

SAP Cloud integration for Formie - Automatically sends form submissions to SAP Cloud Platform

3.3.0(1mo ago)089proprietaryPHPPHP ^8.2CI passing

Since Sep 15Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/LindemannRock/craft-formie-sap-integration)[ Packagist](https://packagist.org/packages/lindemannrock/craft-formie-sap-integration)[ RSS](/packages/lindemannrock-craft-formie-sap-integration/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (18)Versions (15)Used By (0)

Formie SAP Integration Plugin
=============================

[](#formie-sap-integration-plugin)

[![Latest Version](https://camo.githubusercontent.com/e5df777fb4fa95e7257feee79c8d334a6f5d2743b945a9fa8fe9c55b4dc918fa/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c696e64656d616e6e726f636b2f63726166742d666f726d69652d7361702d696e746567726174696f6e2e737667)](https://packagist.org/packages/lindemannrock/craft-formie-sap-integration)[![Craft CMS](https://camo.githubusercontent.com/c176c7ad994b4d577c758871323311a223477bd0cd427c40a8472fd0cad04992/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4372616674253230434d532d352e302b2d6f72616e67652e737667)](https://craftcms.com/)[![Formie](https://camo.githubusercontent.com/29b31abd3a720b332edc5b3ffe9c13a5e8e17fdd133ebf676003713d455f0727/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f466f726d69652d332e302b2d707572706c652e737667)](https://verbb.io/craft-plugins/formie)[![PHP](https://camo.githubusercontent.com/5fe05c705bf034839bda7651781e4d0a9d42f4a840478ca5e343873a0361bb89/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322b2d626c75652e737667)](https://php.net/)[![License](https://camo.githubusercontent.com/ffc71b1089dda2e7652ff8125929460ca1c5f51b3e5a5ca067e527267866fe8b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c696e64656d616e6e726f636b2f63726166742d666f726d69652d7361702d696e746567726174696f6e2e737667)](LICENSE)

A Craft CMS plugin that integrates Verbb's Formie with SAP Cloud Platform, enabling automatic submission of form data using SAP's dynamic schema format with OAuth 2.0 authentication.

License
-------

[](#license)

This is a commercial plugin licensed under the [Craft License](https://craftcms.github.io/license/). It will be available on the [Craft Plugin Store](https://plugins.craftcms.com) soon. See [LICENSE.md](LICENSE.md) for details.

⚠️ Pre-Release
--------------

[](#️-pre-release)

This plugin is in active development and not yet available on the Craft Plugin Store. Features and APIs may change before the initial public release.

Requirements
------------

[](#requirements)

- Craft CMS 5.0 or greater
- PHP 8.2 or greater
- Formie 3.0 or greater

Features
--------

[](#features)

- **OAuth 2.0 Authentication** - Secure authentication with SAP Cloud Platform
- **Dynamic Schema Support** - Sends form data in SAP's flexible JSON format
- **Multi-Environment** - Supports both staging and production environments
- **Metadata Tracking** - Automatically captures IP, user agent, UTM parameters, and more
- **Field Mapping** - Intelligent handling of all Formie field types
- **Environment Variables** - Secure credential management with autosuggest
- **Header Field Mapping** - Configure memberID, memberEmail, memberMobile, invoiceID

Installation
------------

[](#installation)

### Via Composer

[](#via-composer)

```
cd /path/to/project
```

```
composer require lindemannrock/craft-formie-sap-integration
```

```
./craft plugin/install formie-sap-integration
```

### Using DDEV

[](#using-ddev)

```
cd /path/to/project
```

```
ddev composer require lindemannrock/craft-formie-sap-integration
```

```
ddev craft plugin/install formie-sap-integration
```

### Via Control Panel

[](#via-control-panel)

In the Control Panel, go to Settings → Plugins and click "Install" for Formie SAP Integration.

Environment Configuration
-------------------------

[](#environment-configuration)

Add these to your `.env` file:

```
# Required OAuth credentials
SAP_CLIENT_ID=your_client_id_here
SAP_CLIENT_SECRET=your_client_secret_here

# Environment selection
SAP_ENVIRONMENT=staging

# Optional API URLs (can be configured in CP)
SAP_STAGING_URL=https://staging-api.sap.com/v1
SAP_PRODUCTION_URL=https://production-api.sap.com/v1
SAP_API_ENDPOINT=/customer-feedback

# Optional OAuth URLs
SAP_OAUTH_TOKEN_URL=https://api.sap.com/oauth/token
SAP_OAUTH_AUTHORIZE_URL=https://api.sap.com/oauth/authorize
SAP_OAUTH_SCOPE=customer_data:write,forms:submit
```

Configuration
-------------

[](#configuration)

### Step 1: Create SAP Integration

[](#step-1-create-sap-integration)

1. Go to **Formie → Settings → Integrations**
2. Click **New Integration** and select **SAP Cloud** under CRM
3. Configure the integration:

    - **Name**: Give your integration a name (e.g., "SAP Production")
    - **Client ID**: Enter `$SAP_CLIENT_ID` (environment variable tip will appear)
    - **Client Secret**: Enter `$SAP_CLIENT_SECRET`
    - **Environment**: Enter `$SAP_ENVIRONMENT` or choose staging/production
    - **API URLs**: Configure or use environment variables
    - **API Endpoint**: Set to `/customer-feedback` or as provided by SAP
    - **OAuth URLs**: Configure or use environment variables
4. Save the integration
5. Test the connection using the **Refresh** button

### Step 2: Enable for Forms

[](#step-2-enable-for-forms)

1. Edit your Formie form
2. Go to **Integrations** tab
3. Enable the SAP Cloud integration
4. Configure header field mapping:
    - **Member ID Field**: Map to your member ID field
    - **Member Email Field**: Map to your email field
    - **Member Mobile Field**: Map to your phone field
    - **Invoice ID Field**: Map to invoice/order field (if applicable)
5. Save the form

Data Format
-----------

[](#data-format)

The integration sends data in SAP's dynamic schema format:

```
{
  "header": {
    "memberID": "MTIzNDU2", // Base64 encoded
    "memberEmail": "dXNlckBleGFtcGxlLmNvbQ==", // Base64 encoded
    "memberMobile": "Kzk2NjEyMzQ1Njc4OQ==", // Base64 encoded
    "invoiceID": "INV-2025-001"
  },
  "submissionId": "12345",
  "formId": "contact_form",
  "formTitle": "Contact Form",
  "submissionDate": "2025-07-10T14:30:00.000Z",
  "metadata": {
    "ipAddress": "192.168.1.100",
    "userAgent": "Mozilla/5.0...",
    "referrer": "https://example.com",
    "language": "ar",
    "timezone": "Asia/Riyadh",
    "deviceType": "mobile",
    "utmSource": "google",
    "utmMedium": "cpc",
    "utmCampaign": "summer_2025"
  },
  "fields": [
    {
      "handle": "customer_name",
      "label": "Customer Name",
      "value": "أحمد محمد"
    },
    {
      "handle": "satisfaction_rating",
      "label": "How satisfied are you?",
      "value": 5
    }
  ]
}
```

### Metadata Collected

[](#metadata-collected)

**Always included:**

- Submission ID, Form ID, Form Title, Submission Date
- IP Address, User Agent, Language, Timezone
- Device Type (mobile/tablet/desktop)
- Submission URL

**Included when available:**

- Referrer URL
- UTM parameters (source, medium, campaign, content, term)

### Field Type Handling

[](#field-type-handling)

- **Text/Textarea** → String values
- **Number** → Numeric values
- **Dropdown/Radio** → Selected value
- **Checkboxes** → Array of selected values
- **Date** → ISO 8601 format
- **Name** → Combined first/last name
- **Phone** → Extracted phone number
- **Email** → Email address
- **Rating** → Numeric rating value
- **File Uploads** → Not included in SAP payload

Testing
-------

[](#testing)

See [SAP\_API\_TEST\_GUIDE.md](SAP_API_TEST_GUIDE.md) for comprehensive testing instructions.

### Quick Test

[](#quick-test)

1. **Test Connection**

    - Save the integration and click **Refresh**
    - Check for connection success/error messages
2. **Test Form Submission**

    - Create a simple test form
    - Enable SAP integration
    - Submit the form
    - Check Formie's integration logs

Troubleshooting
---------------

[](#troubleshooting)

### Common Issues

[](#common-issues)

#### Integration Not Appearing

[](#integration-not-appearing)

- Ensure plugin is installed: `php craft plugin/list | grep formie-sap-integration`
- Clear all caches: `php craft clear-caches/all`
- Check plugin is enabled in Settings → Plugins

#### OAuth Authentication Errors

[](#oauth-authentication-errors)

- Verify Client ID and Secret are correct
- Check OAuth URLs are accessible
- Ensure redirect URI is whitelisted in SAP console
- Verify environment variables are set correctly

#### Submission Failures

[](#submission-failures)

- Check API endpoint is correct
- Verify all required header fields are mapped
- Review Craft logs for detailed error messages
- Ensure SAP API is accessible from your server

#### Environment Variable Tips Not Showing

[](#environment-variable-tips-not-showing)

- Verify you're using `autosuggestField` in templates
- Check both `suggestEnvVars: true` and `suggestAliases: true` are set
- Clear compiled templates: `php craft clear-caches/compiled-templates`

Documentation Files
-------------------

[](#documentation-files)

- **README.md** - This overview and setup guide
- **SAP\_API\_TEST\_GUIDE.md** - Comprehensive API testing guide
- **TODO.md** - Development tasks and future improvements
- **.env.example** - Environment variable examples

Support
-------

[](#support)

- **Documentation**:
- **Issues**:
- **Email**:

License
-------

[](#license-1)

This plugin is licensed under the [Craft License](https://craftcms.github.io/license/). See [LICENSE.md](LICENSE.md) for details.

---

Developed by [LindemannRock](https://lindemannrock.com)

Built for use with [Formie](https://verbb.io/craft-plugins/formie) by Verbb

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance92

Actively maintained with recent releases

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~16 days

Recently: every ~37 days

Total

13

Last Release

41d ago

Major Versions

1.0.4 → 3.0.02025-10-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/88c830ac26a6d6b575430b14695a81810dc436a5d5be138e5ec28a367a314cae?d=identicon)[bhlindemann](/maintainers/bhlindemann)

---

Top Contributors

[![bhlindemann](https://avatars.githubusercontent.com/u/81223527?v=4)](https://github.com/bhlindemann "bhlindemann (50 commits)")

---

Tags

cloud-integrationcraft-cmscraft-cms-pluginenterpriseform-submissionsformieoauth2sap-cloud-platformsap-integrationcmscrmintegrationCraftcraftcmscraft-pluginformiesap

### Embed Badge

![Health badge](/badges/lindemannrock-craft-formie-sap-integration/health.svg)

```
[![Health](https://phpackages.com/badges/lindemannrock-craft-formie-sap-integration/health.svg)](https://phpackages.com/packages/lindemannrock-craft-formie-sap-integration)
```

###  Alternatives

[wrav/oembed

A simple plugin to extract media information from websites, like youtube videos, twitter statuses or blog articles.

36205.0k3](/packages/wrav-oembed)[acclaro/translations

Easily launch and manage multilingual Craft websites without having to copy/paste content or manually track updates.

1229.5k](/packages/acclaro-translations)[craftpulse/craft-typesense

Craft Plugin that synchronises with Typesense

122.7k](/packages/craftpulse-craft-typesense)

PHPackages © 2026

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