Configuring the Credentium® Integration Plugin for Moodle

Modified on Fri, 30 Jan at 10:12 AM

Configuring the Credentium® Integration Plugin for Moodle

This guide explains all configuration options for the Credentium® Integration plugin at global, category, and course levels.


Configuration Hierarchy

The plugin uses a hierarchical configuration system:


Global Settings (Site-wide)
    ↓
Category Settings (Optional, for multi-tenant)
    ↓
Course Settings (Per-course)


Courses can inherit API credentials from their parent category or use global settings.


Global Settings

Location: Site Administration > Plugins > Local plugins > Credentium® Integration


Enable Credentium Integration


SettingDescription
Enable Credentium IntegrationMaster switch to enable/disable the plugin site-wide


When disabled:

  • No credentials will be issued
  • Course completion events are ignored
  • Existing configurations are preserved


API Configuration


SettingDescriptionExample
API URLCredentium API endpointhttps://issuer.credentium.com/api
API KeyAuthentication keycred_abc123.xyz789


API Key Format: The key contains two parts separated by a dot:

  • Public identifier (before the dot)
  • Secret (after the dot)


Security: API keys are stored securely and displayed as password fields.


Test Connection

Click Test connection to verify your API credentials:

  • Opens a new window with test results
  • Shows number of available templates
  • Lists template names and IDs
  • Reports any connection errors


Category Mode


SettingDescription
Enable category modeAllow separate API credentials per course category. When enabled, you can configure different Credentium API credentials for each course category, and courses within those categories will inherit the category's API settings instead of the global settings.


Enable this for:

  • Multi-tenant deployments (different organizations per category)
  • Departments with separate Credentium accounts
  • Testing vs production configurations


When Category Mode is enabled:

  • Category administrators can configure API credentials at the category level
  • Courses can choose to inherit credentials from their parent category
  • Each category can connect to a different Credentium organization


Debug Logging


SettingDescription
Enable debug loggingWrite detailed logs to PHP error log


Enable temporarily for troubleshooting. Logs include:

  • Event processing details
  • API request/response information
  • Grade calculation data
  • Error details


Note: Disable in production to reduce log volume.


Data Retention (GDPR Compliance)


SettingDescriptionDefault
Data retention periodHow long to keep credential issuance records before automatic deletion365 days


This setting ensures GDPR compliance by implementing data minimization principles:

  • Records older than the configured period are permanently deleted
  • A scheduled task runs daily at 2:00 AM (server time) to clean up old records
  • Deletion applies to all credential issuance records regardless of status (issued, failed, or pending)
  • Available units: days, weeks


For complete details about privacy, data handling, and GDPR compliance, see the dedicated Privacy and GDPR Compliance article.


Category Settings


Location: Category > Credentium Category Settings Requires: Category mode enabled globally Permission: local/credentium:managecategory


Enable for Category

SettingDescription
Enable Credentium for this categoryEnable Credentium for all courses in this category

When enabled, courses in this category (and subcategories) can use these API credentials.


API Credentials

SettingDescription
API URLCategory-specific Credentium API endpoint
API KeyCategory-specific authentication key

Security: Category API keys are encrypted at rest using Moodle's encryption API.


Operational Controls

SettingDescription
Pause all issuancesTemporarily stop all credential issuances for this category
Rate limit (credentials per hour)Maximum credentials to issue per hour (leave empty for unlimited)


Pause Issuances:

  • Pending credentials remain pending
  • New completions are queued but not processed
  • Useful for maintenance or investigations


Rate Limit:

  • Prevents overwhelming the API
  • Excess credentials queue for later processing
  • Checked per category


Category Inheritance

Categories form a hierarchy. When resolving configuration:

  1. Check if course has inherit_category = 1
  2. Walk up category tree to find first enabled category config
  3. If none found, use global settings


Example:

Faculty of Engineering (enabled, has API config)
└── Department of CS (not configured)
    └── Python Course (inherit_category = 1)
        → Uses Faculty of Engineering's API credentials


Course Settings

Location: Course > More > Credentium Settings Permission: local/credentium:managecourse


Step-by-Step: Enable Credentium Integration for a Course

Follow these steps to enable automatic credential issuance for a specific course:


Step 1: Access Course Settings

  1. Navigate to your course in Moodle
  2. Click the More menu in the course navigation
  3. Select Credentium Settings


Step 2: Enable the Integration

  1. Check Enable Credentium for this course
  2. This activates automatic credential issuance when students complete the course


Step 3: Select a Credential Template

  1. From the Credential Template dropdown, select the template to use
  2. If you don't see any templates, click Refresh templates to load them from Credentium
  3. IMPORTANT: Only select templates marked as supported. Templates with "(unsupported)" label cannot be used because they have multiple Learning Assessment claims


Step 4: Configure Grade Sending (Optional)

  1. Check Send grade with credential if you want the student's final course grade included
  2. The grade will be sent to Credentium and included in the credential


Step 5: Save Changes

  1. Click Save changes to activate the configuration
  2. From now on, students completing this course will automatically receive their credential


Course Settings Reference

SettingDescription
Enable Credentium for this courseEnable automatic credential issuance on completion


When enabled, students receive credentials automatically when they complete the course.


Credential Template

SettingDescription
Credential TemplateSelect which template to use for this course


Important Notes:

  • Templates are loaded from Credentium API
  • Only active templates are shown
  • Templates with multiple Learning Assessments are marked "(unsupported)" and cannot be selected - this is because Moodle sends a single course grade that can only map to one Learning Assessment claim
  • Click Refresh templates to update the list


Category Inheritance

SettingDescription
Use category API credentialsUse API credentials from parent category instead of global


Only shown when category mode is enabled. When checked:

  • API credentials are resolved from category hierarchy
  • Shows which category's configuration will be used


Grade Options

SettingDescriptionDefault
Send grade with credentialInclude the student's final course gradeEnabled


When enabled:

  • Student's final grade is sent to Credentium
  • Grade is captured after course completion
  • Plugin waits for grade aggregation if needed


Grade Handling:

  • Sent as raw points (not percentage)
  • Credentium converts to appropriate format based on template
  • Only sent if student has a final grade


Template Selection Guide

What Templates Are Available?

Templates come from your Credentium organization:

  • Created in Credentium Issuer
  • Must be in "Active" status
  • Cached for 1 hour (click Refresh to update)


Template Requirements

For Moodle integration, templates should:

  • Have at most one Learning Assessment claim (for grade mapping)
  • Be marked as Active in Credentium
  • Have all required fields configured


Multi-Assessment Templates

Templates with multiple Learning Assessments are marked "(unsupported)" because:

  • Moodle sends a single course grade
  • Cannot map to multiple assessment claims
  • Use single-assessment templates for Moodle courses


Configuration Examples

Example 1: Simple Setup (Single Organization)

Global Settings:

  • Enable Credentium Integration: Yes
  • API URL: https://issuer.credentium.com/api
  • API Key: cred_abc123.xyz789
  • Enable category mode: Disabled


Course Settings:

  • Enable Credentium for this course: Yes
  • Template: "Course Completion Certificate"
  • Send Grade: Yes


Example 2: Multi-Tenant Setup (Multiple Departments)

Global Settings:

  • Enable Credentium Integration: Yes
  • Enable category mode: Yes


Category: Business School:

  • Enable Credentium for this category: Yes
  • API URL: https://issuer.credentium.com/api
  • API Key: cred_business.key123


Category: Engineering:

  • Enable Credentium for this category: Yes
  • API URL: https://issuer.credentium.com/api
  • API Key: cred_engineering.key456


Course in Business School:

  • Enable Credentium for this course: Yes
  • Use category API credentials: Yes
  • Template: "MBA Certificate"


Example 3: Testing Configuration

Category: Test Courses:

  • Enable Credentium for this category: Yes
  • API URL: https://issuer.credentium.com/api
  • API Key: (use a separate test API key)
  • Rate limit (credentials per hour): 10 (limit for testing)


Production Categories:

  • Use production API credentials
  • No rate limit


Best Practices

API Key Management

  • Use separate API keys for different purposes
  • Rotate keys periodically
  • Don't share keys between environments

Template Organization

  • Create dedicated templates for Moodle courses
  • Use descriptive template names
  • Keep templates simple (one assessment per template)

Testing

  • Test with a single course first
  • Verify credentials appear in Credentium
  • Check grade values are correct
  • Test completion criteria thoroughly

Monitoring

  • Enable debug logging during initial setup
  • Check issuance reports regularly
  • Monitor for failed issuances
  • Review error messages promptly


Frequently Asked Questions

Why don't I see any templates?

  1. Check API credentials are correct
  2. Click "Test connection" to verify
  3. Ensure templates are Active in Credentium
  4. Click "Refresh templates" to update cache


Can I use different templates for the same course?

No, each course is configured with one template. To offer multiple credentials:

  • Create separate courses
  • Or use Credentium's manual issuance for additional credentials


What happens if I change the template?

  • Future completions use the new template
  • Already issued credentials are not affected
  • Pending issuances use the template at time of completion


How do I test without issuing real credentials?

Options:

  • Use a test Credentium environment with separate API credentials
  • Create a test category with rate limiting
  • Use a test student account


Need Help?

If you have questions about configuration, please contact:

Credentium Support Email: support@credentium.com



Last updated: January 2026

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article