{"id":23674,"library":"enterprise-integrated-channels","title":"Enterprise Integrated Channels","description":"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).","status":"active","version":"0.1.57","language":"python","source_language":"en","source_url":"https://github.com/openedx/enterprise-integrated-channels","tags":["edx","enterprise","integrated-channels","LMS","learner-data","django"],"install":[{"cmd":"pip install enterprise-integrated-channels","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Django ORM models and admin; requires >=3.11 Python but Django version not pinned.","package":"Django","optional":false},{"reason":"Common edX utilities for Django apps.","package":"edx-django-utils","optional":true}],"imports":[{"note":"Correct import path for the API client.","wrong":"","symbol":"IntegratedChannelAPIClient","correct":"from integrated_channels.integrated_channel.api import IntegratedChannelApiClient"},{"note":"Old import path no longer works; the app is now a standalone package.","wrong":"from enterprise.integrated_channel.models import ...","symbol":"EnterpriseCustomerPluginConfiguration","correct":"from integrated_channels.integrated_channel.models import EnterpriseCustomerPluginConfiguration"},{"note":"Transmitter for SAP SuccessFactors.","wrong":"","symbol":"SapSuccessFactorsTransmitter","correct":"from integrated_channels.sap_success_factors.transmitters import SapSuccessFactorsTransmitter"}],"quickstart":{"code":"from integrated_channels.integrated_channel.api import IntegratedChannelApiClient\nfrom integrated_channels.integrated_channel.models import EnterpriseCustomerPluginConfiguration\n\n# Example: fetch configuration for a specific enterprise customer\nconfig = EnterpriseCustomerPluginConfiguration.objects.filter(\n    enterprise_customer__uuid='uuid-here'\n).first()\n\nif config:\n    client = IntegratedChannelApiClient(config)\n    # Trigger transmission\n    client.transmit_learner_data()","lang":"python","description":"Basic usage to transmit learner data for a configured enterprise customer."},"warnings":[{"fix":"Review release notes for v0.1.51 and v0.1.54; update your integration code if you use Cornerstone or Skillsoft.","message":"Upgrading from <0.1.50 may break due to changes in Cornerstone and Skillsoft payload handling.","severity":"breaking","affected_versions":"<0.1.50"},{"fix":"Run `python manage.py migrate integrated_channels` after upgrading.","message":"In v0.1.57, the API for Org ID management changed the model schema. Existing migrations must be applied.","severity":"breaking","affected_versions":"0.1.57"},{"fix":"Use Python 3.11+ and ensure your environment meets the requirement.","message":"Python 3.11+ required. Older Python versions will cause installation failure.","severity":"gotcha","affected_versions":"all"},{"fix":"Follow the edX enterprise integration guide; ensure Django settings include 'integrated_channels' in INSTALLED_APPS.","message":"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).","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'from integrated_channels.integrated_channel.api import IntegratedChannelApiClient'","cause":"Incorrect import path; the client is in a submodule.","error":"ImportError: cannot import name 'IntegratedChannelApiClient' from 'integrated_channels'"},{"fix":"Run 'python manage.py migrate integrated_channels'","cause":"Migrations not applied.","error":"OperationalError: no such table: integrated_channels_enterprisecustomerpluginconfiguration"},{"fix":"Check that an EnterpriseCustomerPluginConfiguration object exists for the enterprise UUID.","cause":"Query for EnterpriseCustomerPluginConfiguration returned None (no configuration exists for given enterprise).","error":"AttributeError: 'NoneType' object has no attribute 'transmit_learner_data'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}