Zum Inhalt springen
FULLTime eCommerce

Technische Details – Kunden Service Center Shopware 6

Architektur

FutiCustomerServiceCenter/
├── src/
│   ├── Core/
│   │   ├── Content/           # Entitäten und Definitionen
│   │   │   ├── Ticket/        # Ticket-System
│   │   │   ├── Category/      # Kategorien-Management
│   │   │   ├── TicketMessage/ # Nachrichten-System
│   │   │   └── MailTemplate/  # E-Mail-Templates
│   │   └── Api/               # REST API Endpoints
│   ├── Service/               # Business Logic
│   │   ├── NotificationService.php
│   │   └── FaqIntegrationService.php
│   ├── Storefront/            # Frontend Controller
│   │   └── Controller/
│   └── Resources/
│       ├── views/             # Twig Templates
│       ├── app/               # JavaScript/CSS
│       ├── config/            # Konfiguration
│       └── snippet/           # Übersetzungen

Datenbank-Schema

Tickets Tabelle

CREATE TABLE `futi_customer_service_ticket` (
  `id` BINARY(16) NOT NULL,
  `ticket_number` VARCHAR(255) NOT NULL,
  `subject` VARCHAR(255) NOT NULL,
  `description` LONGTEXT,
  `status` VARCHAR(50) DEFAULT 'open',
  `priority` VARCHAR(50) DEFAULT 'normal',
  `customer_id` BINARY(16),
  `category_id` BINARY(16),
  `assigned_user_id` BINARY(16),
  `order_id` BINARY(16),
  `created_at` DATETIME(3) NOT NULL,
  `updated_at` DATETIME(3),
  PRIMARY KEY (`id`)
);

Kategorien Tabelle

CREATE TABLE `futi_customer_service_category` (
  `id` BINARY(16) NOT NULL,
  `name` VARCHAR(255) NOT NULL,
  `description` LONGTEXT,
  `color` VARCHAR(7),
  `icon` VARCHAR(100),
  `sort_order` INT DEFAULT 0,
  `active` TINYINT(1) DEFAULT 1,
  `created_at` DATETIME(3) NOT NULL,
  `updated_at` DATETIME(3),
  PRIMARY KEY (`id`)
);

API Endpoints

# Tickets abrufen
GET /store-api/futi/service-center/tickets

# Ticket erstellen
POST /store-api/futi/service-center/tickets

# Ticket-Details
GET /store-api/futi/service-center/tickets/{ticketId}

# Nachricht hinzufügen
POST /store-api/futi/service-center/tickets/{ticketId}/messages

Events und Hooks

class TicketStatusChangedListener
{
    public function onTicketStatusChanged(TicketStatusChangedEvent $event): void
    {
        $ticket = $event->getTicket();
        $oldStatus = $event->getOldStatus();
        $newStatus = $event->getNewStatus();
        // Custom Logic hier
    }
}

War diese Seite hilfreich?

Support

Gemietete Plugins (Shopware Store)

Für Support zu im Shopware Store gemieteten Plugins erstellen Sie bitte ein Support-Ticket in Ihrem Shopware-Konto.

Shopware-Ticket erstellen

Allgemeine Anfragen

Für allgemeine Fragen oder Kauflizenzen erreichen Sie uns per E-Mail.

E-Mail senden
Technische Details – Kunden Service Center Shopware 6 | FULLTime eCommerce