Support-Integrationen

Ticket beantworten

answerTicket()

Wird ausgeführt, wenn ein Kunde im Storefront auf ein bestehendes Ticket antwortet.

Parameter

Typ

Name

Beschreibung

Ticket

$ticket

Das Ticket-Objekt von hostware. Das $ticket->ticket_provider_external_id enthält die externe Ticket-ID.

string

$message

Die Nachricht

array

$attachments

Array mit Symfony-Anhängen

Antwort

Klasse TicketAnsweredResponse().

Typ

Name

Beschreibung

mixed

messageId

Die ID der Nachricht. In der Regel eine Integer- oder UUID.

array

attachmentFilePaths

Array mit Dateipfaden in derselben Reihenfolge wie die Eingabedateien.

Beispielcode

public function answerTicket(Ticket $ticket, string $message, array $attachments): TicketAnsweredResponse {
	$threadAttachments = [];
	foreach ($attachments as $attachment) {
		$threadAttachments[] = [
			'fileName' => $attachment->getClientOriginalName(),
			'mimeType' => $attachment->getMimeType(),
			'data' => base64_encode($attachment->getContent()),
		];
	}

	$customerId = $this->getCustomerId($ticket->customer);

	$response = $this->makeRequest("conversations/{$ticket->ticket_provider_external_id}/threads", "POST", [
		'text' => $message,
		'type' => 'customer',
		'customer' => [
			'id' => $customerId,
		],
		"attachments" => $threadAttachments
	]);

	/**
	 * Get the attachment IDs
	 */
	$attachmentResponse = [];
	foreach ($response->_embedded->attachments as $file) {
		$attachmentResponse[] = $file->id;
	}

	return new TicketAnsweredResponse(
		$response->id,
		$attachmentResponse,
	);
}

Testen

Du kannst diese Funktion testen, indem Du als Kunde auf ein Ticket antwortest.

War das hilfreich?