Enterprise Integrated Channels
raw JSON → 0.1.57 verified Fri May 01 auth: no python
A Django application for edX enterprises to integrate with third-party systems (e.g., Blackboard, Canvas, Cornerstone, Degreed, Moodle, SAP SuccessFactors) via API, transmitting learner data. Version 0.1.57 is current; release cadence is irregular (multiple releases per month).
pip install enterprise-integrated-channels Common errors
error ImportError: cannot import name 'IntegratedChannelApiClient' from 'integrated_channels' ↓
cause Incorrect import path; the client is in a submodule.
fix
Use 'from integrated_channels.integrated_channel.api import IntegratedChannelApiClient'
error OperationalError: no such table: integrated_channels_enterprisecustomerpluginconfiguration ↓
cause Migrations not applied.
fix
Run 'python manage.py migrate integrated_channels'
error AttributeError: 'NoneType' object has no attribute 'transmit_learner_data' ↓
cause Query for EnterpriseCustomerPluginConfiguration returned None (no configuration exists for given enterprise).
fix
Check that an EnterpriseCustomerPluginConfiguration object exists for the enterprise UUID.
Warnings
breaking Upgrading from <0.1.50 may break due to changes in Cornerstone and Skillsoft payload handling. ↓
fix Review release notes for v0.1.51 and v0.1.54; update your integration code if you use Cornerstone or Skillsoft.
breaking In v0.1.57, the API for Org ID management changed the model schema. Existing migrations must be applied. ↓
fix Run `python manage.py migrate integrated_channels` after upgrading.
gotcha Python 3.11+ required. Older Python versions will cause installation failure. ↓
fix Use Python 3.11+ and ensure your environment meets the requirement.
gotcha The package is designed to be used as part of an edX enterprise installation; standalone usage may require additional configuration (e.g., Django settings, OAuth tokens). ↓
fix Follow the edX enterprise integration guide; ensure Django settings include 'integrated_channels' in INSTALLED_APPS.
Imports
- IntegratedChannelAPIClient
from integrated_channels.integrated_channel.api import IntegratedChannelApiClient - EnterpriseCustomerPluginConfiguration wrong
from enterprise.integrated_channel.models import ...correctfrom integrated_channels.integrated_channel.models import EnterpriseCustomerPluginConfiguration - SapSuccessFactorsTransmitter
from integrated_channels.sap_success_factors.transmitters import SapSuccessFactorsTransmitter
Quickstart
from integrated_channels.integrated_channel.api import IntegratedChannelApiClient
from integrated_channels.integrated_channel.models import EnterpriseCustomerPluginConfiguration
# Example: fetch configuration for a specific enterprise customer
config = EnterpriseCustomerPluginConfiguration.objects.filter(
enterprise_customer__uuid='uuid-here'
).first()
if config:
client = IntegratedChannelApiClient(config)
# Trigger transmission
client.transmit_learner_data()