Database

Custom tables and WordPress options used by EpassCard. Schema version: EPC_DB_VERSION (1.1.0).

Table: {prefix}epc_passes

ColumnNotes
moduleModule slug
source_idIntegration record id
entity_idProduct/level id
user_idWordPress user
pass_uidEpassCard pass UUID
pass_linkPublic wallet URL
template_uidTemplate UUID
statusactive, revoked
metaJSON — notifications_sent for push dedupe

Unique key: (module, source_id)

Common queries

PHP
EPC_DB::get_pass( $module, $source_id );
EPC_DB::get_active_passes_for_user( $user_id );
EPC_DB::query_passes( array(
    'module'   => 'memberpress',
    'status'   => 'active',
    'page'     => 1,
    'per_page' => 20,
) );
EPC_DB::upsert_pass( array( /* row */ ) );

Table: {prefix}epc_api_logs

API request/response log. See API log user guide.

Options

OptionPurpose
epc_connection_settingsEncrypted API key
epc_enabled_modulesEnabled module slugs
epc_pass_email_settingsEmail templates
epc_mappings_{slug}Per-module mappings
epc_{slug}_notification_rulesPer-module push notification rules
API keys

Always use epc_get_api_key() — never read encrypted options directly.