Skip to content

Gamification 0.9.94 / Integrations

myCred integration

Preview, import, synchronize, and reconcile myCred history.

With Pro active and myCred detected, open Cointacted → Gamification → Integrations. Map every discovered myCred point type with dropdowns, select a mode, and run the checked dry preview first.

Before mapping, choose exactly which families the run owns: Points and balances, Badges and earned levels, Ranks and member state, or any combination. A badges-only or ranks-only run does not require point-type destinations and never queries the myCred point log. The saved selection is reused by ongoing synchronization until an administrator changes it.

The adapter reads the log tables reported by each loaded myCred point-type object. Checkpoints are independent per discovered table, and provider type plus log ID forms the external identity. Every imported movement goes through the Cointacted ledger with original time, run, authority, adapter version, mapping, source hash, and attempt outcome.

Every myCred point type has an independent exact balance conversion. Preserve uses the native amount unchanged; Percentage supports values such as 25 or 12.5; Multiplier supports scales such as 0.01, 1.5, or 100. myCred's own decimal amounts are read as strings, the destination precision is shown in the mapping row, and nearest, toward-zero, down, or up rounding is explicit. The policy and both source and converted amounts remain in synchronization audit metadata.

Direct/manual balance changes may not have complete history. Use report-only balance reconciliation to detect a mismatch. It compares the transformed myCred total with only myCred's imported Cointacted projection, so native Cointacted rewards can coexist in the same point type. If historical transactions truly are unavailable, import an explicit opening-balance residual. Cointacted calculates only the missing difference instead of duplicating provider history already present in the ledger.

Provider-authoritative imports and ongoing synchronization automatically run a paginated residual sweep after each completed point-log pass. Only non-zero differences are posted, each correction remains immutable and replay-safe, and the saved cursor keeps large sites off frontend requests.

Supplying an incomplete point-type map stops the batch before the unmapped row is checkpointed. After correcting the map, resume the same run. If a previously imported myCred log row is later edited and history is replayed, Cointacted retains the original immutable movement and opens a source-change conflict for an administrator decision.

Badges

When the bundled myCred Badges add-on is active, the compatibility scan lists badge-level definitions and current member ownership separately. Migration uses these exact rules:

  • every native badge level becomes one distinct, non-repeatable Cointacted
  • achievement, so labels, images, and level identity are not flattened;

  • only the level currently stored for a member is imported during the first
  • scan. Lower levels are not invented as historical grants;

  • the native _issued_on value becomes the exact grant time. A legacy row with
  • no issued timestamp becomes a review conflict instead of receiving an estimated date;

  • requirements, AND/OR comparison, point type, reference, count/sum mode,
  • threshold, level reward, congratulation text, manual/Open Badge flags, and legacy image URLs remain safe source semantics. They are not enabled as a second automation system;

  • attachment-backed images use their existing WordPress media ID. Legacy image
  • URLs remain inspectable but are not downloaded automatically;

  • imported definitions award zero additional Cointacted points because myCred
  • badge rewards are already represented by provider point-log rows.

If an ongoing scan later observes a higher current level, it creates that exact new level grant and retains the earlier observed milestone. myCred updates its current ownership row in place and does not provide a complete level-assignment timeline, so Cointacted does not claim history that was never stored. Native divest/delete actions likewise expose no tombstone; ordinary imports remain non-destructive and retain already imported grants until a separate reviewed full-state removal workflow is enabled for myCred.

Ranks

When the bundled myCred Ranks add-on is active, the compatibility scan separates rank definitions from current member state. Each myCred point type becomes an independent Cointacted rank ladder. The converter preserves every rank's name, description, minimum and maximum balance, native minimum-balance order, featured image, and published/draft state.

myCred supports three rank behaviors: manual assignment, current-balance promotion and demotion, and total-balance promotion-only progression. That behavior and the original thresholds remain attached to the converted rank as inactive source semantics. Migration does not silently enable a second rank calculation system; an administrator can review the converted ladder before building native Cointacted automation.

The member migration reads the exact current rank post ID directly from myCred user meta. It deliberately does not call myCred's convenience rank getter, because that getter may assign a missing rank while reading it. Preview and execution therefore do not alter myCred.

WordPress user meta stores neither a modification date nor prior values. The first Cointacted assignment is consequently labelled opening observation, with its Cointacted observation time and source_timestamp: unavailable; it is not presented as the original promotion date. If a later scan observes a different native rank, Cointacted closes the former current assignment and creates a new replay-safe history row. Historical promotions that predate the first scan are never invented.

Hook conversion

The Migration Center can scan every active myCred hook separately for every provider point type. Publishing-content settings are split by post type, and comment settings are split into member/author and approved/spam/trash variants, so a zero or unsupported branch is not hidden behind a generic “comments” row. The scan stores a source hash, sanitized settings snapshot, compatibility decision, and concrete blockers without activating a Cointacted Automation.

An exact registration reward or a simple approved-comment reward can create a disabled Automation draft after an administrator chooses its mapped Cointacted point type. Negative native amounts become explicit deduction outcomes. An approved content-author reward retains the post-author recipient, and comment rules require a normal comment type.

myCred semantics that cannot be reproduced exactly stay in review. This includes per-post/per-day comment counters, self-reply behavior, point-type member/role exclusions, publishing rewards that also fire for private status, native publishing time limits, spam/trash/unapproval restoration behavior, and third-party/add-on hooks without a canonical event translation. Editing an already converted provider hook opens a conflict and never overwrites the existing Cointacted draft. Publishing remains a separate administrator action; disable the equivalent provider hook before making Cointacted authoritative.

Was this documentation helpful?Your response helps us improve this page.