Ticket API Client --> REST-API
✨DCV3 exklusiv
Diese Funktion ist nur in DCV3 verfügbar.
Diese API ermöglicht es dir, die mit DCV Ticket-System User mit einer Mysql-DB Synchronisieren. Dies ist nur in Richtung DCV-Client --> Datenbank.
Datenbank Schema
CREATE TABLE `ticket_blacklist` (
`id` bigint(20) UNSIGNED NOT NULL,
`user_id` bigint(20) NOT NULL,
`user_name` varchar(255) NOT NULL,
`reason` text NOT NULL,
`added_by_user_id` bigint(20) NOT NULL,
`created_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE `tickets` (
`id` bigint(20) UNSIGNED NOT NULL,
`ticket_id` bigint(20) NOT NULL,
`channel_id` bigint(20) NOT NULL,
`ticket_name` varchar(255) NOT NULL,
`tag` varchar(100) NOT NULL,
`user_id` bigint(20) NOT NULL,
`user_name` varchar(255) NOT NULL,
`status` enum('open','closed') DEFAULT 'open',
`closed_by_user_id` bigint(20) DEFAULT NULL,
`closed_by_user_name` varchar(255) DEFAULT NULL,
`close_reason` text DEFAULT NULL,
`created_at` datetime NOT NULL,
`closed_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE `ticket_logs` (
`id` bigint(20) UNSIGNED NOT NULL,
`channel_id` bigint(20) NOT NULL,
`user_id` bigint(20) NOT NULL,
`user_name` varchar(255) NOT NULL,
`message` text NOT NULL,
`avatar_url` varchar(500) DEFAULT NULL,
`attachments` text DEFAULT NULL,
`created_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Client Configuration
DCV3 Konfiguration
In der dynamicconfig.json folgende Werte anpassen:
{
"ticketwebsync_enabled": true,
"ticketwebsync_apiurl": "https://..deineUrlHier.../ticket_api.php",
"ticketwebsync_apikey": "api_keyxxx"
}
PHP-Rest API Configuration
Konfiguration anpassen (in ticket_api.php):
** Beispiel API File: ** ticket_api.php.example
// Datenbank-Konfiguration
define('DB_HOST', 'localhost');
define('DB_NAME', 'ticket_system');
define('DB_USER', 'root');
define('DB_PASS', 'xxxxxxxxxxx');
define('DB_CHARSET', 'utf8mb4');
// API-Key Konfiguration (dieser muss mit dem Java-Code übereinstimmen)
define('API_KEY', 'api_keyxxx');
API-Key generieren:
- Nutzen Sie einen sicheren, zufälligen String (min. 32 Zeichen)
- Beispiel:
openssl rand -hex 32