Skip to main content

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