Database
Custom tables and WordPress options used by EpassCard. Schema version: EPC_DB_VERSION (1.1.0).
Table: {prefix}epc_passes
| Column | Notes |
|---|---|
module | Module slug |
source_id | Integration record id |
entity_id | Product/level id |
user_id | WordPress user |
pass_uid | EpassCard pass UUID |
pass_link | Public wallet URL |
template_uid | Template UUID |
status | active, revoked |
meta | JSON — 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
| Option | Purpose |
|---|---|
epc_connection_settings | Encrypted API key |
epc_enabled_modules | Enabled module slugs |
epc_pass_email_settings | Email templates |
epc_mappings_{slug} | Per-module mappings |
epc_{slug}_notification_rules | Per-module push notification rules |
API keys
Always use epc_get_api_key() — never read encrypted options directly.